Ceci est une ancienne révision du document !


Joomla!

Joomla! est un CMS utilisant PHP et MySQL. C'est le second CMS le plus utilisé au monde après WordPress et avant Drupal.

Prérequis

Pour installer Joomla! vous aurez besoin d'un serveur HTTP, de PHP, et d'un serveur de base de données MySQL (MySQL ou MariaDB).

Sur un hébergement web géré par l'hébergeur, ces prérequis devraient déjà être en place, donc toutes ces étapes devraient être inutiles.

N'hésitez pas à contacter le support de l'hébergeur si ce n'est pas le cas.

Apache est le serveur HTTP le plus couramment utilisé, et cette configuration (en conjonction avec MySQL et PHP) s'appelle une pile LAMP.

Donc pour installer Apache, PHP et MySQL ou MariaDB, suivez cette documentation.

Une fois la pile LAMP installée (avec les modules PHP les plus courants), on active le module mod_rewrite, dont a aussi besoin Joomla! :

sudo a2enmod rewrite

Nous allons ensuite créer un hôte virtuel pour Joomla!, dont la racine sera /var/www/joomla :

sudo nano /etc/apache2/sites-available/joomla.conf

Ce qui ouvre avec l'éditeur nano un fichier dans lequel nous allons coller :

joomla.conf
<VirtualHost *:80>
        ServerName joomla
        DocumentRoot /var/www/joomla
        <Directory /var/www/joomla>
                AllowOverride all
                Require all granted
        </Directory>
        ErrorLog /var/log/apache2/error.joomla.log
        CustomLog /var/log/apache2/access.joomla.log combined
</VirtualHost>

Si un nom de domaine pointe sur le serveur, on l'indique à la place de joomla pour la directive ServerName.
(Ctrl+X puis O pour quitter en sauvegardant)

Finalement, on active l'hôte virtuel et on recharge la configuration d'Apache :

sudo a2ensite joomla
sudo systemctl reload apache2

Si on n'a pas spécifié de vrai nom de domaine, on édite le fichier /etc/hosts côté client afin de renseigner l'IP du serveur pour le domaine joomla :

sudo nano /etc/hosts

Ceci ouvre l'éditeur nano avec lequel on peut ajouter la ligne suivante :

hosts
127.0.0.1	joomla
Si votre serveur est sur le Web, pensez à sécuriser l'accès au site en particulier en forçant HTTPS.

Installation de Joomla!

Copie des fichiers

Adaptez la commande suivante au numéro de la dernière version que vous trouverez ici

Tout d'​abord téléchargeons la dernière version française de Joomla! :

wget -O Joomla.zip https://github.com/AFUJ/joomla-cms-fr/releases/download/3.9.15.1/Joomla_3.9.15-Stable-Full_Package_French_v1.zip

Ensuite nous allons extraire le contenu du zip à la racine de notre hôte virtuel (/var/www/joomla dans cet exemple) :

sudo unzip Joomla.zip -d /var/www

On va renforcer légèrement la sécurité en attribuant des droits restrictifs aux fichiers :

sudo chown www-data:www-data /var/www/wordpress -R
sudo chmod -R -wx,u+rwX,g+rX,o+rX /var/www/wordpress

Création de la base de données

Pour créer la base de données qu'utilisera Joomla!, le plus simple est de se connecter avec le client MySQL :

sudo mysql

On arrive alors sur la console SQL sur laquelle nous allons entrer ces commandes (en remplaçant mot_de_passe) :

CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'WordPress'@'localhost' IDENTIFIED BY 'mot_de_passe';
FLUSH PRIVILEGES;
QUIT;

Il faut remplacer mot_de_passe par un vrai mot de passe complexe qu'on note pour la prochaine étape.

On vient de créer la base de donnée wordpress à laquelle l'utilisateur WordPress aura accès.

Installation via l'interface web

WordPress devrait alors être accessible à l'​adresse http://wordpress/, et cette adresse nous redirige sur une interface qui nous permet de finaliser l'installation.

