Istallazione Lamp debian 10

Passaggio 1: installazione di Apache

Il web server Apache è tra i web server più popolari al mondo. È ben documentato ed è stato ampiamente utilizzato per gran parte della storia del Web, il che lo rende un’ottima scelta predefinita per l’hosting di un sito Web.

Installa Apache usando il gestore dei pacchetti Debian, APT:

sudo apt update
sudo apt install apache2

Puoi fare subito un controllo a campione per verificare che tutto sia andato come previsto visitando l’indirizzo IP pubblico del tuo server nel tuo browser web:

http://your_server_ip

Step 2 — Installing MariaDB

Ora che hai un server web attivo e funzionante, devi installare il sistema di database per poter archiviare e gestire i dati per il tuo sito.

In Debian 10, il metapacchetto mysql-server, che veniva tradizionalmente usato per installare il server MySQL, è stato sostituito da default-mysql-server. Questo metapacchetto fa riferimento a MariaDB, un fork della community del server MySQL originale di Oracle, ed è attualmente il server di database compatibile con MySQL predefinito disponibile nei repository di gestione pacchetti basati su debian.

Per una compatibilità a lungo termine, tuttavia, si consiglia di installare MariaDB invece di utilizzare il metapacchetto utilizzando il pacchetto effettivo del programma, mariadb-server.

Per installare questo software, eseguire:

sudo apt install mariadb-server

Al termine dell’installazione, si consiglia di eseguire uno script di sicurezza preinstallato con MariaDB. Questo script rimuoverà alcune impostazioni predefinite non sicure e bloccherà l’accesso al tuo sistema di database. Avvia lo script interattivo eseguendo:

sudo mysql_secure_installation

Questo script ti guiderà attraverso una serie di istruzioni in cui puoi apportare alcune modifiche alla configurazione di MariaDB.

Passaggio 3: installazione di PHP

PHP è il componente della tua configurazione che elaborerà il codice per visualizzare contenuti dinamici. Può eseguire script, connettersi ai database MariaDB per ottenere informazioni e consegnare i contenuti elaborati al server Web per visualizzarli.

Ancora una volta, sfrutta il sistema apt per installare PHP. Inoltre, includi alcuni pacchetti helper che garantiranno che il codice PHP possa essere eseguito sotto il server Apache e parlerà con il tuo database MariaDB:

sudo apt install php libapache2-mod-php php-mysql

Questo dovrebbe installare PHP senza problemi. Lo testeremo tra un momento.

Nella maggior parte dei casi, vorrai modificare il modo in cui Apache serve i file. Attualmente, se un utente richiede una directory dal server, Apache cercherà prima un file chiamato index.html. Vogliamo dire al web server di preferire i file PHP rispetto ad altri, quindi fai prima Apache cercare un file index.php.

Per fare ciò, digitare il comando seguente per aprire il file dir.conf in un editor di testo con privilegi di root:

sudo vi /etc/apache2/mods-enabled/dir.conf

Sposta il file indice PHP (evidenziato sopra) nella prima posizione dopo la specifica DirectoryIndex, in questo modo:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Ricarica ora la configurazione di Apache con:

sudo systemctl restart apache2

Passaggio 4: creazione di un host virtuale per il tuo sito Web

Per impostazione predefinita, Apache offre il suo contenuto da una directory situata in / var / www / html, usando la configurazione contenuta in /etc/apache2/sites-available/000-default.conf. Invece di modificare il file di configurazione del sito Web predefinito, creeremo un nuovo host virtuale per testare l’ambiente PHP. Gli host virtuali ci consentono di mantenere più siti Web ospitati su un singolo server Apache.

Successivamente, creerai una struttura di directory all’interno di / var / www per un sito Web di esempio chiamato tuo_dominio.

sudo mkdir /var/www/your_domain

Successivamente, assegna la proprietà della directory con la variabile di ambiente $ USER, che dovrebbe fare riferimento al tuo attuale utente di sistema:

sudo chown -R $USER:$USER /var/www/your_domain

Quindi, crea una pagina index.html di esempio utilizzando vi o il tuo editor preferito:

vi /var/www/your_domain/index.html

All’interno, aggiungi il seguente HTML di esempio:

<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain server block is working!</h1>
    </body>
</html>

Quindi, apri un nuovo file di configurazione nella directory dei siti disponibili di Apache usando il tuo editor di riga di comando preferito. Qui useremo vi:

sudo vi /etc/apache2/sites-available/your_domain.conf

Questo creerà un nuovo file vuoto. Incolla nella seguente configurazione:

/etc/apache2/sites-available/your_domain

<VirtualHost *:80>
    ServerName your_domain
    ServerAlias www.your_domain 
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Con questa configurazione di VirtualHost, stiamo dicendo ad Apache di servire your_domain usando / var / www / your_domain come directory radice web. Se desideri testare Apache senza un nome di dominio, puoi rimuovere o commentare le opzioni ServerName e ServerAlias aggiungendo un carattere # all’inizio delle righe di ciascuna opzione.

