« Installation de wordpress » : différence entre les versions

De RomainGuyot
Aucun résumé des modifications
Ligne 25 : Ligne 25 :
Sur votre machine hôte, entrez l'adresse de votre Debian. Une page Apache doit s'afficher
Sur votre machine hôte, entrez l'adresse de votre Debian. Une page Apache doit s'afficher


[[File:Apache.png]]
[[File:Apache.png|500px]]


====Question 1====
====Question 1====
Ligne 220 : Ligne 220 :
À l'aide de la touche espace, sélectionné pache2 en serveur Web
À l'aide de la touche espace, sélectionné pache2 en serveur Web


[[File:Phpmyadmin.png]]
[[File:Phpmyadmin.png|500px]]


Choisissez ensuite '''oui''' pour configurer la base par défaut
Choisissez ensuite '''oui''' pour configurer la base par défaut


[[File:Phpmyadmin2.png]]
[[File:Phpmyadmin2.png|500px]]


Entrez ensuite un mot de passe pour MySQL server.
Entrez ensuite un mot de passe pour MySQL server.
Ligne 230 : Ligne 230 :
sur votre machine hôte dans un navigateur, vous pouvez maintenant accéder depuis l'addresse http://wordpress.local/phpmyadmin/ à '''phpmyadmin''' pour cela utiliser en nom d'utilisateur '''root''' et le mot de passe que vous vennez de saisir.
sur votre machine hôte dans un navigateur, vous pouvez maintenant accéder depuis l'addresse http://wordpress.local/phpmyadmin/ à '''phpmyadmin''' pour cela utiliser en nom d'utilisateur '''root''' et le mot de passe que vous vennez de saisir.


[[File:Phpmyadmin3.png]]
[[File:Phpmyadmin3.png|500px]]


Pour s'assurer qu'Apache à bien admin l'ajout des différents modules, nous allons le relancer grâce à la commande :  
Pour s'assurer qu'Apache à bien admin l'ajout des différents modules, nous allons le relancer grâce à la commande :  
Ligne 282 : Ligne 282 :
La configuration du site s'affiche. Il est demmandé le nom de la base de donnée ainsi que ses identifiants. Entrez ce que vous avez noté précédemment.
La configuration du site s'affiche. Il est demmandé le nom de la base de donnée ainsi que ses identifiants. Entrez ce que vous avez noté précédemment.


[[File:Xordpress.png]]
[[File:Xordpress.png|500px]]


Une page de configurations s'affiche.
Une page de configurations s'affiche.
Ligne 289 : Ligne 289 :
* Copiez le contenu de la page de configuration dans le fichier wp-config.php
* Copiez le contenu de la page de configuration dans le fichier wp-config.php


[[File:Xordpress2.png]]
[[File:Xordpress2.png|500px]]


Vous pouvez maintenant appuyer sur le bouton '''Run the installation'''
Vous pouvez maintenant appuyer sur le bouton '''Run the installation'''

Version du 7 mars 2024 à 17:31

Nous allons créer ce que l'on appelle une machine LAMP, d'après Wikipédia une machine "LAMP est un acronyme désignant un ensemble de logiciels libres permettant de construire des serveurs de sites web. L'acronyme original se réfère aux logiciels suivants : * « Linux », le système d'exploitation ( GNU/Linux ) ;

  • « Apache », le serveur Web ;
  • « MySQL ou MariaDB », le serveur de base de données ;
  • À l'origine, « PHP », « Perl » ou « Python », les langages de script."

Dans le cas d'un WordPress le P désigne PHP.

Installation de la machine

Dans un premier temps, nous avons besoin d'une machine Linux Debian 12 sans interface graphique.

Cette machine se nomme debianWordpress, elle a besoin de 20Gb de stockage. Si besoin, aidez-vous du Tuto suivant

Installation d'une machine Debian sans interface graphique

Installation du serveur Web

Maintenant que notre machine est prête, nous allons installer notre serveur web qui vas héberger notre site WordPress

pour cela effectuer la commande sudo apt-get install apache2

Une fois le téléchargement terminé, entrer la commande ip a dans votre terminal, noter votre adresse IP. Sur votre machine hôte, entrez l'adresse de votre Debian. Une page Apache doit s'afficher

Question 1

Le protocole utilisé est implicite, Quel est ce port et le protocole associé ?

Sur votre machine virtuelle, créer un dossier wordpress dans le dossier /var/www/html

Créer ensuite à l'intérieur du dossier wordpress un fichier index.html

Entrer ensuite le code suivant :

<!DOCTYPE html> <html lang="fr">

 <head>
   <meta charset="utf-8">
   <title>Wordpress</title>
 </head>
 <body>
   Hello World !
 </body>

</html>

Question 2

Comment accéder à cette ressource depuis votre navigateur ?

L'objectif est maintenant d'avoir un lien utilisable plus facilement pour cela, nous avons besoin de modifier le fichier host de windows

Question 3

À quoi sert le fichier host ?

Ouvrez le bloc-notes en administrateur puis rendez-vous à l'emplacement suivant C:\Windows\System32\drivers\etc ajouter la ligne. IP de votre machine wordrpress.local

Question 4

Comment accéder à son site plus facilement maintenant ?

Sur votre machine Debian en root allez dans le dossier /etc/apache2/sites-available Créez un fichier wordpress.local.conf et ajouter le code suivant : <VirtualHost *:80>

 ServerName wordpress.local
 DocumentRoot /var/www/html/wordpress

</VirtualHost>

Pour que les modifications soient effectives, il faut recharger apache2 pour cela effectuer les commandes suivantes a2ensite wordpress.local.conf systemctl reload apache2

Question 5

Quel est l'objectif de cette manipulation ?

Il y a un problème sur notre serveur web pour le moment : nous avons accès à l'arborescence du server web.

Question 6

Pourquoi est-ce un problème  ?

Pour palier à ce problème, ajouter dans le VirtualHost du fichier wordpress.local les lignes suivantes : <Directory /var/www/html/wordpress>

 Options -Indexes +FollowSymLinks
 AllowOverride All
 Require all granted

</Directory>

Certificat SSL

Un certificat SSL est un certificat électronique qui authentifie l'identité d'un site Web et permet également d'avoir une connexion chiffrée. SSL (Secure Sockets Layer) est un protocole de sécurité qui crée un lien chiffré entre un serveur Web et un navigateur Web.

Un certificat SSL est un certificat électronique qui authentifie l'identité d'un site Web et permet une connexion chiffrée. SSL signifie « Secure Sockets Layer », c'est un protocole de sécurité qui crée un lien chiffré entre un serveur Web et un navigateur Web. Le certificat doit être renouvelé périodiquement.


Génération d'un certificat autosignée

Effectuer la commande suivante pour générer un certificat autosignée.

openssl req -x509 -nodes -days 3000 -newkey rsa:4094 -keyout /etc/ssl/wordpresslocal.key -out /etc/ssl/wordpresslocal.crt

La commande s'exécute, répondez ensuite aux questions que l'application OpenSSL vous pose.

Activation du module SSL

Dans le dossier /var/log/apache2 activer SSL grâce à la commande suivante :

a2enmod ssl

Puis redémarrer le service apache2.

Configuration du VirtualHost sur le port 443

  • Rendez-vous dans le dossier /etc/apache2/sites-available
  • Ouvrez le fichier wordpress.local.conf
  • Sur La base du VirtualHost du port 80 faite le VirtualHost du port 443
  • Ajoutez la ligne SSLEngine on
  • Ajoutez la ligne SSLCertificateFile /etc/ssl/wordpresslocal.crt
  • Ajoutez la ligne SSLCertificateKeyFile /etc/ssl/wordpresslocal.key

Redémarrer le serveur

Rendez-vous sur le site https://wordpress.local

Redirection du port 80 vers le port 443

Activer le mode rewrite avec la commande suivante : a2enmod rewrite

Remplacez le contenu du VirtualHost du port 80 avec le code suivant

ServerName wordpress.local

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Installation des autres utilitaires

Nous avons besoin des autres utilitaires pour faire fonctionner notre machine LAMP, voici la commande à effectuer pour les installer apt install mariadb-server mariadb-client php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml wget -y

Question 7

À quoi sert l'argument -y

Nous allons maintenant vérifier que PHP fonctionne dans le dossier WordPress, ajouter un fichier PHP nommé test.php et ajouter le code suivant : echo "<?php phpinfo(); ?>"

Rendez-vous sur la page web associé à votre fichier PHP

Question 8

D'après cette page, quelle est la version de PHP que vous venez d'installer ?

Question 9

Notre nom de serveur a-t-il bien été modifié du point de vue de PHP ?

Installation de SSH

Question 10

Quel est l'objectif de mettre en place le service SSH ?

Voici la commande pour installer le service SSH : apt install openssh-server

Ouvrez désormais, sur votre machine hôte, l'application puTTY. Dans la partie HostName, entrez l'adresse IP de votre machine, vérifiez que le port est le 22. Lancez ensuite la connexion avec le bouton Open

Travaillez désormais depuis le terminal de puTTY

Installation de la base de donnée

Nous allons procéder à une installation "propre" de la base de donnée, pour cela effectuer la commande suivante : mysql_secure_installation

Voici les réponses à fournir à la configuration demandées par l'utilitaire Enter current password for root (enter for none): Change the root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y

Nous allons maintenant nous connecter en root à la base de donnée

mysql -u root -p

nous allons créer un utilisateur dans cette base et lui attribuer des droits sur les tables

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* to 'user'@'localhost'; FLUSH PRIVILEGES; EXIT;


Nous allons maintenant installer phpmyadmin, pour cela faites la commande suivante : apt-get install phpmyadmin

À l'aide de la touche espace, sélectionné pache2 en serveur Web

Choisissez ensuite oui pour configurer la base par défaut

Entrez ensuite un mot de passe pour MySQL server.

sur votre machine hôte dans un navigateur, vous pouvez maintenant accéder depuis l'addresse http://wordpress.local/phpmyadmin/ à phpmyadmin pour cela utiliser en nom d'utilisateur root et le mot de passe que vous vennez de saisir.

Pour s'assurer qu'Apache à bien admin l'ajout des différents modules, nous allons le relancer grâce à la commande :

systemctl restart apache2


Installation de Wordpress

Sur la machine Linux, rendez-vous dans le dossier temporaire. cd /tmp

Nous allons ensuite télécharger la dernière version de WordPress avec la commande suivante :

wget https://wordpress.org/latest.zip

Une fois le zip téléchargé nous allons créer la base de données nécessaire à wordpress.

Pour cela, rendez-vous dans mysql depuis la racine de votre machine grâce à la commande :

mysql –u root –p

Créer ensuite votre base de données. CREATE DATABASE wp01;$

Vérifiez que votre table a été créée grâce à la commande SHOW DATABASES;

Quittez MariaDB avec exit

Installer le paquet zip

Supprimez maintenant les tests que nous avons faits dans le dossier /var/www/html/wordpress


Nous allons maintenant dézipper le fichier précédemment télécharger de wordpress pour cela possitionez vous dans le dossier /tmp et effectuer la commande suivante :

unzip latest.zip -d /var/www/html/wordpress

Rendez-vous dans le dossier /var/www/html/wordpress

Nous pouvons remarquer qu'un dossier wordpress a été créé avec à l'intérieur l'ensemble de fichier pour rendre le dossier plus lisible, nous allons déplacer les fichiers au dossier wordpress précédent, pour cela faites la commande suivante :

mv wordpress/* /var/www/html/wordpress

Pour supprimer ensuite le fichie wordpress dans /var/www/html/wordpress faites la commande : rmdir wordpress

Avant d'accéder à la machine, il faut reload le serveur apache2

Configuration Wordpress

Nous allons accéder au site wordpress depuis votre machine hôte, supprimer le cache de votre navigateur et rendez vous à l'URL wordpress.local

La configuration du site s'affiche. Il est demmandé le nom de la base de donnée ainsi que ses identifiants. Entrez ce que vous avez noté précédemment.

Une page de configurations s'affiche.

  • Rendez-vous sur votre machine Debian dans le dossier /var/www/html/wordpress
  • Créez un fichier wp-config.php
  • Copiez le contenu de la page de configuration dans le fichier wp-config.php

Vous pouvez maintenant appuyer sur le bouton Run the installation

Vous pouvez maintenant entrer le nom du site : Ainsi que les identifiants, mot de passe de Wordpress