J'explique dans cette page comment mettre en place une solution LAMP (Linux, Apache, MySQL et Php).
Je considère ici que Linux est déjà installé et configuré.
Apache est un serveur Web. Il reçoit et répond directement au requête du client Web (tel que les navigateurs). Pour installer apache2 avec la documentation :
# apt-get install apache2 apache2-doc
Pour tester qu'Apache est bien installé, il suffit d'aller avec un navigateur Web à l'URL http://adresse_IP_du_serveur. Si tous s'est bien passé, vous devrez avoir une page avec le message “It's work”. Vous pouvez aussi avoir accès à la documentation à l'adresse http://adresse_IP_du_serveur/manual.
MySQL est un serveur de base de données. Il permet de stocker et d'organiser des données. Pour installer MySQL 5.0 :
# apt-get install mysql-server
Selon la distribution, à l'installation, il est demandé de saisir le mot de passe root de MySQL. Sinon, par défaut le mot de passe est vide. Pour changer le mot de passe, utiliser la commande suivante :
# sudo dpkg-reconfigure mysql-server-5.0
PHP est un langage de script permettant la génération de page Web dynamique et la communication avec le serveur MySQL. Pour utiliser PHP 5 avec Apache2 et MySQL, il faut installer deux modules supplémentaires.
# apt-get install php5 libapache2-mod-php5 php5-mysql
Pendant l'installation, le serveur Apache2 sera redémarré et il y aura sûrement l'erreur suivant :
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Cet erreur n'a rien de bloquant et le problème peut se résoudre en ajoutant la directive “ServerName” dans la configuration d'Apache (/etc/apache2/apache2.conf :
ServerName www.nomdomaine.fr
ServerName 127.0.0.1
Après la modification du fichier de configuration d'Apache2, il faut recharger sa configuration :
# /etc/init.d/apache2 reload
Pour vérifier le bon fonctionnement de PHP, créer un fichier /var/www/phpinfo.php et ajouter les lignes suivantes :
<?php phpinfo(); ?>
Ensuite, aller à URL http://adresse_IP_du_serveur/phpinfo.php. Si le navigateur demande de télécharger le fichier, cela peut venir du module mal chargé. Dans ce cas, lancer les commandes suivantes :
# a2enmod php5 # /etc/init.d/apache2 restart
Ensuite, ré-essayer. Relancer le navigateur si besoin!
# apt-get install libapache2-mod-suphp php5-cgi php5-mysql
Désactiver le module php5
a2dismod php5
Ensuite, éditer le fichier /etc/suphp/suphp.conf et modifier la ligne :
docroot=/var/www
Par
docroot=/home
Recharge ensuite la configuration d'Apache :
# /etc/init.d/apache2 reload
Phpmyadmin est une interface Web permettant la gestion des bases de données mysql. Pour l'installer,
# apt-get install phpmyadmin
Aller sur http://adresse_ip/phpmyadmin . Si ça ne marche pas, lancer la commande :
# dpkg-reconfigure phpmyadmin
Et vérifier que apache2 est bien coché.
Lorsque je teste certains outils Web (CMS, Wiki…) qui sont codés en ISO-8859-1, j'ai à chaque fois un problème de codage. J'ai remarqué que le navigateur choisi UTF8 malgré que l'encodage ISO-8859-1 est bien indiqué dans le fichier xHTML. Le “problème” vient en fait d'apache2. Il suffit d'éditer le fichier /etc/apache2/apache2.conf. Commentez la ligne suivante (normalement c'est déjà commenté) :
AddDefaultCharset ISO-8859-1
Ensuite, ajoutez la ligne suivante à la suite :
AddDefaultCharset off
Maintenant, il ne devrait plus avoir de problème d'encodage.
Le module UserDir permet au répertoire ~/public_html d'un utilisateur d'être accessible par l'adresse http://example.com/~user/. Par défaut, ce module est désactivé. Pour l'activer, il suffit d'utiliser a2enmod :
# a2enmod userdir
L'utilisateur peut publier ses pages Web dans son répertoire ~/public_html.