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 in base alla licenza BSD rivista.
Qui ti spiegherò l'installazione di Lighttd con PHP e MySQL su CentOS 6 / RHEL 6.
Installazione di Lighttpd:
Per iniziare installeremo Lighttpd.
Apri il Terminale e passa all'utente root.
[raj@geeksite~/]$ su
Per installare Lighttpd, dobbiamo avere il repository epel installato sul tuo computer; per installare il repository epel, esegui il comando seguente.
[root@geeksite~/]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
Installa Lighttpd.
[root@geeksite~/]# yum install lighttpd
Avvia Lighttpd usando il comando seguente.
[root@geeksite~/]# /etc/init.d/lighttpd restart
Per fare in modo che Apache si avvii ad ogni avvio, digita quanto segue sul terminale e premi Invio.
[root@geeksite~/]# chkconfig lighttpd on
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 MySQL, MySQL è disponibile sul pacchetto CentOS; quindi emetti il seguente comando per installarlo.
[root@geeksite~/]# yum install mysql mysql-server php-mysql
Avvia il server MySQL.
[root@geeksite~/]# /etc/init.d/mysqld restart
Per fare in modo che MySQL si avvii ad ogni avvio, digita quanto segue sul terminale e premi Invio.
[root@geeksite~/]# chkconfig mysqld on
Il prossimo passo è rendere sicuro MySQL 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~/]# mysql_secure_installation
NOTA: L'ESECUZIONE DI TUTTE LE PARTI DI QUESTO SCRIPT È CONSIGLIATA PER TUTTO MySQL
SERVER IN PRODUZIONE UTILIZZATI! PER FAVORE, LEGGERE ATTENTAMENTE OGNI PASSAGGIO!
Per accedere a MySQL per proteggerlo, avremo necessità della corrente
password per l'utente root. Se hai appena installato MySQL, e
non hai ancora impostato la password di root, la password sarà vuota,
quindi dovresti premere invio qui.
Inserisci la password corrente per root (inserisci per none): <– ENTER
OK, password usata con successo, andiamo avanti...
L'impostazione della password di root assicura che nessuno possa accedere a MySQL
utente root senza l'appropriata autorizzazione.
Impostare la password di root? [S/n] <– INVIO
Nuova password: <– yourrootsqlpassword
Inserisci nuovamente la nuova password: <– yourrootsqlpassword
Password aggiornata con successo!
Ricaricamento delle tabelle dei privilegi..
… Successo!
Per impostazione predefinita, un'installazione di MySQL ha un utente anonimo, che consente a chiunque
per accedere a MySQL senza dovere avere un account utente creato per
loro. Questo è destinato solo per i test e per effettuare l'installazione
vai un po' più fluido. Dovresti rimuoverli prima di trasferirti in un
ambiente di produzione.
Rimuovere utenti anonimi? [S/n] <– ENTER
… Successo!
Normalmente, root dovrebbe essere consentito solo di connettersi da "localhost". Questo
garantisce che qualcuno non possa indovinare la password root dalla rete.
Non consentire l'accesso come root da remoto? [S/n] <– INVIO
… Successo!
Per impostazione predefinita, MySQL viene con un database denominato 'test' che tutti possono
accesso. Anche questo è destinato solo a test, e dovrebbe essere rimosso
prima di trasferirsi in un ambiente di produzione.
Rimuovere il database di test e accedervi? [S/n] <– INVIO
– Dropping test database...
… Successo!
– Rimozione dei privilegi sul database di test...
… Successo!
Ricaricare le tabelle dei privilegi assicurerà che tutte le modifiche apportate fino a quel momento
entrerà in vigore immediatamente.
Ricaricare le tabelle dei privilegi ora? [S/n] <– INVIO
… Successo!
Pulizia ...
Tutto fatto! Se hai completato tutti i passaggi precedenti, il tuo MySQL
l'installazione dovrebbe essere sicura.
Grazie per aver utilizzato MySQL!
Installazione di PHP5:
Successivamente è installare PHP 5 su CentOS con FastCGI, CentOS fornisce un pacchetto PHP5 abilitato per FastCGI. Possiamo installare emettendo il seguente comando.
[root@geeksite~/]# 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@ubuntu~/]# 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 file seguente.
[root@geeksite~/]# vi /etc/lighttpd/modules.conf
Decommenta la riga [Riga n.:132].
include "conf.d/fastcgi.conf"
Crea e abilita l'autorizzazione per eseguire Lighttpd (facoltativo).
[root@geeksite~/]# mkdir /var/run/lighttpd [root@geeksite~/]# chown lighttpd.lighttpd /var/run/lighttpd
Modifica il seguente file per configurare FastCGI.
[root@geeksite~/]# 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" => "enable" ) ) )
Ora riavvia tutti i servizi richiesti.
[root@geeksite~/]# /etc/init.d/lighttpd restart [root@geeksite~/]# /etc/init.d/mysqld restart
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@geeksite~/]# 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://127.0.0.1/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.