Note préliminaire :
Dans ce tutoriel, nous supposons un hôte :
Modifiez ces paramètres selon vos besoins.
Un serveur lighttpd permet de construire un site web accessible via le réseau local (LAN).
En configurant le routeur et le pare-feu, vous pouvez ouvrir l'accès au site via l'Internet (en faisant attention à la sécurité).
Arborescence de lighty
Voici les dossiers et fichiers importants de lighty (les fichiers sont en italique, ceux qui nous servent sont en jaune et soulignés):
/etc | ||||||||||||||||||||||||||||
lighttpd | ||||||||||||||||||||||||||||
lighttpd.conf | ||||||||||||||||||||||||||||
conf–available : répertoire des configurations complémentaires |
||||||||||||||||||||||||||||
40–config.conf : configuration générale |
||||||||||||||||||||||||||||
50–modulexxx.conf : configuration du module modulexxx |
||||||||||||||||||||||||||||
90–vhost–xxx.yyy.tld.conf : configuration de l'hôte virtuel xxx.yyy.tld |
||||||||||||||||||||||||||||
etc. | ||||||||||||||||||||||||||||
/var | /srv | |||||||||||||||||||||||||||
/www racine par défaut du site |
/www racine par défaut du site |
|||||||||||||||||||||||||||
log | ||||||||||||||||||||||||||||
lighttpd | ||||||||||||||||||||||||||||
access.log | ||||||||||||||||||||||||||||
error.log | ||||||||||||||||||||||||||||
Pour ne pas toucher au fichier de configuration par défaut /etc/lighttpd/lighttpd.conf, livré avec l'application, nous ne travaillerons que dans le répertoire /etc/lighttpd/conf-available/. Ainsi, les réglages ne seront pas affectés par les mises à jour et les migrations seront simplifiées (il suffira de récupérer le fichier de configuration).
Dans ce dossier, nous placerons :
Le dossier /var/log/lighttpd/ contient les journaux (accès : access.log, erreurs : error.log)
Le dossier /srv/www/ est la racine du site, de même que /var/www (par montage).
Créez avec les droits d'administration le fichier /etc/lighttpd/conf-available/50-phppgadmin.conf pour y écrire ceci :
# PhpPgAdmin : alias.url += ( "/phppgadmin" => "/usr/share/phppgadmin/")alias.url += ( "/phppgadmin" => "/usr/share/phppgadmin/")
Activez cette configuration en lançant :
...@...:~ $ sudo lighty-enable-mod phppgadmin
Chaque utilisateur du système a accès à son home personnel et à un sous-répertoire public_html de son home. Il suffit de créer cette arborescence pour qu'elle soit aussitôt utilisable.
$HTTP["host"] =~ "users\.domaine\.tld" { evhost.path-pattern = "/home/%4/public_html/" }
Si johndoe est un user, l'adresse http://johndoe.users.example.org/ ⇒ /home/johndoe/public_html/
Méthode plus générale
Toujours pour l'utilisateur johndoe,
$HTTP["host"] =~ "users\.domaine\.tld" { server.document-root = "/home/%4/sites/default/site" evhost.path-pattern = "/home/%4/sites/%0/site/" }
Il reste à rediriger le port 80 (en TCP) vers la machine qui supporte le serveur http, comme ceci :
paramètres de la freebox → mode avancé → réseau local/redirection de ports :
ajouter une redirection,
Installez le paquet arno-iptables-firewall ou en ligne de commande :
$ sudo apt install arno-iptables-firewall
Pendant l'installation, il vous posera quelques questions pour configurer le parefeu :
Fail2ban est sans doute le logiciel le plus important pour protéger votre serveur.
Principe : si un attaquant échoue plus de 3 fois (par exemple) à se connecter au serveur, alors son IP est bannie (automatiquement avec iptables).
Fail2ban fonctionne avec ssh, mais aussi le serveur mail postfix et dovecot, ainsi que d'autres services comme le ftp!
Pour l'installer :
$ sudo apt-get install fail2ban
Pour le configurer, éditez avec les droits d'administration le fichier /etc/fail2ban/jail.conf pour le modifier comme ceci :
Précisez :
Lancez l'application.
Pour supprimer cette application, il suffit de supprimer son paquet.
Basé sur http://redmine.lighttpd.net/projects/lighttpd/wiki par lighttpd.