Outils d'utilisateurs

Outils du Site


lamp-install

Ceci est une ancienne révision du document !


tag_debian_lamp_apache_mysql_php_web_tutoriel

INSTALLATION D'UN SERVEUR LAMP SOUS DEBIAN 6

Pré requis

Installation de Debian 6

Installation du serveur LAMP

Description des paquets à installer

Le paquet apache2 installe le serveur Apache 2.

Le paquet mysql-server installe le serveur MySQL.

Le paquet php5 installe le langage PHP 5 et, grâce aux dépendances, le module d'intégration dans Apache (paquet libapache2-mod-php5).

Le paquet php5-mysql installe les mécanismes de communication e ntre PHP 5 et MySQL.

Installation

aptitude install apache2 php5 mysql-server php5-mysql

Entrer un mot de passe pour l'utilisateur “root” de MySQL

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image002.jpg

Entrer à nouveau ce mot de passe pour confirmer

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image004.jpg

Tests

Tester apache

Entrer l'adresse de votre serveur dans un navigateur

http://localhost ou http://adresse_ip_du_serveur

Une page contenant ce texte doit s'afficher :

** It works! ** 
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Si ce n'est pas le cas redémarrer apache
/etc/init.d/apache2 restart

Tester PHP

Créez le fichier /var/www/test.php contenant:

<? phpinfo(); ?>

nano /var/www/test.php

taper le texte suivant:

<? phpinfo(); ?>

Faire Ctrl + O pour enregistrer, puis Entrer pour valider le nom du fichier à écrire

Ctrl + X pour fermer nano

Entrer l'adresse de votre serveur dans un navigateur

http://localhost/test.php ou http://adresse_ip_du_serveur/test.php

Une page contenant les infos sur PHP doit s'afficher

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image006.jpg

Administration

Installation de PHPmyadmin

aptitude install phpmyadmin

Sélectionner le serveur web précédemment installé : Apache

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image008.jpg

Répondre Oui à la question : Faut-il configurer la base de données de phpmyadmin avec dbconfig-common ?

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image010.jpg

