À propos

J'explique dans cette page comment mettre en place une solution LAMP (Linux, Apache, MySQL et Php).

Linux

Je considère ici que Linux est déjà installé et configuré.

Apache2

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

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

Partie à revoir

Php en module

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 :

  • avec votre nom de domaine (si vous en possède un)
ServerName www.nomdomaine.fr
  • sinon en local
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!

Php en CGI

# 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

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é.

Trucs et astuces

Problème d'encodage

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.

Directive UserDir

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.

Sources

 
lamp.txt · Dernière modification: 2010/09/05 20:46 par tuxgasy
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki