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 openSUSE 12.1.
Installazione di Lighttpd:
Per iniziare installeremo Lighttpd.
Apri il Terminale e passa all'utente root.
[raj@geeksite~/]$ su
Digita il seguente comando sul terminale e quindi premi invio.
[root@geeksite~/]# zypper in lighttpd
Avvia Lighttpd usando il comando seguente.
[root@geeksite~/]# systemctl start lighttpd.service
Per fare in modo che Apache si avvii ad ogni avvio, digita quanto segue sul terminale e premi Invio.
[root@geeksite~/]# 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
Verrà visualizzata la pagina Web che dice "404 - Non trovato" a causa della indisponibilità del file index.html nella radice del documento predefinita, la radice del documento predefinita di lighttpd è /srv/www/htdocs su openSUSE; 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 openSUSE; quindi emetti il seguente comando per installarlo.
[root@geeksite~/]# zypper in mysql-community-server mysql-community-server-client php5-mysql
Avvia il server MySQL.
[root@geeksite~/]# systemctl start mysql.service
Per fare in modo che MySQL si avvii ad ogni avvio, digita quanto segue sul terminale e premi Invio.
[root@geeksite~/]# systemctl enable mysql.service
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:
Il prossimo passo è installare PHP 5 su openSUSE con FastCGI, openSUSE fornisce un pacchetto PHP5 abilitato per FastCGI. Possiamo installare emettendo il seguente comando.
[root@geeksite~/]# zypper in php5-fastcgi
Configurazione di PHP 5:
Per abilitare PHP5 in Lighttpd, dovrai modificare il file di configurazione /etc/php5/fastcgi/php.ini e decommenta la riga cgi.fix_pathinfo=1:
[root@ubuntu~/]# vi /etc/php5/fastcgi/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.
[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~/]# systemctl restart lighttpd.service [root@geeksite~/]# systemctl restart mysql.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 è /sr/www/htdocs . 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 /sr/www/htdocs/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.