Lighttpd est un serveur Web open source conçu et optimisé pour les environnements hautes performances. Avec une faible empreinte mémoire par rapport aux autres serveurs Web, une gestion efficace de la charge du processeur et un ensemble de fonctionnalités avancées (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting et bien d'autres), lighttpd est la solution parfaite pour surmonter le serveur problèmes de chargement.
Ici, je vais vous expliquer l'installation de lighttpd avec php5 et MySQL sur Fedora 21.
Installation de Lighttpd :
Pour commencer, nous allons installer Lighttpd, ouvrir le terminal et passer à l'utilisateur root.
$ su
Tapez la commande suivante sur le terminal, puis appuyez sur Entrée.
# yum install lighttpd
Démarrez le Lighttpd en utilisant la commande suivante.
# systemctl start lighttpd.service
Faites en sorte que lighttpd démarre automatiquement au démarrage du système.
# systemctl enable lighttpd.service
Iptables :
Afin d'autoriser une connexion externe au serveur Web, un pare-feu doit être configuré. Le démon FirewallD est activé par défaut dans Fedora 21 en tant que netfilter pour filtrer les requêtes entrantes et sortantes, ici j'utiliserai un pare-feu statique qui nous permettra de définir notre propre ensemble de règles de pare-feu statiques.
Avant d'aller plus loin, installez service iptables.
# yum install iptables-services
Masquez le service FirewallD existant.
# systemctl mask firewalld.service
Activez iptables pour qu'il démarre automatiquement au démarrage du système.
# systemctl enable iptables.service # systemctl enable ip6tables.service
Arrêtez le service FirewallD et démarrez iptables.
# systemctl stop firewalld.service # systemctl start iptables.service # systemctl start ip6tables.service
Autoriser le port httpd sur iptables.
# iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Enregistrez iptables.
# service iptables save
Test Lighttpd :
Pour nous assurer que tout est correctement installé, nous allons maintenant tester Lighttpd pour nous assurer qu'il fonctionne correctement. Ouvrez n'importe quel navigateur Web, puis saisissez ce qui suit dans l'adresse Web :
http://localhost/OU
http://votre.adresse.ip.essVous obtiendrez la page Web disant "Powered by lighttpd", la racine du document par défaut de lighttpd est /var/www/lighttpd sur Fedora; le fichier de configuration est /etc/lighttpd/lighttpd.conf et les configurations supplémentaires sont stockées dans le répertoire /etc/lighttpd/conf.d/.
Installation de MariaDB :
Vient ensuite l'installation du serveur MySQL, MySQL est disponible sur le package Fedora; il vous suffit donc d'exécuter la commande suivante pour l'installer.
# yum install mariadb mariadb-server php-mysql
Démarrez le serveur MySQL.
# systemctl start mariadb.service
Pour que MariaDB démarre à chaque démarrage, tapez ce qui suit sur le terminal et appuyez sur Entrée.
# systemctl enable mariadb.service
Ensuite, sécurisez MySQL en utilisant la commande mysql_secure_installation.
Ce programme vous permet d'améliorer la sécurité de votre installation MySQL de la manière suivante :
- Vous pouvez définir un mot de passe pour les comptes root.
- Vous pouvez supprimer les comptes root accessibles depuis l'extérieur de l'hôte local.
- Vous pouvez supprimer les comptes d'utilisateurs anonymes.
- Vous pouvez supprimer la base de données de test (qui, par défaut, est accessible à tous les utilisateurs, même les utilisateurs anonymes) et les privilèges qui permettent à quiconque d'accéder aux bases de données dont les noms commencent par 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!
Installation de PHP5 :
Ensuite, installez PHP 5 sur Fedora avec FastCGI, fedora fournit un package PHP5 compatible FastCGI. Nous pouvons installer en lançant la commande suivante.
# yum install php-cli lighttpd-fastcgi
Configurer PHP 5 :
Afin d'activer la prise en charge de PHP5 pour lighttpd, assurez-vous que le fichier suivant a le cgi.fix_pathinfo est défini sur 1.
# vi /etc/php.d/lighttpd.ini cgi.fix_pathinfo=1
Activation de FastCGI :
Pour activer le FastCGI, nous devons éditer le fichier suivant.
# vi /etc/lighttpd/modules.conf
Décommentez la ligne [Line No:132].
include "conf.d/fastcgi.conf"
Modifiez le fichier suivant pour configurer FastCGI.
# vi /etc/lighttpd/conf.d/fastcgi.conf
Ajoutez les lignes suivantes à la fin du fichier.
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" ) ) )
Redémarrez maintenant tous les services requis.
# systemctl restart lighttpd.service
Test PHP :
Pour tester PHP, placez un fichier PHP dans le répertoire par défaut de Lighttpd. La racine du document du site Web par défaut est /var/www/lighttpd. Nous allons maintenant créer un petit fichier PHP (info.php) dans ce répertoire et l'appeler dans un navigateur. Le fichier affichera de nombreux détails utiles sur notre installation PHP, tels que la version PHP installée.
Dans le terminal copiez/collez la ligne suivante :
# vi /var/www/lighttpd/info.php
Cela ouvrira un fichier appelé info.php.
Copiez/Collez cette ligne dans le fichier phpinfo :
<?php phpinfo(); ?>
Enregistrez et fermez le fichier. utilisez Échap + ;wq pour enregistrer le fichier.
Ouvrez maintenant votre navigateur Web et saisissez ce qui suit dans l'adresse Web :
http://localhost/info.phpOU
http://votre.adresse.ip./info.phpLa page ressemblera à ceci :
Faites défiler la section du navigateur vers les modules pour vérifier la prise en charge de MySQL. vous obtiendrez l'écran comme ci-dessous.
C'est tout !