dimanche 11 mai 2014

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).

<Directory /var/www/html>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   <RequireAny>
     Require ip 127.0.0.1
     Require ip 192.168.1
   </RequireAny>
 </Directory>



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
<Directory /media/www-dev/public>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

## ZONE PRIVEE
Alias /private /media/www-dev/private
<Directory /media/www-dev/private>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    <RequireAny>
        Require ip 127.0.0.1
        Require ip 192.168.1
        Require host .w3.org
    </RequireAny>
</Directory>
 

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 "<?php phpinfo(); ?>" >> /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.

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

Aucun commentaire:

Enregistrer un commentaire