Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Come posso installare manualmente uno stack LAMP su un’istanza Lightsail?
Desidero installare manualmente uno stack Lamp (Linux, Apache, MySQL, PHP) su un’istanza Amazon Lightsail.
Risoluzione
Nota: la seguente risoluzione vale per la maggior parte delle principali distribuzioni Linux disponibili con l'opzione Solo OS in Amazon Lightsail. Queste includono Ubuntu 20.04, Ubuntu 18.04, Debian 10 e 9 e CentOS 8 e 7.
Per informazioni su come installare uno stack LAMP su Amazon Linux 2, consulta Install LAMP web server on Amazon Linux 2.
Per informazioni su come installare uno stack LAMP su Amazon Linux, consulta Install LAMP web server on Amazon Linux.
Installazione di Apache
**Ubuntu 20.04 e 18.04, Debian 9 e 10 **
Esegui i seguenti comandi per installare il server Web Apache:
sudo apt update -y sudo apt install apache2 -y
CentOS 7 e CentOS 8
Esegui i seguenti comandi per installare il server Web Apache:
sudo yum update -y sudo yum install httpd wget -y sudo systemctl enable httpd sudo systemctl start httpd
Installazione di PHP
Nota: la seguente procedura consente di installare l'ultima versione del pacchetto, PHP 8.0. Per impostazione predefinita, PHP 8.0 non è presente nella maggior parte delle distribuzioni. Per installare PHP 8.0, attiva i repository di terze parti.
Ubuntu 20.04 e Ubuntu 18.04
Per installare PHP, esegui i seguenti comandi:
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 e Debian 9
Per installare PHP, esegui i seguenti comandi:
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
Per installare PHP, esegui i seguenti comandi:
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
Per installare PHP, esegui i seguenti comandi:
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
Attivazione del modulo PHP-FPM
Il modulo PHP-FPM fornisce un sito Web più veloce. Sebbene PHP-FPM sia opzionale, è consigliabile utilizzarlo per la maggior parte delle attività di creazione e gestione di siti Web.
Ubuntu 20.04 e 18.04, Debian 10 e 9
Esegui i seguenti comandi per installare 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
-
Aggiorna la configurazione di Apache per utilizzare mpm\ _event\ _module invece di 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
-
Esegui il backup del file di configurazione PHP corrente in Apache, quindi creane uno nuovo con il seguente contenuto:
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
- Riavvia Apache e PHP-FPM per rendere effettive le modifiche:
sudo systemctl restart php-fpm sudo systemctl restart httpd
CentOS 8
-
Aggiorna il file di configurazione PHP-FPM in modo che il servizio ascolti la porta anziché il socket:
sudo sed 's#listen = /run/php-fpm/www.sock#listen = 127.0.0.1:9000#g' -i /etc/php-fpm.d/www.conf
-
Esegui il backup del file di configurazione PHP corrente in Apache, quindi creane uno nuovo con il seguente contenuto:
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
-
Esegui il seguente comando sul server per consentire ad Apache di effettuare connessioni in uscita:
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
-
Riavvia Apache e PHP-FPM per rendere effettive le modifiche:
sudo systemctl restart php-fpm sudo systemctl restart httpd
Installazione di MariaDB
Installa la versione 10.5 di MariaDB con il repository MariaDB.
-
Esegui il seguente comando per aggiungere il repository yum di MariaDB (per tutte le distribuzioni Linux):
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"
-
Installa il pacchetto MariaDB:
Ubuntu 20.04, Ubuntu 18.04, Debian 10 e Debian 9
sudo apt install mariadb-server -y
CentOS 8 e CentOS 7
sudo yum install MariaDB-server MariaDB-client -y sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
-
Esegui il seguente comando per completare l'installazione sicura di MariaDB e impostare la password root:
sudo mysql_secure_installation
-
Quando richiesto, imposta una password per l'account root:
Inserisci la password root corrente. Per impostazione predefinita, l'account root non ha una password impostata.
Premi Invio.
Premi N per passare all'autenticazione unix\ _socket.
Premi Y per impostare una password, quindi inserisci una password sicura due volte. Conserva questa password in un luogo sicuro.
Premi Y per rimuovere gli account utente anonimi.
Premi Y per disattivare l'accesso root remoto.
Premi Y per rimuovere il database di prova.
Premi Y per ricaricare le tabelle delle autorizzazioni e salvare le modifiche.
Aggiungi le autorizzazioni per le cartelle del sito Web all'utente predefinito
Come best practice, per trasferire l'istanza del sito Web con SCP/SFTP, imposta le autorizzazioni per consentire all'altro utente di accedere alla directory /var/www. Per istruzioni su come impostare le autorizzazioni, consulta la sezione To set file permissions in Step 1: Prepare the LAMP server. I passaggi seguenti forniscono le autorizzazioni richieste per l'utente predefinito in ogni distribuzione Linux. È possibile aggiungere l'utente al gruppo Apache e quindi trasferire la proprietà della directory all'utente e al gruppo Apache predefiniti.
Completa i seguenti passaggi:
Ubuntu 20.04 e 18.04
-
Esegui il comando seguente:
sudo usermod -a -G www-data ubuntu
-
Esci e poi accedi nuovamente per selezionare il nuovo gruppo. Quindi, esegui il comando group per verificare l’appartenenza al gruppo:
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 e 9
-
Esegui il comando seguente:
sudo usermod -a -G www-data admin
-
Esci e poi accedi nuovamente per selezionare il nuovo gruppo. Quindi, esegui il comando group per verificare l’appartenenza al gruppo:
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 e 7
-
Esegui il comando seguente:
sudo usermod -a -G apache centos
-
Esci e poi accedi nuovamente per selezionare il nuovo gruppo. Esegui il comando group per verificare l’appartenenza al gruppo:
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 {} \;
Visualizzazione della pagina Web predefinita
Accedi all'indirizzo IP pubblico della tua istanza su un browser Web per visualizzare la pagina Web predefinita. Il sito Web è ora pronto per la personalizzazione.
