Installation d’Apache – MariaDB – PHP sur Manjaro

l’Almanet doLys Gnu/Linux – Open Source – Entreprises Forums L’almanet doLys Open Source Installation d’Apache – MariaDB – PHP sur Manjaro

Mots-clés : , ,

4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Articles
  • #11345
    obelix1502obelix1502
    Participant

      Je voudrais vous faire un petit tutoriel ici de l’installation d’Apache, MariaDB PHP et même PHPmyAdmin sur Manjaro car j’ai vraiment galéré à l’installation.
      On peut me rétorquer qu’il y a le paquet LAMPP tout prêt, mais selon beaucoup d’utilisateurs beaucoup plus calés que moi, ce serait, paraît-il une vraie usine à gaz.

      Donc commençons.
      1) Mettre à jour le système

      sudo pacman -Syu

       

      2) Installation d’Apache

      sudo pacman -S apache

       

      On édite ensuite le fichier /etc/httpd/conf/httpd.conf

      sudo nano /etc/httpd/conf/httpd.conf

       

      Recherchez et commentez la ligne suivante si ce n’est déjà fait :

      # LoadModule unique_id_module modules/mod_unique_id.so

      Sauvegardez et fermez le fichier.

      On va maintenant autoriser Apache à démarrer au démarrage de l’ordinateur et ensuite le redémarrer :

      sudo systemctl enable httpd
      sudo systemctl restart httpd

       

      Vous pouvez maintenant vérifier si Apache est bien démarré par la commande :

      sudo systemctl status httpd

       

      Voici ce que vous devriez obtenir en retour de cette commande :

      httpd.service - Apache Web Server
      Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor
      preset: disabled)
      Active: active (running) since Tue 2016-02-16 13:00:18 IST; 7s ago
      Main PID: 1067 (httpd)
      Tasks: 82 (limit: 512)
      CGroup: /system.slice/httpd.service
      ├─1067 /usr/bin/httpd -k start -DFOREGROUND
      ├─1070 /usr/bin/httpd -k start -DFOREGROUND
      ├─1071 /usr/bin/httpd -k start -DFOREGROUND
      └─1072 /usr/bin/httpd -k start -DFOREGROUND
      Feb 16 13:00:18 server systemd<1>:
      Started Apache Web Server.

       

       Feb 16 13:00:18 server httpd<1067>: AH00558: httpd: Could not reliably dete...ge Hint: Some lines were ellipsized, use -l to show in full.

      Apache server is ready to use.

       

      Tester Apache
      Créez un fichier à la racine du répertoire d’Apache (/srv/http)

      sudo nano /srv/http/index.html

      Et ajoutez-y ce code HTML :

      <html>
      <head>
      <title>Welcome</title>
      </head>
      <body>
      <h2>Welcome to my Web Server test page</h2>
      </body>
      </html>

       

      Maintenant, ouvrez votre navigateur favori et entrez l’URL suivante :

      http://localhost/ ou http://127.0.0.1/

      Vous devriez obtenir ceci :

      3) Installation de MariaDB

      Entrez la commande suivante afin de pouvoir l’installer :

      sudo pacman -S mysql

       

      Comme vous le savez peut-être, MariaDB est maintenant officiellement l’implémentation par défaut de MySQL dans Arch Linux depuis 2013. Il vous sera donc demandé si vous souhaitez installer MariaDB ou le serveur Percona. Appuyez simplement sur Entrée et appuyez à nouveau sur Entrée. La sélection par défaut (MariaDB) sera installée sur votre Manjaro.

      <root@server ~># pacman -S mysql
      :: There are 2 providers available for mysql:
      :: Repository extra
      1) mariadb
      :: Repository community
      2) percona-server
      Enter a number (default=1):
      ## Press Enter

       

       resolving dependencies... looking for conflicting packages... Packages (7) boost-libs-1.60.0-2 icu-56.1-2 jemalloc-4.0.4-1libmariadbclient-10.1.11-1 libxml2-2.9.3-1 mariadb-clients-10.1.11-1 mariadb-10.1.11-1 Total Download Size: 30.68 MiB Total Installed Size: 218.10 MiB :: Proceed with installation? <Y/n>

       

      Vous devez initialiser le répertoire de données MariaDB avant de démarrer le service. Pour cela, lancez:

      sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

       

      Exécutez ensuite la commande suivante pour activer et démarrer le service MariaDB :

      sudo systemctl enable mysqld
      sudo systemctl start mysqld

       

      Vous pouvez vérifier si MariaDb est en cours d’exécution ou non à l’aide de la commande :

      sudo systemctl status mysqld

       

      Le retour de la commande :

      mysqld.service - MariaDB database server
      Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled;
      vendor preset: disabled)
      Active: active (running) since Tue 2016-02-16 13:19:50 IST; 44s ago
      Process: 1406 ExecStartPost=/usr/bin/mysqld-post (code=exited,
      status=0/SUCCESS)
      Main PID: 1405 (mysqld)
      Tasks: 26 (limit: 512)
      CGroup: /system.slice/mysqld.service
      └─1405 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid
      Feb 16 13:19:49 server mysqld<1405>: 2019-03-16 13:19:49 139930931222400
      : 2019-03-16 13:19:49 139930931222400
      : 2019-03-16 13:19:49 139930931222400
      : 2019-03-16 13:19:49 139930931222400
      : 2019-03-16 13:19:49 139930516817664
      : 2019-03-16 13:19:49 139930931222400
      : 2019-03-16 13:19:49 139930931222400
      <N...'.

       

      Configuration du mot de passe de l’utilisateur root MySQL / MariaDB

      Comme vous le savez peut-être, il est recommandé de configurer un mot de passe pour l’utilisateur pricipal de la base de données. Exécutez la commande suivante pour configurer le mot de passe de l’utilisateur root MariaDB:

      sudo mysql_secure_installation

       

      Le retour de cette commande :

      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): ## Entrez "Enter"
      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> ## Entrez "Enter"
      New password: ## Mettez votre mot de passe
      Re-enter new password: ## Remettez votre mot de passe
      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> ## Entrez "Enter"
      ... Success!

       

      4) Installation de PHP

      Pour installer PHP, entrez cette commande :

      sudo pacman -S php php-apache

       

      Une fois PHP installé, nous devons configurer le module Apache PHP. Pour faire cela éditez le fichier : /etc/httpd/conf/httpd.conf

      sudo nano /etc/httpd/conf/httpd.conf

       

      Recherchez la ligne suivante et commentez la :

      #LoadModule mpm_event_module modules/mod_mpm_event.so

       

      Décommentez ou ajoutez la ligne (si elle n’était pas présente) :

      LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

       

      Enfin, ajoutez les lignes suivantes tout en-dessous :

      LoadModule php7_module modules/libphp7.so
      AddHandler php7-script php
      Include conf/extra/php7_module.conf

      Sauvegardez et fermez ce fichier (« Ctrl+X » ; « Maj+O » et « Enter »)

      Tester PHP

      Créez maintenant un fichier test.php dans le répertoire racine Apache :

      sudo nano /srv/http/test.php

       

      Ajoutez dans ce fichier cette simple commande PHP :

      <?php
      phpinfo();
      ?>

       

      Redémarrez le service httpd :

      sudo systemctl restart httpd

       

      Ouvrez votre navigateur et mettez-y l’URL suivante :

      http://localhost/test.php ou http://127.0.0.1/test.php

       

      Vous devriez obtenir l’écran ci-dessous :

      5) Installation de phpmyadmin

      phpMyAdmin est un outil d’administration graphique MySQL / MariaDB qui peut être utilisé pour créer, éditer et supprimer des bases de données.

      Pour l’installer, lancez la commande :

      sudo pacman -S phpmyadmin

       

      Après l’installation, éditez le fichier php.ini

      sudo nano /etc/php/php.ini

       

      Vérifiez bien que les lignes suivantes ne sont pas commentées :

      extension=bz2
      extension=mysqli

      Enregistrez et fermez le fichier (voir procédure plus haut entre parenthèses).

      Ensuite, nous devons créer le fichier de configuration pour PhpMyAdmin :

      sudo nano /etc/httpd/conf/extra/phpmyadmin.conf

       

      On y ajoute les lignes suivantes :

      Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
      <Directory "/usr/share/webapps/phpMyAdmin">
      DirectoryIndex index.php
      AllowOverride All
      Options FollowSymlinks
      Require all granted
      </Directory>

       

      Puis, on ouvre le fichier de configuration d’Apache :

      sudo nano /etc/httpd/conf/httpd.conf

       

      Et on y ajoute à la fin du fichier :

      Include conf/extra/phpmyadmin.conf

      Enregistrez et sauvegardez ce fichier (voir plus haut).

      On redémarre le service httpd :

      sudo systemctl restart httpd

       

      Test de PhpMyAdmin
      Ouvrez votre navigateur favori et entrez l’une des URL suivantes :

      http://localhost/phpmyadmin ou http://127.0.0.1/phpmyadmin

       

      Vous devriez obtenir cet écran :

      Entrez le nom d’utilisateur racine MySQL / MariaDB et son mot de passe. Voici à quoi ressemble ma console Web phpMyAdmin. (l’ID est root et le MDP est celui que vous avez entré au début du tutoriel, personnellement, pour plus de facilité, j’ai gardé mon mot de passe « root » dès le départ).

      Vous verrez peut-être une erreur indiquant «Le fichier de configuration a maintenant besoin d’une phrase secrète secrète. (blowfish_secret) ”au bas du tableau de bord phpMyAdmin.

      Pour résoudre ce problème, éditez le fichier : /etc/webapps/phpmyadmin/config.inc.php

      sudo nano /etc/webapps/phpmyadmin/config.inc.php

       

      Recherchez et trouvez la ligne suivante et entrez-y une phrase secrète « Bluefish » (Attention, elle être composée de 32 caractères, sinon on vous répondra à chaque fois : phrase secrète trop courte. Personnellement, j’ai choisis deux vers d’un poème que je connais par cœur et j’y ai mis les 32 premiers caractères avec un underscore « _ » entre chaque mot. L’underscore compte comme caractère).

      $cfg<'blowfish_secret'> = 'phrase_secrete_de_32_caracteres'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH!$ /**

      Enregistrez et sauvegardez le fichier.

      On redémarre Apache :

      sudo systemctl restart httpd

       

      À ce stade, vous avez LAMPP qui fonctionne et vous êtes prêt à héberger vos sites Web.

      Merci de votre lecture.

      Je tiens à remercier abusultanw pour ce tutoriel en anglais que j’ai essayé de traduire en y ajoutant quelques modifications suite aux mises à jour de ces logiciels. Ces modifications sont le fruit de ce que j’ai pu rencontrer comme différence lors de l’installation.

      PS : ce tutoriel est surtout écrit pour les serveurs afin d’y héberger des sites Web.
      Lorsque, comme moi, on veut l’installer sur sa machine afin de faire de la programmation en php il reste une chose à faire.

      En effet, dans ce tutoriel, pour que le serveur soit sécurisé, tous les fichiers se trouvent à la racine du serveur (/srv/).
      Pour un emploi sur ma machine personnelle, j’ai créé dans mon /homme un dossier que j’ai nommé www. dans ce dossier vont y entrer tous les dossiers dont vous aurez vesoin : dossier comprenant les pages HTML, dossier comprenant la CSS, dossier comprenant les scripts PHP, etc.

      Pour que tous les programmes installés dans le tutoriel prennent en compte ce dossier www, on doit créer un lien symbolique en tre /srv/ et le www, soit

      sudo ln -s /srv/ /home/toto/www/

       

      Si c’est comme moi pour apprendre à coder en php sue l’excellent Openclassroom, j’ai donné tous les droits à www soit 777. MAIS à déconseiller pour l’hébergement réel d’un site Web. Les droits plein au propriétaire (7) et les droits lecture et exécution aux autres suffisent.

      #11348
      obelix1502obelix1502
      Participant

        Désolé, il manque les copies d’écran, cela n’a pas fonctionné lors de la réalisation du tutoriel

        #11560
        nam1962nam1962
        Keymaster

          Oups ! Merci tardif pour ce tuto ! (Dont je vois les copies d’écran)

          Un jeune site que j'aime bien, la ferrari du T-shirt ...bio en plus : GoudronBlanc

          #11911
          obelix1502obelix1502
          Participant

            Une modification à ce que je disais à la fin du tutoriel :

            Il ne faut pas faire de lien symbolique de :

            /srv/http vers /home/user/www

            Mais il faut changer le chemin dans httpd.conf :

            Recherchez :

            DocumentRoot "/srv/http/"
            <Directory "/srv/http/">

            et remplacez par :

            DocumentRoot "/home/user/www/"
            <Directory "/home/user/www/">

            Il faut ensuite modifier les droits et les mettre à 777 pour le dossier /home/user/www.
            Donc :
            chmod -R 777 /home/user/www/

            de cette façon tous vos fichiers .html et .php qui seront dans /www s’afficheront dans le navigateur sur 127.0.0.1/fichier.html ou fichier.php

          4 sujets de 1 à 4 (sur un total de 4)
          • Vous devez être connecté pour répondre à ce sujet.