HCRM博客

如何在CentOS 7上安装和配置HTTPD服务器?

CentOS 7 是一个广泛使用的 Linux 发行版,其内置的 HTTPD(Apache HTTP Server)是最常用的 Web 服务器之一,本文将详细讲解如何在 CentOS 7 上安装、配置和管理 HTTPD,包括启动、停止、重启和配置虚拟主机等操作。

一、安装与启动HTTPD

1. 安装HTTPD

如何在CentOS 7上安装和配置HTTPD服务器?-图1
(图片来源网络,侵权删除)

在 CentOS 7 上,可以使用yum 包管理器来安装 HTTPD:

sudo yum install httpd y

此命令会从默认的软件源中安装最新版本的 HTTPD。

2. 启动HTTPD服务

安装完成后,可以通过以下命令启动 HTTPD 服务:

sudo systemctl start httpd.service

要设置 HTTPD 开机自启,可以使用以下命令:

sudo systemctl enable httpd.service

3. 检查HTTPD状态

如何在CentOS 7上安装和配置HTTPD服务器?-图2
(图片来源网络,侵权删除)

可以使用以下命令查看 HTTPD 服务的状态:

sudo systemctl status httpd.service

如果需要停止或重启 HTTPD 服务,可以使用以下命令:

sudo systemctl stop httpd.service   # 停止HTTPD服务
sudo systemctl restart httpd.service  # 重启HTTPD服务

二、配置HTTPD

1. 更改网站数据目录

默认情况下,HTTPD 的网站根目录为/var/www/html,如需更改,可以编辑配置文件/etc/httpd/conf/httpd.conf

sudo vim /etc/httpd/conf/httpd.conf

找到并修改以下内容:

DocumentRoot "/home/wwwroot"
<Directory "/home/wwwroot">
    AllowOverride None
    Require all granted
</Directory>

保存并退出后,重启 HTTPD 服务使更改生效:

如何在CentOS 7上安装和配置HTTPD服务器?-图3
(图片来源网络,侵权删除)
sudo systemctl restart httpd.service

2. 配置个人用户主页

可以通过启用mod_userdir 模块来允许用户在其主目录下发布网页,编辑配置文件/etc/httpd/conf.d/userdir.conf

sudo vim /etc/httpd/conf.d/userdir.conf

取消注释以下行:

IncludeOptional conf.d/*.conf
UserDir enabled languang
UserDir public_html

为用户创建public_html 目录并设置权限:

mkdir p /home/languang/public_html
chmod Rf 755 /home/languang/public_html

重启 HTTPD 服务:

sudo systemctl restart httpd.service

三、配置基于IP地址的虚拟主机功能

1. 配置网络ip地址

假设有三台虚拟机,IP 地址分别为192.168.0.104192.168.0.105192.168.0.106,首先配置网络 IP 地址:

sudo nmtui

完成配置后,重启网络服务:

sudo systemctl restart network

2. 创建网站文件目录和内容

/home/wwwroot 下创建相应的目录并添加测试页面:

sudo mkdir p /home/wwwroot/104 /home/wwwroot/105 /home/wwwroot/106
echo "192.168.0.104" > /home/wwwroot/104/index.html
echo "192.168.0.105" > /home/wwwroot/105/index.html
echo "192.168.0.106" > /home/wwwroot/106/index.html

3. 配置虚拟主机

编辑/etc/httpd/conf/httpd.conf 文件,添加以下内容:

<VirtualHost *:80>    ServerName 192.168.0.104     DocumentRoot /home/wwwroot/104 </VirtualHost>     <VirtualHost *:80>    ServerName 192.168.0.105     DocumentRoot /home/wwwroot/105 </VirtualHost>    <VirtualHost *:80>    ServerName 192.168.0.106     DocumentRoot /home/wwwroot/106 </VirtualHost>

保存并退出后,重启 HTTPD 服务:

sudo systemctl restart httpd.service

通过浏览器访问http://192.168.0.104http://192.168.0.105http://192.168.0.106,可以看到对应的测试页面。

四、配置SSL证书

1. 获取SSL证书

推荐使用免费的 Let's Encrypt SSL 证书,首先安装certbot

sudo yum install epelrelease y
sudo yum install certbot python2certbotapache y

然后运行以下命令获取证书:

sudo certbot apache d yourdomain.com d www.yourdomain.com

按照提示完成域名验证和证书生成。

2. 配置SSL虚拟主机

编辑/etc/httpd/conf/httpd.conf 文件,添加以下内容:

<VirtualHost *:443>    ServerName yourdomain.com:443     DocumentRoot /var/www/html    SSLEngine on    SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem    SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem    ErrorLog logs/ssl_error_log    CustomLog logs/ssl_request_log combined</VirtualHost>

保存并退出后,重启 HTTPD 服务:

sudo systemctl restart httpd.service

通过浏览器访问https://yourdomAIn.com,可以看到已成功启用 SSL。

五、常见问题及解答(FAQs)

Q1: HTTPD 服务无法启动怎么办?

A1: HTTPD 服务无法启动,可以检查错误日志以获取更多信息:

sudo tail f /var/log/httpd/error_log

常见的问题包括配置文件错误、端口被占用等,确保配置文件语法正确,并且没有其他服务占用 HTTPD 使用的端口(如 80 和 443)。

Q2: 如何更改HTTPD的监听端口?

A2: 编辑/etc/httpd/conf/httpd.conf 文件,找到以下行并更改端口号:

Listen 80

更改为所需的端口号,例如8080

Listen 8080

然后重启 HTTPD 服务:

sudo systemctl restart httpd.service

还需要确保防火墙开放新的端口:

sudo firewallcmd permanent addport=8080/tcp
sudo firewallcmd reload

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18579.html

分享:
扫描分享到社交APP
上一篇
下一篇