Come faccio a installare manualmente una pila LAMP sulla mia istanza Lightsail?

6 minuti di lettura
0

Voglio installare manualmente una pila Lamp (Linux, Apache, MySQL, PHP) sulla mia istanza Amazon Lightsail. Come si fa?

Risoluzione

Nota: i passaggi di risoluzione coprono la maggior parte delle principali distribuzioni Linux disponibili con l'opzione Solo sistema operativo in Amazon Lightsail. Questi includono Ubuntu 20.04, Ubuntu 18.04, Debian 10 e 9 e CentOS 8 e 7.

Per informazioni sull'installazione di una pila LAMP su Amazon Linux 2, consulta Tutorial: installa un server Web LAMP su Amazon Linux 2.

Per informazioni sull'installazione di una pila LAMP su Amazon Linux, consulta Tutorial: installa un server Web LAMP sull'AMI Amazon Linux.

Installa 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

Installa PHP

Nota: i seguenti passaggi installano PHP 8.0, che è l'ultima versione del pacchetto supportata PHP. PHP 8.0 non è presente di default nella maggior parte delle distribuzioni. Installi PHP 8.0 abilitando i repository di terze parti.

Ubuntu 20.04 e Ubuntu 18.04

Esegui i seguenti comandi per installare 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 e Debian 9

Esegui i seguenti comandi per installare 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

Esegui i seguenti comandi per installare 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

Esegui i seguenti comandi per installare 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

Abilita il modulo PHP-FPM

Il modulo PHP-FPM fornisce un sito Web molto più veloce. Sebbene l'installazione di PHP-FPM sia facoltativa, è da considerarsi best practice utilizzarlo con la maggior parte dei siti Web per la creazione e la 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

1.    Aggiorna la configurazione di Apache per usare 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

2.    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

3.    Riavvia Apache e PHP-FPM per rendere effettive le modifiche:

sudo systemctl restart php-fpm
sudo systemctl restart httpd

CentOS 8

1.    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

2.    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

3.    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

4.    Riavvia Apache e PHP-FPM per rendere effettive le modifiche:

sudo systemctl restart php-fpm
sudo systemctl restart httpd

Installa MariaDB

Installa MariaDB versione 10.5 utilizzando direttamente il repository MariaDB.

1.    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"

2.    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

3.    Esegui il seguente comando per completare l'installazione sicura di MariaDB per impostare la password di root:

sudo mysql_secure_installation

4.    Quando richiesto, imposta una password per l'account root:

Inserisci la password di root corrente. Di default, 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 immetti una password sicura due volte. Assicurati di conservare questa password in un luogo sicuro.
Premi Y per rimuovere gli account utente anonimi.
Premi Y per disabilitare il login root remoto.
Premi Y per rimuovere il database di prova.
Premi Y per ricaricare le tabelle dei privilegi e salvare le modifiche.

Aggiungi le autorizzazioni per le cartelle del tuo sito Web all'utente di default

Per trasferire l'istanza del tuo sito Web utilizzando SCP/SFTP, è da considerarsi best practice che l'utente corrispondente disponga delle autorizzazioni per accedere alla directory /var/www. I passaggi seguenti forniscono le autorizzazioni appropriate all'utente di default in ogni distribuzione Linux. Puoi aggiungere l'utente al gruppo Apache e quindi modificare la proprietà di tale directory con l'utente di default e il gruppo Apache.

Ubuntu 20.04 e 18.04

1.    Esegui il seguente comando:

sudo usermod -a -G www-data ubuntu

2.    Esci e riaccedi per prendere il nuovo gruppo. Quindi verifica la tua iscrizione eseguendo "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

1.    Esegui il seguente comando:

sudo usermod -a -G www-data admin

2.    Esci e accedi nuovamente per riprendere il nuovo gruppo. Quindi verifica la tua iscrizione eseguendo "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

1.    Esegui il seguente comando:

sudo usermod -a -G apache centos

2.    Esci e accedi nuovamente per riprendere il nuovo gruppo. Verifica la tua iscrizione eseguendo "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 {} \;

Il tuo sito è pronto

Accedi all'indirizzo IP pubblico dell'istanza su un browser Web per visualizzare la pagina Web di default. Il tuo sito Web è ora pronto per la personalizzazione.


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa