sudo yum update -y
sudo reboot # 如果内核有更新需要重启
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
在浏览器访问服务器IP地址,应看到Apache测试页面
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
按照提示设置root密码并移除测试数据库和匿名用户
sudo yum install php php-mysqlnd php-fpm php-gd php-xml php-mbstring -y
sudo systemctl restart httpd
创建测试文件:
sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php
访问 http://your-server-ip/info.php
查看PHP信息页面
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/example.com/public_html
sudo chmod -R 755 /var/www
sudo vi /etc/httpd/conf.d/example.com.conf
添加以下内容:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
sudo apachectl configtest
sudo systemctl restart httpd
sudo yum install epel-release -y
sudo yum install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
sudo certbot renew --dry-run
cd /var/www/example.com/public_html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
sudo chown -R apache:apache /var/www/example.com/public_html
然后通过浏览器完成WordPress安装向导
sudo yum install phpmyadmin -y
编辑配置文件 /etc/httpd/conf.d/phpMyAdmin.conf
允许远程访问
编辑 /etc/httpd/conf/httpd.conf
:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule prefork.c>
StartServers 4
MinSpareServers 20
MaxSpareServers 40
MaxClients 200
MaxRequestsPerChild 4500
</IfModule>
sudo yum install php-opcache -y
sudo systemctl restart httpd
sudo curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh
sudo yum install webmin -y
编辑 /etc/logrotate.d/httpd
配置日志自动轮转
sudo vi /usr/local/bin/backup_website.sh
内容示例:
#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR="/backups"
WEBSITE_DIR="/var/www"
DB_USER="root"
DB_PASS="yourpassword"
mkdir -p $BACKUP_DIR/$DATE
tar -czf $BACKUP_DIR/$DATE/website.tar.gz $WEBSITE_DIR
mysqldump -u$DB_USER -p$DB_PASS --all-databases > $BACKUP_DIR/$DATE/databases.sql
find $BACKUP_DIR -type d -mtime +30 -exec rm -rf {} \;
sudo chmod +x /usr/local/bin/backup_website.sh
sudo crontab -e
添加:
0 2 * * * /usr/local/bin/backup_website.sh
至此,您已经在CentOS上成功搭建了一个功能完善的Web服务器环境。根据您的具体需求,可以进一步定制和优化配置。