Ora puoi usare a2ensite per abilitare questo host virtuale:

sudo a2ensite your_domain.conf

Per assicurarti che il tuo file di configurazione non contenga errori di sintassi, puoi eseguire:

sudo apache2ctl configtest

Infine, ricarica Apache in modo che queste modifiche abbiano effetto:

sudo systemctl reload apache2

Il tuo nuovo sito Web è ora attivo, ma la radice web / var / www / tuo_dominio è ancora vuota. Nel passaggio successivo, creeremo uno script PHP per testare la nuova installazione e confermare che PHP sia installato e configurato correttamente sul tuo server.

Passaggio 5: test dell’elaborazione PHP sul server Web

Ora che hai una posizione personalizzata per ospitare i file e le cartelle del tuo sito Web, creeremo un semplice script di test PHP per confermare che Apache è in grado di gestire ed elaborare le richieste di file PHP.

Crea un nuovo file chiamato info.php nella tua cartella radice web personalizzata:

vi /var/www/your_domain/info.php

Questo aprirà un file vuoto. Aggiungi il seguente testo, che è un codice PHP valido, all’interno del file:

/var/www/your_domain/info.php

<?php
phpinfo();

Al termine, salva e chiudi il file.

Ora puoi verificare se il tuo server web è in grado di visualizzare correttamente il contenuto generato da questo script PHP. Per provarlo, visita questa pagina nel tuo browser web. Avrai di nuovo bisogno dell’indirizzo IP pubblico del tuo server.

L’indirizzo che vorrai visitare è:

http://your_domain/info.php

Installa Certbot

Esegui questo comando dalla riga di comando sul computer per installare Certbot.

sudo apt-get install certbot python-certbot-apache

Certbot è ora pronto per l’uso, ma per poter configurare SSL per Apache, dobbiamo verificare alcune delle configurazioni di Apache.

Passaggio per: ottenere un certificato SSL

Certbot offre una varietà di modi per ottenere certificati SSL tramite plugin. Il plugin Apache si occuperà di riconfigurare Apache e ricaricare la configurazione ogni volta che è necessario. Per utilizzare questo plugin, digitare quanto segue:

sudo certbot --apache -d your_domain -d www.your_domain

Questo esegue certbot con il plugin –apache, usando -d per specificare i nomi per i quali desideri che il certificato sia valido.

Se è la prima volta che esegui certbot, ti verrà chiesto di inserire un indirizzo e-mail e di accettare i termini del servizio. Dopo averlo fatto, certbot comunicherà con il server Let’s Encrypt, quindi lancerà una sfida per verificare che controlli il dominio per il quale stai richiedendo un certificato.

Se ciò ha esito positivo, certbot ti chiederà come desideri configurare le impostazioni HTTPS:

OutputPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Seleziona la tua scelta quindi premi INVIO. La configurazione verrà aggiornata e Apache verrà ricaricata per recuperare le nuove impostazioni. certbot chiuderà con un messaggio che ti dice che il processo è andato a buon fine e dove sono memorizzati i tuoi certificati:

OutputIMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your_domain/privkey.pem
   Your cert will expire on 2018-07-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

I certificati vengono scaricati, installati e caricati. Prova a ricaricare il tuo sito Web utilizzando https: // e nota l’indicatore di sicurezza del browser. Dovrebbe indicare che il sito è adeguatamente protetto, di solito con un’icona a forma di lucchetto verde. Se testate il vostro server usando SSL Labs Server Test, otterrà un voto A.

Finiamo testando il processo di rinnovo.

Passaggio per: verifica del rinnovo automatico di Certbot

I certificati di Encrypt sono validi solo per novanta giorni. Questo per incoraggiare gli utenti ad automatizzare il processo di rinnovo del certificato. Il pacchetto certbot che abbiamo installato si occupa di questo aggiungendo uno script di rinnovo a /etc/cron.d. Questo script viene eseguito due volte al giorno e rinnoverà automaticamente qualsiasi certificato entro trenta giorni dalla scadenza.

Per testare il processo di rinnovo, puoi eseguire una corsa a secco con certbot:

sudo certbot renew --dry-run

Se non vedi errori, sei pronto. Se necessario, Certbot rinnoverà i certificati e ricaricherà Apache per raccogliere le modifiche. Se il processo di rinnovo automatico fallisce, Let’s Encrypt invierà un messaggio all’indirizzo email che hai specificato, avvisandoti quando il tuo certificato sta per scadere.
Conclusione

In questa esercitazione, hai installato il certbot del client Encrypt, scaricato certificati SSL per il tuo dominio, configurato Apache per utilizzare questi certificati e impostato il rinnovo automatico dei certificati. Se hai ulteriori domande sull’uso di Certbot, la loro documentazione è un buon punto di partenza.

Torna su