Ubuntu LAMP服务器远程访问实现指南
LAMP(Linux+Apache+MySQL+PHP)是常见的Web服务栈,实现远程访问需分别配置Web服务、数据库、服务器本身的远程连接权限,并确保网络安全。以下是具体步骤:
Apache默认监听80(HTTP)和443(HTTPS)端口,需确保防火墙允许外部流量访问这些端口,并配置虚拟主机以响应远程请求。
sudo apt update && sudo apt install apache2
ufw):sudo ufw allow http # 开放80端口(HTTP)
sudo ufw allow https # 开放443端口(HTTPS)
sudo ufw enable # 启用防火墙(若未启用)
/etc/apache2/sites-available/000-default.conf,确保<Directory>指令允许所有IP访问:<VirtualHost *:80>
ServerName your_domain_or_ip
DocumentRoot /var/www/html
<Directory "/var/www/html">
Require all granted # 允许所有来源访问
</Directory>
</VirtualHost>
重启Apache使配置生效:sudo systemctl restart apache2
MySQL默认仅允许本地连接(bind-address = 127.0.0.1),需修改配置并授权远程用户。
/etc/mysql/mysql.conf.d/mysqld.cnf),找到bind-address行并修改为0.0.0.0(允许所有IP连接)或服务器公网IP:#bind-address = 127.0.0.1 # 注释掉或修改为0.0.0.0
bind-address = 0.0.0.0
重启MySQL服务:sudo systemctl restart mysql
your_user、your_password替换为实际用户名和密码,%表示允许所有IP访问):GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES; # 刷新权限
安全建议:限制为特定IP(如192.168.1.100),避免使用root用户远程登录。SSH是远程管理服务器的加密通道,即使通过Web界面操作,也建议启用SSH。
sudo apt install openssh-server
sudo ufw allow ssh # 开放22端口(SSH默认端口)
/etc/ssh/sshd_config,修改以下参数:Port 22 # 可修改为其他端口(如2222)以减少扫描攻击
PermitRootLogin no # 禁止root用户直接登录
PasswordAuthentication yes # 允许密码登录(或使用密钥认证)
重启SSH服务:sudo systemctl restart ssh
http://your_server_ip),若看到Apache默认页面,说明Web远程访问成功。ssh username@your_server_ip
输入密码后若登录成功,说明SSH配置正确。ufw)或MySQL的GRANT语句限制仅信任IP访问。123456),建议使用包含大小写字母、数字和符号的复杂密码。通过以上步骤,Ubuntu LAMP服务器可实现安全的远程访问,满足Web应用部署需求。