Lighttpd è un server web open source progettato e ottimizzato per ambienti ad alte prestazioni. Con un footprint 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 superare i server problemi di carico.
Qui ti spiegherò l'installazione di lighttpd con php5 e MySQL su Fedora 21.
Installazione di Lighttpd:
Per iniziare installeremo Lighttpd, apriremo il terminale e passeremo all'utente root.
$ su
Digita il seguente comando sul Terminale e poi premi Invio.
# yum install lighttpd
Avvia Lighttpd usando il comando seguente.
# systemctl start lighttpd.service
Fai in modo che l'avvio automatico di lighttpd si avvii all'avvio del sistema.
# systemctl enable lighttpd.service
Iptables:
Per consentire connessioni esterne al server web, è necessario configurare il firewall. Il demone FirewallD è abilitato per impostazione predefinita in Fedora 21 come filtro di rete per filtrare le richieste in entrata e in uscita, qui userò un firewall statico che ci consentirà di impostare il nostro set di regole del firewall statico.
Prima di andare oltre, installa servizio iptables.
# yum install iptables-services
Maschera il servizio FirewallD esistente.
# systemctl mask firewalld.service
Abilita iptables per l'avvio automatico all'avvio del sistema.
# systemctl enable iptables.service # systemctl enable ip6tables.service
Arresta il servizio FirewallD e avvia iptables.
# systemctl stop firewalld.service # systemctl start iptables.service # systemctl start ip6tables.service
Consenti la porta httpd su iptables.
# iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Salva iptables.
# service iptables save
Test 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/O
http://tuo.ip.addr.essOtterrai 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 nella directory /etc/lighttpd/conf.d/.
Installazione di MariaDB:
La prossima è l'installazione del server MySQL, MySQL è disponibile sul pacchetto Fedora; quindi emetti il seguente comando per installarlo.
# yum install mariadb mariadb-server php-mysql
Avvia il server MySQL.
# systemctl start mariadb.service
Per fare in modo che MariaDB si avvii ad ogni avvio, digita quanto segue sul terminale e premi Invio.
# systemctl enable mariadb.service
Il prossimo passo è rendere sicuro MySQL usando il comando mysql_secure_installation.
Questo programma ti consente di migliorare la sicurezza della tua installazione di MySQL nei seguenti modi:
- Puoi impostare una password per gli account root.
- Puoi rimuovere gli account root accessibili dall'esterno dell'host locale.
- Puoi rimuovere account utente anonimi.
- Puoi rimuovere il database di test (a cui per impostazione predefinita possono accedere tutti gli utenti, anche anonimi) e i privilegi che consentono a chiunque di accedere ai database con nomi che iniziano con test_.
# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): <-- ENTER OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] <-- ENTER New password: <-- yourrootsqlpassword Re-enter new password: <-- yourrootsqlpassword Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] <-- ENTER ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] <-- ENTER ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <-- ENTER - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] <-- ENTER ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
Installazione di PHP5:
Il prossimo passo è installare PHP 5 su Fedora con FastCGI, fedora fornisce un pacchetto PHP5 abilitato per FastCGI. Possiamo installare emettendo il seguente comando.
# yum install php-cli lighttpd-fastcgi
Configurazione di PHP 5:
Per abilitare il supporto PHP5 per lighttpd, assicurati che il seguente file abbia cgi.fix_pathinfo impostato su 1.
# vi /etc/php.d/lighttpd.ini cgi.fix_pathinfo=1
Abilitazione di FastCGI:
Per abilitare FastCGI dobbiamo modificare il seguente file.
# vi /etc/lighttpd/modules.conf
Decommenta la riga [Riga n.:132].
include "conf.d/fastcgi.conf"
Modifica il seguente file per configurare FastCGI.
# 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.
# systemctl restart lighttpd.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:
# vi /var/www/lighttpd/info.php
Si 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.phpO
http://tuo.ip.indirizzo-indirizzo/info.phpLa 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!