溫馨提示×

ubuntu lamp遠程訪問怎樣設置

小樊
38
2025-10-01 11:54:03
欄目: 智能運維

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
    
  • 確認<VirtualHost *:80>部分未添加Require local指令(若有則刪除),并添加Require all granted允許所有IP訪問:
    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted  # 允許所有IP訪問
    </Directory>
    
  • 保存后重啟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
    
  • 檢查規則:
    sudo ufw status  # 應顯示“Apache Full”和“SSH”為ALLOW
    
    若需允許MySQL遠程連接(端口3306),可添加sudo 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_useryour_password作為憑據。

注意事項

  • 避免使用root用戶遠程訪問:創建專用數據庫用戶并限制其權限;
  • 定期更新系統sudo apt update && sudo apt upgrade -y保持軟件最新;
  • 備份配置文件:修改配置前備份原文件(如sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf ~/mysqld.cnf.bak);
  • 禁用不必要的服務:如無需FTP,關閉vsftpd等服務以減少攻擊面。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女