SDB:Linux Apache MySQL PHP

Aller à : navigation, rechercher


Testé sur openSUSE

Articles recommandés

Articles liés

Icon-help.png


Cette page explique comment installer un serveur LAMP — Linux Apache MariaDB PHP. Pour cela il faut installer et configurer:
  • un serveur Apache2,
  • un serveur de bases de donnés MariaDB — MySQl —,
  • PHP7 (ou PHP5) pour un fonctionnement coordonné avec Apache, et pour finir
  • phpMyAdmin pour administrer les bases de données depuis une interface Web.
Le temps requis pour une telle installation / configuration est d'environ 20 minutes, mais cela peut dépendre de la performance de votre connexion à Internet.

Cet article a été mis à jour pour refléter l'installation sur les versions openSUSE Leap and Tumbleweed actuellement supportées. Cependant, il ne s'écarte pas beaucoup des préconisations concernant les versions précédentes d'openSUSE.

Obtenir les privilèges du super-utilisateur

Ouvrez un terminal et tapez:

user $ su -
Password:

Après que vous avez tapé votre mot de passe et validé, le prompt passe en rouge et se termine par le signe #.


Installer et configurer Apache2

Installer Apache2

Vérifiez que vous avez les privilèges du super-utilisateur et entrez la commande suivante :

root # zypper in apache2


Démarrer Apache2

Pour démarrer le serveur apache, entrez la commande suivante :

root # systemctl start apache2
Si vous devez le redémarrer, utilisez
root # systemctl restart apache2

ou si vous voulez l'arrêter

root # systemctl stop apache2

Pour que le serveur apache démarre automatiquement au démarrage de l'ordinateur :

root # systemctl enable apache2


Tester l'installation

Pour tester le fonctionnement du serveur apache, créez un fichier index.html dans le dossier /srv/www/htdocs/ avec le contenu suivant :

Fichier /srv/www/htdocs/index.html Fichier de test pour apache
<html>
    <body>
        <h1>Bienvenue sur mon site Web!</h1>
    </body>
</html>

Maintenant, pointez votre navigateur sur : localhost. Vous devriez voir une page avec le titre de niveau 1 suivant : Bienvenue sur mon site Web!.

Autoriser l'accès public au serveur Web

Pour le moment, le serveur Web n'est accessible que depuis l'hôte local — localhost. Si vous voulez donner l'accès depuis un hôte distant, vous devez ouvrir le port 80 (http) dans le pare-feu.

SuSEfirewall2

Pour cela, éditez le fichier {/etc/sysconfig/SuSEfirewall2 et changez la ligne

FW_CONFIGURATION_EXT=""

en

FW_CONFIGURATION_EXT="apache2""
Les élément listés dans cette ligne doivent être séparés par un espace.

Ensuite, redémarrez le pare-feu :

root # systemctl restart SuSEfirewall2
En alternative, vous pouvez autoriser cet accès public en utilisant YaST. Sélectionnez Sécurité et utilisateurs --> Pare-feu --> Services autorisés et ajouter serveur HTTP.

Firewalld

En tant que root exécutez ceci. Notez que ceci suppose que la zone que vous avez configurée est " public ". Remplacez public par la zone que vous avez sélectionnée.

firewall-cmd --zone=public --add-port=80/tcp --permanent

Ensuite vous ajoutez le service de rechargement des règles de pare-feu du pare-feu.

firewall-cmd --reload

Alternativement, vous pouvez utiliser l'interface utilisateur graphique via YaST.

  • Ouvrez le centre de contrôle YaST.
  • Sélectionnez Pare-feu.
  • La Configuration pour la modification des valeurs par défaut sous Runtime. Toute modification que vous apporterez n'affectera que le Runtime en cours de la machine.
  • Notez la zone que le réseau est en cours d'exécution et assurez-vous que la zone actuelle est sélectionnée sous l'onglet " Zones ".
  • Dans l'onglet Services, localisez apache2 dans la fenêtre.
  • Si vous souhaitez rendre ce changement permanent sous la zone sélectionnée, sélectionnez Options > Runtime to Permanent.
  • Si aucune autre modification du pare-feu n'est nécessaire, fermez la fenêtre Configuration, les modifications sont immédiates.

Installer et configurer PHP

Installer PHP7

Assurez-vous d'avoir un accès super utilisateur (root) - voir plus haut. Installez php7 en utilisant :

root # zypper in php7 php7-mysql apache2-mod_php7

N’oubliez pas d’activer mod-php en exécutant :

root # a2enmod php7

Vous avez terminé, php7 est maintenant installé

Installer PHP5

Si à la place de PHP7 vous voulez installer PHP5, les étapes sont les mêmes que ci-dessus avec 'php5' au lieu de 'php7' :

Assurez-vous d'avoir les privilèges du super-utilisateur — voir plus haut. Installez php5 avec :

root # zypper in php5 php5-mysql apache2-mod_php5

N'oubliez pas d'activer mod-php avec :

root # a2enmod php5

Voilà! C'est tout! php5 est installé.

Redémarrer le serveur Web

Maintenant que PHP est installé, il faut redémarrer le serveur apache :

root # systemctl restart apache2

Tester l'installation

Pour vérifier que php fonctionne, créez un fichier index.php dans le dossier /srv/www/htdocs/ avec le contenu suivant :

Fichier /srv/www/htdocs/index.php Fichier de test pour php
<?php 
    phpinfo();
 ?>

Pointez maintenant votre navigateur sur localhost/index.php. Vous devriez voir une page avec un tableau résumant la configuration de php.

Index-php.png

Installer et configurer MariaDB

MariaDB est un paquet alternatif à MySQL, c'est pourquoi nous utiliserons indifféremment les mots MariaDB et mysql dans la suite de ce document.

Installer MariaDB

Assurez-vous d'avoir les privilèges du super-utilisateur — voir plus haut. Vous devez installer mariadb et mariadb-tools:

root # zypper in mariadb mariadb-tools
Le paquet mariadb-tools est nécessaire pour l'administration

Démarrer le serveur MariaDB

Pour démarrer le serveur MariaDB, executez:

root # systemctl start mysql
Si vous voulez voir les messages émis par le serveur affichez le contenu du fichier /var/log/messages :
root # cat /var/log/messages

Pour que le serveur démarre à chaque démarrage de l'ordinateur :

root # systemctl enable mysql
Si vous avez besoin de redémarrer mysql, exécutez
root # systemctl restart mysql

ou, si vous voulez l'arrêter

root # systemctl stop mysql

Configurer serveur MariaDB/MySql

Pour configurer le serveur MariaDB avec un niveau de sécurité amélioré, il est recommandé d'utiliser le script mysql_secure_installation fourni par openSUSE. Voici comment les choses se passent :

root # 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):

Contentez-vous de presser la touche Entrée pour le moment.

root #
... (suite de la sortie de la commande précédente)

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

Répondez y pour oui ici.

root #
... (suite de la sortie de la commande précédente)

New password:

Saisissez le mot de passe du super-utilisateur.

root #
... (suite de la sortie de la commande précédente)

Re-enter new password:

Confirmez le mot de passe du super utilisateur.

root #
... (suite de la sortie de la commande précédente)

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]

