L'objectif est d'installer et de configurer un serveur Web tournant sous UNIX ou GNU/Linux, avec Apache2 + PHP + MySQL, et d'avoir ainsi un site dynamique.
Préparation à l'installation:
Nous prendrons les dernières versions en date pour des raisons de stabilité et en archive tar.gz.
En ce moment, Apache est en version 2.2.4, PHP est en version 4.4.6 ou 5.2.1 et MySQL est en version 5.0.37.
Télécharger les fichiers "httpd-2.2.4.tar.gz", "php-5.2.1.tar.gz" et "mysql-5.0.37.tar.gz" et les placer dans le répertoire /usr/src (disponibles sur le site dans la section "Téléchargements", rubrique "Serveur Web").
A partir de /usr/src, nous allons décompresser les archives tar.gz:
Ouvrir un terminal et:
[_]cd /usr/src
[root@_]tar -vzxf http-2.2.4.tar.gz
[root@_]tar -vzxf php-5.2.1.tar.gz
[root@_]tar -vzxf mysql-5.0.37.tar.gz
Le système va créer les répertoires /usr/src/httpd-2.2.4, /usr/src/php-5.2.1 et /usr/src/mysql-5.0.37: c'est à partir de là que se fera la compilation et l'installation.
Se mettre en "root" pour toute la suite de l'install.
Installation et configuration de MySQL:
Créer un groupe et un utilisateur "mysql":
[root@_]groupadd mysql
[root@_]adduser mysql -g mysql
Créer les répertoires "mysql", "mysql/data", "mysql/tmp" et "mysql/var" dans /usr/local:
[root@_]mkdir /usr/local/mysql
[root@_]mkdir /usr/local/mysql/data
[root@_]mkdir /usr/local/mysql/tmp
[root@_]mkdir /usr/local/mysql/var
Se placer dans le répertoire d'installation de MySQL:
[root@_]cd usr/src/mysql-5.0.37
et lancer la compilation et l'installation:
[root@_]./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.socket (on indique le chemin "/usr/local/mysql" où se situera mysql, l'endroit où seront les bases de données "/usr/local/mysql/data")
[root@_]make
[root@_]make install
MySQL est maintenant installé dans /usr/local/mysql
Ensuite on initialise MySQL:
[root@_]cd usr/local/mysql/bin
[root@_]./mysql_install_db
[root@_]chown -R mysql.mysql /usr/local/mysql
Et on le lance:
[root@_]cd /usr/local/mysql/share/mysql
[root@_]./mysql.server start
On vérifie que ça fonctionne bien:
[root@_]cd /usr/local/mysql/bin
[root@_]./mysqladmin -p status
On peut créer un service qui permettera de lancer automatiquement MySQL au démarrage du serveur. Pour cela, créer un fichier "mysql" dans /etc/rc.d/init.d/mysql. Ce fichier doit contenir les lignes:
"/usr/local/mysql/share/mysql/./mysql.server start" pour démarrer MySQL
"/usr/local/mysql/share/mysql/./mysql.server stop" pour arrêter MySQL.
Passons maintenant à l'installation d'Apache.
Installation d'Apache:
On se rend dans le répertoire d'installation d'Apache:
[root@_]cd /usr/src/httpd-2.2.4
Et on compile et installe avec toutes les options:
[root@_]./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-mods-shared=all --enable-ssl --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http
[root@_]make
[root@_]make install
Apache est maintenant installé dans /usr/local/apache2.
Remarque: Apache a été compilé et installé avec la prise en charge de l'accès sécurisé SSL (serveur web sécurisé). Ne pas oublier d'avoir OpenSSL d'installé sur la machine serveur.
Finissons avec l'installation de PHP.
Installation de PHP:
On se rend dans le répertoire d'installation de PHP:
[root@_]cd /usr/src/php-5.2.1
Et on lance la compilation et l'installation avec le maximum d'options:
[root@_]./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib-dir --with-gd --with-png-dir --with-jpeg-dir --enable-png --enable-jpeg --with-ttf --enable-gd-native-ttf --with-freetype-dir --with-freetype2-dir --with-xpm --with-iconv --enable-dbase --enable-mbstring=all --enable-ftp --with-openssl
[root@_]make
[root@_]make install
[root@_]cp php.ini-dist /usr/local/lib/php.ini
A la ligne "doc_root" de php.ini, compléter avec la racine du site. Par exemple, si notre site Web est dans le réperoire "/WEB/html", la ligne en question de php.ini doit avoir la forme de: doc_root=/WEB/html.
Apache est maintenant compilé avec PHP.
Il reste à configurer Apache pour qu'il pointe vers notre site (dans l'exemple /WEB/html) et qu'il prenne en compte PHP.
Configuration d'Apache:
Editer /usr/local/apache2/conf/httpd.conf pour rajouter une ligne "LoadModule php5_module modules/libphp5.so" à la fin des lignes LoadModule, changer la ligne "Group #-1" en "Group nogroup", rajouter la ligne "AddType application/x-httpd-php .php .php3 .php4 .php5".
A la ligne DocumentRoot, compléter avec le chemin du site (on doit avoir: DocumentRoot /WEB/html), de même la ligne Directory doit être de la forme: Directory "/WEB/html".
A la ligne DirectoryIndex, compléter avec "index.php" (on doit avoir par exemple: DirectoryIndex index.htm index.html index.html.var index.php index.php3 index.php4 index.asp index.aspx)
Compléter la ligne ServerName par le DNS ou localhost, par exemple ServerName www.monsite.com
Pour démarrer Apache:
[root@_]cd /usr/local/apache2/bin
[root@_]./httpd -k start
On vérifie en tapant l'adresse du site dans un navigateur (ou http://localhost): si tout va bien on doit pointer vers notre site Web (si on a déjà un contenu).
Egalement, comme MySQL, si on veut un démarrage automatique d'Apache, créer un fichier "apache2" dans /etc/rc.d/init.d/apache2. Ce fichier doit contenir les lignes suivantes:
"/usr/local/apache2/bin/./apachectl -k start" pour démarrer Apache
"/usr/local/apache2/bin/./apachectl -k stop" pour arrêter Apache.
Voila, notre serveur est fin prêt pour recevoir notre superbe site!...penser à ouvrir le port 80 pour qu'il soit visible de l'Internet.
Ce tutau est une installation minimale d'Apache+PHP+MySQL: il existe plusieurs sites qui permettent des configurations plus fines, notamment dans la config du "httpd.conf", la sécurité avec les ".htaccess" et la sécurité de PHP.
Copyright © par . www.virtuelnet.net :: Hébergement libre sur serveurs libres Tous droits réservés.