Apache是一个免费,开源的Web服务器软件,是Internet最流行的Web服务器软件之一。本文将介绍如何在CentOS 7上安装Apache服务器。

在安装任何软件之前,请确保您的CentOS操作系统是最新的。

运行以下命令更新yum

yum update -y

通过以下命令安装Apache

yum install httpd -y

启动Apache服务:

systemctl start httpd

如果需要开机自启动Apache,请运行以下命令:

systemctl enable httpd

在默认情况下,CentOS防火墙会阻止外部访问Apache服务器上的网页。使用以下命令打开HTTP和HTTPS端口:

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

在Web浏览器中输入服务器的IP地址或域名,应该能够看到Apache服务器默认页面。

虚拟主机允许在单个服务器上“托管”多个不同的网站。以下是设置虚拟主机的步骤:

新建虚拟主机配置文件

nano /etc/httpd/conf.d/virtualhosts.conf

在编辑器中添加以下内容:

<VirtualHost *:80>

 ServerName example.com 
 ServerAlias www.example.com 
 DocumentRoot /var/www/example.com/public_html/ 
 ErrorLog /var/www/example.com/error.log 
 CustomLog /var/www/example.com/access.log combined 

</VirtualHost>

创建网站文件夹

mkdir -p /var/www/example.com/public_html/

给网站文件夹分配权限

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

重新启动Apache

systemctl restart httpd

您现在可以在浏览器中访问example.com网站。

创建证书:

openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr

将example.com替换成您自己的域名。

在完成证书请求后,系统将提示您输入一些额外信息。在“Common Name”字段中输入您的域名。

创建自签名证书:

openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt

创建证书文件夹:

mkdir /etc/httpd/ssl/

将证书和私钥移动到ssl文件夹中:

mv example.com.crt /etc/httpd/ssl/
mv example.com.key /etc/httpd/ssl/

新建HTTPS虚拟主机配置文件:

nano /etc/httpd/conf.d/ssl.conf

添加以下内容:

<VirtualHost *:443>
DocumentRoot /var/www/example.com/public_html/
ServerName example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/example.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/example.com.key
</VirtualHost>

重新启动apache:

systemctl restart httpd

您可以通过https://example.com访问您的网站了

Apache服务器默认不支持PHP,可以通过以下命令安装:

yum install php php-mysql -y

重新启动Apache:

systemctl restart httpd

可以测试PHP是否正常工作:

nano /var/www/html/test.php

在编辑器中添加以下代码:

<?php
phpinfo();
?>

在浏览器中访问http://your_server_ip/test.php,您将看到PHP信息页面,表明PHP已成功安装并正常工作。

基本身份验证是一种用于保护Apache Web服务器目录的方法。在下面的示例中,使用基本身份验证来保护/var/www/html/admin目录:

创建用户名和密码:

htpasswd -c /etc/httpd/.htpasswd username

将username替换为您的用户名。

编辑虚拟主机文件:

nano /etc/httpd/conf.d/virtualhosts.conf

在文件末尾添加以下内容:

<Directory "/var/www/html/admin">

 AuthType Basic 
 AuthName "Restricted Content" 
 AuthUserFile /etc/httpd/.htpasswd 
 Require valid-user 

</Directory>

重新启动Apache:

systemctl restart httpd

现在,访问 https://your_server_ip/admin/时将提示输入用户名和密码

mod_security是一种开源Web应用程序防火墙,用于保护Web服务器免受多种攻击。

安装mod_security:

yum install mod_security -y

重新启动Apache:

systemctl restart httpd

您可以使用以下命令检查mod_security是否正常工作:

curl -I http://localhost

现在您已经成功地在CentOS 7上安装了Apache服务器。

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