Répondez y pour oui pour supprimer les utilisateurs anonymes.

root #
... (suite de la sortie de la commande précédente)

... 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]

Répondez y pour oui.

root #
... (suite de la sortie de la commande précédente)

... 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]

Répondez y pour oui

root #
... (suite de la sortie de la commande précédente)

- 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]

Répondez y pour oui

root #
... (suite de la sortie de la commande précédente)

... 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!

Pour mémoire en ce qui concerne les versions antérieures

En remplaçant <NEW PASSWORD> avec la valeur du mot de passe que vous voulez définir, exécutez :

root # mysqladmin -u root password '<NEW PASSWORD>'
Password:

Saisissez le mot de passe actuel ou pressez simplement Entrée si c'est la première fois que vous définissez un mot de passe.

Se connecter au client

Maintenant vous pouvez vous connecter au client du serveur en exécutant la commande suivante :

root # mysql -u root -p
Enter password:

Saisissez votre mot de passe de super-utilisateur.

root #
... (suite de la sortie de la commande précédente)

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 154 Server version: 10.0.22-MariaDB openSUSE package

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Pour quitter et retourner au terminal, exécutez :

root #
... (suite de la sortie de la commande précédente)


Installer phpMyAdmin

Qu'est ce que phpMyAdmin?

phpMyAdmin — encore appelé pma — est un outil d'administration des bases de données via une interface Web.

Installer phpMyAdmin

Pour installer phpMyAdmin exécutez :

root # zypper in phpMyAdmin

Un certain nombre de modules php5 seront installés en tant que dépendances. Ensuite redémarrez le serveur apache.

root #
... (suite de la sortie de la commande précédente)

Se connecter à phpMyAdmin

Pour se connecter à phpMyAdmin:

  • Pointez votre navigateur sur localhost/phpMyAdmin
  • Saisissez l'identifiant et le mot de passe de l'utilisateur root du serveur mysql.
  • Cliquez sur le bouton de confirmation.
Normalement, vous devriez aboutir sur une page avec un message d'erreur vous signalant que l'extension Multibytes String n'est pas activé. C'est l'objet de la section suivante que de l'activer.

Configurer phpMyAdmin et tester

Maintenant pointez votre navigateur sur http://localhost/phpmyadmin ou http://ip_address/phpmyadmin et entrez l'identifiant et le mot de passe de l'utilisateur root du serveur mysql. PhpMyAdminInterface.png

C'est tout! Vous pouvez administrer vos bases de données depuis une interface Web.

  • Lisez la documentation de phpMyAdmin sur phpMyAdmin website.
  • N'oubliez pas de prendre les mesures de sécurité nécessaires.

Vous devriez désormais disposer d'un serveur Lamp fonctionnel ! Félicitations !