un environnement LAMP (Apache, PHP, Mysql)

Transcription

un environnement LAMP (Apache, PHP, Mysql)
Tutoriel | Installation d’un
environnement LAMP (Apache,
PHP, Mysql)
Article publiée le 4 Octobre 2013
Mise à jour le 5 Octobre 2013
En parcourant une fois de plus les forums je me suis aperçus
que beaucoup d’admins débutants avaient des difficultés pour
installer un environnement LAMP (Apache, PHP, Mysql).
Ci-dessous un tutoriel complet sur l’installation
environnement LAMP avec quelques astuces en plus!
d’un
Ce tutoriel est adapté aussi bien pour les utilisateurs de
Centos/RedHat que pour les utilisateurs de Debian/Ubuntu
Server
1) Installation Apache
Sous Debian:
apt-get install apache2
Sous Redhat/Centos:
yum install httpd
service httpd start
Attention sous RedHat/Centos, n’oubliez pas de désactiver
le firewall ou de le paramétrer en conséquence. (service
iptables stop && chkconfig iptables off)
Vérifiez que les services apaches fonctionnement correctement
en vous connectant via votre navigateur ) à l’ip ou le dns de
votre machine.
Cette page devrait être affichée (pour les utilisateurs de
Debian):
Pour les utilisateurs de Centos/RedHat:
2) Installation de PHP
Sous Debian
apt-get install php5 php5-mysql
Sous Centos/RedHat:
yum install php*
Redémarrez votre service apache:
/etc/init.d/apache2 restart (Sous Debian)
service httpd restart (Sous RedHat)
Sous debian j’ai déjà remarqué que le module php d’apache
pouvait ne pas s’activer automatiquement ce qui fait que vos
pages PHP ne seront pas interprétées!
Pour résoudre ce problème: a2enmod php && /etc/init.d/apache2
restart
3) Installation de Mysql
Sous Debian:
apt-get install mysql-server
Une interface peut apparaître afin de vous demander
d’entrer le mot de passe root de Mysql
Sous Redhat/Centos
yum install mysql-server
Démarrer le service Mysql: service mysqld start
Petite parenthèse:
Certain voudrons certainement changer l’emplacement
tablespace (la ou sont stocké vos datas), pour cela:
du
– Créez le répertoire qui contiendra les tablespace de Mysql :
mkdir <votre repertoire>
– Changez les droits de ce répertoire chown mysql:mysql
<repertoire>
–
Modifiez
le
fichier
my.cnf
en
modifiant
« datadir=/var/lib/mysql » par votre nouveau répertoire.
(Ce
fichier
se
situe
dans
le
répertoire
/etc/
sous
Centos/RedHat et dans /etc/mysql sous Debian).
Pour initialiser le mot de passe root de Mysql (ce que je
recommande fortement pour des raisons évidentes de sécurité)
On vérifie:
3) PHPMyadmin
Si vous n’êtes pas très bon en base de donnée ou que vous avez
tout simplement un client allergique à la ligne de commande je
vous suggère d’installer PHPMyAdmin.
Pour ceux qui ne connaissent pas PHPMyadmin est une interface
Web d’administration de Mysql.
Pour l’installer sous debian:
apt-get install phpmyadmin
Ce message devrait apparaître
Avec la barre d’espace sélectionnez apache2 puis sélectionnez
OK
Sélectionnez « oui » et valider avec la touche entrer
Entrez le mot de passe root de mysql puis validez.
Sous RedHat/Centos ou installation manuelle:
Téléchargez
phpmyadmin
depuis
site: http://www.phpmyadmin.net/home_page/index.php
le
– Dezippez l’archive: unzip -e <archive>
– Créez un répertoire dans le répertoire web par défaut
d’apache (/var/www ou /var/www/html suivant les distributions)
mkdir <répertoire web d’apache>/phpmyadmin
– Copiez tout le contenu dans ce répertoire
Se connecter à PHPMyAdmin
Une fois l’installation terminée connectez vous via votre navigateur à l’url: <IP ou
DNS de votre serveur>/phpmyadmin
Connectez vous en indiquant les identifiant root de Mysql
Petite
aperçu de phpmyadmin:
4) Quelque petits tuyaux!
Cette partie de ce tutoriel donne des réponses en vrac à des
question récurrentes que je retrouve sur la plupart des
forums:
Comment modifier le port d’écoute d’apache?
Sous
RedHat
Centos:
modifiez
le
fichier /etc/httpd/conf/httpd.conf puis cherchez « Listen 80 »
et modifiez la valeur 80 par le port de votre choix.
Sous
Debian/Ubuntu:
modifiez
le
fichier
/etc/apache2/ports.conf puis cherchez « Listen 80 » et
modifiez la valeur 80 par le port de votre choix.
Exemple de virtualhost:
<VirtualHost 1.1.1.3:80>
ServerName monsite.com
ServerAdmin [email protected]
DocumentRoot /monsite
DirectoryIndex index.php index.html index.htm
ErrorLog /var/log/apache2/monsitelog
CustomLog /var/log/apache2/monsite.log combined
<Directory /home/monsite/monsite/>
Options -Indexes
AllowOverride All
Order allow,deny
# Restriction par sous réseau pour plus de securité!
Allow from 192.168.0.0/24
</Directory>
php_value error_log /home/site/log/php/monsite.log
php_value warning_log /home/site/log/monsite.log
php_value log_errors On
php_value register_globals Off
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* – [F]
</VirtualHost>
Exemple de virtualhost avec SSL:
<VirtualHost 1.1.2..2:443>
ServerName monsite.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /home/monsite/site
DirectoryIndex index.php index.html
LogLevel info
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory /home/monsite/site/>
ErrorDocument 404 /index.php?currentPage=pageUnfound
Options FollowSymLinks Indexes MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
php_value error_log /home/monsite/log/php/error.php.log
php_value warning_log /home/monsite/log/php/warning.php.log
php_value log_errors On
php_value register_globals Off
ServerSignature On
Options FollowSymLinks
</VirtualHost>
Si vous avez d’autres questions n’hésitez pas à me les envoyer
via mon mail dans la rubrique « me contacter » ou
commentant cette article.
en

Documents pareils

tutoriel - Journal d`un admin Linux

tutoriel - Journal d`un admin Linux Si vous n’êtes pas très bon en base de donnée ou que vous avez tout simplement un client allergique à la ligne de commande je vous suggère d’installer PHPMyAdmin. Pour ceux qui ne connaissent pas P...

Plus en détail

apache2 : serveur Web multi-site - Debian

apache2 : serveur Web multi-site - Debian Voyons voir a quoi pourrait ressembler notre fichier une fois adapté à nos besoins: Pour Apache2.2 dans Wheezy

Plus en détail