GNU/Linux >> Tutoriels Linux >  >> Debian

Tutoriel du serveur Debian 9 LAMP avec Apache, PHP 7 et MariaDB

LAMP est l'abréviation de L inux, A paché, M ySQL, P HP. Ce didacticiel montre comment installer un serveur Web Apache sur un serveur Debian Stretch (9) avec la prise en charge de PHP 7 (mod_php) et de MariaDB. MariaDB est un fork du serveur de base de données MySQL bien connu, il fournit un ensemble de fonctionnalités compatibles avec MySQL et est un peu plus rapide selon les références que j'ai trouvées sur Internet. MariaDB fonctionnera avec toutes les applications qui nécessitent MySQL comme Wordpress, Joomla etc.

Une configuration LAMP est une base parfaite pour les systèmes CMS comme Joomla, Wordpress ou Drupal.

1 Remarque préliminaire

Dans ce tutoriel, j'utilise 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.

2 Installer MariaDB en remplacement de MySQL

Tout d'abord, nous installons MariaDB comme ceci :

apt-get -y install mariadb-server mariadb-client

Ensuite, nous allons sécuriser MariaDB avec mysql_secure_installation commande. Exécutez la commande ci-dessous et suivez l'assistant.

mysql_secure_installation

L'entrée recommandée est indiquée en rouge.

mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): <-- Hit return
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] <-- y
New password: <-- Enter the new password for the MariaDB root user
Re-enter new password: <-- Enter the password again
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <-- y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <-- y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <-- y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <-- y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

La configuration de MariaDB est maintenant sécurisée.

3 Installer le serveur Web Apache

Apache est disponible en tant que package Debian, 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 d'espace réservé Apache2 (Ça marche !) :

La racine de document par défaut d'Apache est /var/www sur Debian, et le fichier de configuration est /etc/apache2/apache2.conf. Des configurations supplémentaires sont stockées dans des sous-répertoires du répertoire /etc/apache2 tels que /etc/apache2/mods-enabled (pour les modules Apache), /etc/apache2/sites-enabled (pour les hôtes virtuels) et /etc/apache2/conf -activé.

4 Installer PHP 7.1

Nous pouvons installer PHP et le module Apache PHP comme suit :

apt-get -y install php7.0 libapache2-mod-php7.0

Il faut relancer Apache après :

service apache2 restart

5 Tester PHP / Obtenir 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();

Maintenant, nous appelons ce fichier dans un navigateur (par exemple http://192.168.1.100/info.php) :

Comme vous le voyez, PHP 7.0 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 / MariaDB n'y figure pas, ce qui signifie que nous n'avons pas encore de support MySQL dans PHP5.

6 Obtenir la prise en charge de MySQL et MariaDB en PHP

Pour bénéficier de la prise en charge de MySQL en PHP, nous allons installer le package php7.0-mysql. C'est une bonne idée d'installer d'autres modules PHP, car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP 7 disponibles comme ceci :

apt-cache search php7.0

Choisissez ceux dont vous avez besoin et installez-les comme ceci :

apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl

Maintenant, redémarrez Apache :

service apache2 restart

7 Cache PHP pour améliorer la vitesse de PHP

Pour accélérer PHP, un Opcache doit être installé. Vérifiez si le module PHP Opcache a été installé et activé correctement. Exécutez cette commande :

php --version

La sortie doit contenir la ligne que j'ai marquée en rouge.

PHP 7.0.27-0+deb9u1 (cli) (built: Jan 5 2018 13:51:52) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Si vous ne voyez pas le module Opcache dans le résultat, installez-le avec cette commande :

apt-get -y install php7.0-opcache

Il y a un autre cache qui pourrait être utile, son nom est APCu. APCu est un cache d'opcode PHP gratuit pour la mise en cache et l'optimisation du code intermédiaire PHP.

APCu peut être installé comme suit :

apt-get -y install php-apcu

Maintenant, redémarrez Apache :

service apache2 restart

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, dont le module MySQL qui sert de pilote MariaDB :

8 phpMyAdmin

phpMyAdmin est une interface Web à travers laquelle vous pouvez gérer vos bases de données MySQL et MariaDB. C'est une bonne idée de l'installer :

apt-get -y install phpmyadmin

Vous verrez les questions suivantes :

Web server to reconfigure automatically: <-- apache2

Configure database for phpmyadmin with dbconfig-common?<-- Yes

MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.

Ensuite, vous pouvez accéder à phpMyAdmin sous http://192.168.1.100/phpmyadmin/ :

9 Activer la connexion racine MySQL pour phpMyAdmin

Bien que vous puissiez vous connecter en tant qu'utilisateur root à MariaDB sur le shell, la connexion root ne fonctionnera pas dans phpMyAdmin. Pour permettre à l'utilisateur root d'utiliser également phpMyAdmin, exécutez la commande suivante sur le shell :

echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p
  • Apache :http://httpd.apache.org/
  • PHP :http://www.php.net/
  • MySQL :http://www.mysql.com/
  • Debian :http://www.debian.org/
  • phpMyAdmin :http://www.phpmyadmin.net/

Debian
  1. Comment configurer Opencart avec LAMP (PHP, Apache, Mariadb) sur Debian 11

  2. Comment installer et configurer PHP et Apache (pile LAMP) sur Debian 11

  3. Installer et configurer Apache et PHP avec cgi sur Ubuntu ou Debian

  4. Configurer Apache et Php avec mod_fcgid sur Ubuntu/Debian

  5. Installez Zenario avec Apache, PHP et MariaDB sur CentOS 7

Installer WordPress 5 avec Apache sur Debian 9

Installer Lighttpd avec PHP FPM et MariaDB (LLMP) sur Debian 9

Comment installer Apache, MariaDB, PHP (pile LAMP) sur Debian 11

Comment installer Apache, MariaDB et PHP (LAMP) sur Debian 11

Comment installer et configurer LAMP sur Debian 11 (Bullseye)

Comment configurer la pile LAMP (Apache, MariaDB et PHP) sur Debian 11