Serveur Web Debian : Apache PHP7 MariaDB

Je vous propose de mettre en place un serveur web Apache avec PHP et MariaDB. Nous allons effectuer les étapes d'installation et de configuration pour finir avec un fichier phpinfo.

Mettre à jour le système

apt update
apt upgrade

Installations

Installer Apache2

apt install apache2

Installer PHP 7 :

apt install php7.0

Installer MariaDB:

apt install mariadb-server

Depuis une récente mise à jour, MariaDB ne demande plus de définir un mot de passe root lors de l'installation. Par défaut il installe la base de données et créer un accès root sans mot de passe.
Même après avoir lancé la commande mysql-secure-installation, rien n'y fait, le mot de passe n'est pas pris en compte.

La raison à cela est que MariaDB utilise le plugin unix_socket pour l'authentification. Pour authentifier l'utilisateur il utilise l'UID du process connecté au socket, donc pour faire simple, le nom de votre utilisateur Unix.
C'est beau, mais moi je souhaite une authentification basique pour mon utilisateur root. Vous avez toujours la possibilité de réactiver ce plugin ensuite.

Désactiver le plugin unix_socket :

sudo mysql -u root
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
systemctl restart mariadb.service

On peut refaire la procédure normalement :

mysql_secure_installation

Installer php-mysql :

apt install php7.0-mysql

Changer le propriétaire du dossier www

chown -R www-data:www-data /var/www

Modifier le php.ini disponible dans /etc/php/7.0/apache2/php.ini. Pour autoriser l'accès au site modifier la ligne « AllowOverride None » dans la section « <Directory /var/www/> » par

AllowOverride All

Et un rechargement de la conf

systemctl reload apache2

Création du phpinfo

Créer un site de test

cd /var/www
mkdir monsite
cd monsite
nano index.php
<?php
phpinfo();

Création du VirtualHost

Ajout de notre VirtualHost

cd /etc/apache2/sites-available
cp 000-default.conf monsite.conf
nano monsite.conf

Contenu du VirtualHost

<VirtualHost *:80>
        ServerName VOTREIP_OU_DOMAINE
        DocumentRoot /var/www/monsite

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Activer le nouveau site

a2ensite monsite

Redémarrer pour prendre en compte la configuration

systemctl reload apache2

Modules complémentaires (PDO, URL Rewriting)

Activer rewrite pour l'URL rewriting

a2enmod rewrite
Activer PDO

Modifier le php.ini disponible dans /etc/php/7.0/apache2/php.ini

Cherchez

;extension=php_pdo_mysql.dll

Et décommentez

extension=php_pdo_mysql.dll

Redémarrer Apache

systemctl reload apache2

Vérification

Testez votre configuration en accédant à votre site : http://VOTREIP_OU_DOMAINE.
Vous devez retrouver votre extension PDO dans la liste.

Attention ! Si vous utilisez un nom de domaine, n'oubliez pas de configurer un champ de type A pointant vers votre IP chez votre registrar.

Vous disposez maintenant d'une installation Apache, PHP et MariaDB prête à l'emploi !

Merci d'avoir suivi cet article jusqu'au bout ! ❤️

php

Commentaires