在linunx系统中搭建静态文件服务的流程步骤

在linunx系统中搭建静态文件服务的流程步骤

 更新时间:2024年02月01日 10:28:17   作者:Desperado  
在服务器上有一些文件,想共享给其他用户下载,同时因为ftp和sftp被禁用,且使用起来不太方便,需要找一种搭建成本低,安全高效的方式来完成此功能,因此linux上的httpd服务是一个很好的选择,所以本文给大家介绍了在linux系统中搭建静态文件服务的流程步骤

目录
  • 1.httpd服务介绍
  • 2.如何搭建httpd服务
    • 步骤1: 安装httpd
    • 步骤 2: 启动 Httpd(Apache) 服务
    • 步骤 3: 配置防火墙
    • 步骤 4: 配置静态文件服务
    • 步骤 5: 访问静态网站
  • 3.如何添加访问控制
    • 步骤1:创建密码文件
    • 步骤2:配置Apache访问控制
    • 步骤3:重启Apache服务
  • 4.小结

    1.httpd服务介绍

    背景:在服务器上有一些文件,想共享给其他用户下载,同时因为ftp和sftp被禁用,且使用起来不太方便,需要找一种搭建成本低,安全高效的方式来完成此功能,因此linux上的httpd服务是一个很好的选择。

    httpd是Apache HTTP Server的官方名称,通常被称为Apache。它是一个开源的Web服务器软件,由Apache软件基金会维护。Apache是互联网上最流行的Web服务器之一,它在全球范围内广泛使用,支持大多数的操作系统,包括各种版本的Unix、Linux、Windows等。

    2.如何搭建httpd服务

    步骤1: 安装httpd

    在大多数Linux发行版上,可以使用包管理器来安装Apache。例如,在基于Debian的系统上(如Ubuntu),你可以使用以下命令:

    sudo apt update
    sudo apt install apache2
    

    在基于RPM的系统上(如CentOS、Fedora),你可以使用以下命令:

    sudo yum install httpd
    

    或者在新版本的CentOS或Fedora上:

    sudo dnf install httpd
    

    步骤 2: 启动 Httpd(Apache) 服务

    安装完成后,你可以使用以下命令启动Apache服务:

    sudo systemctl start httpd
    

    并且可以使用以下命令让Apache在系统启动时自动启动:

    sudo systemctl enable httpd
    

    安装并启动Apache后,你可以通过浏览器访问服务器的IP地址或域名来查看默认的欢迎页面,这表明你的Apache服务器已经在运行了。

    步骤 3: 配置防火墙

    如果你的系统上运行着防火墙(如ufwfirewalld),你需要允许HTTP(80端口)和HTTPS(443端口)流量:

    对于使用ufw的系统:

    sudo ufw allow 'Apache'
    sudo ufw reload
    

    对于使用firewalld的系统:

    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    

    步骤 4: 配置静态文件服务

    Apache默认的文档根目录通常是/var/www/html。你可以将静态文件(如HTML、CSS、JavaScript、图片等)放在这个目录下。

    • 将你的静态文件复制到文档根目录:
    sudo cp /path/to/your/static-file.html /var/www/html/
    
    • 确保Apache有权限访问这些文件:
    sudo chown -R www-data:www-data /var/www/html
    

    请注意,www-data是Debian系系统中Apache默认的用户和组,而在Red Hat系系统中,你可能需要使用apachehttpd

    • 如果你想要为静态文件服务创建一个新的虚拟主机,你需要创建一个新的配置文件。例如,在Debian系系统中,你可以创建一个新的文件:
    sudo nano /etc/apache2/sites-available/your-site.conf
    

    在这个文件中,你可以添加以下内容:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName your-domain.com
        ServerAlias www.your-domain.com
        DocumentRoot /var/www/your-site
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    

    其中,DocumentRoot 指向你的静态文件目录。然后,启用新的虚拟主机并重新加载Apache配置:

    sudo a2ensite your-site.conf
    sudo systemctl reload apache2
    

    步骤 5: 访问静态网站

    在Web浏览器中输入你的服务器IP地址或配置的域名,你应该能看到你的静态文件被作为网页内容呈现。

    确保你已经正确设置了DNS记录,如果你使用的是域名访问,并且服务器的防火墙规则允许传入的HTTP请求。

    以上步骤应该可以帮助你在Linux上安装Apache并搭建一个基础的静态文件服务。记得查看Apache的配置文件和日志文件,以确保一切按照你的期望运行。

    3.如何添加访问控制

    完成上一步之后,简单的httpd服务就已经搭建完成,但对于这个服务而言,它是一个“裸奔”的系统,即任何用户都可以访问且不受限制,以下方法可以简单地给httpd服务加上访问控制。

    步骤1:创建密码文件

    使用htpasswd工具创建密码文件,该工具通常与Apache一起安装。如果没有安装,可以通过安装apache2-utils(Debian/Ubuntu)或httpd-tools(CentOS/Fedora)来获取它。

    创建一个新的密码文件,并添加第一个用户(替换/etc/apache2/.htpasswd为你想要的密码文件路径,username为你想要的用户名):

    sudo htpasswd -c /etc/apache2/.htpasswd username
    

    系统将提示你输入和确认密码。对于添加更多用户,不要使用-c标志,因为它会覆盖现有的密码文件:

    sudo htpasswd /etc/apache2/.htpasswd anotheruser
    

    步骤2:配置Apache访问控制

    编辑Apache配置文件或特定站点的配置文件,以启用基本认证。以下是一个示例配置片段,可以放在.htaccess文件中或直接放在主配置文件或虚拟主机配置中:

    <Directory "/var/www/html/protected">
        AuthType Basic
        AuthName "Restricted Access"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
    </Directory>
    

    在这个例子中,我们正在保护/var/www/html/protected目录。确保将/etc/apache2/.htpasswd替换为实际的密码文件路径,并将目录路径替换为你希望保护的路径。

    步骤3:重启Apache服务

    更改配置后,需要重启Apache服务以使更改生效:

    sudo systemctl restart apache2 # 对于Debian/Ubuntu系统
    

    或者

    sudo systemctl restart httpd # 对于CentOS/Fedora系统
    

    现在,尝试访问你配置了访问控制的目录,浏览器应该会提示你输入用户名和密码。输入你在步骤2中创建的凭据,然后你应该能够访问该目录。

    请注意,这些步骤可能会根据你的具体Linux发行版和Apache配置略有不同。此外,确保.htpasswd文件的权限设置得当,以防止未经授权的用户访问。

    4.小结

    采用httpd构建简单的文件浏览和下载服务,帮助我完成了上述需求,但是,这只是一很原始的服务,像文件的权限控制,安全的文件传输等等,均未涉及,后续可以采用一些方式来完善功能和做一些安全加固。

    以上就是在linunx系统中搭建静态文件服务的流程步骤的详细内容,更多关于linunx搭建静态文件服务的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:

    • Linux如何搭建文件服务器
    • Linux系统搭建FTP服务器完整步骤
    • 一站式解决方案:在Windows和Linux上快速搭建Go语言开发环境
    • Linux下Redis集群搭建全过程(主从+哨兵)
    • Linux网络代理服务器的搭建及使用方式


    • linux
    • 静态
    • 文件
    • 服务

    相关文章

    • linux负载均衡总结性说明 四层负载和七层负载有什么区别

      这篇文章主要为大家详细介绍了linux负载均衡的相关资料,什么是负载均衡?四层负载和七层负载有什么区别?具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-04-04

    • Linux passwd 命令的使用

      这篇文章主要介绍了Linux passwd 命令的使用,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下 2020-08-08

    • centos7.2.1511安装jdk1.8.0_151及mysql5.6.38的方法

      这篇文章主要介绍了centos7.2.1511安装jdk1.8.0_151及mysql5.6.38的方法,较为详细的讲述了centos7.2.1511安装jdk1.8.0_151及mysql5.6.38的具体步骤与相关设置技巧,需要的朋友可以参考下 2018-01-01

    • CentOS 6.5编译安装Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38

      这篇文章主要介绍了CentOS 6.5编译安装Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38,需要的朋友可以参考下 2017-02-02

    • Linux 查看cpu 信息的命令及简单实例

      这篇文章主要介绍了Linux 查看cpu 信息的命令及简单实例的相关资料,需要的朋友可以参考下 2016-10-10

    • Linux中openssl/opensslv.h找不到问题的解决方法

      最近在安装scrapy过程中碰到了openssl某个文件找不到的问题,通过查找相关的资料进行了解决,下面这篇文章主要给大家分享了关于Linux中openssl/opensslv.h找不到问题的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。 2017-07-07

    • Ubuntu常用指令及用法详解

      本文重点给大家介绍Ubuntu常用指令及用法,感兴趣的朋友跟随脚本之家小编一起学习吧 2018-06-06

    • php-fpm可执行文件出现乱码的解决方法

      这篇文章主要介绍了php-fpm可执行文件出现乱码的解决方法,需要的朋友可以参考下 2014-04-04

    • linux 下的yum命令详解

      yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。这篇文章给大家介绍linux 下的yum命令,需要的朋友参考下吧 2016-12-12

    • CentOS7下 yum方式安装Nginx的实现步骤

      这篇文章主要介绍了CentOS7下 yum方式安装Nginx的实现步骤的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下 2017-10-10

    最新评论

    版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
    文章名称:《在linunx系统中搭建静态文件服务的流程步骤》
    文章链接:https://zhuji.vsping.com/196674.html
    本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。