GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare LAMP Apache, MySQL, PHP su Debian 11

Come installare LAMP Apache, MySQL, PHP su Debian 11. In questa guida imparerai come installare Apache2, MySQL 8.0 e PHP 8.1.

Installerai anche alcune estensioni PHP comuni e regolerai le configurazioni PHP. Infine proteggerai la tua configurazione con Let's Encrypt SSL e configurerai il reindirizzamento HTTPS.

Questa configurazione è stata testata sul cloud di Google, quindi funzionerà su tutti i servizi di hosting cloud come AWS, Azure o qualsiasi VPS o qualsiasi server dedicato che esegue Debian 11.

Prerequisiti per installare LAMP

  • Accesso root al tuo server o a un utente sudo.
  • Dominio ha puntato all'IP del tuo server per installare Let'sEncrypt SSL

Fase 1:inizializzazione della configurazione

Inizia aggiornando i pacchetti all'ultima versione disponibile utilizzando il comando seguente.

sudo apt update
sudo apt upgrade

Installa il pacchetto wget.

sudo apt install wget

Dopo aver aggiornato la configurazione, puoi iniziare a installare lo stack LAMP.

Fase 2:installa Apache

Installa Apache usando il seguente comando.

sudo apt install apache2

Questo installerà apache2 e tutte le dipendenze richieste.

Fase 3:imposta il firewall

Ora puoi configurare Uncomplicated Firewall (UFW) con Apache per consentire l'accesso pubblico alle porte Web predefinite per HTTP e HTTPS

sudo ufw app list

Vedrai tutte le applicazioni elencate.

Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
  • Apache :Questo profilo apre la porta 80 (traffico web normale, non crittografato)
  • Apache completo :Questo profilo apre entrambe le porte 80 (traffico web normale, non crittografato) e porta 443 (traffico crittografato TLS/SSL)
  • Apache Secure :Questo profilo apre solo la porta 443 (traffico crittografato TLS/SSL)
  • OpenSSH :Questo profilo apre la porta 22 per l'accesso SSH.

Se non intendi utilizzare SSL devi abilitare solo il profilo Apache.

Ora abiliteremo Apache Full.

sudo uff allow OpenSSH
sudo ufw allow 'Apache Full'

Con questo comando puoi visualizzare lo stato di UFW.

sudo ufw status

Vedrai l'output come segue.

Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

Passaggio:4 Verifica l'installazione di Apache

Una volta installato Apache, viene avviato automaticamente ed è già attivo e funzionante.

Ogni processo in Apache è gestito con systemctl comando. Controlla lo stato di Apache con il seguente comando.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Drop-In: /lib/systemd/system/apache2.service.d
            └─apache2-systemd.conf
    Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago
  Main PID: 10617 (apache2)
     Tasks: 55 (limit: 667)
    CGroup: /system.slice/apache2.service
            ├─10617 /usr/sbin/apache2 -k start
            ├─10619 /usr/sbin/apache2 -k start
            └─10620 /usr/sbin/apache2 -k start
 Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server…
 Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.

Ora abbiamo Apache installato e configurato Firewall.

Passaggio 5:installa MySQL

Per aggiungere il repository MySQL APT al tuo sistema, vai alla pagina di download del repository e scarica l'ultimo pacchetto di rilascio usando il comando seguente.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

Installa il pacchetto di rilascio.

sudo apt install ./mysql-apt-config_0.8.22-1_all.deb

Installeremo MySQL versione 8.0. Seleziona OK premendo Tab e premi Invio (come mostrato nell'immagine sopra).

Ora puoi installare MySQL.

sudo apt update
sudo apt install mysql-server

Una volta completata l'installazione, il servizio MySQL si avvierà automaticamente. Per verificare che il server MySQL sia in esecuzione, digita:

sudo service mysql status

L'output dovrebbe mostrare che il servizio è abilitato e in esecuzione:

 mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-02-02 06:12:30 UTC; 17s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
   Main PID: 101929 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 1148)
     Memory: 369.3M
        CPU: 805ms
     CGroup: /system.slice/mysql.service
             └─101929 /usr/sbin/mysqld

Feb 02 06:12:29 demo systemd[1]: Starting MySQL Community Server...
Feb 02 06:12:30 demo systemd[1]: Started MySQL Community Server.

Passaggio 6:proteggi MySQL

L'installazione di MySQL include uno script chiamato mysql_secure_installation che ti consente di migliorare facilmente la sicurezza del server MySQL.

sudo mysql_secure_installation

Ti verrà chiesto di configurare il VALIDATE PASSWORD PLUGIN che viene utilizzato per testare la forza delle password degli utenti MySQL e migliorare la sicurezza.

Premi y se desideri impostare il plug-in di convalida della password o qualsiasi altra chiave per passare al passaggio successivo.

Esistono tre livelli di criteri di convalida delle password, basso, medio e forte.

Immettere 2 per la convalida della password complessa.

Al prompt successivo, ti verrà chiesto di impostare una password per l'utente root di MySQL.

Se imposti il ​​plug-in di convalida della password, lo script ti mostrerà la forza della tua nuova password. Digita y per confermare la password.

