Lighttpd est un serveur Web open source sécurisé, rapide, conforme et très flexible, optimisé pour les environnements hautes performances. Il utilise une mémoire très faible par rapport aux autres serveurs Web, une faible charge CPU et une optimisation de la vitesse, ce qui le rend populaire parmi les serveurs pour son efficacité et sa vitesse. Son ensemble de fonctionnalités avancées (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting et bien d'autres) fait de lighttpd le logiciel de serveur Web parfait pour chaque serveur qui souffre de problèmes de charge.
Voici quelques configurations simples et faciles sur la façon dont nous pouvons configurer le serveur Web Lighttpd sur notre machine exécutant les distributions Linux Ubuntu 15.04 ou CentOS 7.
Installer Lighttpd
Installation à l'aide du gestionnaire de packages
Ici, nous allons installer Lighttpd en utilisant le gestionnaire de packages comme méthode la plus simple pour l'installer. Ainsi, nous pouvons simplement exécuter la commande suivante en mode sudo dans un terminal ou une console pour installer Lighttpd.
CentOS 7
Comme lighttpd n'est pas disponible dans le référentiel officiel de CentOS 7, nous devrons installer le référentiel supplémentaire epel sur notre système. Pour ce faire, nous devrons exécuter la commande yum suivante.
# yum install epel-release
Ensuite, nous allons mettre à jour notre système et procéder à l'installation de lighttpd.
# yum update
# yum install lighttpd
Ubuntu 15.04
Lighttpd est disponible sur le référentiel officiel d'Ubuntu 15.04, nous allons donc simplement mettre à jour notre index de référentiel local, puis procéder à l'installation de lighttpd à l'aide de la commande apt-get.
# apt-get update
# apt-get install lighttpd
Installation à partir de la source
Si nous voulons installer lighttpd à partir de la dernière version du code source, c'est-à-dire 1.4.39, nous devrons compiler le code source et l'installer dans notre système. Tout d'abord, nous devrons installer les dépendances nécessaires à sa compilation.
# cd /tmp/
# wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.39.tar.gz
Après son téléchargement, nous devrons l'extraire de l'archive tar en exécutant ce qui suit.
# tar -zxvf lighttpd-1.4.39.tar.gz
Ensuite, nous le compilerons en exécutant les commandes suivantes.
# cd lighttpd-1.4.39
# ./configure
# make
Remarque : Dans ce tutoriel, nous installons lighttpd avec sa configuration standard. Si vous souhaitez configurer au-delà de la configuration standard et souhaitez installer plus de fonctionnalités telles que la prise en charge de SSL, mod_rewrite, mod_redirect, vous pouvez configurer.
Une fois compilé, nous l'installerons dans notre système.
# make install
Configurer Lighttpd
Si nous devons configurer davantage notre serveur Web lighttpd selon nos besoins, nous pouvons apporter des modifications au fichier de configuration par défaut, c'est-à-dire /etc/lighttpd/lighttpd.conf . Comme nous allons utiliser la configuration par défaut ici dans ce tutoriel, nous n'y apporterons pas de modifications. Si nous avons apporté des modifications et que nous voulons vérifier les erreurs dans le fichier de configuration, nous devrons exécuter la commande suivante.
# lighttpd -t -f /etc/lighttpd/lighttpd.conf
Sur CentOS 7
Si nous exécutons CentOS 7, nous devrons créer un nouveau répertoire pour notre racine Web définie dans la configuration par défaut de notre lighttpd, c'est-à-dire /src/www/htdocs/ .
# mkdir -p /srv/www/htdocs/
Ensuite, nous copierons la page d'accueil par défaut du répertoire /var/www/lighthttpd/ vers le répertoire créé ci-dessus.
# cp -r /var/www/lighttpd/* /srv/www/htdocs/
Démarrage et activation des services
Maintenant, nous allons redémarrer notre serveur de base de données en exécutant la commande systemctl suivante.
# systemctl start lighttpd
Ensuite, nous lui permettrons de démarrer automatiquement à chaque démarrage du système.
# systemctl enable lighttpd
Autoriser le pare-feu
Pour autoriser nos pages Web ou nos sites Web exécutant le serveur Web lighttpd sur Internet ou à l'intérieur du même réseau, nous devrons autoriser le port 80 du programme de pare-feu. Comme CentOS 7 et Ubuntu 15.04 sont livrés avec systemd comme système d'initialisation par défaut, firewalld sera installé comme solution de pare-feu. Pour autoriser le port 80 ou le service http, nous devrons exécuter les commandes suivantes.
# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --reload
success
Accéder au serveur Web
Comme nous avons autorisé le port 80 qui est le port par défaut de lighttpd, nous devrions pouvoir accéder à la page d'accueil de lighttpd par défaut. Pour ce faire, nous devrons faire pointer notre navigateur vers l'adresse IP ou le domaine de notre machine exécutant lighttpd selon notre configuration. Dans ce didacticiel, nous pointerons notre navigateur vers http://lighttpd.linoxide.com/ car nous avons pointé notre sous-domaine vers son adresse IP. Ce faisant, nous verrons la page d'accueil suivante dans notre navigateur.
De plus, nous pouvons ajouter les fichiers de notre site Web au répertoire webroot et supprimer le fichier d'index par défaut de lighttpd pour rendre notre site Web statique accessible sur Internet.
Si nous voulons exécuter notre application PHP sur notre serveur Web lighttpd, nous devrons suivre les étapes suivantes.
Installer des modules PHP5
Une fois notre lighttpd installé avec succès, nous devrons installer PHP et certains modules PHP pour exécuter des scripts PHP5 sur notre serveur Web lighttpd.
Sur Ubuntu 15.04
# apt-get install php5 php5-cgi php5-fpm php5-mysql php5-curl php5-gd php5-intl php5-imagick php5-mcrypt php5-memcache php-pear
Sur CentOS 7
# yum install php php-cgi php-fpm php-mysql php-curl php-gd php-intl php-pecl-imagick php-mcrypt php-memcache php-pear lighttpd-fastcgi
Configurer Lighttpd avec PHP
Pour faire fonctionner PHP avec le serveur Web lighttpd, nous devrons suivre les méthodes suivantes en fonction de la distribution que nous exécutons.
Sur CentOS 7
Tout d'abord, nous devrons éditer notre configuration php c'est-à-dire /etc/php.ini et décommenter une ligne cgi.fix_pathinfo=1 à l'aide d'un éditeur de texte.
# nano /etc/php.ini
Une fois terminé, nous devrons changer la propriété du processus PHP-FPM d'apache à lightpd. Pour ce faire, nous devrons ouvrir le fichier de configuration /etc/php-fpm.d/www.conf à l'aide d'un éditeur de texte.
# nano /etc/php-fpm.d/www.conf
Ensuite, nous ajouterons le fichier avec les configurations suivantes.
user = lighttpd
group = lighttpd
Une fois cela fait, nous devrons enregistrer le fichier et quitter l'éditeur de texte. Ensuite, nous devrons inclure le module fastcgi du fichier de configuration /etc/lighttpd/modules.conf.
# nano /etc/lighttpd/modules.conf
Ensuite, nous devrons décommenter la ligne suivante en supprimant #.
include "conf.d/fastcgi.conf"
Enfin, nous devrons configurer notre fichier de configuration fastcgi à l'aide de notre éditeur de texte préféré.
# nano /etc/lighttpd/conf.d/fastcgi.conf
Ensuite, nous devrons ajouter les lignes suivantes à la fin du fichier.
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)
Une fois terminé, nous enregistrerons le fichier et quitterons l'éditeur de texte.
Sur Ubuntu 15.04
Pour activer fastcgi avec le serveur Web lighttpd, nous devrons simplement exécuter les commandes suivantes.
# lighttpd-enable-mod fastcgi
Enabling fastcgi: ok
Run /etc/init.d/lighttpd force-reload to enable changes
# lighttpd-enable-mod fastcgi-php
Enabling fastcgi-php: ok
Run /etc/init.d/lighttpd force-reload to enable changes
Ensuite, nous rechargerons notre lighttpd en exécutant la commande suivante.
# systemctl force-reload lighttpd
Tester si PHP fonctionne
Afin de voir si PHP fonctionne comme prévu ou non, nous devrons créer un nouveau fichier php sous la racine Web de notre serveur Web lighttpd. Ici, dans ce didacticiel, nous avons /var/www/html dans Ubuntu et /srv/www/htdocs dans CentOS comme racine Web par défaut. Nous allons donc créer un fichier info.php sous celui-ci à l'aide d'un éditeur de texte.
Sur CentOS 7
# nano /var/www/info.php
Sur Ubuntu 15.04
# nano /srv/www/htdocs/info.php
Ensuite, nous ajouterons simplement la ligne suivante dans le fichier.
<?php phpinfo(); ?>
Une fois cela fait, nous allons simplement enregistrer le fichier et quitter l'éditeur de texte.
Maintenant, nous allons pointer notre navigateur Web vers notre machine exécutant lighttpd en utilisant son adresse IP ou son nom de domaine avec le chemin du fichier info.php comme http://lighttpd.linoxide.com/info.php Si tout a été fait comme décrit ci-dessus, nous verrons notre page d'informations PHP comme indiqué ci-dessous.
Conclusion
Enfin, nous avons installé avec succès le serveur Web Lighttpd léger, rapide et sécurisé au monde sur notre machine exécutant les distributions Linux CentOS 7 et Ubuntu 15.04. Une fois prêt, nous pouvons télécharger les fichiers de notre site Web dans notre racine Web, configurer l'hôte virtuel, activer SSL, connecter la base de données, exécuter des applications Web et bien plus encore avec notre serveur Web lighttpd. Si vous avez des questions, des suggestions, des commentaires, veuillez les écrire dans la zone de commentaires ci-dessous afin que nous puissions améliorer ou mettre à jour notre contenu. Merci ! Régalez-vous :-)