I. Ubuntu/Debian: Installation et configuration d’un Server LAMP

Avant de commencer cet article, je tiens a preciser que j’ai installe ce server LAMP dans le but de pouvoir suivre les cours sur le language PHP. Les manipulations ci-dessous sont des manipulations basiques pour Ubuntu 13.10 et 14.04, et non optimise pour un server en production.

I. Preparation du server LAMP

On va commencer par installer tout betement les paquets necessaire au server LAMP (Linux, Apache, MySQL and PHP):

sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql

Puis configurer le répertoire de travail. (Je reprends ici toutes les manipulation proposees dans la documentation de Ubuntu, mais en y rajoutant ma petite touche personne avec mes preferences.)

 

1. Protection de /var/www/html

 

sudo vim /etc/apache2/sites-available/000-default.conf

Rajouter en dessous de la ligne DocumentRoot /var/www/html (pour autoriser uniquement les machines avec une adresse IP du type 127.0.0.1 ou 192.168.1.0, à acceder aux dossier dans /var/www/html).


Options Indexes FollowSymLinks MultiViews
AllowOverride None

Require ip 127.0.0.1
Require ip 192.168.1

 

 

2. Création des répertoires de travail

sudo mkdir -p /media/www-dev/{public,private}

 

3. Donner les droits utilisateur aux répertoires de travail

sudo chown -R $USER:users /media/www-dev

 

4. Configuration d’alias dans Apache

Éditez en super utilisateur le fichier : /etc/apache2/sites-available/000-default.conf afin d’y ajouter en dessous de la ligne DocumentRoot /var/www/html

## ZONE PUBLIQUE
Alias /public /media/www-dev/public

    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted


## ZONE PRIVEE
Alias /private /media/www-dev/private

    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
   
        Require ip 127.0.0.1
        Require ip 192.168.1
        Require host .w3.org
   

 

5. Ajout de liens symboliques

sudo ln -s /media/www-dev/public /var/www/html/public
sudo ln -s /media/www-dev/private /var/www/html/private
sudo rm /var/www/html/index.html

Note: pour supprimer un lien symbolique,

rm /dossier/nom_symbolique

 

6. Finalisation

sudo /etc/init.d/apache2 reload

ou sinon,  /etc/init.d/apache2 force-reload

 

II. Verification et test sur les differents serveurs

Verifions maintenant que tout fonctionne comme il faut:

1. Test du serveur Apache:

http://localhost/

 

2. Test du serveur PHP

sudo echo «  » >> /var/www/html/testphp.php

Voici ce que nous renvoie la page localhost/test.php

Source:
Wiki debian.org – LAMP, Linux Apache MySQL PHP

 

3.Test du serveur MySQL:

mysql -u root -p

Si vous n’avez pas mis de mot de passe, c’est le moment de le faire.

mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘votre_nouveau_mot_de_passe’);

Redemarrer le server Apache:
sudo /etc/init.d/apache2 restart

mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+——————–+
4 rows in set (0.49 sec)

mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+—————————+
| Tables_in_mysql           |
+—————————+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+—————————+
24 rows in set (0.00 sec)

mysql> quit
Bye
malagasy@ubuntu:~/Temp$

Source:
Building a LAMP Server
Installing LAMP (Linux, Apache, MySQL and PHP) On Linux Mint
MySQL: Testing a MySQL Installation

 

4. Installation de l’interface de gestion de MySQL

Je vous propose ensuite l’installation de phpmyadmin, vu que jongler avec les lignes de commande n’est pas tres pratique – en tout cas, pour moi.

sudo apt-get install phpmyadmin

 

 

5. Racourci vers le dossier de travail

Une fois que tout est bon, vous pouvez ajouter le dossier /media/www-dev comme dans les marques pages de votre navigateur de dossier.

Et voila, le serveur LAMP est  prêt et est fonctionnel.

 

I. Ubuntu/Debian: Installation et configuration d’un Server LAMP
II. Ubuntu/Debian: Installation et configuration d’un Server LAMP – Suite et Fin

Reference
Installing Apache2 With PHP5 And MySQL Support On Ubuntu 13.04 (LAMP)