Muffin 2/Fedora LAMP
|
| Le présent article est actuellement en cours de relecture. Adressez-vous à la personne en charge pour toute proposition ou modification. |
| Relecteur / Validateur : FabienArchambault |
Sommaire |
Introduction
LAMP est un acronyme désignant un ensemble de logiciels libres permettant de construire des serveurs de sites Web. L'acronyme original se réfère aux logiciels suivants :
- Linux, le système d'exploitation
- Apache, le serveur Web
- MySQL, le serveur de base de données
- PHP, le langage de script
Grâce à cette combinaison, nous bénéficions d'une architecture pour le développement d'applications web.
Installation d'Apache
Le but n'est pas de présenter le très célèbre serveur Web Apache [1] mais de vous indiquer comment l'installer rapidement.
Vous pouvez retrouver le détail de sa configuration sur la documentation en ligne écrite par Remi Collet Installation et configuration d'Apache [2].
Pour commencer...
$ su -c 'yum install httpd-manual'
Votre serveur Web préféré et maintenant installé. Passons à l'installation de MySQL...
Installation de MYSQL
Lancer la commande :
$ su -c 'yum install mysql-server'
Une fois que l'installation est terminée, il faut démarré le service Mysql avec :
$ su -c '/etc/init.d/mysqld start'
Normalement, la terminal indique que le démarrage est OK.
Démarrage de MySQL : [ OK ]
Nous allons maintenant configurer les bases de données de manière sécurisée. Dans le cas contraire, les bases seraient accessibles en tant que 'root' sans mot de passe.
$ mysql_secure_installation
Maintenant, passons à la configuration :
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here.
Enter current password for root (enter for none) :
Pour les personnes les moins à l'aise en anglais, vous devez saisir votre mot de passe pour l'utilisateur 'root', ici le mot de passe n'a pas été encore défini. Veuillez appuyer sur la touche "entrée".
Change the root password? [Y/n]
Répondez 'Y' à la question.
Remove anonymous users
Ensuite répondez 'Y' à la question.
Disallow root login remotely ?
puis 'n' à la question.
Remove test database and access to it ?
Ensuite, vous pouvez répondre 'Y', cela supprimera la base de test.
Reload privilege tables now ?
Pour terminer, répondez 'Y' à cette dernière question qui rechargera les privilèges afin de valider les modifications apportées.
Voilà, la configuration de votre base de données est terminée.
Installation de PHP
Lancer la commande :
$ su -c 'yum install php'
Pour vérifier que php est bien installé, nous allons créer un fichier test.php dans le dossier /var/www/html/ et y insérer l'instruction suivante :
<?php phpinfo();?>
Installation de PhpMyAdmin
Cette interface web est très pratique pour configurer vos bases de données. Il faut installer le paquet suivant :
# yum install phpmyadmin
Ceci a pour effet d'installer la librairie php-mysql.
Test de l'environnement
Une fois les étapes précédentes réalisées, nous allons pouvoir démarrer notre serveur 'Apache', si celui-ci ne l'était pas.
$ /etc/init.d/httpd start
ou pour le redémarrer :
$ /etc/init.d/httpd restart
Puis démarrer le serveur mysql :
$ /etc/init.d/mysqld start
Une fois que celui-ci est démarré, vous pouvez accéder à la page précédemment créée "test.php".
L'Interface Homme-Machine (IHM) "PhpMyAdmin" est très pratique. Je l'utilise tout le temps. Elle est d'autant plus pratique que vous pouvez accéder à vos bases de données même de l'extérieur à condition que votre PC soit configuré dans ce sens.
Pour aller plus loin ...
Hôtes virtuels
Pour ma part, j'ai créé un dossier "webdev" dans mon "/home/user" qui contient tous les sites développés ou en cours de développement. J'ai créé un fichier de configuration dans "/etc/httpd/conf.d/messites.conf" contenant les adresses des sites à utiliser.
# activation des hôtes virtuels
NameVirtualHost *:80
# Hôte virtuel par défaut
<VirtualHost *:80>
# home du site : URL = http://monsite/
ServerName monsite
# Dossier contenant les pages
DocumentRoot /home/user/webdev/monsite/
# jeu de caractères (UTF-8 par défaut)
AddDefaultCharset ISO-8859-1
</VirtualHost>
Migration MySQL de Windows à Fedora
J'ai eu besoin de migrer des données depuis Windows vers Fedora. Trois possibilités s'offrent à vous :
- l'exportation via phpmyadmin et l'import via la même interface;
- l'utilisation de mysqldump pour l'export :
mysqldump -u nom_utilsateur -p nom_base > backup
pour l'import utiliser cette commande :
mysql -u nom_utilsateur -p nom_base < backup
- déplacer le ou les dossiers présents dans le répertoire MySQL de Windows vers le répertoire /var/lib/mysql/. Le nom des dossiers correspond aux noms des bases de données.
Astuce
Pour ne pas avoir à renseigner le mot de passe constamment (ce qui peut arriver lorsque qu'on développe), il suffit d'exécuter cette commande :
# chown -R nom_utilisateur /var/www/
[2] http://doc.fedora-fr.org/wiki/Installation_et_configuration_d%27Apache

