Sicurezza, velocità, conformità e flessibilità:tutti questi elementi descrivono lighttpd (pron. lighty) che sta rapidamente ridefinendo l'efficienza di un server web; in quanto è progettato e ottimizzato per ambienti ad alte prestazioni. Con un ingombro di memoria ridotto rispetto ad altri server Web, una gestione efficace del carico della CPU e un set di funzionalità avanzate (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting e molti altri) lighttpd è la soluzione perfetta per ogni server che soffre di problemi di carico. E soprattutto è Open Source concesso in licenza con la licenza BSD rivista.
Qui ti spiegherò l'installazione di Lighttd con PHP e MySQL su Fedora 20.
Installazione di Lighttpd:
Per iniziare installeremo Lighttpd.
Apri il Terminale e passa all'utente root.
[raj@itzgeek~/]$ su
Digita il seguente comando sul terminale e quindi premi invio.
[root@itzgeek~/]# yum install lighttpd
Avvia Lighttpd usando il comando seguente.
[root@itzgeek~/]# systemctl start lighttpd.service
Per fare in modo che Apache si avvii ad ogni avvio, digita quanto segue sul terminale e premi Invio.
[root@itzgeek~/]# systemctl enable lighttpd.service
Test di Lighttpd:
Per assicurarci che tutto sia installato correttamente, ora testeremo Lighttpd per assicurarci che funzioni correttamente. Apri qualsiasi browser web e quindi inserisci quanto segue nell'indirizzo web:
http://localhost/ or http://your.ip.addr.ess
Otterrai la pagina Web che dice "Powered by lighttpd", la radice del documento predefinita di lighttpd è /var/www/lighttpd su Fedora; il file di configurazione è /etc/lighttpd/lighttpd.conf e le configurazioni aggiuntive sono memorizzate in /etc/lighttpd/conf.d/ directory.
Installazione di MySQL:
La prossima è l'installazione del server MariaDB, MariaDB è disponibile sul pacchetto Fedora; quindi emetti il seguente comando per installarlo.
[root@itzgeek~/]# yum install mariadb mariadb-server php-mysql
Avvia il server MySQL.
[root@itzgeek~/]# systemctl start mariadb.service
Per fare in modo che MariaDB si avvii ad ogni avvio, digita quanto segue sul terminale e premi Invio.
[root@itzgeek~/]# systemctl enable mariadb.service
Il prossimo passo è rendere sicuro MariaDB usando mysql_secure_installation comando.
Questo programma ti consente di migliorare la sicurezza della tua installazione di MySQL nei seguenti modi:
- Puoi impostare una password per
root
conti. - Puoi rimuovere
root
account accessibili dall'esterno dell'host locale. - Puoi rimuovere account utente anonimi.
- Puoi rimuovere il
test
database (a cui per impostazione predefinita possono accedere tutti gli utenti, anche anonimi) e privilegi che consentono a chiunque di accedere a database con nomi che iniziano contest_
.
[root@geeksite~/]# installazione_mysql_secure
NOTA:SI RACCOMANDA DI ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT PER TUTTI I SERVER MariaDB
IN USO DI PRODUZIONE! SI PREGA DI LEGGERE ATTENTAMENTE OGNI PASSO!
Per accedere a MariaDB per proteggerlo, avremo bisogno della
password corrente per l'utente root. Se hai appena installato MariaDB e
non hai ancora impostato la password di root, la password sarà vuota,
quindi dovresti semplicemente premere invio qui.
Inserisci la password corrente per root (inserisci per none): <— Inserisci la password di root corrente
OK, password utilizzata con successo, andare avanti...
L'impostazione della password di root garantisce che nessuno possa accedere all'utente root di MariaDB
senza la corretta autorizzazione.
Impostare la password di root? [S/n] y <— Imposta la password di root
Nuova password: <— Inserisci la password di root
Reinserisci la nuova password: <— Inserisci di nuovo la password di root
Password aggiornata correttamente!
Ricaricamento delle tabelle dei privilegi..
... Operazione riuscita!
Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, che consente a chiunque
di accedere a MariaDB senza dover creare un account utente per
loro. Questo è inteso solo per il test e per rendere l'installazione
un po' più agevole. Dovresti rimuoverli prima di spostarti in un
ambiente di produzione.
Rimuovere gli utenti anonimi? [S/n] y <— Rimuovi utente anonimo
... Operazione riuscita!
Normalmente, root dovrebbe essere autorizzato a connettersi solo da "localhost". Questo
garantisce che qualcuno non possa indovinare la password di root dalla rete.
Non consentire l'accesso root da remoto? [S/n] y <— login remoto root
... Successo!
Per impostazione predefinita, MariaDB viene fornito con un database chiamato "test" a cui chiunque può
accedere. Anche questo è inteso solo per il test e deve essere rimosso
prima di passare a un ambiente di produzione.
Rimuovere il database di test e accedervi? [S/n] y <— Rimozione del database di test
– Eliminazione del database di test…
… Operazione riuscita!
– Rimozione dei privilegi sul database di test…
… Operazione riuscita!
Il ricaricamento delle tabelle dei privilegi garantirà che tutte le modifiche apportate finora
diventeranno effettive immediatamente.
Ricaricare ora le tabelle dei privilegi? [S/n] y <— Salva le modifiche
... Successo!
Pulizia...
Tutto fatto! Se hai completato tutti i passaggi precedenti, l'installazione di MariaDB
ora dovrebbe essere sicura.
Grazie per aver utilizzato MariaDB!
Installazione di PHP5:
Successivamente è installare PHP 5 su Fedora con FastCGI, fedora fornisce un pacchetto PHP5 abilitato per FastCGI. Possiamo installare emettendo il seguente comando.
[root@itzgeek~/]# yum install php-cli lighttpd-fastcgi
Configurazione di PHP 5:
Per abilitare PHP5 in Lighttpd, dovrai modificare il file di configurazione /etc/php.ini e decommentare la riga cgi.fix_pathinfo=1:
[root@itzgeek~/]# vi /etc/php.ini
[…]
; per utilizzare SCRIPT_FILENAME anziché PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
Abilitazione di FastCGI:
Per abilitare FastCGI dobbiamo modificare il seguente file.
[root@itzgeek~/]# vi /etc/lighttpd/modules.conf
Decommenta la riga [Riga n.:132].
include "conf.d/fastcgi.conf"
Crea e abilita l'autorizzazione per eseguire Lighttpd.
[root@itzgeek~/]# mkdir /var/run/lighttpd [root@geeksite~/]# chown lighttpd.lighttpd /var/run/lighttpd
Modifica il seguente file per configurare FastCGI.
[root@itzgeek~/]# vi /etc/lighttpd/conf.d/fastcgi.conf
Aggiungi le seguenti righe alla fine del file.
fastcgi.server =( “.php” =>( “localhost” =>
(
“socket” => “/var/run/lighttpd/php-fastcgi.socket”,
“bin-path” => “/usr/bin/php-cgi”,
“max-procs” => 5,
“bin-environment” => (
“PHP_FCGI_CHILDREN” => “16”,
“PHP_FCGI_MAX_REQUESTS” => “10000” ),
“broken-scriptfilename” => “abilita”
)
)
)
Ora riavvia tutti i servizi richiesti.
[root@itzgeek~/]# systemctl restart lighttpd.service [root@itzgeek~/]# systemctl restart mysqld.service
Test di PHP:
Per testare il PHP, posizionare un file PHP nella directory predefinita di Lighttpd. La radice del documento del sito Web predefinito è /var/www/lighttpd . Ora creeremo un piccolo file PHP (info.php) in quella directory e lo chiameremo in un browser. Il file mostrerà molti dettagli utili sulla nostra installazione di PHP, come la versione di PHP installata.
Nel terminale copia/incolla la seguente riga:
[root@itzgeek~/]# vi /var/www/lighttpd/info.php
Questo aprirà un file chiamato info.php .
Copia/incolla questa riga nel file phpinfo:
<?php
phpinfo();
?>
Salva e chiudi il file. usa Esc +;wq per salvare il file.
Ora apri il tuo browser web e digita quanto segue nell'indirizzo web:
http://localhost/info.php or http://your.ip.add-ress/info.php
La pagina apparirà come di seguito:
Scorri verso il basso la sezione del browser fino ai moduli per verificare il supporto per MySQL. otterrai la schermata come di seguito.
Questo è tutto!
Crediti:
Grazie a Christian Foronda per aver fornito la configurazione FastCGI.