Apache / mySQL / PHP / phpMyAdmin

Dernière mise à jour : 20/10/2002

    Cet article a pour but de vous initier √† l'installation et au param√©trage de la trinit√© sous Linux, j'ai nomm√© : Apache, PHP, phpMyAdmin et MySQL. Pour ceux qui ne le sauraient pas, Apache vous sert de serveur web, PHP de langage de programmation (au m√™me titre que l'ASP sous Windows) et MySQL remplace ici avantageusement Microsoft SQL Server (qui est un peu cher m√™me en license individuelle ;) phpMyAdmin vous permet de g√©rer en quelques clics vos bases MySQL, la m√©thode √† la main √©tant pourtant la bonne √©cole pour se faire les dents. J'ai √©galement rajout√© en fin d'article l'utilisation (exp√©rimentale) d'Apache 2 avec Mysql 4 et PHP 4.2.2

    Je me suis servit des derni√®res versions disponibles actuellement, j'ai nomm√© : Apache 1.3.26, PHP 4.2.2 et MySQL 3.51. Nous allons donc commencer par un petit t√©l√©chargement des sources :

Apache 1.3.x / PHP 4.2.x / MySQL 3.x / phpMyAdmin 3.x

    Cette section va couvrir les versions de production de chacun des produits cit√©s dans le titre. Vous pouvez donc vous en servir comme r√©f√©rence pour customiser vos programmes. Sachez que comme toute application, il y a beaucoup d'options apache que vous pouvez d√©sactiver lors de la configuration, fa√ģtes donc un : ./configure --help pour plus de d√©tails. Commencez donc par MySQL que nous pouvons d√©compacter dans /tmp le temps de la compilation, vous pouvez alors rentrer dans le r√©pertoire et faire :

    La compilation devrait se passer sans accrocs, vous poss√©dez maintenant un serveur Mysql pr√™t √† √™tre exploit√©. Allez dans /usr/local/mysql. Il va vous falloir √† pr√©sent copier le d√©mon vers le r√©pertoire de d√©marrage, d√©marrer le d√©mon, installer les bases et changer le mot de passe root, voici donc les commandes dans l'ordre (dans la commande ci-dessous, new-password est votre password, le premier mot password definit de changer le passe de root) :

    Apache est le suivant sur la liste. Contrairement aux autres programmes, il n'est pas question de le compiler pour le moment, on veut juste pr√©parer le configure pour qu'il sache o√Ļ l'installer, cette information va servir √† PHP. Pour les autres options d'apache, fa√ģtes un ./configure --help. Il faut commencer par le d√©compacter dans votre r√©pertoire de compilations puis rentrer dans le r√©pertoire et faire :

    D√©compactez donc ensuite PHP et √† l'int√©rieur du r√©pertoire fa√ģtes :

    Apr√®s un petit peu de patience, votre version de PHP est compil√©e et install√©e comme module pour apache. Il ne reste alors qu'√† retourner dans apache pour le compiler et lui demander d'inclure le module PHP, voici donc les commandes :

    Si tout va bien, les premi√®res ligne du configure devraient vous retourner que le module php a √©t√© d√©tect√© et activ√© :

    Il vous faudra ensuite √©diter le fichier /usr/local/apache/conf/httpd.conf afin de d√©clarer php comme un extension √† √™tre interpr√©t√©e par le serveur, il faut donc d√©commenter les ajouts de php et le mettre dans les index, voici √† quoi ressemble mon fichier de configuration :

    Si vous avez √©t√© sage, il ne reste plus qu'√† d√©marrer le serveur apache et constater que cela marche, vous pouvez alors tenter un :

    Vous pouvez √† pr√©sent v√©rifier la pr√©sence d'apache dans la liste des process par un ps -aux |grep httpd. Vous deviez en voir plusieurs appara√ģtre car httpd.conf est param√©tr√© pour en d√©marrer plusieurs instances. Pour savoir si le php marche, cr√©ez un fichier nomm√© phpinfo.php et tapez √† l'int√©rieur (remplacez les & par des ?) :

    Voil√† donc pour la partie Installation, vous pouvez aussi installer phpMyAdmin, d√©compactez le dans le r√©pertoire htdocs de /usr/local/apache. Changez son nom pour √©vitez de faire classique et que tout le monde puisse le trouver. Editez ensuite le config.inc.php pour changer ces lignes :

    Vous pouvez tout aussi bien cr√©er un utilisateur mysql qui poss√®de des droits de mise √† jour, c'est d'ailleurs conseill√© pour la suite car root n'est pas tr√®s s√©curis√© pour des √©changes. Voil√† pour le moment, vous devriez √™tre capable de d√©marrer dans l'univers du d√©veloppement web. La section qui suit contient juste quelques conseils rapides pour la compilation d'Apache 2 avec Mysql 4 et le dernier PHP.

Apache 2.0.40 / PHP 4.2.2 / MySQL 4.0.2-alpha

    J'ai ici d√©cid√© de vous faire un petit guide rapide √† l'installation des petits derniers. Dans l'ordre il vous faut installer : MySQL 4, Apache puis PHP. Je suis tomb√© sur un bug emp√™chant la compilation de PHP 4.2.2 mais cela est corrig√© sur le CVS du 25 Ao√Ľt et sur les versions suivantes. Consid√©rez que l'on installe ces programmes dans un environnement de test que j'ai nomm√© : /opt/web.

    D√©compactez MySQL 4 d'abord et fa√ģtes : ./configure --prefix=/opt/web/mysql ; make install ; chown -R mysql.mysql /opt/web/mysql. Ceci va donc configurer, compiler et installer MySQL sur votre espace de test. Assurez vous bien d'avoir arr√™t√© MySQL 3 s'il tourne par la commande : /etc/init.d/mysql stop . Attention : v√©rifiez aussi que l'utilisateur mysql du groupe mysql existe sur votre syst√®me, vous pouvez pour cela faire : cat /etc/passwd |grep mysql ; cat /etc/group |grep mysql. Il ne reste alors qu'un petit d√©marrage par la commande : /opt/web/mysql/libexec/mysqld -u mysql &. Il devrait tout d√©marrer tout seul comme un grand. S'il vous retourne une erreur de cr√©ation de logs, il vous manque alors le r√©pertoire var dans /opt/web/mysql. N'oubliez pas de changer son propri√©taire pour que mysql puisse le g√©rer.

    Installez ensuite Apache en le d√©compactant et en faisant : ./configure --prefix=/opt/web/apache2 ; make install. Ici encore, apr√®s installation et avant d√©marrage, assurez vous d'avoir arr√™t√© votre apache (ou changez de port) en faisant : /etc/init.d/apache stop. D√©marrez ensuite apache par la commande : /opt/web/apache2/bin/apachectl start.

    PHP vient en dernier et demande un tout petit peu plus de configuration, ainsi voici les commandes : ./configure --with-apxs2=/opt/web/apache2/bin/apxs --enable-track-vars --with-config-file-path=/opt/web/apache2/conf/ --prefix=/opt/web/php4 --with-mysql ; make install ; cp php.ini-dist /opt/web/apache2/conf/php.ini. Ces commandes se chargeront donc d'installer php4 pour vous. Vous devez ensuite changer une variable de php.ini si vous voulez que vos scripts marchent correctement, ainsi √©ditez /opt/web/apache2/conf/php.ini et modifiez la variable comme ceci : register_globals = On (vous devriez la trouver sur off). Red√©marrez ensuite le serveur apache par : /opt/web/apache2/bin/apachectl stop ; /opt/web/apache2/bin/apachectl start. Voila, vous disposez ici des derni√®res nouveaut√©s en mati√®re de d√©veloppement.