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.1371640123.txt.gz · Dernière modification: 2013/07/22 18:36 (modification externe)