Ricerca nel sito web

Installa LAMP Stack su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Installa Apache Web Server
  3. Installa il server database MariaDB
  4. Installa PHP Processing Language
  5. Crea un host virtuale per Apache
  6. Verifica l'installazione di PHP su Apache
  7. Conclusione

Lo stack LAMP è un insieme comune di strumenti open source utilizzati per ospitare siti Web e applicazioni sul Web. LAMP Stack è una piattaforma di sviluppo web che utilizza Linux come sistema operativo, Apache come server web, MariaDB/MySQL come server di database e PHP come linguaggio di scripting. È così ampiamente utilizzato e fornisce un set comprovato di software per la fornitura di applicazioni Web ad alte prestazioni.

In questo tutorial, ti mostreremo come installare lo stack LAMP su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Un nome di dominio valido indicato con l'IP del tuo server.
  • Sul server è configurata una password di root.

Installa Apache Web Server

Il pacchetto del server web Apache è incluso nel repository predefinito di Debian 11. Puoi installarlo semplicemente eseguendo il seguente comando:

apt-get install apache2 apache2-utils -y

Dopo aver installato il server Web Apache, verificare la versione installata di Apache con il seguente comando:

apache2 -v

Dovresti vedere il seguente output:

Server version: Apache/2.4.48 (Debian)
Server built:   2021-08-12T11:51:47

Per avviare il servizio Apache, esegui il seguente comando:

systemctl start apache2

Per abilitare il servizio Apache in modo che venga avviato all'avvio del sistema, eseguire il seguente comando:

systemctl enable apache2

Puoi anche controllare lo stato completo di Apache con il seguente comando:

apt-get install elinks
apache2ctl fullstatus

Dovresti vedere il seguente output:

 Apache Server Status for localhost (via ::1)

   Server Version: Apache/2.4.48 (Debian)

   Server MPM: prefork

   Server Built: 2021-08-12T11:51:47

   --------------------------------------------------------------------------

   Current Time: Tuesday, 17-Aug-2021 09:29:41 UTC

   Restart Time: Tuesday, 17-Aug-2021 09:29:33 UTC

   Parent Server Config. Generation: 1

   Parent Server MPM Generation: 0

   Server uptime: 7 seconds

   Server load: 0.05 0.01 0.00

   Total accesses: 0 - Total Traffic: 0 kB - Total Duration: 0

   CPU Usage: u.03 s.02 cu0 cs0 - .714% CPU load

   0 requests/sec - 0 B/second

   1 requests currently being processed, 4 idle workers

Per impostazione predefinita, Apache viene eseguito sulla porta 80, puoi verificarlo utilizzando il seguente comando:

ss -antpl | grep apache2

Dovresti ottenere il seguente output:

LISTEN 0      511                *:80              *:*    users:(("apache2",pid=44022,fd=4),("apache2",pid=44021,fd=4),("apache2",pid=44020,fd=4),("apache2",pid=44019,fd=4),("apache2",pid=44018,fd=4),("apache2",pid=44017,fd=4))

Puoi anche controllare l'installazione di Apache sfogliando l'URL http://your-server-ip. Dovresti vedere la pagina di test di Apache nella schermata seguente:

Installa il server database MariaDB

MariaDB è un sistema di gestione del database che viene utilizzato per archiviare e gestire i dati per il tuo sito web. Puoi installarlo usando il seguente comando:

apt-get install mariadb-server -y

Una volta installato MariaDB, avvia il servizio MariaDB e abilitalo per l'avvio all'avvio del sistema utilizzando il seguente comando:

systemctl start mariadb
systemctl enable mariadb

Puoi anche controllare lo stato del servizio MariaDB usando il seguente comando:

systemctl status mariadb

Dovresti vedere il seguente output:

? mariadb.service - MariaDB 10.3.31 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1838 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 2353)
     Memory: 66.1M
     CGroup: /system.slice/mariadb.service
             ??1838 /usr/sbin/mysqld

Si consiglia inoltre di proteggere l'installazione di MariaDB e impostare una password di root MariaDB. Puoi eseguire lo script mysql_secure_installation per proteggere l'installazione di MariaDB:

mysql_secure_installation

