Installation de apache, php, mysql et phpmyadmin sur un serveur dédié

configurer apache php mysql

Sommaire

Dans ce tutoriel vidéo consacré aux serveurs dédiés (sommaire des tutos), nous allons voir ce qu’il est nécessaire d’installer pour avoir son site en ligne. Nous allons donc installer et configurer :

  • Un serveur web apache2
  • PHP pour avoir des pages dynamiques
  • Une base de données Mysql
  • L’application Web phpmyadmin pour gérer nos bases de données simplement

Dans la vidéo, vous apprendrez également comment fonctionne apache2, comment activer et désactiver des mods/sites. Voici la vidéo, pensez à activer le mode plein écran avec la HD :

Installation d’apache

Apache est l’un des éléments les plus importants, c’est le serveur web qui va délivrer les pages aux visiteurs. Vous pouvez l’installation via la ligne de commande « apt-get install apache2 apache2-common« . La configuration par défaut d’apache est pas si mal, mais on peut améliorer quelques éléments. Je vous conseille d’ajouter/modifier ces éléments :
Dans /etc/apache2/apache2.conf

Modification à faire dans /etc/apache2/apache2.conf

Dans la vidéo, j’ai également parlé de quelques commandes. En voici un résumé, néanmoins sachez que j’en reparle dans la 3ème vidéo sur les serveurs dédiés :

  • a2enmod : permet d’activer un mod pour apache (apache2 enable mod)
  • a2dismod : permet de désactiver un mod (apache2 disable mod)
  • a2ensite : active un site
  • a2dissite : désactive un site
  • apache2ctl -t -D DUMP_MODULES : permet de voir la liste des modules activés

Une parenthèse au passage, que j’explique dans le 3ème tutoriel, tous les mods disponibles sont contenus dans le dossier /etc/apache2/mods-available et tous les mods activé sont dans /etc/apache2/mods-enabled. C’est la même chose avec les sites dans /etc/apache2/sites-available (et enabled). À chaque fois que vous voulez ajouter un site, vous devez créer un fichier de configuration (appelé un virtual host) dans /etc/apache2/sites-available et activer ce site avec la commande a2ensite.

Par défaut, les sites sont dans le répertoire /var/www (en y faisant un tour, vous retrouvez le fameux « It Works »). Plus tard, on changera ça pour faire une configuration particulière : un site = un utilisateur sur le système et donc les fichiers du site seront contenu dans /home/username/www. Pour cela on aura besoin du mode userdir. (mais c’est l’objet de la prochaine vidéo)

Installation de PHP

Avoir un serveur Web c’est bien, mais s’il est seulement capable de gérer des pages HTML toute simple, on ne va pas aller bien loin ! On a donc besoin d’installer PHP pour avoir des pages dynamiques. Voici la commande (très longue) à taper pour installer PHP et tous ces modules  :

Installation de PHP

Une fois PHP installé, c’est une bonne idée d’aller faire un tour dans les fichiers de configuration. Voici ce que je vous propose de modifier/ajouter :
/etc/php5/apache2/php.ini

Voilà pour le fichier php.ini, qui est très long, je vous recommande de lire la documentation et notamment cette page qui contient toutes les directives de ce fichier php.ini. N’oubliez pas de redémarrer le serveur apache avec un /etc/init.d/apache reload.

Configuration de MySQL

Un site dynamique sans base de données n’est pas très utile. Pour installer MySQL, il suffit de faire un « apt-get install mysql-server mysql-client mysql-common« . Lors de l’installation on vous demandera des informations, comme le mot de passe Root de MySQL. Au niveau de la configuration, voici les options que le recommande :

/etc/mysql/my.cnf

# Mettre la langue en Français
language = /usr/share/mysql/french
# Taille du cache des index
key_buffer = 32M
# Limite du cache par requête
query_cache_limit = 2M
# Limite du cache pour toutes les requêtes
query_cache_size = 32M
# Loguer les requêtes lentes
log_slow_queries = /var/log/mysql/mysql-slow.log
# Indique le temps à partir du moment ou une requête est considéré comme lente
long_query_time = 2
# Activer l'utf-8 par default sur le serveur (dans [mysqld])
default-character-set = utf8
default-collation = utf8_general_ci
# dans [client]
default-character-set = utf8

Après avoir fait des modifications, n’oubliez pas de relancer le serveur avec « /etc/init.d/mysql reload« . Ensuite je vous recommande très fortement de lancer « mysql_secure_installation » pour sécurité votre installation. Répondez « no » à la première question (sauf si vous désirez changer le mot de passe root de mysql) et Yes à toutes les autres (et refaites un reload).

Installation de phpmyadmin

Pour gérer vos bases de données, je vous recommande d’utiliser phpmyadmin qui est bien plus pratique que mysql en ligne de commande. Pour cela rien de plus simple, faites un « apt-get install phpmyadmin » et donner le mot de passe root de MySQL et choigissez un mot de passe Root pour phpmyadmin durant l’installlation.

N’oubliez pas de cocher la case « apache2 » durant l’installation avec la touche espace du clavier (si vous faites « entrer » ça ne cochera pas apache et passera à l’étape suivante). Si vous avez fait « entrer » (comme moi au début, forcément), vous pouvez rattraper la boulette avec un dpkg-reconfigure phpmyadmin.

Lorsque l’installation est terminée, redémarrez apache et allez sur : http://ksXXXXXX.kimsufi.com/phpmyadmin pour vous loguer et créer vos BDD.

Le tutoriel est terminé, n’hésitez pas à approfondir vos connaissances en faisant quelques recherches, bidouiller les fichiers de configurations, poser des questions, c’est comme ça qu’on apprend ! Au passage, je vous propose de rejoindre la page facebook du blog en cliquant ici (merci !).

(Image à la une : DC-31 du kit de photo online)