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服务器。
版权属于:周晨
本文链接:https://wenziju.com/index.php/archives/1224/
本博客所有文章除特别声明外,均采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议。转载请注明出处!
此处评论已关闭