CentOS是一种开源的操作系统,其许多功能都是基于Linux内核构建的。其中,Apache是一个流行的开源Web服务器,可以在CentOS上安装和运行。本文将详细介绍如何在CentOS7下搭建Apache服务器的步骤。

在开始安装和配置Apache之前,需要确保以下条件已经满足:

  • 确认CentOS系统已经完全安装
  • 确认系统已经联网
  • 确认系统的软件包管理器已经更新

首先需要更新CentOS系统的软件包管理器。运行以下命令:


 

sudo yum update

 

该命令将搜索并更新到可用的所有软件包。

Apache是一个免费的开源Web服务器,可以在CentOS上通过以下命令进行安装:


 

sudo yum install httpd

 

该命令将搜索和安装Apache服务器及其相关依赖项。

安装完成后,需要启动Apache服务器并启用它随系统启动。运行以下命令:


 

sudo systemctl start httpd.service

 

sudo systemctl enable httpd.service

 

第一个命令将启动Apache服务器。第二个命令将启用Apache服务器的自启动功能。

运行以下命令以确认Apache服务器是否正在运行:


 

sudo systemctl status httpd.service

 

如果服务器正在运行,则输出将类似于以下内容:


 

● httpd.service - The Apache HTTP Server

 

 Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)

 

 Active: active (running) since Mon 2020-10-13 14:34:38 UTC; 3s ago

 

 Docs: man:httpd.service(8)

 

 Main PID: 10977 (httpd)

 

 Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"

 

 CGroup: /system.slice/httpd.service

 

 ├─10977 /usr/sbin/httpd -DFOREGROUND

 

 ├─10978 /usr/sbin/httpd -DFOREGROUND

 

 ├─10979 /usr/sbin/httpd -DFOREGROUND

 

 ├─10980 /usr/sbin/httpd -DFOREGROUND

 

 ├─10981 /usr/sbin/httpd -DFOREGROUND

 

 └─10982 /usr/sbin/httpd -DFOREGROUND

 

CentOS的防火墙默认情况下会阻止对HTTP服务器的访问。为了使服务器对外可见,需要将HTTP端口添加到防火墙的例外列表中。运行以下命令:


 

sudo firewall-cmd --permanent --add-port=80/tcp

 

sudo firewall-cmd --permanent --add-port=443/tcp

 

sudo firewall-cmd –reload

 

这将允许传入的HTTP流量访问端口80和传入的HTTPS流量访问端口443。-reload选项将重新加载防火墙以使更改生效。

在Apache中可以设置虚拟主机,这有助于提高服务器的性能和灵活性。创建一个虚拟主机的步骤如下:

  • 首先,需要为服务器创建一个目录。例如:

 

sudo mkdir /var/www/example.com

 
  • 接下来,需要给该目录设置权限:

 

sudo chown -R apache:apache /var/www/example.com

 

sudo chmod -R 755 /var/www/example.com

 
  • 接下来,需要将以下内容添加到Apache的主配置文件中的虚拟主机块中(通常在/etc/httpd/conf/目录中):

 

 

 <virtualhost *:80></virtualhost>

 

 ServerAdmin webmaster@example.com

 

 DocumentRoot /var/www/example.com

 

 ServerName example.com

 

 ServerAlias www.example.com

 

 

 

在该文件的尾部添加“IncludeOptional /etc/httpd/conf.d/*.conf”行,以确保Apache加载Config subdirectories中的任何其他虚拟主机配置文件,如果存在的话。

现在可以通过在Web浏览器中输入服务器的IP地址或域名来测试Apache服务器。如果一切都设置正确,应该会看到Apache默认网页的欢迎消息。可以将此文件作为测试服务器是否正确运行的基准。

可以在Apache上启用SSL以增强服务器的安全性。运行以下命令以安装SSL支持:


 

sudo yum install mod_ssl openssl

 

完成安装后,使用以下命令启用Apache SSL模块:


 

sudo systemctl start httpd.service

 

sudo systemctl enable httpd.service

 

然后运行以下命令生成SSL证书:


 

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/example.com.key -out /etc/pki/tls/certs/example.com.crt

 

其中“example.com”应替换为服务器使用的实际域名。

编辑Apache的主配置文件以包含SSL证书,将以下代码添加到虚拟主机块中:


 

SSLEngine on

 

SSLCertificateFile /etc/pki/tls/certs/example.com.crt

 

SSLCertificateKeyFile /etc/pki/tls/private/example.com.key

 

重启Apache以使更改生效:


 

sudo systemctl restart httpd.service

 

最后,可以通过在Web浏览器中输入“https://example.com”来测试虚拟主机的SSL支持。如果一切设置正确,应该会看到安全的SSL连接。

在CentOS7上搭建Apache服务器需要多个步骤,但这并不是很困难。遵循上述步骤,可以轻松地在服务器上安装和设置Apache。此外,虚拟主机和SSL支持可以提高服务器的性能和安全性,因此应该在服务器上启用它们。

最后修改:2023 年 07 月 10 日
喜欢就用赞赏来鞭打我吧~