温馨提示×

CentOS LAMP如何远程访问

小樊
49
2026-01-10 21:23:17
栏目: 智能运维

CentOS LAMP 远程访问配置与加固

一 网络与防火墙放行

  • 放行 Web 访问端口(HTTP/HTTPS):
    • 使用 firewalld:
      • 安装并启动:sudo yum install -y firewalld && sudo systemctl start firewalld && sudo systemctl enable firewalld
      • 放行端口:sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --permanent --add-service=https
      • 重载规则:sudo firewall-cmd --reload
  • 放行数据库端口(如计划开放远程数据库,默认端口 3306):
    • sudo firewall-cmd --permanent --add-port=3306/tcp && sudo firewall-cmd --reload
  • 如使用云服务器,还需在云平台安全组放行对应端口(如 80/443/3306)。

二 远程访问网站与 PHP 应用

  • 安装与启动 Apache:
    • sudo yum install -y httpd && sudo systemctl start httpd && sudo systemctl enable httpd
  • 如为最小化安装,需确保默认目录允许访问(Apache 2.4+ 示例):
    • 编辑:sudo vi /etc/httpd/conf/httpd.conf
    • <Directory /> ... Require all denied 改为:Require all granted
    • 重启:sudo systemctl restart httpd
  • 验证 PHP:
    • 创建测试页:echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
    • 浏览器访问:http://服务器IP/info.php
  • 可选:部署 phpMyAdmin(便于远程管理数据库):
    • 安装:sudo yum install -y epel-release && sudo yum install -y phpmyadmin
    • 远程访问放开(Apache 2.4 示例):编辑 /etc/httpd/conf.d/phpMyAdmin.conf,将 <Directory /usr/share/phpMyAdmin/> 段内的 Require ip 127.0.0.1Require ip ::1 注释或删除,改为 Require all granted
    • 重启:sudo systemctl restart httpd
    • 访问:http://服务器IP/phpmyadmin

三 远程访问 MariaDB MySQL

  • 安全初始化:
    • sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止 root 远程登录等)
  • 如需从外部连接数据库,建议创建专用于远程的数据库用户(更安全):
    • 登录数据库:mysql -uroot -p
    • 创建用户并授权(示例允许任意主机,生产环境请限定 IP):
      • CREATE USER 'webuser'@'%' IDENTIFIED BY 'StrongPass!';
      • GRANT ALL PRIVILEGES ON yourdb.* TO 'webuser'@'%';
      • FLUSH PRIVILEGES;
  • 如仍无法远程,检查 MariaDB 绑定地址(常见于 /etc/my.cnf.d/server.cnf/etc/my.cnf[mysqld] 段):
    • bind-address=127.0.0.1 改为 bind-address=0.0.0.0(或注释掉该行),然后重启数据库:sudo systemctl restart mariadb
  • 注意:开放数据库到公网存在风险,务必使用强密码、限制来源 IP、仅授予必要权限。

四 服务器远程管理通道

  • SSH 远程管理(命令行):
    • 安装与启动:sudo yum install -y openssh-server && sudo systemctl start sshd && sudo systemctl enable sshd
    • 防火墙放行:sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload
    • 连接:ssh 用户名@服务器IP
    • 建议启用密钥登录并禁用 root 直登:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,重启 sshd
  • 图形化远程桌面(可选):
    • xrdp(RDP,端口 3389):sudo yum install -y epel-release && sudo yum install -y xrdp && sudo systemctl start xrdp && sudo systemctl enable xrdp
    • 放行端口:sudo firewall-cmd --permanent --add-port=3389/tcp && sudo firewall-cmd --reload
    • Windows 使用“远程桌面连接”连至 服务器IP:3389
  • Web 管理控制台 Cockpit(端口 9090):
    • 安装与启动:sudo yum install -y cockpit && sudo systemctl start cockpit.socket && sudo systemctl enable cockpit.socket
    • 访问:http://服务器IP:9090,使用系统账号登录。

五 安全加固要点

  • 最小暴露面:仅开放必要端口(如 80/443),数据库端口尽量内网访问或使用 SSH 隧道
  • 强化 SSH:禁用 root 直登、使用密钥认证、更改默认端口、限制登录来源 IP
  • 数据库安全:禁止 root 远程、为应用创建最小权限专用账户、定期轮换密码
  • 系统与组件更新:sudo yum update -y 及时修补漏洞
  • 日志与审计:启用并定期检查 journald/rsyslog,监控异常登录与访问
  • SELinux:保持 enforcing,必要时仅做最小策略放宽,避免直接改为 permissive

0