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.