l’Almanet doLys Gnu/Linux – Open Source – Entreprises › Forums › L’almanet doLys Open Source › Installation d’Apache – MariaDB – PHP sur Manjaro
- This topic has 3 réponses, 2 participants, and was last updated il y a 4 years et 3 months by obelix1502.
-
AuteurArticles
-
mars 16, 2019 à 1:53 pm #11345obelix1502Participant
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èmesudo 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.
mars 16, 2019 à 5:33 pm #11348obelix1502ParticipantDésolé, il manque les copies d’écran, cela n’a pas fonctionné lors de la réalisation du tutoriel
juillet 30, 2019 à 11:38 am #11560nam1962KeymasterOups ! 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
août 22, 2020 à 7:18 pm #11911obelix1502ParticipantUne 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
-
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.