réf : http://doc.ubuntu-fr.org/joomla contexte : Joomla 1.5.15, PHP 5, CAS3 Installation de la plateforme :On prépare un serveur LAMP classique avec quelques options supplémentaires :apt-get install apache2 php5 mysql-server php5-mysql curl php5-curl On active le mod rewrite d'apache : a2enmod rewrite /etc/init.d/apache restart On crée une base données, un utilisateur nommé joomla et on lui donne les droits sur cette base : mysql -u root -p mysql> create database joomla; mysql> use joomla mysql> GRANT ALL ON joomla.* TO joomla@localhost IDENTIFIED BY 'Maude Passe'; mysql> FLUSH PRIVILEGES; mysql> exit; On récupère la version en cours de Joomla en français (en PJ) et on dézippe : mkdir /var/www/joomla cd /var/www/joomla unzip Joomla_1.5.15-Stable-Full_Package_french.zip Configuration de Joomla :La configuration se fait directement par une interface web : http://joomla-inside.rdz/joomla/installation où on configure la connexion à la base de données essentiellement.On crée ensuite un virtual apache et on y intègre les règles de réécriture livrées dans le joomla/htaccess.txt :nano /etc/apache2/sites-avalaible/iut-rodez.conf NameVirtualHost 10.10.10.60:80 <VirtualHost 10.10.10.60:80> ServerName joomla-inside .rdz DocumentRoot /var/www/joomla <Directory /var/www/joomla> Options Indexes MultiViews Options +FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> <Location /> RewriteBase / RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/index.php RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] RewriteRule (.*) index.php RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] </Location> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel debug CustomLog /var/log/apache2/access.log combined ServerSignature On </VirtualHost> Et on l'active : a2dissite default a2ensite iut-rodez.conf /etc/ini t.d/apache2 force-reload On peut alors activer dans Joomla aussi bien les URL friendly SEF que la réécriture d'URL. Paramétrage Reverse Proxy :On est derrière un reverse proxy. Joomla, pour une raison que je n'arrive pas à comprendre, n'écrit pas tous ses liens de façon relative dans les pages. Il va donc falloir demander au reverse proxy de faire de la réécriture de liens dans les pages html à la volée.Sur le reverse proxy, on installe donc le module apache mod_proxy : apt-get install libapache2-mod-proxy-html a2enmod proxy_html # Redirecteur joomla-public.fr port 80 <VirtualHost 193.54.203.133:80> ServerName joomla-public.fr ProxyRequests off ProxyPass / http:// joomla-inside .rdz/ # ProxyHTMLURLMap http:// joomla-inside .rdz / <Location /> # ProxyHTMLEnable On SetOutputFilter proxy-htm l ProxyPassReverse http:// joomla-inside .rdz/ ProxyHTMLURLMap http:// joomla-inside .rdz http://joomla-public.fr </Location> </VirtualHost> Authentification CAS :Dans Joomla, à partir du menu 'Extenstion/Installer-Désintaller', on télécharge, depuis http://joomlacode.org/gf/project/auth_manager/frs/, dans l'ordre indiqué les paquets :
Comme Joomla est derrière un reverse proxy, il va falloir qu'il donne au serveur CAS une adresse de retour différente de celle de l'hôte qui l'héberge. On positionne alors la variable $live_site de joomla/configuration.php à la valeur du serveur public.nano configuration.php // mettre à jour la ligne ci-dessous var $live_site = 'http://joomla-public.fr'; Les utilisateurs authentifiés par login dans CAS sont alors vus sous l'identifiant monserveurcas.fr:443/cas@login dans Joomla. |