插件窝 干货文章 一步步教你在CentOS上搭建web服务器的完整指南

一步步教你在CentOS上搭建web服务器的完整指南

sudo bash httpd Apache 993    来源:    2025-04-12

在CentOS上搭建Web服务器的完整指南

一、准备工作

  1. 系统要求

    • CentOS 7或8(推荐使用最新稳定版)
    • 至少1GB内存
    • 10GB可用磁盘空间
    • root或sudo权限
  2. 更新系统

    sudo yum update -y
    

二、安装Apache Web服务器

  1. 安装Apache

    sudo yum install httpd -y
    
  2. 启动Apache服务并设置开机自启

    sudo systemctl start httpd
    sudo systemctl enable httpd
    
  3. 检查Apache状态

    sudo systemctl status httpd
    
  4. 配置防火墙允许HTTP/HTTPS流量

    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    
  5. 测试安装 在浏览器访问服务器IP地址,应看到Apache测试页面

三、安装MySQL/MariaDB数据库

  1. 安装MariaDB(MySQL的替代品)

    sudo yum install mariadb-server mariadb -y
    
  2. 启动并启用MariaDB

    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  3. 运行安全安装脚本

    sudo mysql_secure_installation
    

    按照提示设置root密码并完成安全配置

  4. 测试登录

    mysql -u root -p
    

四、安装PHP

  1. 安装PHP及相关模块

    sudo yum install php php-mysqlnd php-fpm php-gd php-xml php-mbstring -y
    
  2. 重启Apache使PHP生效

    sudo systemctl restart httpd
    
  3. 测试PHP

    echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
    

    访问http://your-server-ip/info.php查看PHP信息页面

五、配置虚拟主机(可选)

  1. 创建网站目录

    sudo mkdir -p /var/www/example.com/public_html
    sudo chown -R apache:apache /var/www/example.com/public_html
    
  2. 创建虚拟主机配置文件

    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>
    
  3. 测试配置并重启Apache

    sudo apachectl configtest
    sudo systemctl restart httpd
    

六、安装phpMyAdmin(可选)

  1. 安装EPEL仓库

    sudo yum install epel-release -y
    
  2. 安装phpMyAdmin

    sudo yum install phpmyadmin -y
    
  3. 配置phpMyAdmin

    sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
    

    修改Require ip部分允许你的IP访问

  4. 重启Apache

    sudo systemctl restart httpd
    
  5. 访问phpMyAdmin 通过http://your-server-ip/phpmyadmin访问

七、安全加固

  1. 禁用目录浏览

    sudo sed -i 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/' /etc/httpd/conf/httpd.conf
    
  2. 隐藏Apache版本信息

    echo "ServerTokens Prod" | sudo tee -a /etc/httpd/conf/httpd.conf
    echo "ServerSignature Off" | sudo tee -a /etc/httpd/conf/httpd.conf
    
  3. 定期更新系统

    sudo yum update -y
    
  4. 设置自动安全更新

    sudo yum install yum-cron -y
    sudo systemctl enable yum-cron
    sudo systemctl start yum-cron
    

八、常见问题解决

  1. Apache无法启动

    • 检查错误日志:sudo tail -n 50 /var/log/httpd/error_log
    • 检查端口冲突:sudo netstat -tulnp | grep :80
  2. PHP文件不解析

    • 确保已安装PHP模块
    • 检查/etc/httpd/conf.d/php.conf是否存在
  3. 数据库连接问题

    • 检查MySQL/MariaDB是否运行
    • 验证用户权限:GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
  4. 权限问题

    • 确保网站目录所有者正确:sudo chown -R apache:apache /var/www/html

通过以上步骤,您已经在CentOS系统上成功搭建了一个功能完整的LAMP(Linux, Apache, MySQL/MariaDB, PHP)Web服务器环境。