Ti verrà chiesto di impostare una password di root MariaDB, rimuovere gli utenti anonimi, non consentire l'accesso root da remoto e rimuovere il database di test come mostrato di seguito:

Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Per impostazione predefinita, MariaDB viene eseguito sulla porta 3306. Puoi verificarlo utilizzando il seguente comando:

ss -antpl | grep mariadb

Dovresti vedere il seguente comando:

LISTEN 0      80         127.0.0.1:3306      0.0.0.0:*    users:(("mariadbd",pid=12181,fd=15))

Per connettere la shell MariaDB, esegui il seguente comando:

mysql -u root -p

Fornisci la tua password di root MariaDB e premi Invio per connetterti alla shell MariaDB. Una volta connesso, dovresti vedere il seguente output:

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Ora, esegui il seguente comando per verificare la versione di MariaDB:

MariaDB [(none)]> SELECT VERSION();

Dovresti vedere il seguente output:

+-------------------+
| VERSION()         |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)

Installa il linguaggio di elaborazione PHP

PHP è il linguaggio di elaborazione utilizzato per servire le applicazioni PHP sul server web. Per impostazione predefinita, la versione di PHP disponibile in Debian 11 è PHP 7.4. Puoi installare PHP con altre estensioni comunemente utilizzate con il seguente comando:

apt-get install php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml -y

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

php -v

Dovresti vedere il seguente output:

PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

Crea un host virtuale per Apache

A questo punto, lo stack LAMP è installato nel tuo server. Ora, dovrai creare un file di configurazione dell'host virtuale Apache per ospitare qualsiasi applicazione.

Qui creeremo una directory example.com per l'hosting di una pagina PHP. Puoi crearlo con il seguente comando:

mkdir /var/www/html/example.com

Successivamente, imposta la proprietà della directory example.com su www-data:

chown -R www-data:www-data /var/www/html/example.com

Quindi, crea un file di configurazione dell'host virtuale Apache con il seguente comando:

nano /etc/apache2/sites-available/example.com.conf

Aggiungi le seguenti righe:

<VirtualHost *:80>
    ServerAdmin 
    ServerName example.com
    DocumentRoot /var/www/html/example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Salva e chiudi il file, quindi attiva l'host virtuale example.com e disabilita l'host virtuale predefinito con il seguente comando:

a2ensite example.com.conf
a2dissite 000-default

Successivamente, verifica il file dell'host virtuale per eventuali errori di sintassi con il seguente comando:

apache2ctl configtest

Se tutto va bene, dovresti vedere il seguente output:

Syntax OK

Infine, riavvia il servizio Apache per applicare le modifiche alla configurazione:

systemctl reload apache2

Puoi anche controllare lo stato del servizio Apache usando il seguente comando:

systemctl status apache2

Dovresti vedere il seguente output:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:30 UTC; 2min 56s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2257 (apache2)
      Tasks: 55 (limit: 2353)
     Memory: 5.3M
     CGroup: /system.slice/apache2.service
             ??2257 /usr/sbin/apache2 -k start
             ??2259 /usr/sbin/apache2 -k start
             ??2260 /usr/sbin/apache2 -k start

Aug 21 04:13:30 debian11 systemd[1]: Starting The Apache HTTP Server...
Aug 21 04:13:30 debian11 apachectl[2246]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 216.9>
Aug 21 04:13:30 debian11 systemd[1]: Started The Apache HTTP Server.

Verifica l'installazione di PHP su Apache

Successivamente, dovrai creare un file PHP di esempio da servire sul server web Apache. Puoi creare un file phpinfo.php all'interno della tua directory example.com:

nano /var/www/html/example.com/phpinfo.php

Aggiungi la seguente riga:

<?php phpinfo(); ?>

Salva e chiudi il file, quindi apri il browser web e accedi alla tua pagina PHP utilizzando l'URL http://example.com/phpinfo.php. Dovresti vedere la tua pagina PHP nella seguente schermata:

Conclusione

Nella guida sopra, abbiamo spiegato come installare lo stack LAMP su Debian 11. Ora puoi iniziare a ospitare il tuo primo sito web usando lo stack LAMP. Non esitate a chiedermi se avete domande.