Tutoriels Joomla!
- Détails
- Écrit par : Stéphane Bourderiou
- Temps de lecture: 5 mins
Un VDS (serveur virtuel), c'est quoi ?
Un serveur virtuel est une fraction de serveur dédié (la machine hôte) possédant ses propres caractéristiques et ses propres ressources. Ainsi les performances sont garanties et tout se passe pour le Client comme s'il s'agissait de son propre serveur dédié. Le serveur virtuel est une solution économique qui cumule tous les avantages du serveur dédié, sans l'inconvénient du prix.
Qu'est-ce que Plesk ?
C'est une interface qui vous permet de gérer et administrer à la manière d'un hébergeur professionnel plusieurs sites.
Et Fedora ?
Fedora est un système d'exploitation et une plate-forme, basé sur Linux, que tout le monde peut utiliser, modifier et distribuer librement.
Pour effectuer les opérations de ce tutoriel vous aurez besoin de deux logiciels libre et gratuit
- Putty : Page de téléchargement
- Winscp : Page de téléchargement
Avant de lire la suite de ce tutoriel, nous vous conseillons la lecture de aides disponibles pour vous documenter sur ce deux produits:
Si votre seveur n'est pas configuré avec Fedora et Plesk, ce qui par défaut n'est pas le cas avec 1&1 par exemple, il vous faudra réinstailer le serveur, l'opération est relativement simple et rapide.( Consulter la faq de votre hébergeur)
Sous PuTTy, une fois connecté en Root, lancer les commande suivante :
yum clean all
yum update
yum upgrade
Les fichiers système du serveur sont propres et prêt pour la suite des opérations
Il faut ensuite passer à l'installation du module Suphp , toujous avec PuTTY lancer la commande suivante :
yum install mod_suphp
Et suivre les instructions de validation.
La partie installation en elle-même du serveur est maintenant effectuée, passons à la suite.
A l'aide de Winscp rendez-vous dans le fichier /etc/suphp.conf et éditer le comme ceci :
[global]
;Path to logfile
logfile=/var/log/httpd/suphp_log
;Loglevel
loglevel=warn
;User Apache is running as
webserver_user=apache
;Path all scripts have to be in
docroot=/var/www
;Path to chroot() to before executing script
;chroot=/mychroot
; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false
;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true
;Send minor error messages to browser
errors_to_browser=true
;PATH environment variable
env_path=/bin:/usr/bin
;Umask to set, specify in octal notation
umask=0026
; Minimum UID
min_uid=500
; Minimum GID
min_gid=500
; Use correct permissions for mod_userdir sites
handle_userdir=true
[handlers]
;Handler for php-scripts
php5-script=php:/usr/bin/php-cgi
;Handler for CGI-scripts
x-suphp-cgi=execute:!self
Modifiez ensuite le fichier /etc/httpd/conf.d/mod_suphp.conf :
# This is the Apache server configuration file providing suPHP support..
# It contains the configuration directives to instruct the server how to
# serve php pages while switching to the user context before rendering.
LoadModule suphp_module modules/mod_suphp.so
### Uncomment to activate mod_suphp
suPHP_AddHandler php5-script
# This option tells mod_suphp if a PHP-script requested on this server (or
# VirtualHost) should be run with the PHP-interpreter or returned to the
# browser "as it is".
suPHP_Engine on
# This option tells mod_suphp which path to pass on to the PHP-interpreter
# (by setting the PHPRC environment variable).
# Do *NOT* refer to a file but to the directory the file resists in.
#
# E.g.: If you want to use "/path/to/server/config/php.ini", use "suPHP_Config
# /path/to/server/config".
#
# If you don't use this option, PHP will use its compiled in default path.
#suPHP_ConfigPath /etc
Une fois les modifications des fichiers sytème du serveur réalisées il faut relancer Apache pour que celles-ci soit prises en compte
/etc/init.d/httpd restart
Si vous n'avez pas constaté d'erreurs lors de ces opérations, il ne vous reste plus qu'à configurer queqlues paramètres pour utiliser Joomla avec les paramètres conseillé par défaut.
Configuration de Joomla
Créer à la racine de votre site grâce à votre client de Ftp, un nouveau répertoire que nous nommerons config pour notre exemple, ainsi qu'un autre sessions.
Pour le premier répertoire, libre cours à imagination, par contre pour le répertoire (dossier) sessions, il n'y a pas d'alternative car ce dossier sera utilisé par le core (système) de Joomla.
Dans le dossier config, créer un fichier .htaccess avec simplement ces lignes :
<LIMIT GET POST>
order deny,allow
deny from all
</LIMIT>
Créer à l'intérieur de ce répertoire un fichier php.ini avec les lignes suivantes
magic_quotes_gpc=on
safe_mode=off
display_errors=on
memory_limit=64M à définir selon vos besoins, le niveau de mémoire au minum 32M, cette ligne peut-être à supprimer dans certains cas.
session.save_path = /var/www/vhosts/votre_nom_de_domaine/httpdocs/sessions
En dernier à la racine de votre site, il vous faut créer un fichier .htaccess ou ajouter à celui existant la ligne suivante:
#Configuration serveur
SetEnv PHPRC "/var/www/vhosts/votre_nom_de_domaine/httpdocs/config/"
Une fois toutes les opérations réalisées, il faut impérativement redémarrer le serveur pour que les modifications soient prises en compte.
Note : si vous décidez d'héberger plusieurs domaines sur votre serveur, vous devrez renouveller l'opération autant de fois.
Dans certians cas,si vous rencontrez des problèmes d'indentification il faut chmoder le dossier sessions en 777.
Attention : La base de cet article est succeptible d'être modifée avec l'apport de nouvelles fonctions.
Réagissez à cet article sur le forum
- Détails
- Écrit par : Stéphane Bourderiou
- Temps de lecture: 4 mins
Vous souhaitez supprimer un module, un composant ou un mambot (plugin), la procédure peu paraître simple à la base, mais nous allons vous expliquer que ce n'est pas toujours le cas.
Commençons par le début, nous prendrons un exemple ( attention c'est juste pour imager ce tuto ) : Fireboard
Pour la désinstallation, vous devez vous rendre via l'administration de votre site dans la partie installation d'un composant.

- Sélectionner le composant dans la liste, puis cliquer sur désinstaller.

Voilà cette extension n'est plus présente dans l'administration de votre site, à ce stade on peut penser être tranquille, ce qui n'est pas le cas.
Que ce soit pour les modules, mambots ou composants le principe de suppression dans l'interface administrateur est le même, malheureusement il reste de traces non visibles au premier abord sur votre serveur.
Et pourquoi donc, me direz-vous ?
Dans la plupart des cas, ceci permet de conserver vos bases de données dans le cas d'une mise à jour, dans l'autre cas pour les fichiers c'est simplement une mauvaise conception d'une extension due aux développeurs.
Avec ces traces, je cours un risque ?
Malheureusement oui et les conséquences peuvent être graves, en effet la plupart des piratages sont due à des attaques de types injection sql , par l'intermédiaire des fichiers présents sur un serveur.
Comment faire pour me débarrasser mon site de toutes ses traces ?
Avant de commencer les opérations, il est indispensables de faire une sauvegarde de vos fichiers et de votre base SQL.
Il faut procéder à des suppressions via votre client de ftp :- Pour les modules
Dans le répertoire modules, vous trouverez un fichier php , un xml et souvent un répertoire .
- Pour les composants
Dans components et administrator/components supprimer les dossiers .
- Pour les mambots
Explorer les répertoires selon le type de plugin (content, editor…)
La première partie est réalisée, il reste maintenant à effacer le reste des traces dans la base de données SQL.
Pour les composants, vous devez supprimer toutes les tables portant soit le nom de l'extension soit ces initiales.
Reprenons notre exemple de départ :
- Sélectionner les tables concernées et cliquer en bas de page ( dans le menu déroulant) de votre administration SQL, sur supprimer.
- Autre possibilité, supprimer une à une les tables en cliquant sur la croix rouge des options de la table.

En principe pour les modules, le problème ne se pose pas, mais explorer tout de même le contenu de la table modules
Pour les plugins, visiter la table mambots et effectuer éventuellement les opérations nécessaires.
Vue la richesse du nombre d'extensions pour ce CMS, il est impossible de vous faire une liste cas par cas, mais prenez bien le temps de vérifier ses traces, ceci vous permettra de conserver un site en bon état et évitera de laisser une porte ouverte ( backdoor ) à de potentiellles attaques.
Réagissez à cet article sur le forum
- Détails
- Écrit par : Stéphane Bourderiou
- Temps de lecture: 2 mins
Sur un serveur, les dossiers et fichiers doivent être sécurisés. En principe, l'automatisme des serveurs attribue des droits en lecture, écriture et exécution.
Cette fonction, nommée CHMOD (Change mode), est réservée au webmaster et seulement possible sur les sites des hébergeurs payants.
Les attributs de lecture, écriture et exécution ont une valeur numérique arbitraire de 4, 2, 1. La combinaison de ces chiffres déterminera les droits.
- Connectez vous sur votre FTP à l'aide de votre logiciel client ( Filezilla par exemple).
- Faites un clique droit sur un fichier que vous souhaitez modifier.
- Sélectionnez dans la fenêtre Attributs du fichier (CHMOD).

En exemple, les droits conseillés pour les répertoires et fichiers d'une installation de base Joomla.
Répertoires
Propriétaire : 4+2+1 = 7 - Tout est autorisé.
Groupe : 4+0+1 = 5 - Lecture, exécution autorisées.
Public : 4+0+1 = 5 - Lecture, exécution autorisées.
Fichiers
Propriétaire : 4+2+0 = 6 - Lecture, écriture autorisées.
Groupe : 4+0+0 = 4 - Lecture, exécution autorisées.
Public : 4+0+0 = 4 - Lecture, exécution autorisées.
- Détails
- Écrit par : Stéphane Bourderiou
- Temps de lecture: 2 mins
Un des moyens pour sécuriser son site est de renommer le chemin d'accès vers le dossier administratorconfiguré par défaut dans Joomla.
http://www.votresite.com/administrator
Le principe de cette astuce proposée sur le forum de la communauté française consiste grâce un jeu d'écriture à inclure dans un fichier .htaccess, de créer un redirection vers une adresse du type.
http://www.votresite.com/unnomauhasard/administrator
Pour mieux comprendre le .htaccess, nous vous conseillons la lecture de ce tutoriel .
Avant toutes modifications, pensez à sauvegarder les fichiers concernés
Choisir un nom pour votre dossier d'administration. Par exemple : "manuadmin"
Editer les fichiers qui se trouvent dans le répertoire administrator :
- index.php
- index2.php
- index3.php
Dans ces fichiers après cette ligne
require_once( '../configuration.php' );
Ajouter la ligne suivante
$mosConfig_live_site = $mosConfig_live_site . '/manuadmin';
Placez à la racine de notre site un fichier .htaccesscontenant le code suivant :
Options +FollowSymlinks
RewriteEngine on
#------------------------------------------------
# A rectifier si Joomla! se trouve dans un sous-dossier
RewriteBase /
#------------------------------------------------
# Redirection sur la page d'index de l'admin
RewriteRule ^manuadmin(/)?$ manuadmin/administrator/ [R,L]
#------------------------------------------------
# Redirection des URLs admin
RewriteRule ^manuadmin/administrator/(.*) administrator/$1 [L,E=JOS_ADMIN:true]
# Redirection en cascade ?
RewriteCond %{ENV:REDIRECT_JOS_ADMIN} ^true$
RewriteRule (.*) - [E=JOS_ADMIN:true]
#------------------------------------------------
# Redirection de la deconnexion
RewriteRule ^manuadmin/index index.php [R,L]
#------------------------------------------------
# Redirection des URLs non-admin utilisees dans l'admin (images, etc.)
RewriteCond %{REQUEST_URI} !^manuadmin/administrator
RewriteRule ^manuadmin/(.*) $1 [L]
#------------------------------------------------
# Acces direct a l'admin refuse
RewriteCond %{ENV:JOS_ADMIN} !^true$
# RewriteRule ^administrator - [F]
RewriteRule ^administrator [R=301,L]
#------------------------------------------------
Si vous utilisez déjà un .htaccesspour la réécriture d'url, n'ajoutez pas les lignes
Options +FollowSymlinks
RewriteEngine on
#------------------------------------------------
# A rectifier si Joomla! se trouve dans un sous-dossier
RewriteBase /
Une fois les modications effectuées, transférer à l'aide de votre client de FTP, les trois fichiers index dans le répertoire administrator et le fichier .htaccess à la racine de votre site.
Pensez à remplacer "manuadmin" par le nom que vous souhaitez donner à votre dossier.
Ensuite il est très simple de vérifier le bon fonctionnement des modifications.
http://www.votresite.com/administrator
vous dirigera vers un page 404
http://www.votresite.com/manuadmin/administrator
vous ouvrira la page d'administration .
Cette astuce est très simple et peu risquée à mettre en oeuvre par les débutants, elle est applicable à la branche 1.0.xx et 1.5x de Joomla!.
Source et support : http://forum.joomla.fr/
