在CentOS上搭建HTTP服务器是一个常见的任务,特别是在开发和生产环境中,本文将详细介绍如何在CentOS 7系统上搭建一个功能齐全的HTTP服务器,包括安装Apache HTTP Server、配置静态IP、设置防火墙、安装PHP和MySQL、配置虚拟主机以及进行安全优化等步骤,以下是具体步骤:
一、安装VMware和CentOS 7
1、安装VMware:首先需要在宿主机上安装VMware Workstation或类似的虚拟机软件。

2、下载并安装CentOS 7 ISO:从CentOS官网下载ISO文件,并在VMware中创建新的虚拟机,选择CentOS 7 ISO作为安装源,按照向导完成安装,分配至少4GB内存和20GB磁盘空间。
二、配置静态IP地址
编辑虚拟网络编辑器,将网络模式设置为NET模式,并配置子网IP,将子网IP设置为192.168.171.0,网关为192.168.171.2,DNS为192.168.171.2。
然后编辑网卡配置文件/etc/sysconfig/networkscripts/ifcfgens33,添加以下内容:
BOOTPROTO=static ONBOOT=yes IPADDR=192.168.171.101 NETMASK=255.255.255.0 GATEWAY=192.168.171.2 DNS1=192.168.171.2
保存后重启网络服务或系统:
systemctl restart network.service 或者 reboot
使用ping www.baidu.com测试网络连接是否正常。
三、安装Apache HTTP Server

1、更新系统包:
sudo yum update y
2、安装Apache:
sudo yum install httpd y
3、启动并启用Apache服务:
sudo systemctl start httpd sudo systemctl enable httpd
4、查看Apache服务状态:
sudo systemctl status httpd
四、配置防火墙
1、查看防火墙状态:
systemctl status firewalld
2、开启防火墙服务(如果未运行):

sudo systemctl start firewalld
3、开放HTTP和HTTPS端口:
sudo firewallcmd permanent addservice=http sudo firewallcmd permanent addservice=https sudo firewallcmd reload
五、测试Apache服务器
在浏览器中输入服务器的IP地址(如http://192.168.171.101),如果出现默认的Apache测试页面,说明安装成功。
六、安装PHP和MySQL
1、安装PHP:
sudo yum install php y
2、安装MySQL:
sudo yum install mysqlserver y
3、启动并启用MySQL服务:
sudo systemctl start mysqld sudo systemctl enable mysqld
4、为root用户设置密码:
sudo mysql_secure_installation
七、配置虚拟主机
1、创建虚拟主机配置文件:
sudo nano /etc/httpd/conf.d/yourdomain.com.conf
添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /var/www/html/yourdomain.com/public_html
ServerName yourdomain.com
ServerAlias www.yourdomain.com
ErrorLog /var/www/html/yourdomain.com/error.log
CustomLog /var/www/html/yourdomain.com/requests.log combined
</VirtualHost>2、创建网站根目录并设置权限:
sudo mkdir p /var/www/html/yourdomain.com/public_html sudo chown R $USER:$USER /var/www/html/yourdomain.com/public_html sudo chmod R 755 /var/www/html/yourdomain.com/public_html
3、重启Apache服务:
sudo systemctl restart httpd
八、SSL配置(可选)
为了提高安全性,可以配置SSL证书,可以使用Let's Encrypt免费获取和自动配置SSL证书。
1、安装Certbot:
sudo yum install epelrelease y sudo yum install certbot python2certbotapache y
2、生成和安装证书:
sudo certbot apache
按照提示输入域名和电子邮件地址,Certbot会自动为你的Apache配置SSL证书。
九、优化和安全性设置
1、调整Apache性能参数:
编辑/etc/httpd/conf/httpd.conf,增加或修改以下参数:
KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5
2、禁用不必要的模块:
在/etc/httpd/conf/httpd.conf中注释掉以下模块:
# LoadModule status_module modules/mod_status.so # LoadModule autoindex_module modules/mod_autoindex.so
十、备份和恢复
1、备份Web目录和数据库:
sudo tar cvzf /backup/yourdomain.com.tar.gz /var/www/html/yourdomain.com sudo mysqldump u root p yourdatabase > /backup/yourdatabase.sql
2、恢复备份:
sudo tar xvzf /backup/yourdomain.com.tar.gz C /var/www/html/ sudo mysql u root p yourdatabase < /backup/yourdatabase.sql
十一、监控和维护
1、监控工具:可以使用Nagios或Munin等工具监控服务器性能。
2、日常维护:定期更新系统和软件包,检查日志文件。
sudo yum update y sudo tail f /var/log/httpd/access_log sudo tail f /var/log/httpd/error_log
通过以上步骤,您可以在CentOS 7上成功搭建一个功能齐全且安全的HTTP服务器,如果在实际操作中遇到问题,可以参考相关文档或社区资源寻求帮助。