Successivamente, ti verrà chiesto di rimuovere l'utente anonimo, limitare l'accesso dell'utente root al computer locale, rimuovere il database di test e ricaricare le tabelle dei privilegi. Dovresti rispondere a y a tutte le domande.

Passaggio 7:installa PHP

Aggiungi il SURY PPA per PHP 8.1

sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Ora puoi aggiungere il PPA ai pacchetti del server.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Aggiorna i pacchetti e installa PHP 8.1

sudo apt update

sudo apt install php libapache2-mod-php php8.1-mysql php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl -y

Una volta installato PHP, puoi verificare la versione utilizzando il seguente comando.

php -v

Fase 8:configura PHP

Ora configuriamo PHP per le applicazioni Web modificando alcuni valori in php.ini file.

Per PHP 8.1 con Apache il php.ini la posizione sarà nella directory seguente.

sudo nano /etc/php/8.1/apache2/php.ini

Premi F6 per cercare all'interno dell'editor e aggiornare i seguenti valori per prestazioni migliori.

upload_max_filesize = 32M 
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Dopo aver modificato le impostazioni PHP, è necessario riavviare Apache affinché le modifiche abbiano effetto.

Fase 9:configura Apache

Disabilita la configurazione predefinita di Apache.

sudo a2dissite 000-default

Crea directory di siti Web.

sudo mkdir -p /var/www/html/domainname/public

Imposta le autorizzazioni corrette.

sudo chmod -R 755 /var/www/html/domainname
sudo chown -R www-data:www-data /var/www/html/domainname

Crea una nuova configurazione di host virtuale.

sudo nano /etc/apache2/sites-available/domainname.conf

Incolla le seguenti configurazioni nel nuovo file.

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domainname.com
     ServerAlias www.domainname.com

     DocumentRoot /var/www/html/domainname/public

     <Directory /var/www/html/domainname/public>
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
 </VirtualHost>

Abilita la nuova configurazione.

sudo a2ensite domainname.conf

Passaggio 10:installa Let's Encrypt SSL

HTTPS è un protocollo per la comunicazione sicura tra un server (istanza) e un client (browser web). Grazie all'introduzione di Let's Encrypt, che fornisce certificati SSL gratuiti, HTTPS è adottato da tutti e fornisce anche fiducia al tuo pubblico.

Qui installeremo Certbot per installare Let'sEncrypt SSL usando Snap.

sudo apt update
sudo apt install snapd -y
sudo snap install core
sudo snap refresh core

Installa lo strumento Certbot.

sudo snap install --classic certbot

Configura Certbot in modo che sia eseguibile come comando.

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Ora abbiamo installato Certbot per installare Let's Encrypt per Debian 11.

Esegui il comando seguente per installare i certificati.

sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com

Seleziona l'opzione appropriata e premi Enter

Questo comando installerà Free SSL, configurerà il reindirizzamento a HTTPS e riavvierà il server Apache.

Fase 11:rinnovo del certificato SSL

I certificati forniti da Let's Encrypt sono validi solo per 90 giorni, quindi è necessario rinnovarli spesso. Quindi, testiamo la funzionalità di rinnovo utilizzando il seguente comando.

sudo certbot renew --dry-run

Questo comando verificherà la scadenza del certificato e configura la funzione di rinnovo automatico.

Fase:12:verifica la configurazione

Dopo aver eseguito i passaggi abili, puoi creare un nuovo file PHP di prova nella tua directory web.

sudo nano /var/www/html/domainname/public/info.php

Incolla il codice seguente all'interno del file.

<?php phpinfo();

Salva il file.

Ora vai avanti e controlla il tuo nome di dominio con il info.php nell'URL (domainname.com/info.php ).

Vedrai che il tuo dominio è stato reindirizzato a HTTPS e vedrai i dettagli delle informazioni PHP.

Potenzia la tua carriera di amministrazione Linux con un corso di formazione completato e ottieni il lavoro dei tuoi sogni.

Conclusione

Ora hai imparato come installare lo stack LAMP su Debian 11 con Let's Encrypt.

Grazie per il tuo tempo. In caso di problemi o feedback, lasciare un commento qui sotto.


Linux
  1. Come installare LAMP (Apache, MySQL, PHP) su Debian 11

  2. Come installare LAMP su Debian 8

  3. Come installare LAMP (Linux, Apache, MySQL, PHP) su Debian 9

  4. Come installare MySQL su Debian 11

  5. Come installare LAMP Apache, MySQL, PHP su Debian 11

Come installare LAMP (Apache, MySQL, PHP) su Debian 10

Come installare Apache, MySQL, PHP (LAMP) su Fedora 21

Come installare Linux, Apache, MySQL, PHP (LAMP) su Debian 8.2 Cloud Server

Come installare LAMP su Ubuntu 15.10 (Linux, Apache, MySQL e PHP)

Come installare Apache, MySQL, PHP (LAMP) su Arch Linux

Come installare lo stack Apache, MySQL, PHP (LAMP) su Ubuntu 16.04