Lighttpd est un serveur web pouvant venir en remplacement d'un apache, en être un frontale ou un backend. L'avantage par rapport à son ancêtre est qu'il est plus légers, moins passoire et relativement plus rapide. Pour référence en production, on peu citer Youtube, wikipedia ...
1) Installation
# sudo aptitude install lighttpd
# sudo /etc/init.d/lighttpd start
- rien de plus :)
2) PHP
De base le php n'est pas présent, mais s'ajoute sous forme de plugin
# sudo aptitude install php5-cgi
Activer le module
# sudo lighty-enable-mod fastcgi
# sudo /etc/init.d/lighttpd force-reload
3) Mysql
# sudo aptitude install mysql-client mysql-server
- Suite à cela, il vous sera demandé de configurer mysql avec le login, mdp et autre. Pas bien compliquer et pas l'objet de ce billet.
On active Mysql dans Lightty
# sudo lighty-enable-mod userdir
# sudo /etc/init.d/mysql start // normalement pas utile
# sudo /etc/init.d/lighttpd force-reload
4) PHPmyAdmin (optionnel)
Dans le cas ou vous souhaiteriez pouvoir gerer votre serveur Mysql via une interface graphique.
# sudo aptitude install phpmyadmin
# sudo /etc/init.d/lighttpd force-reload
5) SSL
Pour avoir le HTTPS sur votre serveur
# sudo aptitude install openssl ssl-cert
Création du cerificat
# sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /chemin_de_mon_certificat/mon_certificat.pem
- dans le cas ou ça ne fonctionnerais pas :
# cd /etc/lighttpd
# openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mon_certificat.pem -out mon_certificat.pem
Editer le fichier de configuration (/etc/lighttpd/lighttpd.conf) pour la prise en charge
$SERVER"socket" == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/chemin_de_mon_certificat/mon_certificat.pem"
}
Redemarer lightty pour la prise en charge
# sudo /etc/init.d/lighttpd restart
6) Configuration des hosts
Ce n'est qu'un configuration rapide et fonctionnel. Toutefois il existe tout une syntaxe pour la définition des fichiers Hosts sur le site de lighttpd
Se placer dans le dossier des hosts :
#cd /etc/lighttpd/conf-enabled/
Créer son fichier hosts et l'éditer :
# sudo vi mon_fichier.conf
Y ajouter :
$HTTP"host" == "www.exemple.org" {
server.document-root = "/chemin/de/mon/site/"
server.errorlog = "/var/log/mon_log_erreur"
accesslog.filename = "/var/log/mon_log_accès"
}
Activer l'host et le faire prendre en compte
# sudo lighty-enable-mod mon_fichier.conf
# sudo /etc/init.d/lighttpd force-reload
Il est intéressant de faire un .conf par site(host) présent sur le site.
- Pour plus d'information sur la configuration, je vous invite à lire la documentation. Surtout pour la compréhension/configuration des modules.