Aujourd’hui je vais vous présenter l’installation de LAMP + phpMyAdmin que j’utilise au quotidien sur ma distribution Ubuntu. Dans un premier temps on va voir comment installer tout ce petit monde, puis dans un second temps je vous présenterai ma configuration.
Installer LAMP et phpMyAdmin
Normalement si vous lisez cet article c’est que vous devez avoir au moins une vague idée de ce à quoi correspond l’acronyme LAMP mais un rappel ne fait jamais de mal : L = GNU/Linux, A = Apache, M = MySQL et P = PHP. Pour l’installation on va utiliser tasksel avec la commande suivante :
sudo tasksel install lamp-server
Il devrait vous demander un mot de passe pour l’utilisateur root en MySQL, n’oubliez pas de le renseigner. Ensuite le tout est de savoir si phpMyAdmin est installé par tasksel. Dans mes souvenirs, je crois que sous Lucid Lynx c’est le cas mais de toute façon essayer ne peut pas faire de mal. Dans le pire des cas il vous dira que c’est déjà installé. Donc la commande c’est :
sudo apt-get install phpmyadmin
Autoriser le .htaccess et la réécriture d’URL
Pour pouvoir faire de la réécriture d’URL il vous faut activer le module correspondant. La commande qui va bien :
sudo a2enmod rewrite
Dans l’absolu il faudrait redémarrer ou relancer Apache tout de suite mais on va d’abord autoriser le .htaccess pour nos futurs hôtes virtuels. Dans le fichier /etc/apache2/sites-available/default, répérer les sections ‹Directory /› et ‹Directory /var/www/›. Dans celles-ci, remplacer AllowOverride None par AllowOverride All.
Maintenant on redémarre Apache avec la commande :
sudo /etc/init.d/apache2 restart
L’erreur : Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
Cela peut parfois vous faire perdre le peu de cheveux que vous aviez sur le caillou donc c’est toujours bon à rajouter dans votre apache2.conf : on va signifier à Apache l’adresse ip du bouzin au cas où. Perso j’ai un faible pour Vim mais quelque soit l’éditeur que vous utilisez il faudra le faire en super-utilisateur avec sudo. On rajoute en fin du fichier /etc/apache2/apache2.conf ou dans le fichier /etc/apache2/httpd.conf (vide par défaut) la ligne suivante :
ServerName 127.0.0.1
Certains préféreront localhost à 127.0.0.1, personnellement je ne suis ni fâché avec les chiffres ni avec les adresse ip. En gros chacun « il fait comme il veut » à partir du moment où dans votre fichier /etc/hosts vous avez bien cette ligne :
127.0.0.1 localhost
Le fichier php.ini
On va maintenant personnaliser la configuration de PHP . Dans les sous parties-suivantes je vous mettrais les options à modifier dans le fichier /etc/php5/apache2/php.ini.
Le Safe Mode
Pour pouvoir utiliser la fonction shell_exec avant PHP 5.3, il faut mettre le Safe Mode à OFF. Mais attention lisez bien la documentation qui va avec.
safe_mode = Off
Mémoire maximale d’un script
Il s’agit de l’option memory_limit dont la valeur est la taille maximale de la mémoire allouée à un script. Pour ceux qui travaillent avec Drupal, il faut mettre une valeur assez importante : 64, 128 voire parfois plus si vous avez vraiment beaucoup de modules installés.
memory_limit = 128M
Le niveau d’affichage d’erreur
Par défaut, PHP affiche toutes les erreurs excepté les erreurs de type notice mais comme on est en développement on va tout afficher.
error_reporting = E_ALL | E_STRICT
Afficher les erreurs
En phase de développement on laisser à On mais ne pas oubliez de mettre à Off en phase de production. Les internautes n’ont que faire de savoir ce qui a posé des erreurs dans votre script. Donc en développement :
display_errors = On
La taille maximale des données envoyées avec POST
Cette valeur doit être supérieure que le taille maximale des fichiers en envoi (upload_max_filesize).
post_max_size = 128M
La taille maximale des fichiers en envoi
En local je me limite à 128 Mo, après à vous de voir selon vos besoins :
upload_max_filesize = 64M
Pour le reste des options, je laisse les valeurs par défaut.
Voilà c’est tout pour ce tuto, et n’oubliez surtout pas : BI-DOU-ILLEZ !