基于 Apache 的 httpd 文件服务器

基于 Apachehttpd 文件服务器

文件服务器的简介

httpd(HTTP Daemon,超文本传输协议守护进程的简称),运行于网页服务器后台,等待传入服务器请求的软件。

httpd 能够自动回应服务器的请求,并使用 http 协议传送超文本及多媒体内容。

常见的 httpd 以下实现:

  • Apache HTTP Server
  • CERN HTTPd
  • Cherokee
  • Hiawatha
  • Lighttpd
  • NCSA HTTPd
  • Nginx
  • OpenBSD

这里我们使用应用最广泛的 Apache Http Server 搭建 httpd 文件服务器。

文件服务器的搭建

所使用的服务器操作系统是 CentOS 7.9,使用 yum 命令直接安装 httpd,如 yum 源有问题或者非 CentOS 操作系统,需要先准备软件源以及安装命令,CentOS 的主机执行如下命令即可安装 httpd 服务。

shell 复制代码
sudo yum install httpd

安装完成后,需要修改 /etc/httpd/conf/httpd.conf 配置文件,重点修改的内容如下所示。

ini 复制代码
# httpd服务端口
Listen 8000

# httpd服务用户
User apache
Group apache

# httpd服务根目录
DocumentRoot "/www/httpd"

# httpd服务根路径的权限
<Directory "/www/httpd">
	# 展示文件列表以及软链接的内容
    Options Indexes FollowSymLinks
    # 不允许使用.htaccess文件来修改Apache的配置。
    AllowOverride None
    # 允许所有用户访问此目录中的内容,也即,对所有请求都允许访问该目录及其内容。
    Require all granted
</Directory>

配置修改完成后,还需要修改 /www/httpd 也即配置的 httpd 文件服务器的目录属主,这里直接修改为 apache:apache

shell 复制代码
chown -R apache:apache /www/httpd

使用 systemctl start httpd 即可启动 Apache Httpd 文件服务器,如下是常用的 httpd 命令。

shell 复制代码
# 启动 httpd 服务
systemctl start httpd
# 重启 httpd 服务
systemctl restart httpd
# 停止 httpd 服务
systemctl stop httpd
# 查看 httpd 服务状态
systemctl status httpd

Httpd 服务启动后,即可通过页面访问文件服务器的 web 页面。

Apache httpd 默认是 Apache http server 的页面,这里可以直接删除 /etc/httpd/conf.d/welcome.conf 这个文件移除这个页面,也可以修改这个文件修改默认展示的页面,这里我们直接删除配置文件,并重启 Apache httpd 服务,出现的页面如下。

文件服务器的使用

访问默认的页面,出现的内容为空,这是因为配置的文件服务器根目录下没有内容,这里我们在配置的文件服务器根目录下创建 nginx 目录,并传入 nginx 的安装包。

shell 复制代码
mkdir /www/httpd/nginx
mv nginx-1.24.0.tar.gz /www/httpd/nginx
# 这里要注意允许其他用户访问当前目录,否则会出现无权限的问题
chown -R 755 /www/httpd/nginx

访问文件服务的页面,就能够看到创建的 nginx 目录以及安装包。

点击页面上的文件名称,或者在服务器上使用 wget,即可下载对应的文件。

如上已经实现了文件服务器,但在浏览器中下载文件时,会提醒这是不安全的,这里使用 nginx 代理文件服务器并配置 ssl 证书即可避免这种问题。

相关推荐
萨格拉斯救世主22 分钟前
戴尔R930服务器增加 Intel X710-DA2双万兆光口含模块
运维·服务器
无所谓จุ๊บ23 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
Jtti25 分钟前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
yeyuningzi39 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
wowocpp2 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
萨格拉斯救世主3 小时前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
川石课堂软件测试3 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
龙哥说跨境3 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
pk_xz1234565 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器