Cliquez sur C'est parti ! et renseignez les différents champs :

  • Nom de la base de données : wordpress
  • Identifiant : WordPress
  • Mot de passe : le mot de passe qu'on a noté à l'étape précédente (lors de la création de la base de donnée et de l'utilisateur WordPress)
  • Adresse de la base de données : localhost
  • Préfixe des tables : wp_

Après avoir cliqué sur Lancer l'installation, on tombe sur un second formulaire.

Il s'agit cette fois de définir un administrateur pour WordPress. Les champs sont assez clairs.
Le titre du site sera visible par les internautes.
Concernant le mot de passe il est conseillé de conserver celui proposé par défaut qui est très fort. Vous pouvez par exemple le sauvegarder dans un gestionnaire de mots de passe tel que KeePass.
Il est conseillé également de renseigner une adresse de messagerie existante, ce qui vous permettra de récupérer votre mot de passe en cas de perte, ou de faire fonctionner les notifications par courriel.

Choix de la version

Un peu comme Ubuntu, il existe une version LTS (Long Time Support) à privilégier en production et une version de "développement" à utiliser pour des essais et pour préparer un nouveau site ou une migration.

Chargement de Joomla

Créez un répertoire pour votre site à la racine de votre serveur (par défaut /var/www ; ou dans le répertoire de Xampp pour ceux qui utilisent Xampp.) :
Par exemple : site-joomla

 sudo mkdir /var/www/html/site-joomla 

C'est le chemin utilisé par votre navigateur pour aller chercher la page d'installation de Joomla (on peut aussi changer ce chemin, et là un vrai pro Ubuntusien va apparaître sur sa souris blanche et améliorer mes petits ajouts ;-)

Téléchargez Joomla! puis décompressez (avec les droits administrateur) l'archive dans ce nouveau répertoire.
Exemple avec le fichier Joomla_3.2.2-Stable-Full_Package_French_v2.zip :

cd /var/www/html/site-joomla
sudo unzip Joomla_3.2.2-Stable-Full_Package_French_v2.zip

Etape 1

Lancez votre navigateur préféré et dans la barre d'adresse saisissez la ligne suivante :

http://localhost/site-joomla/installation/index.php

Info: Vous pouvez avoir un souci ici et juste avoir un message Error sans plus d'explication à l'ouverture de la page web. Voici les commandes que j'ai fait apt-get update + apt-get upgrade + sudo chown $USER:www-data /var/www/html/… + chmod 750 /var/www/html/… + systemctl restart apache2.service → Et ça fonctionne maintenant. Ici il y a pas mal d'info https://idroot.us/linux/install-joomla-ubuntu-16-04/ Fin Info

Bien sûr, remplacez site-joomla par le nom de votre dossier que vous venez de créer. Vous devez tomber sur une page similaire à celle ci-dessous.

Sélectionnez la langue de l'installation, Joomla vous propose le français par défaut.

Etape 2

Cliquez sur "suivant" pour passer à l'étape 2. Pendant toute l'installation vous devez utiliser les flèches suivant et précédant de l'installateur, et non celles de votre navigateur.

Note Ubuntu 14.04 et joomla! 3.2.7 : l'ordre d'installation change quelque peu pour des éléments mineurs (nom de compte etc…) remplissez les consciencieusement et revenez chercher les infos sur ce tuto dès que ça devient technique. En gros, en premier, on vous demande ce qui est en étape 6 de la version de Joomla! présentée dans ce tuto

Comme vous le remarquerez, le fichier configuration.php n'est pas accessible en écriture, mais c'est normal. Sinon, le paramètre Joomla! RG_EMULATION est sur `ON`, laissez pour l'instant, nous verrons ça plus tard.
Ce qui nous intéresse pour le moment, ce sont les accès aux répertoires de notre site par l'installateur de Joomla!. Pour qu'il puisse avoir accès, nous allons modifier l'accès en écriture pour le groupe d'utilisateurs www-data.
Dans votre terminal, tapez la commande suivante, pour modifier le groupe du répertoire de votre site :

sudo chown -Rv root:www-data /var/www/html/site-joomla

modifiez site-joomla par le nom du répertoire de votre site
EDIT: Insérez les options -Rv pour modifier les sous-fichiers et les sous-documents, autrement le groupe propriétaire restera root et pour visualiser les opérations.

Finalement, il faut rendre le répertoire accessible en écriture pour le groupe www-data.
Dans votre terminal, taper la commande suivante (la première ligne n'est pas nécessaire si vous vous trouvez déjà dans le répertoire de votre site) :

sudo chmod -R g+w /var/www/html/site-joomla

modifiez site-joomla par le nom du répertoire de votre site
chmod sert à changer les droits en accès des fichiers. +w ajoute le droit en écriture (write), g spécifiant que ce droit doit être ajouté seulement au groupe.

Maintenant, cliquez sur le bouton "vérifiez à nouveau", et tout devrait être ok.

Etape 3

La page de la licence de Joomla! (qui est la GNU/GPL) s'affiche.

Etape 4

Nous voilà sur la page de renseignements du serveur, de la base de données et de l'utilisateur de la base. Pour cela, remplissez les champs suivants :

  • Type de serveur : MySql
  • Serveur : localhost
  • Nom d'utilisateur : root
  • Mot de passe : Le mot de passe d'accès à Mysql, celui que vous avez choisi lorsque vous avez installé Mysql et qui n'est pas forcément votre mot de passe root d'ordinateur.
  • Nom de la base de données : Le nom de la base de données qui va être créée par Joomla! ( FIXME : je pense qu'il faut éviter les caractères spéciaux)

Ensuite vérifiez que tout est correct et cliquez sur Suivant. Si une fenêtre de confirmation s'ouvre, cliquez sur OK.

Si vous êtes bloqué, pensez à redémarrer les services de Apache2 via la commande suivante :

sudo /etc/init.d/apache2 restart

Etape 5

Configuration FTP :vous n'en avez pas besoin ( pour l'instant ), cliquez sur suivant.

Se fait plus tard après installation depuis la partie admin de votre futur site

Etape 6

Configuration générale :

Nom du Site : laissez donc libre cours à votre imagination !

Votre e-mail : renseignez l'e-mail de l'administrateur du site

Mot de passe de l'admin : Le mot de passe que vous souhaitez utiliser pour accéder à l'interface d'administration de Joomla!. Le nom du super administrateur sera "admin", on ne peut pas le changer pendant l'installation. Pour des raisons de sécurité, il sera important de le changer par la suite via l'interface administration. Installer les données d'exemple : Les données d'exemple sont des menus, des sections, des rubriques et des articles installables en une seule fois et qui vous permettront de mieux comprendre le fonctionnement de ce CMS. Il est conseillé de les installer pour les débutants. Pour les installer cliquez sur le bouton Installer les données d'exemple. Ceci fait il devrait apparaître sur ledit bouton Données d'exemple installées.

Charger le script de migration : ne cocher que si vous êtes un utilisateur averti ; ne pas cocher les éventuelles autres cases disponibles. Puis cliquez sur Suivant.

Etape 7

Vous êtes normalement arrivé au bout de l'installation. Un message vous indique le bon déroulement de cette installation et qu'avant d'aller plus loin vous devez supprimer le répertoire Installation via la commande_shell suivante :

sudo rm -r /var/www/html/site-joomla/installation

(remplacez "site-joomla" par le nom du répertoire de votre site)

Revenez sur http://localhost/site-joomla/, vous devriez arriver sur la page d'accueil de votre site d'exemple Joomla!. L'installation de Joomla! est ainsi terminée.

Pour accéder à la partie administration allez à : http://localhost/site-joomla/administrator/ (remplacez site-joomla par le nom du répertoire de votre site).

Dans la case identifiant, mettez "admin", et comme mot de passe mettez celui que vous avez choisi étape 6.

Comment activer la réécriture des URLs

Allez sur votre site, dans Joomla!, allez dans l'administration, puis dans le menu site choisir configuration générale, onglet site, mettre oui à URLs explicites (SEF) et Utiliser le module Apachemod_rewrite (réécriture au "vol" des URLs). Sauvez.

Ensuite, il faut activer le module rewrite de apache2 avec la commande :

a2enmod rewrite

Modifier le fichier /etc/apache2/sites-available/default. Attention, si vous avez des virtual hosts, ne pas modifier default mais le fichier correspondant au virtual host de joomla!.

sudo nano /etc/apache2/sites-available/default

Note Ubuntu 14.04 et Joomla 3.2.7! : /etc/apache2/apache2 . Pour les nuls (enfin, c'est ce que j'ai fait LOL mais non, vous ne l'êtes pas!!!), un petit coup de sudo nautilus dans le terminal, ça vous ouvre l'explorateur de fichiers, trouvez apache2.conf à l'adresse indiquée au début de mon blabla, clic droit ouvrir avec Gedit ou double click, et avec de la chance, ça vous ouvre le fichier dans un éditeur de texte qui va bien, et là, TaDaaaaaaa vous trouvez les lignes qui concernent /var/www, et modifiez comme expilqué en dessous. C'est moins stylé, mais ça va bien.

Remplacez AllowOverride None par AllowOverride All Demandez gentiment à apache de prendre en considération vos nouvelles exigences =):

sudo /etc/init.d/apache2 restart

Cas sans virtual hosts

Ensuite, on va supposer que le site est hébergé dans /var/www/ et Joomla! dans un sous-répertoire site. À la racine de Joomla!, c'est-à-dire dans /var/www/site/, renommez le fichier htaccess.txt en .htaccess puis modifiez-le :

nano /var/www/site/.htaccess

Remplacer

# RewriteBase /

par

RewriteBase /site

Si votre site est à la racine, il faut tout de même penser à enlever le #.

Cas avec virtual hosts

Si vous avez des virtual hosts, reprenez la même procédure en faisant attention en modifiant le fichier .htaccess. Dans ce cas, à l'option RewriteBase, il ne faut plus mettre le répertoire à partir de /var/www/ mais à partir de la racine du virtual host.

Actualisez la page d'accueil du site (après un certain temps si vous avez activé la mise en cache, par défaut 15min), pour que les liens de la page d'accueil soient changés. Appréciez les nouveaux URLs de la forme /catégorie/id-article

Il suffit de supprimer d'une part le répertoire contenant le site et d'autre part la base de donnée ( via phpmyadmin).

Si après l'installation de Joomla! ou suite à une mise à jour de celui-ci, vous avez un problème avec la création d'articles ou l'éditeur de message, éditer le fichier libraries/joomla/html/editor.php en remplaçant

		// Try to authgnticate -- only add to array if authentication is successful
		$resultTest = $plugin->onDisplay($editor);
		if ($resultTest) $result[] =  $resultTest;

par

		// Try to authenticate
		if (method_exists($plugin, 'onDisplay')) {
		$result[] = $plugin->onDisplay($editor);
		}

Contributeurs : clement.analogue, Coakette, krodelabestiole, hyppocampedecourse

  • utilisateurs/krodelabestiole/brouillons/joomla.1580410177.txt.gz
  • Dernière modification: Le 30/01/2020, 19:49
  • par krodelabestiole