Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
logiciel:internet:serveur:http:lighty:lighttpd [2019/10/22 21:27]
admin supprimée
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​Trusty BROUILLON}} 
  
-====== Création d'un serveur HTTP (Lighty) + PHP + SQLite ====== 
- 
-<WRAP center round info 60%> 
-__Note préliminaire__ : 
- 
-Dans ce tutoriel, nous supposons un hôte : 
-  * de nom **server.exemple.com** 
-  * d'​adresse IP **192.168.0.31**. 
- 
-Modifiez ces paramètres selon vos besoins. 
-</​WRAP>​ 
- 
-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é). 
- 
-<WRAP center round info 60%> 
-**__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):​ 
- 
-<​diagram>​ 
-| AAA |                        |AAA=**/​etc** 
-| |!| | 
-| |`|-| AAA |                  |AAA=**lighttpd** 
-| | | | |!| | 
-| | | | |)|-| AAA |            |AAA=**//​lighttpd.conf//​** 
-| | | | |!| 
-| | | | |`|-| AAA |            |AAA{border-color:​red;​background-color:​lightgreen}=**conf–available** :\\ répertoire des configurations complémentaires 
-| | | | | | | |!| | 
-| | | | | | | |)|-| AAA        |AAA{border-color:​red;​background-color:​yellow}=**//​__40–config.conf__//​** :\\ configuration générale 
-| | | | | | | |!| | 
-| | | | | | | |)|-| AAA        |AAA{border-color:​red;​background-color:​yellow}=**//​__50–modulexxx.conf__//​** :\\ configuration du module **modulexxx** 
-| | | | | | | |!| | 
-| | | | | | | |)|-| AAA        |AAA{border-color:​red;​background-color:​yellow}=**//​__90–vhost–xxx.yyy.tld.conf__//​** :\\ configuration de l'​hôte virtuel **xxx.yyy.tld** 
-| | | | | | | |:| | 
-| | | | | | | |L|~| AAA        |AAA{text-align:​left;​border-color:​white}=etc. 
- 
-| AAA | | | | |   | bbb |     ​|AAA=**/​var**|bbb=**/​srv** 
-| |!| | | | | |   | |!| 
-| |)|-| AAA | |-@a| |`|-| AAA |AAA{border-color:​red;​background-color:​lightgreen}=**/​www**\\ racine par défaut du site 
-| |!| 
-| |`|-| AAA                   ​|AAA=**log** 
-| | | | |!| 
-| | | | |`| AAA               ​|AAA=**lighttpd** 
-| | | | | | |!| 
-| | | | | | |)|-| AAA |AAA{border-color:​red;​background-color:​yellow}=**//​__access.log__//​** 
-| | | | | | |!| 
-| | | | | | |`|-| AAA |AAA{border-color:​red;​background-color:​yellow}=**//​__error.log__//​** 
-</​diagram>​ 
- 
-  * **/​etc/​lighttpd/​** : répertoire des configurations 
-    * **//​lighttpd.conf//​** : configuration par défaut ; nous n'y touchons pas. 
-    * **conf–available/​** : répertoire des configurations complémentaires ; c'est ici que nous travaillerons. Pour cela, nous créerons des fichiers : 
-      * **//​__40–config.conf__//​** : configuration générale 
-      * **//​__50–modulexxx.conf__//​** : configuration du module xxx 
-      * **//​__90–vhost–xxx.yyy.tld.conf__//​** : configuration de l'​hôte virtuel xxx.yyy.tld 
-  * **/​srv/​www/​** : racine par défaut du site (reportée depuis **/​var/​www** par montage) 
-  * **/​var/​log/​lighttpd/​** : répertoire des journaux du serveur 
-    * **//​__access.log__//​** : journal des pages traitées par le serveur 
-    * **//​__error.log__//​** : journal des erreurs 
-</​WRAP>​ 
- 
-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 : 
-  * les réglages généraux dans un fichier spécifique **/​etc/​lighttpd/​conf-available/​40–config.conf** 
-  * les réglages des modules (fichiers **/​etc/​lighttpd/​conf-available/​50–modulexxx.conf**) 
-  * les hôtes virtuels (fichiers 90–vhost–xxx.yyy.tld.conf) 
- 
-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). 
- 
-====== - Configuration ====== 
- 
-===== - PhpPgAdmin ===== 
- 
-[[tutoriel:​ficedit#​Modifier un fichier avec les droits d'​administration|Créez avec les droits d'​administration]] le fichier **/​etc/​lighttpd/​conf-available/​50-phppgadmin.conf** pour y écrire ceci : 
- 
-<code - /​etc/​lighttpd/​conf-available/​50-phppgadmin.conf>​ 
-# PhpPgAdmin : 
-alias.url += ( "/​phppgadmin"​ => "/​usr/​share/​phppgadmin/"​)alias.url += ( "/​phppgadmin"​ => "/​usr/​share/​phppgadmin/"​) 
-</​code>​ 
- 
-Activez cette configuration en lançant : 
-  * <​code>​sudo lighty-enable-mod phppgadmin</​code>​ 
- 
-===== - Hôtes virtuels (vhost) ===== 
- 
-==== vhosts utilisateur ==== 
- 
-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. 
- 
-<code - users.domaine.tld>​ 
-$HTTP["​host"​] =~ "​users\.domaine\.tld"​ { 
-    evhost.path-pattern = "/​home/​%4/​public_html/" ​ 
-} 
-</​code>​ 
- 
-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**,​ 
- 
-<code - users.domaine.tld>​ 
-$HTTP["​host"​] =~ "​users\.domaine\.tld"​ { 
-    server.document-root = "/​home/​%4/​sites/​default/​site"​ 
-    evhost.path-pattern ​ = "/​home/​%4/​sites/​%0/​site/"​ 
-} 
-</​code>​ 
- 
-  * Si **johndoe.users.domaine.tld** est demandé, et que **/​home/​johndoe/​sites/​domaine.tld/​site/​** est trouvé, ce chemin devient la docroot. 
-  * Si **johndoe.users.domaine.tld** est demandé mais qu'il n'​existe pas de répertoire **/​home/​johndoe/​sites/​domaine.tld/​site/​**,​ alors la docroot reste **/​home/​johndoe/​sites/​default/​site**. 
- 
-===== - Rendre le serveur disponible sur Internet ===== 
- 
-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,​ 
-  * port de début : 80 
-  * port de fin : 80 
-  * TCP 
-  * choisir l'IP de la machine qui supporte le serveur 
-  * commentaire : par exemple, serveur http framboise 
- 
-===== - Pare-feu ===== 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​arno-iptables-firewall]]**. 
- 
-ou en ligne de commande : 
-  * <​code>​sudo apt-get install arno-iptables-firewall</​code>​ 
- 
-Pendant l'​installation,​ il vous posera quelques questions pour configurer le parefeu : 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-1.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-2.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-3.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-4.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-5.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-6.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-7.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-8.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-9.png|}} 
- 
-{{:​internet:​serveur:​llsp-capture-iptables-10.png|}} 
- 
-==== - Fail2ban ==== 
- 
-**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 : 
-  * <​code>​apt-get install fail2ban.</​code>​ 
- 
-Pour le configurer, [[tutoriel:​ficedit#​Modifier un fichier avec les droits d'​administration|ouvrez avec les droits d'​administration]] le fichier **/​etc/​fail2ban/​jail.conf** pour le modifier comme ceci : 
- 
-Précisez : 
-  * **enabled = true** pour les services que vous souhaitez protéger, 
-  * ainsi que le nombre maximum de tentatives permises dans **maxretry** (par défaut, **maxretry = 3**). 
- 
-===== - Utilisation ===== 
- 
-Lancez l'​application via le tableau de bord dash (Unity) ou via le terminal (toutes versions d'​Ubuntu) avec la commande suivante : 
-<​code>​machin-chose</​code>​ 
- 
-===== - Désinstallation ===== 
- 
-Pour supprimer cette application,​ il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'​application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés. 
- 
-===== - Voir aussi ===== 
- 
-  * **(en)** Site officiel du module accesslog [[http://​redmine.lighttpd.net/​projects/​lighttpd/​wiki/​Docs_ModAccessLog]] 
-  * **(en)** Comment configurer WebDAV avec Lighttpd : [[http://​www.howtoforge.com/​setting-up-webdav-with-lighttpd-debian-etch]] et sa deuxième page (lien en bas de page) 
- 
----- 
-//​Contributeurs principaux : [[utilisateurs:​jamaique]]//​ 
- 
-//Basé sur [[http://​www.document_source.com|« Titre original de l'​article »]] par Auteur Original.//