Linux-Apache-MySQL-PHP
Un article de Wiki de la communauté Mandriva.
Sommaire |
[modifier] Généralités
Chaque brique est indépendante et a une fonction spécifique :
- Linux est le système d'exploitation, il prends en charge le matériel (sauvegarde, etc.)
- Apache est le serveur web, il gère les connexions simultanées, les messages d'erreurs (404 !), etc.
- MySQL est la base de données, il stocke les données et permet un accès rapide
- PHP, prend les données dans la base MySQL et crée les pages HTML qu'Apache transmettra au navigateur
Bien entendu, ces briques sont les plus populaires, mais elles peuvent être substituée par d'autres : Linux par Windows (déconseillé ! ;) ), Apache par lighttpd, MySQL par PostgreSQL, PHP par Python ou Ruby.
[modifier] Installation
Pour commencer l'installation de votre serveur LAMP, vortre base urpmi doit être à jour. Ensuite seulement ..
[modifier] Apache : le serveur (1/4)
Ouvrez le centre de controle Mandriva dans la section "vérifier les programmes disponibles..."
et installez le paquet "apache-mpm-preforch" ...
Une fois le paquet du serveur Apache installé, nous devons démarrer le serveur. Pour cela, vous pouvez le faire en mode graphique grâce à l'outil graphique du MCC (système > gérer les services). Le nom du service correspondant à apache est "httpd" :
Dans notre cas, nous allons ensuite utiliser la console car c'est aussi très pratique et nous aurons accès à plus d'informations. Mais libre à vous, de choisir le mode graphique si la console vous indispose. Dans une console en mode Root c'est à dire en tapant dans la console "su" puis votre mot de passe ...
tapez ...
afin de controler le bon fonctionnement d'apache :
Si à l'écran paraît ce message "Could not reliably determine the server's fully qualified domain name,using 127.0.0.1 for ServerName", il suffit de taper en root (en remplaçant bien sûr le mot exemple par ce que vous voulez) :
Relancez ensuite apache avec cette commande :
Si en tapant dans le navigateur internet "localhost" apparaît "it work!" c'est que apache fonctionne correctement.
Bien, le serveur est opérationnel. Passons à la base de données.
[modifier] Mysql : la base de données (2/4)
Allez ! Rebelote, on ouvre le centre de controle Mandriva dans la section "vérifier les programmes disponibles..." et ensuite on installe le paquet "MySQL-5..." qui va bien :
Si vous avez installé mysql sans modifier le nom d'hôte vous aurez probablement l'erreur suivante :
Donc soit vous changez votre nom d'hôte avant :
ou alors vous faites la manip' suivante en console (toujours en root) :
Dans la console en Root tapez ...
... afin de lancer le service MySQL :
Tapez ensuite la commande :
Vous venez de lancer un script pour une première installation de Mysql.
Les questions qui suivent vont sécuriser l'installation de votre base de données. Vous pouvez y répondre de la façon suivante :
"change the root password ?" taper y et tapez un mot de passe . "remove anonymous users" taper y "disallow root login remotly?" taper n "remove test database and access to it " taper y "reload privilege tables now" taper y
Voilà ! Votre avez renseigné les paramètres nécessaires.
Testons MySQL en le relançant avec la commande ...
... et essayons de nous connecter à MySQL avec la commande :
... suivi à l'invite, saisissez votre mot de passe choisis précédemment. Tapez :
show databases;
...pour tester votre base de données ...
exit
... pour quitter et revenir en console. Bien, le plus dur est fait. Passons au langage PHP.
[modifier] PHP : le P de LAMP (3/4)
Ouvrez le centre de controle Mandriva dans la section "vérifier les programmes disponibles..." et installez le paquet "apache-mod_php-5..." et ses dépendances.
Relancez apache pour prendre en compte PHP avec la commande :
Pour vérification testons la création d'une page PHP , en console tapez :
Cette commande crée un fichier texte nommé "test.php" et édite ce même fichier en ajoutant le code source ...
<?php phpinfo();?>
A tester en ouvrant votre navigateur internet et, dans la barre d'adresse, entrez :
localhost/test.php
[modifier] PhpMyAdmin : Se faciliter la vie (4/4)
Ce dernier permet de gérer sa base de données avec une interface web beaucoup plus user-friendly que la console
Allez une dernière fois ! Ouvrez le centre de controle Mandriva dans la section "vérifier les programmes disponibles..." et installez le paquet "phpmyadmin". Une fois installé lancez le navigateur web et entrez dans la barre d'adresse ...
localhost/phpmyadmin
... puis insérer votre mot de passe et ...
Bravo, vous êtes maintenant l'heureux posssesseur d'un serveur LAMP opérationnel.
[modifier] Méthode alternative
Pour installer d'un seul coup Apache, PHP et MySQL, voici ce qu'il faut taper :
ou encore
[modifier] Astuces
[modifier] UserDir
Si vous souhaitez que chaque utilisateur de la machine puisse avoir un site web perso :
Ainsi, si l'utilisateur toto mets des pages dans son dossier "public_html" (qu'il doit créer dans son home), elles seront accessibles à l'adresse http://mamachine.com/~toto/
[modifier] Drakwizard
Drakwizard vous permettra d'installer et de configurer Apache automatiquement depuis le Centre de Contrôle Mandriva.
[modifier] Apache
Visitez http://127.0.0.1/ : si vous obtenez "It works!", ça veut dire qu'Apache fonctionne !
[modifier] PHP
Créez une page test.php qui contient :
<?php phpinfo(); ?>
Appelez-la à travers Apache (http://...), cela devrait vous afficher les informations sur PHP.
Si jamais Firefox vous propose de sauvegarder la page, c'est que le module PHP n'est pas installé dans Apache. Il faut installer le paquet apache-mod_php.
[modifier] MySQL
- Pensez à bien démarrez le service le cas échéant :
Test depuis la ligne de commande
mysql -u root
vous devez obtenir le prompt (>) quittez à l'aide d'un "Control-C"
- positionnez tout de suite un mot de passe pour le compte root de votre base
mysqladmin -u root flush-privileges password "votre-joli-mot-de-passe-super-tordu"
- Test depuis PHP
Via PHPMyAdmin ou via une requête simple.
[modifier] Problèmes courants
- Le serveur propose de télécharger le fichier PHP plutôt que de l'interpréter.
- Cela se produit lorsque le module PHP du serveur Apache n'interprète pas la page.
- Vérifiez que le module est installé : rpm -q apache-mod_php
- Vérifiez la configuration du module /etc/httpd/modules.d/70_mod_php.conf, qui doit contenir la ligne :
AddType application/x-httpd-php .php
Dans cet exemple, seuls les fichiers finissant par .php seront interprétés : pensez à cela si vous avez des applications en .php3 ou des pages en .php5 (par exemple, chez free.fr).
[modifier] Remerciements
Liens
Merci à DarkVodka pour le tuto originel et à Mandriva-Online.eu pour les superbes screens.
Merci à Olivier Faurax d'avoir pris le temps de dupliquer ce tuto sur le wiki.
Modifié par --Neije 29 mai 2008 à 18:32 (CEST)