如何在 Lightsail 執行個體上手動安裝 LAMP 堆疊?
我想在我的 Amazon Lightsail 執行個體上手動安裝 Lamp (Linux、Apache、MySQL、PHP) 堆疊。
解決方法
**注意:**以下解決方法適用於 Amazon Lightsail 中 OS Only 選項下可用的大多數主要 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 上安裝 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 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
-
更新 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
-
在 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
-
重新啟動 Apache 和 PHP-FPM 以使變更生效:
sudo systemctl restart php-fpm sudo systemctl restart httpd
CentOS 8
-
更新 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
-
在 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
-
在伺服器上執行下列命令,以允許 Apache 建立傳出連線:
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
-
重新啟動 Apache 和 PHP-FPM 以使變更生效:
sudo systemctl restart php-fpm sudo systemctl restart httpd
安裝 MariaDB
使用 MariaDB 儲存庫安裝 MariaDB 版本 10.5。
-
執行下列命令以新增 MariaDB yum 儲存庫 (適用於所有 Linux 發行版):
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"
-
安裝 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
-
執行下列命令以完成 MariaDB 安全安裝,以便設定根密碼:
sudo mysql_secure_installation
-
出現提示時,設定根帳戶的密碼:
輸入目前的根密碼。依預設,根帳戶未設定密碼。
按 Enter 鍵。
按 N 切換到 unix_socket 驗證。
按 Y 設定密碼,然後輸入兩次安全密碼。將此密碼儲存在安全的地方。
按 Y 移除匿名使用者帳戶。
按 Y 關閉遠端根登入。
按 ** Y** 移除測試資料庫。
按 Y 重新載入權限表格並儲存變更。
將網站資料夾的權限新增至預設使用者
若要使用 SCP/SFTP 傳輸網站的執行個體,最佳做法是為其他使用者設定存取 /var/www 目錄的權限。如需如何設定權限的說明,請參閱設定檔案權限部分 (步驟 1: 準備 LAMP 伺服器中)。下列步驟為每個 Linux 發行版中的預設使用者提供所需的權限。您可以將使用者新增至 Apache 群組,然後將目錄的所有權變更為預設使用者和 Apache 群組。
完成下列步驟:
Ubuntu 20.04 和 18.04
-
執行下列命令:
sudo usermod -a -G www-data ubuntu
-
登出,然後重新登入以取得新的群組。然後,執行 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
-
執行下列命令:
sudo usermod -a -G www-data admin
-
登出,然後重新登入以取得新的群組。然後,執行 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
-
執行下列命令:
sudo usermod -a -G apache centos
-
登出,然後重新登入以取得新的群組。執行 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 位址以檢視預設網頁。您的網站現在可以自訂。
相關內容
- 已提問 10 個月前lg...
- 已提問 2 年前lg...
- 已提問 8 個月前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 1 年前
- AWS 官方已更新 8 個月前