Entrer le mot de passe administrateur de MySQL (celui créé à l'installation de MySQL)

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image012.jpg

Entrer un mot de passe de connexion MySQL pour phpmyadmin

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image014.jpg

Confirmer ce mot de passe

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image016.jpg

Dans un navigateur, entrer l'adresse de phpmyadmin sur votre serveur

http://localhost/phpmyadmin ou http://adresse_ip_du_serveur/phpmyadmin

La page d'authentification de phpmyadmin doit s'afficher

Se connecter avec le compte root et le mot de passe définit à l'installation de MySQL

docume_1_lussag_1_locals_1_temp_msohtmlclip1_01_clip_image018.jpg

Paramétrage Apache

Source : http://doc.ubuntu-fr.org/tutoriel/virtualhosts_avec_apache2

Après redémarrage d'Apache (/etc/init.d/apache2 restart) le message suivant apparaît:

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

Il faut rajouter dans le fichier /etc/apache2/apache2.conf la ligne:

ServerName localhost

Vistualhost

Pour chaque sites hébergés il faut ajouter une ligne dans le fichier /etc/hosts

nano /etc/hosts

taper le texte suivant:

127.0.0.1 monsite1.fr
127.0.0.1 monsite2.fr

Faire Ctrl + O pour enregistrer, puis Entrer pour valider le nom du fichier à écrire

Ctrl + X pour fermer nano

Créer les répertoires correspondant à chaque site dans /var/www/

mkdir /var/www/monsite1
mkdir /var/www/monsite2

Créer les fichiers de configuration pour chacun des sites dans /etc/apache2/sites-available/

(un modèle existe : /etc/apache2/sites-available/default)

nano /etc/apache2/sites-available/monsite1

taper le texte suivant:

<VirtualHost *>:80
ServerAdmin webmaster@monsite1.fr
ServerName monsite1.fr
ServerAlias www.monsite1.fr
DocumentRoot /var/www/monsite1
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/monsite1>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/monsite1_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>

Faire Ctrl + O pour enregistrer, puis Entrer pour valider le nom du fichier à écrire

Ctrl + X pour fermer nano

Faire la même chose avec les autres sites

Activer les sites :

a2ensite monsite1
a2ensite monsite2

Recharger la configuration d'apache

/etc/init.d/apache2 reload

Vos sites doivent maintenant être accessibles (http://monsite1.fr, http://monsite2.fr )

N'oublier pas de créer une page sur chacun des sites pour tester :

nano /var/www/monsite1/index.html

taper le texte suivant:

<h1>monsite1</h1>

Faire Ctrl + O pour enregistrer, puis Entrer pour valider le nom du fichier à écrire

Ctrl + X pour fermer nano

nano /var/www/monsite2/index.html

taper le texte suivant:

<h1>monsite2</h1>

Faire Ctrl + O pour enregistrer, puis Entrer pour valider le nom du fichier à écrire

Ctrl + X pour fermer nano

Pour désactiver un site :

a2dissite monsite1
/etc/init.d/apache2 reload

Sécuriser avec OpenSSL (https)

Installer OpenSSL

aptitude install openssl

Créer un certificat

openssl req -x509 -nodes –days 365 -newkey rsa:1024 –out /etc/apache2/server.crt -keyout /etc/apache2/server.key

Explications :

- x509 -nodes donne le type de certificat voulu

- days 365 indique la durée de validité (en jours) de votre certificat

- newkey rsa:1024 demande une clé RSA de 1024 bits - d'après la doc apache, il est déconseillé de créer une clé plus grosse pour des histoires de compatibilité

- out /etc/apache2/server.crt est le chemin de votre certificat

- keyout /etc/apache2/server.key est le chemin de la clé privée

Répondre aux questions :

Country Name (2 letter code) [AU]: FR
State or Province Name (full name) [Some-State]:FRANCE
Locality Name (eg, city) []:TOULOUSE
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SOCIETE
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:mondomaine1.fr
Email Address []:admin@mondomaine1.fr

Protéger la clé privée :

chmod 440 /etc/apache2/server.key

Activer le module SSL

a2enmod ssl

Ajout du port 443 en écoute

Editer le fichier /etc/apache2/ports.conf

nano /etc/apache2/ports.conf

ajouter la ligne (si elle n'est pas déjà présente) :

Listen 443

Faire Ctrl + O pour enregistrer, puis Entrer pour valider le nom du fichier à écrire

Ctrl + X pour fermer nano

Fichier de configuration

Ouvrir le fichier de configuration du site à sécuriser

nano /etc/apache2/sites-available/monsite1

Modifier le port 80 = 443

Ajouter les directives

SSLEngine on : permet d'activer le moteur SSL au sein d'un hôte virtuel, Elle peut prendre deux arguments –> on/off

SSLCertificateFile /etc/apache2/server.crt : définit le certificat authentifiant le Serveur auprès des clients

SSLCertificateKeyFile /etc/apache2/server.key : définit la clé privée du Serveur utilisée pour signer l'échange de clé entre le client et le serveur

Ce qui donne :

<VirtualHost *:443>
ServerAdmin webmaster@monsite1.fr
ServerName monsite1.fr
ServerAlias www.monsite1.fr
DocumentRoot /var/www/monsite1
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/monsite1>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/monsite1_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/server.crt
SSLCertificateKeyFile /etc/apache2/server.key
</VirtualHost>

Faire Ctrl + O pour enregistrer, puis Entrer pour valider le nom du fichier à écrire

Ctrl + X pour fermer nano

Recharger la configuration

/etc/init.d/reload

Test

Le site doit maintenant être accessible à l'adresse : https://monsite1.fr

lamp-install.1371640912.txt.gz · Dernière modification: 2013/07/22 18:36 (modification externe)