插件窝 干货文章 手把手教你在CentOS上搭建web服务器的详细步骤

手把手教你在CentOS上搭建web服务器的详细步骤

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

在CentOS上搭建Web服务器的详细指南

准备工作

  1. 系统要求

    • CentOS 7或8(本教程以CentOS 7为例)
    • root权限或sudo权限账户
    • 稳定的网络连接
  2. 更新系统

    sudo yum update -y
    

安装Apache HTTP服务器

  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. 测试Apache 在浏览器中输入服务器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密码
    • 移除匿名用户
    • 禁止root远程登录
    • 移除测试数据库
    • 重新加载权限表

安装PHP

  1. 安装PHP及常用扩展

    sudo yum install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel -y
    
  2. 重启Apache使PHP生效

    sudo systemctl restart httpd
    
  3. 测试PHP

    • 创建测试文件: bash sudo echo "" > /var/www/html/info.php
    • 在浏览器中访问 http://your-server-ip/info.php,应该看到PHP信息页面

配置虚拟主机(可选)

  1. 创建网站目录

    sudo mkdir -p /var/www/example.com/public_html
    
  2. 设置权限

    sudo chown -R apache:apache /var/www/example.com/public_html
    sudo chmod -R 755 /var/www
    
  3. 创建虚拟主机配置文件

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

    sudo apachectl configtest
    sudo systemctl restart httpd
    

安装phpMyAdmin(可选)

  1. 添加EPEL仓库

    sudo yum install epel-release -y
    sudo yum update -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. 限制HTTP方法

    sudo echo "<Directory /var/www/html>
    <LimitExcept GET POST>
       deny from all
    </LimitExcept>
    </Directory>" | sudo tee -a /etc/httpd/conf/httpd.conf
    
  4. 重启Apache

    sudo systemctl restart httpd
    

常见问题排查

  1. Apache无法启动

    • 检查错误日志:sudo tail -n 50 /var/log/httpd/error_log
    • 检查配置:sudo apachectl configtest
  2. PHP不工作

    • 确保安装了PHP模块:sudo yum list installed | grep php
    • 检查PHP配置文件:php -i | grep "Loaded Configuration File"
  3. 数据库连接问题

    • 确保MariaDB服务正在运行:sudo systemctl status mariadb
    • 检查用户权限:mysql -u root -p 然后 SHOW GRANTS;

现在你已经成功在CentOS上搭建了一个完整的LAMP(Linux, Apache, MySQL/MariaDB, PHP)Web服务器环境!