Outils d'utilisateurs

Outils du Site


tutoriels:lamp-install:lamp-install

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

image002.jpg

Entrer à nouveau ce mot de passe pour confirmer

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

image006.jpg

Administration

Installation de PHPmyadmin

aptitude install phpmyadmin

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

image008.jpg

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

image010.jpg

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

image012.jpg

Entrer un mot de passe de connexion MySQL pour phpmyadmin

image014.jpg

Confirmer ce mot de passe

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

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

tutoriels/lamp-install/lamp-install.txt · Dernière modification: 2013/07/22 18:40 (modification externe)