阅读量:3
Ubuntu LAMP远程访问设置指南
LAMP(Linux + Apache + MySQL + PHP)是常见的Web开发环境,实现远程访问需分别配置Web服务、数据库及网络安全。以下是详细步骤:
1. 安装LAMP环境
首先通过包管理器安装Apache、MySQL、PHP及必要扩展:
sudo apt update && sudo apt upgrade -y # 更新系统
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql -y # 安装LAMP组件
安装完成后,Apache会自动启动,可通过sudo systemctl status apache2验证状态。
2. 配置Apache允许远程访问
默认情况下,Apache监听所有网络接口(0.0.0.0),但需确保配置文件未限制IP访问:
- 编辑默认站点配置文件:
sudo nano /etc/apache2/sites-available/000-default.conf - 确认
部分未添加Require local指令(若有则删除),并添加Require all granted允许所有IP访问:Options Indexes FollowSymLinks AllowOverride All Require all granted # 允许所有IP访问 - 保存后重启Apache:
sudo systemctl restart apache2 - 测试远程访问:在浏览器输入服务器公网IP,若看到Apache默认页面则表示成功。
3. 配置MySQL允许远程访问
MySQL默认仅允许localhost连接,需修改配置并授权用户:
- 编辑MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf - 找到
bind-address = 127.0.0.1,将其注释掉(#bind-address = 127.0.0.1)或改为0.0.0.0(允许所有IP连接)。 - 重启MySQL服务:
sudo systemctl restart mysql - 登录MySQL并授予权限(不建议使用root用户远程访问,建议创建专用用户):
sudo mysql -u root -p- 创建用户并授权(将
your_user、your_password替换为实际值,%表示允许所有IP):CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; - 若需限制特定IP(如
192.168.1.100),将%改为对应IP:GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'192.168.1.100' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; - 退出MySQL:
exit。
- 创建用户并授权(将
4. 配置防火墙允许流量
Ubuntu默认使用ufw(Uncomplicated Firewall)管理防火墙,需开放HTTP(80)、HTTPS(443)及SSH(22)端口:
- 允许Apache Full(包含HTTP/HTTPS):
sudo ufw allow 'Apache Full' - 允许SSH(用于远程管理服务器):
sudo ufw allow ssh - 启用防火墙:
sudo ufw enable - 检查规则:
若需允许MySQL远程连接(端口3306),可添加sudo ufw status # 应显示“Apache Full”和“SSH”为ALLOWsudo ufw allow mysql,但建议通过SSH隧道访问以提高安全性。
5. 增强安全性:使用SSH隧道
为避免直接暴露MySQL到公网,建议通过SSH隧道加密数据库连接:
- 在本地机器执行以下命令(将
your_user、your_server_ip替换为实际值):
此命令将:ssh -L 8080:localhost:80 -L 3307:localhost:3306 your_user@your_server_ip -N- 将本地的8080端口映射到服务器的80端口(Web访问);
- 将本地的3307端口映射到服务器的3306端口(MySQL访问)。
- 远程访问时:
- Web访问:
http://localhost:8080; - MySQL访问:使用
localhost:3307作为主机地址,your_user和your_password作为凭据。
- Web访问:
注意事项
- 避免使用root用户远程访问:创建专用数据库用户并限制其权限;
- 定期更新系统:
sudo apt update && sudo apt upgrade -y保持软件最新; - 备份配置文件:修改配置前备份原文件(如
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf ~/mysqld.cnf.bak); - 禁用不必要的服务:如无需FTP,关闭vsftpd等服务以减少攻击面。
以上就是关于“ubuntu lamp远程访问怎样设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm