如何在我的 Lightsail 執行個體上手動安裝 LAMP 堆疊?
我想在我的 Amazon Lightsail 執行個體上手動安裝 Lamp (Linux、Apache、MySQL、PHP) 堆疊。要怎麼做?
解決方案
**注意:**解決方案的操作步驟中涵蓋 Amazon Lightsail 中「僅限作業系統」選項下的大部分主要 Linux 分佈。其中包括 Ubuntu 20.04、Ubuntu 18.04、Debian 10 和 9,以及 CentOS 8 和 7。
有關在 Amazon Linux 2 上安裝 LAMP 堆疊的資訊,請參閱教學:在 Amazon Linux 2 上安裝 LAMP Web 伺服器。
有關在 Amazon Linux 上安裝 LAMP 堆疊的資訊,請參閱教學:在 Amazon Linux AMI 上安裝 LAMP Web 伺服器。
安裝 Apache
Ubuntu 20.04 和 18.04、Debian 9 和 10
執行下列命令以安裝 Apache Web 伺服器:
sudo apt update -y sudo apt install apache2 -y
CentOS 7 和 CentOS 8
執行下列命令以安裝 Apache Web 伺服器:
sudo yum update -y sudo yum install httpd wget -y sudo systemctl enable httpd sudo systemctl start httpd
安裝 PHP
**注意:**以下步驟適用於安裝 PHP 8.0,這是受支持的最新 PHP 套件版本。在大多數分佈中,預設不存在 PHP 8.0。您可以啟用第三方儲存庫以安裝 PHP 8.0。
Ubuntu 20.04 和 Ubuntu 18.04
執行下列命令以安裝 PHP:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update -y sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y
Debian 10 和 Debian 9
執行下列命令以安裝 PHP:
sudo apt install -y gnupg2 ca-certificates apt-transport-https software-properties-common wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list sudo apt update sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y
CentOS 7
執行下列命令以安裝 PHP:
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install -y yum-utils sudo yum-config-manager --enable remi-php80 sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y
CentOS 8
執行下列命令以安裝 PHP:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf module enable php:remi-8.0 -y sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y
啟用 PHP-FPM 模組
PHP-FPM 模組提供一個更快的網站。雖然安裝 PHP-FPM 是可選操作,但最佳實務是將其用於大多數網站建置與管理網站。
Ubuntu 20.04 和 18.04、Debian 10 和 9
執行下列命令以安裝 PHP-FPM:
sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.0-fpm sudo a2dismod php8.0 sudo systemctl enable php8.0-fpm sudo service apache2 restart;sudo service php8.0-fpm restart
CentOS 7
1. 更新 Apache 組態以使用 mpm_event_module,而不是 mpm_prefork_module:
[centos@ip ~]# sudo vi /etc/httpd/conf.modules.d/00-mpm.conf # LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule mpm_event_module modules/mod_mpm_event.so
2. 在 Apache 中備份目前的 PHP 組態檔案,然後建立一個新的包含以下內容的檔案:
sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak sudo vi /etc/httpd/conf.d/php.conf <Files ".user.ini"> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all Satisfy All </IfModule> </Files> <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> AddType text/html .php DirectoryIndex index.php
3. 重新啟動 Apache 和 PHP-FPM 以使更改生效:
sudo systemctl restart php-fpm sudo systemctl restart httpd
CentOS 8
1. 更新 PHP-FPM 組態檔案,讓服務接聽連接埠,而不是通訊端。
sudo sed 's#listen = /run/php-fpm/www.sock#listen = 127.0.0.1:9000#g' -i /etc/php-fpm.d/www.conf
2. 在 Apache 中備份目前的 PHP 組態檔案,然後建立一個新的包含以下內容的檔案:
sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak sudo vi /etc/httpd/conf.d/php.conf <Files ".user.ini"> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all Satisfy All </IfModule> </Files> <FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> AddType text/html .php DirectoryIndex index.php
3. 在伺服器上執行下列命令,以允許 Apache 建立傳出連線:
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
4. 重新啟動 Apache 和 PHP-FPM 以使更改生效:
sudo systemctl restart php-fpm sudo systemctl restart httpd
安裝 MariaDB
直接使用 MariaDB 儲存庫安裝 MariaDB 版本 10.5。
1. 執行以下命令以新增 MariaDB yum 儲存庫 (適用於所有 Linux 分佈):
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"
2. 安裝 MariaDB 套件:
Ubuntu 20.04、Ubuntu 18.04、Debian 10 和 Debian 9
sudo apt install mariadb-server -y
CentOS 8 和 CentOS 7
sudo yum install MariaDB-server MariaDB-client -y sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
3. 執行以下命令以完成 MariaDB 安全安裝,設定根密碼:
sudo mysql_secure_installation
4. 出現提示時,設定根帳戶的密碼:
輸入目前的根密碼。依預設,根帳戶沒有設定密碼。
按 Enter。
按 N 切換至 unix_socket 身分驗證。
按 Y 設定密碼,然後輸入兩次安全密碼。請務必將此密碼存放在安全的地方。
按 Y 移除匿名使用者帳戶。
按 Y 停用遠端根登入。
按 Y 移除測試資料庫。
按 Y 重新載入權限表並儲存您的變更。
為預設使用者新增網站資料夾的許可
若要使用 SCP/SFTP 傳輸網站的執行個體,最佳實務是對應的使用者具有存取 /var/www 目錄的許可。下列步驟適用於為每個 Linux 分佈中的預設使用者提供適當的許可。您可以將使用者新增至 Apache 群組,然後將該目錄的擁有權變更為預設使用者和 Apache 群組所有。
Ubuntu 20.04 和 18.04
1. 執行以下命令:
sudo usermod -a -G www-data ubuntu
2. 登出後再重新登入以取得新群組。然後透過執行「group」來驗證您的成員資格:
sudo chown -R ubuntu:www-data /var/www sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \; find /var/www -type f -exec sudo chmod 0664 {} \;
Debian 10 和 9
1. 執行以下命令:
sudo usermod -a -G www-data admin
2. 登出後再重新登入以取得新群組。然後執行「group」以驗證您的成員資格。
sudo chown -R admin:www-data /var/www sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \; find /var/www -type f -exec sudo chmod 0664 {} \;
CentOS 8 和 7
1. 執行以下命令:
sudo usermod -a -G apache centos
2. 登出後再重新登入以取得新群組。透過執行「group」來驗證您的成員資格:
sudo chown -R centos:apache /var/www sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \; find /var/www -type f -exec sudo chmod 0664 {} \;
您的網站即已準備就緒
在 Web 瀏覽器上存取執行個體的公有 IP 地址,以檢視預設網頁。您的網站現已做好自訂準備。
相關內容
- 已提問 9 個月前lg...
- 已提問 1 年前lg...
- 已提問 3 個月前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 3 年前
- AWS 官方已更新 1 年前