LAMP est l'abréviation de L inux, A paché, M ySQL, P HP. Ce tutoriel montre comment vous pouvez installer un serveur Web Apache 2 sur un serveur Ubuntu 15.10 (Wiley Werewolf) avec PHP 5.6 (mod_php) et le support MySQL. De plus, j'installerai PHPMyAdmin pour faciliter l'administration de MySQL. Une configuration LAMP est la base idéale pour les systèmes CMS comme Joomla, Wordpress ou Drupal.
Remarque préliminaire
Dans ce tutoriel, j'utiliserai le nom d'hôte server1.example.com avec l'adresse IP 192.168.1.100. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.
Je recommande d'utiliser une configuration minimale de serveur Ubuntu comme base pour le didacticiel, qui peut être une image de serveur virtuel ou racine avec une installation minimale d'Ubuntu 15.10 d'une société d'hébergement Web ou vous utilisez notre didacticiel de serveur minimal pour installer un serveur à partir de zéro.
J'exécute toutes les étapes de ce didacticiel avec les privilèges root, alors assurez-vous d'être connecté en tant que root :
sudo su
Installer MariaDB en remplacement de MySQL
Nous allons installer MariaDB au lieu de MySQL. MariaDB est un fork MySQL maintenu par le développeur original de MySQL, Monty Widenius. MariaDB est compatible avec MySQL et fournit de nouvelles fonctionnalités intéressantes et des améliorations de vitesse par rapport à MySQL. Exécutez la commande suivante pour installer MariaDB-server et client :
apt-get -y install mariadb-server mariadb-client
Maintenant, nous définissons un mot de passe root pour MariaDB.
mysql_secure_installation
Ces questions vous seront posées :
Enter current password for root (enter for none): <-- press enter
Set root password? [Y/n] <-- y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y
Testez la connexion à MariaDB avec la "commande mysql"
mysql -u root -p
et entrez le mot de passe root MariaDB que vous avez défini ci-dessus. Le résultat devrait ressembler à la capture d'écran ci-dessous :
Pour quitter le shell MariaDB, entrez la commande "quit" et appuyez sur entrée.
Installer Apache 2.4
Apache 2 est disponible sous forme de package Ubuntu, nous pouvons donc l'installer comme ceci :
apt-get -y install apache2
Dirigez maintenant votre navigateur vers http://192.168.1.100, et vous devriez voir la page par défaut d'Apache2 (Ça marche !) :
La racine du document du vhost par défaut apache est /var/www/html sur Ubuntu et le fichier de configuration principal est /etc/apache2/apache2.conf. Le système de configuration est entièrement documenté dans /usr/share/doc/apache2/README.Debian.gz .
Installer PHP 5.6
Nous pouvons installer PHP 5.6 et le module Apache PHP comme suit :
apt-get -y install php5 libapache2-mod-php5
Redémarrez ensuite Apache :
systemctl restart apache2
Testez PHP et obtenez des détails sur votre installation PHP
La racine du document du site Web par défaut est /var/www/html. Nous allons maintenant créer un petit fichier PHP (info.php) dans ce répertoire et l'appeler dans un navigateur. Le fichier affichera de nombreux détails utiles sur notre installation PHP, tels que la version PHP installée.
nano /var/www/html/info.php
<?php
phpinfo();
?>
Changez ensuite le propriétaire du fichier info.php en utilisateur et groupe www-data.
chown www-data:www-data /var/www/html/info.php
Maintenant, nous appelons ce fichier dans un navigateur (par exemple http://192.168.1.100/info.php) :
Comme vous le voyez, PHP5 fonctionne, et il fonctionne via le gestionnaire Apache 2.0, comme indiqué dans la ligne API du serveur. Si vous faites défiler plus bas, vous verrez tous les modules déjà activés dans PHP5. MySQL n'y figure pas, ce qui signifie que nous n'avons pas encore de support MySQL/MariaDB en PHP.
Obtenir le support MySQL / MariaDB en PHP
Pour obtenir le support MySQL en PHP, nous pouvons installer le package php5-mysqlnd. Je vais installer le nouveau package de pilotes MySQL php5-mysqlnd ici au lieu de l'ancien package php5-mysql car les anciens pilotes affichent des messages d'erreur concernant une incompatibilité de version de la bibliothèque MySQL lorsqu'ils sont utilisés avec MariaDB. C'est une bonne idée d'installer d'autres modules PHP5, car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP5 disponibles comme ceci :
apt-cache search php5
Choisissez ceux dont vous avez besoin et installez-les comme ceci :
apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Redémarrez maintenant Apache2 :
systemctl restart apache2
Installer le cache PHP APCu pour accélérer PHP
APCu est un cache d'opcode PHP gratuit pour la mise en cache et l'optimisation du code intermédiaire PHP. Il est fortement recommandé d'en installer un pour accélérer votre page PHP.
APCu peut être installé comme suit :
apt-get install php5-apcu
Maintenant, redémarrez Apache :
systemctl restart apache2
Rechargez maintenant http://192.168.1.100/info.php dans votre navigateur et faites défiler à nouveau jusqu'à la section des modules. Vous devriez maintenant y trouver plein de nouveaux modules :
N'oubliez pas de supprimer le fichier info.php lorsque vous n'en avez plus besoin car il fournit des détails sensibles sur votre serveur. Exécutez la commande suivante pour supprimer le fichier.
rm -f /var/www/html/info.php
Activer le site Web SSL dans apache
SSL/TLS est une couche de sécurité pour crypter la connexion entre le navigateur Web et votre serveur. Exécutez les commandes suivantes sur votre serveur pour activer la prise en charge de https://. Exécuter :
a2enmod ssl
a2ensite default-ssl
qui active le module ssl et ajoute un lien symbolique dans le dossier /etc/apache2/sites-enabled au fichier /etc/apache2/sites-available/default-ssl.conf pour l'inclure dans la configuration apache active. Redémarrez ensuite apache pour activer la nouvelle configuration :
systemctl restart apache2
Testez maintenant la connexion SSL en ouvrant https://192.168.1.100 dans un navigateur Web.
Vous recevrez un avertissement SSL car le certificat SSL du serveur est un certificat SSL "auto-signé", cela signifie que le navigateur ne fait pas confiance à ce certificat par défaut et vous devez d'abord accepter l'avertissement de sécurité. Après avoir accepté l'avertissement, vous verrez la page apache par défaut.
Le "cadenas vert" fermé devant l'URL dans le navigateur indique que la connexion est cryptée. Pour supprimer l'avertissement SSL, remplacez le certificat SSL auto-signé /etc/ssl/certs/ssl-cert-snakeoil.pem par un certificat SSL officiellement signé par une autorité SSL.
Installer phpMyAdmin
phpMyAdmin est une interface Web à travers laquelle vous pouvez gérer vos bases de données MySQL. C'est une bonne idée de l'installer :
apt-get -y install phpmyadmin
Vous verrez les questions suivantes :
Web server to configure automatically: <-- Select the option: apache2
Configure database for phpmyadmin with dbconfig-common? <-- Yes
Password of the database's administrative user: <-- Enter the MariaDB root password
MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.
Web server to reconfigure automatically: <-- apache2
Voici la séquence de réponses sous forme de captures d'écran :
MariaDB active un plugin appelé "unix_socket" pour l'utilisateur root par défaut, ce plugin empêche que l'utilisateur root puisse se connecter à PHPMyAdmin et que les connexions TCP à MySQL fonctionnent pour l'utilisateur root. Je vais donc désactiver ce plugin avec la commande suivante :
echo "update user set plugin='' where User='root'; flush privileges;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql
Ensuite, vous pouvez accéder à phpMyAdmin sous http://192.168.1.100/phpmyadmin/ :
Liens
- Apache :http://httpd.apache.org/
- PHP :http://www.php.net/
- MySQL :http://www.mysql.com/
- MariaDB :https://mariadb.com/
- Ubuntu :http://www.ubuntu.com/
- phpMyAdmin :http://www.phpmyadmin.net/