Cet article a pour objectif de vous aider à mettre en place un serveur internet complété par une base de données MySQL et un interpréteur PHP le plus rapidement possible sans avoir besoin de trop de préparation. Ce installation concerne les logiciels Apache 1.3.x, PHP 4.3.10 et MySQL 4.0.24.
1 – Installer Debian en mode console
1.2 – Quelle version
Si vous désirez mettre votre serveur web en production et que, par conséquent, vous voulez qu’il soit sécurisé au maximum, je vous conseille d’utiliser une Debian Stable (actuellement nommée Sarge). Dans le cas où vous désirez juste faire quelques tests sur un réseau local où vous n’êtes pas préoccupé par la sécurité, vous pouvez vous pencher sur une Debian Testing (actuellement nommé Etch).
1.2 – Plus d’informations sur l’installation
Vous pouvez utiliser l’installateur réseau de la Sarge disponible ici. Bien que je ne veuille pas m’étendre sur l’installation d’une Debian (cela fera l’objet d’un autre article) merci de prendre en considération ces quelques points:
- N’installer ni gestionnaire de fenêtre ni interface graphique
- En début d’installation choisissez de préférence un système de fichiers journalisé.
- En fin d’installation n’exécuter ni tasktel ni dselect.
- L’applicatif MC (Midnight Commander) peut vous simplifier la vie.
2 – Installer le serveur web Apache 1.3.33-6
2.1 – Récupérer les paquets et les installer
Comme d’habitude sous debian, rien de bien sorcier: il suffit de taper ceci: apt-get install apache
à l’invite de commande.
2.2 – Comment le configurer
Toute la configuration d’Apache est localisée centralisée dans un seul fichier: /etc/apache/httpd.conf
. Comme dans beaucoup de fichiers de configuration sous GNU/Linux, les commentaires sont précédés du symbole « # »
Exemple de fichier /etc/apache/httpd.conf :
# CONFIGURATION DE BASE
#----------------------
ServerType standalone
ServerRoot /etc/apache
LockFile /var/lock/apache.lock
PidFile /var/run/apache.pid
# PidFile: fichier conservant le numéro de processus d'apache
ScoreBoardFile /var/run/apache.scoreboard
ResourceConfig /dev/null
AccessConfig /dev/null
#Les deux lignes précédentes limite l'accès à la configuration d'Apache
# OPTIONS DE PERFORMANCE
#-----------------------
# Toutes ces options gèrent les accès au serveur Web
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 100
# CHARGEMENT DES MODULES
#-----------------------
# Charge les modules d'apache
LoadModule config_log_module /usr/lib/apache/1.3/mod_log_config.so
# config_log_module: module de gestion des journaux (logs)
LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so
# mime_module: détermination du type de document selon les extensions du fichier
LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so
# dir_module: gestion du répertoire racine
LoadModule access_module /usr/lib/apache/1.3/mod_access.so
# access_module: prise en charge des droits d'accès
LoadModule auth_module /usr/lib/apache/1.3/mod_auth.so
# PARAMETRES GENERAUX
#--------------------
# Paramètres du serveur à proprement parler
Port 80
User www-data
Group www-data
# Utilisateur et groupe utilisés par Apache pour accèder aux services du serveur
ServerAdmin webmaster@MonServeur.com
# ServerAdmin: coordonnées du responsable du serveur
UseCanonicalName Off
ServerSignature Off
HostnameLookups Off
ServerTokens Prod
ServerName MonServeur
# ServerName: nom du serveur
DocumentRoot /var/www
# Racine des sites internet
# CONTROLES D'ACCES
#------------------
# Droits d'accès à la racine du serveur via internet
Options None
AllowOverride None
Order deny,allow
Deny from all
# Droits d'accès au répertoire internet
Order allow,deny
Allow from all
Options FollowSymlinks
# OPTIONS DES MODULES
#--------------------
# Définition des types de fichier index
DirectoryIndex index.html index.htm
# Association des types de fichier
TypesConfig /etc/apache/conf/mime.types
# Fichier annexe spécifiant les types de fichiers
DefaultType text/plain
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddType application/x-tar .tgz
# JOURNAUX
#---------
# Formatage de fichiers de log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined LogFormat "%h %l %u %t \"%r\" %>s %b"
common LogFormat "%{Referer}i -> %U"
referer LogFormat "%{User-agent}i" agent
ErrorLog /etc/apache/logs/error_log
CustomLog /etc/apache/logs/access_log combined
Un fois ces modification effectuées, redémarrez Apache afin d’une part qu’elles soient prises en compte et, d’autre part, être sûr que le fichier fonctionne.
- Les fichier de logs doivent pré-exister quitte à créer le repertoire correspondant avec mkdir et le fichier avec touch
- Ce fichier est disponible ici
3 – Installer l’interpréteur PHP 4.3.10
3.1 – Récupérer les paquets et l’installer
Installez PHP4 avec apt-get install php4
(Pour PHP5 ce n’est possible qu’en ajoutant le dépôts de dotdeb à apt).
3.2 – Comment connecter PHP à Apache
Pour « connecter » PHP à Apache vous devez modifier le fichier de configuration d’Apache (voir ci-dessus) tel qu’apparaisse en plus les lignes suivantes:
- Dans le chargement des modules, pour charger automatiquement le module PHP4 avec Apache, rajoutez la ligne suivante:
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
- Et, dans les options des modules:
AddType application/x-httpd-php .php .php3 DirectoryIndex index.php index.php3
3.3 – Configurer PHP4
Le fichier de configuration se localise ici: /etc/php5/apache/php.ini
La configuration de base devrait suffire pour une utilisation classique. Dans le cas contraire je vous invite à consulter la documentation du site officiel
4 – Installer le gestionnaire de base de données MySQL 4.0.24
4.1 -Récupérer les paquets et les installer
Similairement à PHP… apt-get install mysql-server mysql-common mysql-client
4.2 – Comment le configurer en console
Pour lancer la commande d’administration de mysql il suffit de taper mysql -p
à l’invite de commande (quit
permet d’en sortir). C’est ici que vous pouvez créer vos tables, les effacer etc. Personnellement je préfére utiliser l’interface web de PHPMyAdmin. Cependant, par mesure sécurité, il est impératif, et ce dès l’installation de MySQL de changer le mot de passe root (administrateur) de MySQL avec la commande mysqladmin -u root password 'MonNouveauMotDePasse'
4.3 – Connecter MySQL à Apache et PHP
Il n’est pas nécessaire de connecter MySQL à Apache puisque celui-ci est incapable d’y accéder directement. Par contre, PHP doit être capable de se connecter au serveur MySQL pour ce faire il faut installer un package spécifique: apt-get install php5-mysql
5 – Conclusion
Votre serveur web est prêt à accueillir vos site. Il suffira juste de la placer au bon endroit (/var/www/
) et d’y accéder par un navigateur internet en tapant l’adresse ou le nom du serveur.