Le présent document contient les instructions pour une première installation du CMS Ametys sur un serveur Linux(cependant l'installation des applications est tout à fait faisable sous Windows).
Le CMS Ametys se compose de 2 applications :
back-office (ou CMS)
front-office (ou SITE)
Le composant CMS back-office est accédé par les contributeurs pour l'édition du contenu des différents sites web. Il se présente comme une application web développée avec les technologies J2EE 6 et déployée dans un serveur d'application Apache Tomcat.
Le composant CMS front-office est accédé par les visiteurs pour la consultation des sites web. Il se présente comme une application web développée avec les technologies J2EE 6 et déployée dans un serveur d'application Apache Tomcat.
Il est conseillé de lire ce guide en entier avant de commencer l’installation.
Commentaires Si vous avez besoin d'aide pour installer le , n'hésitez pas à demander de l'aide sur les forums. Vous pouvez aussi contribuer à l'amélioration de cette documentation en ajoutant vos commentaires.
Astuces Des astuces concernant l'optimisation de l'installation sont disponibles en fin de guide.
Architecture
Notes et Recommandations - Le serveur HTTP recommandé est Apache HTTPD. - Le moteur de servlet J2EE recommandé est Apache Tomcat. - L’implémentation JCR utilisée en interne est Apache JackRabbit. - La base de données SQL recommandée est MySQL. Cependant, Oracle et Derby sont aussi supportés (PostgreSQL est supporté de manière incomplète pour le moment).
La communication entre le back-office et le front-office s’effectue à deux niveaux par le biais de web-services :
Le back-office doit pouvoir annuler le cache du front-office (par le biais d’une requête http).
Le front-office doit pouvoir demander la génération unitaire d’une page (par le biais d’une requête http).
Le back-office utilise les schéma d'URL suivants pour parler au front-office :
<map:match pattern="_invalidate-site/*">
<map:match pattern="_invalidate-skin/*">
<map:match pattern="_invalidate-page/*/**">
<map:match pattern="_invalidate-images/**">
où * = n'importe quel caractère sauf '/' ** = n'importe quel caractère y compris '/'
Ainsi si on souhaite empêcher un composant extérieur à l'application d'effacer le cache, il y a deux solutions :
Faire en sorte d'interdire ces URLs par Apache et faire en sorte que le CMS parle au Tomcat du front-office directement.
Protéger ces URLs pour qu'elles ne soient accessibles que par l' IP de l'application du back-office.
Les deux applications (back-office et front-office) communiquent en HTTP. Elles peuvent être sur deux machines différentes ou sur la même. Et, dans ce dernier cas, elle peuvent aussi être sur un seul Tomcat ou deux Tomcat séparés. Sinon il est possible d'utiliser le protocole AJP pour faire communiquer Apache et Tomcat, mais dans ce cas, nous conseillons de laisser tout de même le port de Tomcat activé (généralement 8080) à des fins de test ou de debug.
Prérequis
Matériels
La configuration serveur conseillée pour une utilisation optimale mono-serveur est la suivante :
Architecture 64 Bits
Processeur multi coeurs (Exemple: Processeur 4 Core Intel® Xeon® E3, 3.4GHz ou +) ;
6 Go Ram (2Go système + 4Go applicatif)
Disque dur en raid 5
Espace disque de 100 Go (à ajuster en fonction de l’utilisation : nombre d’images, nombre de vidéo, nombre de documents à gérer…)
Système d’exploitation linux 64 Bits
La configuration serveur conseillée pour une utilisation intensive est la suivante :
Back-office
Front-office
Architecture 64 Bits
Processeur 4 Core Intel® Xeon® E5, 3.6GHz ou +
8 Go Ram (2Go système + 6Go applicatif)
Disque dur en raid 5 SSD ou SAS
Espace disque de 100 Go (à ajuster en fonction de l’utilisation : nombre d’images, nombre de vidéo, nombre de documents à gérer…)
Système d’exploitation linux 64 Bits
Architecture 64 Bits
Processeur 4 Core Intel® Xeon® E5, 3.6GHz ou +
2 Go Ram (1Go système + 1Go applicatif)
Disque dur en raid 5 SSD ou SAS
Espace disque de 50 Go (à ajuster en fonction de l’utilisation : nombre d’images, nombre de vidéo, nombre de documents à gérer…)
Système d’exploitation linux 64 Bits
Cette configuration peut être ajustée en fonction des plugins du projet.
La virtualisation est possible et même conseillée afin de simplifier la duplication, les sauvegardes et les modifications d’architecture.
Vérification des prérequis
Vérification du processeur :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
less /proc/cpuinfo
less /proc/cpuinfo
less /proc/cpuinfo
Vérification de la ram :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
less /proc/meminfo
less /proc/meminfo
less /proc/meminfo
Vérification de l’espace disque disponible :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
df -h
df -h
df -h
Vérification de l’OS :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
uname -a
uname -a
uname -a
Logiciels
Des méthodes et astuces sur l'installation des logiciels sont disponbles en bas de page dans la section .
En plus de l’application livrée, les logiciels suivants vont être installés :
Back-office
Système d’exploitation 64 bits supportant l’UTF-8 par défaut (exemple Ubuntu)
Apache httpd 2.x 64 bits
JVM 1.6.x 64 bits version SUN;
MySQL V5 64 bits
Tomcat 6 ou + et 64 bits
Front-office
Système d’exploitation 64 bits supportant l’UTF-8 par défaut (exemple Ubuntu)
Apache httpd 2.x 64 bits
JVM 1.6.x 64 bits version SUN;
MySQL V5 64 bits
Tomcat 6 ou + et 64 bits
Information
Si on installe une seule machine pour les 2, l'apache et la jvm peuvent bien sûr être partagés. En ce qui concerne le tomcat, mieux vaut les séparer.
Pour des raisons de performances et de sécurité, Apache HTTPD est en charge de répondre aux requêtes pour des ressources statiques du CMS et front-office.
La base de données MySQL (ou un autre SGBD utilisé) sert à sauver des informations secondaires (droits, workflow…).
Vérification des prérequis
Version de la JVM :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
java -version
java -version
java -version
Version de apache httpd et tomcat : si vous les avez installés via le système de paquet de votre distribution, vous pourrez trouver la version via l’interface de consultation des paquets installés. S’il s’agit de la version téléchargée depuis le site, reportez-vous aux release-notes qui se trouvent dans le répertoire du tomcat (ou httpd), le numéro de version figure en début de fichier.
Version du serveur mysql :
se connecter au serveur (suivant la configuration, il se peut que vous ayez à préciser un login, un mot de passe et un nom de base de données)
exécuter la commande « status »
Autres
Back-office
Créer un utilisateur ‘cms’.
Déclarer un DNS vers la machine.
Récupérer le certificat CAS (si non « trusted ») dans le cas d’une telle authentification.
Front-office
Créer un utilisateur ‘cms’
Déclarer un DNS vers la machine.
Installation
Back-office (CMS)
Se connecter avec l’utilisateur cms.
Certaines installations nécessitent l’utilisateur root. Il est conseillé que l’utilisateur root délègue ensuite à l’utilisateur cms : les accès aux fichiers de configuration, le droit de relancer…
En tant que root, donner l’accès en exécution au répertoire cms
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
cd /home
chmod 711 cms
cd /home
chmod 711 cms
cd /home
chmod 711 cms
Apache HTTPD
Ces commandes sont à exécuter en tant que root :
Installer Apache Httpd 2
Si vous avez installé Apache HTTPD 2 avec le package disponible dans le dépôts par défaut de votre OS, il sera configuré pour être lancé automatiquement (cf. section pré-requis). Sinon il est peut être nécessaire de configurer son lancement automatique (se référer au site http://httpd.apache.org ou à la documentation du système d’exploitation).
Les modules Apache suivants doivent être installés et activés :
mod_proxy
mod_proxy_http
mod_rewrite
mod_deflate
Pour les activer, utiliser la commande a2enmod <nom_du_module>
JVM
Ces commandes sont à exécuter en tant que root :
Installer la JVM
Le chemin de la JVM va être référencé dans des scripts, il est donc conseillé de créer un lien symbolique du type java_6 -> java_1.6.18.
MySQL
Seul MySQL est documenté mais l'installation avec un autre SGBD se déroule de manière équivalent. Se reporter aux manuels du SGBD choisi pour reproduire les étapes nécessaires.
Ces commandes sont à exécuter en tant que root :
Installer MySQL et configurer son lancement automatique (se référer à la documentation http://www-fr.mysql.com/ ou à la documentation du système d’exploitation).
Si vous avez installé MySQL avec le package disponible dans le dépôts par défaut de votre OS, il sera configuré pour être lancé automatiquement (cf. section pré-requis). Sinon il est peut être nécessaire de configurer son lancement automatique (se référer au site http://www-fr.mysql.com/ ou à la documentation du système d’exploitation).
Ces commandes sont à exécuter en tant que cms:
Créer une base de donnée et un utilisateur tout pouvoir associé en utilisant les commandes ci-dessous :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
mysql -u root
#Sous MySQL
create database Ametys_CMS;
grant all privileges on Ametys_CMS.* to ametys identified by 'cms';
grant all privileges on Ametys_CMS.* to 'ametys'@'localhost' identified by 'cms';
FLUSH PRIVILEGES;
exit
mysql -u root
#Sous MySQL
create database Ametys_CMS;
grant all privileges on Ametys_CMS.* to ametys identified by 'cms';
grant all privileges on Ametys_CMS.* to 'ametys'@'localhost' identified by 'cms';
FLUSH PRIVILEGES;
exit
mysql -u root
#Sous MySQL
create database Ametys_CMS;
grant all privileges on Ametys_CMS.* to ametys identified by 'cms';
grant all privileges on Ametys_CMS.* to 'ametys'@'localhost' identified by 'cms';
FLUSH PRIVILEGES;
exit
Tomcat
Ces commandes sont à exécuter en tant que root :
Installer Tomcat (cf. section pré-requis)
Nous vous conseillons d'utiliser un lien symbolique pour référencer votre tomcat. Par exemple tomcat -> tomcat-6.0.26
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
ln -sf apache-tomcat-6.0.26 tomcat
ln -sf apache-tomcat-6.0.26 tomcat
ln -sf apache-tomcat-6.0.26 tomcat
Tomcat doit avoir le droit de lire et écrire dans le répertoire de l'application back-office et de l'application front-office. Vous pouvez par exemple faire "chown -R cms:cms" sur le répertoire de tomcat.
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
cd /tmp
wget http://releases.ametys.org/releases/org.ametys.template/cmsweb/3.4.x/3.4.0/zips/ametys-3.4.0.zip -O /tmp/ametys.zip
cd /tmp
wget http://releases.ametys.org/releases/org.ametys.template/cmsweb/3.4.x/3.4.0/zips/ametys-3.4.0.zip -O /tmp/ametys.zip
cd /tmp
wget http://releases.ametys.org/releases/org.ametys.template/cmsweb/3.4.x/3.4.0/zips/ametys-3.4.0.zip -O /tmp/ametys.zip
Nous allons créer l’arborescence applicative. Celle-ci ne doit jamais contenir d’espace !
Le répertoire racine est un sous-répertoire de celui de l’utilisateur cms : Ametys_CMS
Nous vous conseillons de créer un lien symbolique vers la dernière version du répertoire cms. Lors des mises à jour il suffit ainsi de créer un nouveau répertoire de version puis de changer le lien symbolique : en cas de problème on peut basculer à nouveau sur la version précédente.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
cd /home/cms
mkdir Ametys_CMS
cd Ametys_CMS
mkdir application
cd application
mkdir tmp
cd tmp
mkdir v1_0_0
#Déploiement de l'application
cd /home/cms/Ametys_CMS/application/v1_0_0
unzip /tmp/ametys.zip
#Création d'un lien vers la version courante
cd ..
ln -sf v1_0_0/cms cms
ln -sf v1_0_0/site site
cd /home/cms
mkdir Ametys_CMS
cd Ametys_CMS
mkdir application
cd application
mkdir tmp
cd tmp
mkdir v1_0_0
#Déploiement de l'application
cd /home/cms/Ametys_CMS/application/v1_0_0
unzip /tmp/ametys.zip
#Création d'un lien vers la version courante
cd ..
ln -sf v1_0_0/cms cms
ln -sf v1_0_0/site site
cd /home/cms
mkdir Ametys_CMS
cd Ametys_CMS
mkdir application
cd application
mkdir tmp
cd tmp
mkdir v1_0_0
#Déploiement de l'application
cd /home/cms/Ametys_CMS/application/v1_0_0
unzip /tmp/ametys.zip
#Création d'un lien vers la version courante
cd ..
ln -sf v1_0_0/cms cms
ln -sf v1_0_0/site site
La composition du fichier zip disponible sur le site est composé de :
un répertoire CMS pour le back-office
un répertoire SITE pour le front-office
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Préparation des répertoires de données:
cd /home/cms/Ametys_CMS
mkdir data
cd data
mkdir repository
#Préparation des répertoires de données:
cd /home/cms/Ametys_CMS
mkdir data
cd data
mkdir repository
#Préparation des répertoires de données:
cd /home/cms/Ametys_CMS
mkdir data
cd data
mkdir repository
Apache HTTPD
Utiliser le fichier de configuration httpd.conf pour configurer Apache Httpd. Dans ce fichier il faut personnaliser les valeurs de répertoire (/home/cms/Ametys_CMS/application/cms), de nom de domaine (cms.mondomaine.com), de port tomcat (8080), etc. Penser aussi à activer les modules nécessaires (comme les mod_proxy* ou le mod_rewrite par exemple) : ils sont généralement déjà déclarés mais mis en commentaire.
Si vous utilisez CAS et que votre certificat n’est pas « trusted », pensez à l’importer dans la JVM via l’utilitaire keytool. L’exemple suivant importe le certificat dans le keystore par défaut. Si vous souhaitez vous pouvez l’importer dans un keystore différent.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Seul MySQL est documenté mais l'installation avec un autre SGBD se déroule de manière équivalent. Se reporter aux manuels du SGBD choisi pour reproduire les étapes nécessaires.
Il faut insérer les scripts SQL de création de tables. Dans le répertoire cms/WEB-INF/scripts/mysql se trouvent les fichiers à insérer (il y en a aussi dans les sous-répertoires). Pour chaque fichier exécuter la commande suivante :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
mysql Ametys_CMS -u ametys -p --default-character-set=utf8 < filename.sql
mysql Ametys_CMS -u ametys -p --default-character-set=utf8 < filename.sql
mysql Ametys_CMS -u ametys -p --default-character-set=utf8 < filename.sql
Un seul fichier jdbc_users*.sql doit être inséré. Le fichier jdbc_users.sql permet de gérer les utilisateurs en base de données avec un système d'authentification tierce tel que CAS. Le fichier jdbc_users_auth.sql permet de gérer les utilisateurs en base de données en incluant le mot de passe (les mots de passe seront stockés encryptés dans la base de données). En général ou si vous ne savez pas lequel utiliser, optez pour jdbc_users_auth.sql.
En général il faut importer :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < profile_rights.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < newsletter.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_groups.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_users_auth.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < user_prefs_fo.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < user_prefs.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_cache_mon.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < profile_rights.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < newsletter.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_groups.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_users_auth.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < user_prefs_fo.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < user_prefs.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_cache_mon.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < profile_rights.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < newsletter.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_groups.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_users_auth.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < user_prefs_fo.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < user_prefs.sql
mysql Ametys_CMS -u ametys -pcms --default-character-set=utf8 < jdbc_cache_mon.sql
Le répertoire Scripts contient aussi les scripts à importer pour d'autres SGBD (Oracle, Derby, PostgreSQL)
Tomcat
Par défaut, Tomcat est fourni avec quelques applications potentiellement inutiles. Il est conseillé de les effacer avec les instructions suivantes.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
cd /usr/local/tomcat/webapps
rm -rf *
cd /usr/local/tomcat/webapps
rm -rf *
cd /usr/local/tomcat/webapps
rm -rf *
Configurer tomcat en éditant le fichier /path/to/tomcat/conf/server.xml :
Au début du fichier, sélectionner un port libre de la machine : ce port est utilisé par tomcat en interne.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
<Server port="8005" ...
<Server port="8005" ...
<Server port="8005" ...
En milieu de fichier, sélectionner un autre port libre de la machine : ce port sera utilisé pour accéder à tomcat. Sur cette même ligne ajouter l’instruction « proxyPort="80" » qui sert à faire un lien avec Apache HTTPD. Toujours sur cette ligne ajouter l’instruction « URIEncoding="UTF-8" » qui indique l’encodage par défaut à utiliser lors du traitement des requêtes. Pour gagner en performances, la compression des fichiers texte (pages, fichiers CSS et javascript) peut être activée.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
En fin de fichier, Tomcat définit la liste des « hosts » connus. Par défaut seul localhost est présent. Vous pouvez remplacer localhost par votre DNS (attention, à changer aussi le host par défaut).
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Si vous avez installé Tomcat avec le package disponible dans le dépôts par défaut de votre OS, il sera configuré pour être lancé automatiquement (cf. section pré-requis). Sinon il est peut être nécessaire de configurer son lancement automatique (se référer au site http://tomcat.apache.org ou à la documentation du système d’exploitation).
Vous pouvez lancer et arrêter le serveur avec les commandes suivantes (ces commandes sont à exécuter en tant que root) :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
/etc/init.d/tomcat start
/etc/init.d/tomcat stop
/etc/init.d/tomcat start
/etc/init.d/tomcat stop
/etc/init.d/tomcat start
/etc/init.d/tomcat stop
Droit à l'utilisateur cms pour lancer apache et tomcat avec un sudo
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
visudo
#Ajouter cette ligne à la fin du fichier
%cms ALL=NOPASSWD: /etc/init.d/httpd, /etc/init.d/tomcat
visudo
#Ajouter cette ligne à la fin du fichier
%cms ALL=NOPASSWD: /etc/init.d/httpd, /etc/init.d/tomcat
visudo
#Ajouter cette ligne à la fin du fichier
%cms ALL=NOPASSWD: /etc/init.d/httpd, /etc/init.d/tomcat
Ainsi tomcat pourra être lancé en tant que cms avec la commande:
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
sudo /etc/init.d/tomcat start
sudo /etc/init.d/tomcat start
sudo /etc/init.d/tomcat start
Alias
Ajouter l’alias ll et l’alias taillogs.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
cd
vi .bashrc
cd
vi .bashrc
cd
vi .bashrc
En général il suffit de supprimer le commentaire devant la ligne
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
alias ll='ls -l'
alias ll='ls -l'
alias ll='ls -l'
Ajouter un alias spécifique pour afficher les logs en temps réel, le chemins sont à ajuster :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Alias permettant d'afficher les logs à l'aide de la fonction tail
alias taillogs='tail -f /usr/local/tomcat/logs/*
/home/cms/Ametys_CMS/application/cms/WEB-INF/logs/*
/home/cms/Ametys_CMS/application/site/WEB-INF/logs/*'
#Alias permettant d'afficher les logs à l'aide de la fonction tail
alias taillogs='tail -f /usr/local/tomcat/logs/*
/home/cms/Ametys_CMS/application/cms/WEB-INF/logs/*
/home/cms/Ametys_CMS/application/site/WEB-INF/logs/*'
#Alias permettant d'afficher les logs à l'aide de la fonction tail
alias taillogs='tail -f /usr/local/tomcat/logs/*
/home/cms/Ametys_CMS/application/cms/WEB-INF/logs/*
/home/cms/Ametys_CMS/application/site/WEB-INF/logs/*'
A noter que parfois les alias sont dans un autre fichier (ce fichier étant appelé par le .bashrc) :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
vi .bash_aliases
vi .bash_aliases
vi .bash_aliases
Applicatif
Le paramétrage applicatif est réalisé via une interface dédiée, pour cela http://<webapps_cms>/_admin (login/mot de passe par défaut: admin/admin).
Configurez tomcat de la même manière que pour le back-office, mis à part le fait que le host sera localhost afin de servir tous les sites via la même webapps.
Pour ce faire il faut éditer le fichier :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
vi /usr/local/tomcat/conf/server.xml
vi /usr/local/tomcat/conf/server.xml
vi /usr/local/tomcat/conf/server.xml
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Si vous avez plusieurs tomcat sur la même machine, assurez-vous que les ports utilisés sont différents.
Ajoutez le fichier ROOT.xml correspondant
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
cd /usr/local/tomcat/conf/Catalina/
#Vous pouvez aussi copier une webapps existante et simplement modifier le fichier ROOT.xml (pensez à copier dans un fichier .bak)
mkdir localhost
cd localhost
vi ROOT.xml
cd /usr/local/tomcat/conf/Catalina/
#Vous pouvez aussi copier une webapps existante et simplement modifier le fichier ROOT.xml (pensez à copier dans un fichier .bak)
mkdir localhost
cd localhost
vi ROOT.xml
cd /usr/local/tomcat/conf/Catalina/
#Vous pouvez aussi copier une webapps existante et simplement modifier le fichier ROOT.xml (pensez à copier dans un fichier .bak)
mkdir localhost
cd localhost
vi ROOT.xml
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Enregistrez
cp ROOT.xml ROOT.xml.bak
#Enregistrez
cp ROOT.xml ROOT.xml.bak
#Enregistrez
cp ROOT.xml ROOT.xml.bak
Apache
Ces opérations sont à exécuter en tant que root.
Pour l'application front-office, les modules Apache suivants doivent être installés et activés :
mod_proxy
mod_proxy_http
mod_rewrite
mod_deflate
mod_expires
mod_unique_id
mod_headers
Si vous utilisez le même Apache pour le back-office et le front-office, pensez à rajouter les modules manquants.
Comme pour la configuration du CMS, utilisez le fichier de configuration joint pour paramétrer Apache Httpd pour l'application site. Dans ce fichier il faut personnaliser les valeurs de répertoire (/home/cms/Ametys_CMS/application, /home/cms/Ametys_CMS/data), de nom de domaine (www.mondomaine.com), de port tomcat (PORT_TOMCAT), nom du site (INTERNALSITENAME), etc...
Il faudra déclarer un nouveau Virtual Host par site (en remplaçant la valeur INTERNALSITENAME par le nom du site : www, blog, demo, etc...). En revanche les premières lignes du fichier joint (LoadModule, IfModule) sont générale, il ne faut les inclure qu'une seule fois.
Pages d'erreurs Les pages d'erreurs sont gérés par le site pour pouvoir être disponibles lorsque le CMS n'est pas disponible. Cela implique de définir les pages d'erreurs de façon spécifique pour chaque charte graphique. Dans les règles Apache du site, il faut activer le module mime et ajouter des langues :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
LoadModule mime_module modules/mod_mime.so
<IfModule mime_module>
AddHandler type-map var
AddLanguage fr .fr
AddLanguage en .en
DefaultLanguage fr
</IfModule>
LoadModule mime_module modules/mod_mime.so
<IfModule mime_module>
AddHandler type-map var
AddLanguage fr .fr
AddLanguage en .en
DefaultLanguage fr
</IfModule>
LoadModule mime_module modules/mod_mime.so
<IfModule mime_module>
AddHandler type-map var
AddLanguage fr .fr
AddLanguage en .en
DefaultLanguage fr
</IfModule>
Puis rediriger l'erreur 404 vers la bonne URL, de même pour les autres erreurs :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
ProxyErrorOverride On
ErrorDocument 404 /error/404.html
ProxyErrorOverride On
ErrorDocument 404 /error/404.html
ProxyErrorOverride On
ErrorDocument 404 /error/404.html
Et rediriger l'erreur et ses ressources vers les fichiers correspondants :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
RewriteRule ^/error/(.+)$ /home/cms/Ametys_CMS/application/site/skins/MASKIN/error/$1 [L]] ]></ac:plain-text-body></ac:structured-macro><p>Pensez à remplacer MASKIN par le nom de votre charte graphique. Si votre site change de charte graphique, il faudra également pense à modifier le fichier httpd-site.conf.</p><p>Si vous souhaitez gérer les erreurs côté CMS, il suffit de commenter ces lignes.</p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="warning"><ac:rich-text-body><p>Si vous souhaitez activer les statistiques de l'utilisation du cache, les lignes contenant <em>AMETYS_PROXY_PASS</em> ne doivent pas être supprimés, ni modifiés (ne surtout pas modifier le LogFormat).<br />En revanche, si vous savez que vous n'utiliserez pas cette fonctionnalité, vous pouvez adapter ces lignes de la configuration si besoin (notamment le LogFormat pourra être adapté ou supprimé).</p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="tip"><ac:parameter ac:name="title">Performances</ac:parameter><ac:rich-text-body><p>A chaque fois qu'une page est servie, même si elle et ses ressources sont entièrement mises en cache, le navigateur lancera de toute manière une série de requêtes pour s'assurer qu'il a bien la dernière version des CSS, des images, ou des JS.</p><p>Afin d'obtenir une impression de vitesse bien supérieure pour l'utilisateur final, il est possible de configurer Apache afin qu'il indique au navigateur que toute CSS chargée est valable pour 20 minutes : ainsi, en navigant de pages en pages, toutes les ressources communes de la charte graphique ne seront jamais rechargées.</p><p>La contre-partie est qu'en conséquence, si vous modifiez votre charte graphique, un visiteur pourra continuer d'utiliser les vieilles versions des images, js et CSS pendant un certain temps : si c'est une chose que vous faites fréquemment, il ne faut peut être pas mettre en place cette optimisation, ou bien baisser la durée de validée à seulement quelques minutes.</p><p>Pour mettre en place l'optimisation, il faut d'une part charger le module expires (une seule fois)</p><ac:structured-macro ac:name="code"><ac:plain-text-body><![CDATA[LoadModule expires_module
RewriteRule ^/error/(.+)$ /home/cms/Ametys_CMS/application/site/skins/MASKIN/error/$1 [L]] ]></ac:plain-text-body></ac:structured-macro><p>Pensez à remplacer MASKIN par le nom de votre charte graphique. Si votre site change de charte graphique, il faudra également pense à modifier le fichier httpd-site.conf.</p><p>Si vous souhaitez gérer les erreurs côté CMS, il suffit de commenter ces lignes.</p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="warning"><ac:rich-text-body><p>Si vous souhaitez activer les statistiques de l'utilisation du cache, les lignes contenant <em>AMETYS_PROXY_PASS</em> ne doivent pas être supprimés, ni modifiés (ne surtout pas modifier le LogFormat).<br />En revanche, si vous savez que vous n'utiliserez pas cette fonctionnalité, vous pouvez adapter ces lignes de la configuration si besoin (notamment le LogFormat pourra être adapté ou supprimé).</p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="tip"><ac:parameter ac:name="title">Performances</ac:parameter><ac:rich-text-body><p>A chaque fois qu'une page est servie, même si elle et ses ressources sont entièrement mises en cache, le navigateur lancera de toute manière une série de requêtes pour s'assurer qu'il a bien la dernière version des CSS, des images, ou des JS.</p><p>Afin d'obtenir une impression de vitesse bien supérieure pour l'utilisateur final, il est possible de configurer Apache afin qu'il indique au navigateur que toute CSS chargée est valable pour 20 minutes : ainsi, en navigant de pages en pages, toutes les ressources communes de la charte graphique ne seront jamais rechargées.</p><p>La contre-partie est qu'en conséquence, si vous modifiez votre charte graphique, un visiteur pourra continuer d'utiliser les vieilles versions des images, js et CSS pendant un certain temps : si c'est une chose que vous faites fréquemment, il ne faut peut être pas mettre en place cette optimisation, ou bien baisser la durée de validée à seulement quelques minutes.</p><p>Pour mettre en place l'optimisation, il faut d'une part charger le module expires (une seule fois)</p><ac:structured-macro ac:name="code"><ac:plain-text-body><![CDATA[LoadModule expires_module
RewriteRule ^/error/(.+)$ /home/cms/Ametys_CMS/application/site/skins/MASKIN/error/$1 [L]] ]></ac:plain-text-body></ac:structured-macro><p>Pensez à remplacer MASKIN par le nom de votre charte graphique. Si votre site change de charte graphique, il faudra également pense à modifier le fichier httpd-site.conf.</p><p>Si vous souhaitez gérer les erreurs côté CMS, il suffit de commenter ces lignes.</p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="warning"><ac:rich-text-body><p>Si vous souhaitez activer les statistiques de l'utilisation du cache, les lignes contenant <em>AMETYS_PROXY_PASS</em> ne doivent pas être supprimés, ni modifiés (ne surtout pas modifier le LogFormat).<br />En revanche, si vous savez que vous n'utiliserez pas cette fonctionnalité, vous pouvez adapter ces lignes de la configuration si besoin (notamment le LogFormat pourra être adapté ou supprimé).</p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="tip"><ac:parameter ac:name="title">Performances</ac:parameter><ac:rich-text-body><p>A chaque fois qu'une page est servie, même si elle et ses ressources sont entièrement mises en cache, le navigateur lancera de toute manière une série de requêtes pour s'assurer qu'il a bien la dernière version des CSS, des images, ou des JS.</p><p>Afin d'obtenir une impression de vitesse bien supérieure pour l'utilisateur final, il est possible de configurer Apache afin qu'il indique au navigateur que toute CSS chargée est valable pour 20 minutes : ainsi, en navigant de pages en pages, toutes les ressources communes de la charte graphique ne seront jamais rechargées.</p><p>La contre-partie est qu'en conséquence, si vous modifiez votre charte graphique, un visiteur pourra continuer d'utiliser les vieilles versions des images, js et CSS pendant un certain temps : si c'est une chose que vous faites fréquemment, il ne faut peut être pas mettre en place cette optimisation, ou bien baisser la durée de validée à seulement quelques minutes.</p><p>Pour mettre en place l'optimisation, il faut d'une part charger le module expires (une seule fois)</p><ac:structured-macro ac:name="code"><ac:plain-text-body><![CDATA[LoadModule expires_module
et d'autre part, mettre les instructions suivantes (à la racine, ou pour chaque virtualhost)
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
<IfModule expires_module>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 20 minutes"
ExpiresByType image/jpeg "access plus 20 minutes"
ExpiresByType image/png "access plus 20 minutes"
ExpiresByType text/css "access plus 20 minutes"
ExpiresByType text/javascript "access plus 20 minutes"
ExpiresByType application/x-javascript "access plus 20 minutes"
ExpiresByType application/javascript "access plus 20 minutes"
ExpiresByType text/xml "access plus 20 minutes"
</IfModule>
<IfModule expires_module>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 20 minutes"
ExpiresByType image/jpeg "access plus 20 minutes"
ExpiresByType image/png "access plus 20 minutes"
ExpiresByType text/css "access plus 20 minutes"
ExpiresByType text/javascript "access plus 20 minutes"
ExpiresByType application/x-javascript "access plus 20 minutes"
ExpiresByType application/javascript "access plus 20 minutes"
ExpiresByType text/xml "access plus 20 minutes"
</IfModule>
<IfModule expires_module>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 20 minutes"
ExpiresByType image/jpeg "access plus 20 minutes"
ExpiresByType image/png "access plus 20 minutes"
ExpiresByType text/css "access plus 20 minutes"
ExpiresByType text/javascript "access plus 20 minutes"
ExpiresByType application/x-javascript "access plus 20 minutes"
ExpiresByType application/javascript "access plus 20 minutes"
ExpiresByType text/xml "access plus 20 minutes"
</IfModule>
Applicatif
Redémarrez Apache et Tomcat
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Création d'un lien vers la version courante
cd /home/cms/Ametys_CMS/application
ln -sf v1_0_0/site site
#Création d'un lien vers la version courante
cd /home/cms/Ametys_CMS/application
ln -sf v1_0_0/site site
#Création d'un lien vers la version courante
cd /home/cms/Ametys_CMS/application
ln -sf v1_0_0/site site
Il reste à configurer l’application site de la même manière que l’application CMS : http://<webapps_site>/_admin.
URL du CMS : http://<nom de domaine>:8080 Valeur utilisée en accès interne par l'application.
Destination des uploads : /home/cms/Ametys_CMS/data/uploads Répertoire temporaire utilisé pour stocker des fichiers en cours d'envoi vers le serveur.
Système
Penser à ajouter les sudoers via la commande visudo pour le tomcat site.
Fin de l’installation
L’installation est terminée.
Nous vous invitons à jeter un coup d’œil au guide d'exploitation technique d'Ametys contenant des détails sur les opérations de maintenance de l'application et diverses astuces d'exploitation.
Astuces systèmes
Création de l’utilisateur cms
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#connexion en tant que root
#Ajout de l'utilisateur cms
useradd -m -s /bin/bash cms
#Définition du mot de passe de l'utilisateur cms : générer un mot de passe http://www.pctools.com/guides/password/?length=8&phonetic=on&alpha=on&mixedcase=on&numeric=on&nosimilar=on&quantity=3&generate=true#password_generator
passwd cms
#login en tant que cms
su - cms
#Gestion des droits du répertoire /home/cms
cd /home
chmod 711 cms
#connexion en tant que root
#Ajout de l'utilisateur cms
useradd -m -s /bin/bash cms
#Définition du mot de passe de l'utilisateur cms : générer un mot de passe http://www.pctools.com/guides/password/?length=8&phonetic=on&alpha=on&mixedcase=on&numeric=on&nosimilar=on&quantity=3&generate=true#password_generator
passwd cms
#login en tant que cms
su - cms
#Gestion des droits du répertoire /home/cms
cd /home
chmod 711 cms
#connexion en tant que root
#Ajout de l'utilisateur cms
useradd -m -s /bin/bash cms
#Définition du mot de passe de l'utilisateur cms : générer un mot de passe http://www.pctools.com/guides/password/?length=8&phonetic=on&alpha=on&mixedcase=on&numeric=on&nosimilar=on&quantity=3&generate=true#password_generator
passwd cms
#login en tant que cms
su - cms
#Gestion des droits du répertoire /home/cms
cd /home
chmod 711 cms
Liste des utilisateurs (avancé)
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Récupération des anciens login utilisateurs
cat /etc/passwd
#Récupération des anciens login utilisateurs
cat /etc/passwd
#Récupération des anciens login utilisateurs
cat /etc/passwd
Liste des groupes (avancé)
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Récupération des groupes (lié aux utilisateurs) de l'ancien serveur:
cat /etc/group
#Récupération des groupes (lié aux utilisateurs) de l'ancien serveur:
cat /etc/group
#Récupération des groupes (lié aux utilisateurs) de l'ancien serveur:
cat /etc/group
Crypter un mot de passe (avancé)
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Cryptage du mot de passe:
perl -e 'print crypt("password", "NSc!ne1d@nyw&"),"\n"'
#Cryptage du mot de passe:
perl -e 'print crypt("password", "NSc!ne1d@nyw&"),"\n"'
#Cryptage du mot de passe:
perl -e 'print crypt("password", "NSc!ne1d@nyw&"),"\n"'
La commande useradd peut contenir un paramètre –p qui permet de positionner le mot de passe (crypté)
Installer un package
L’installation d’un package dépend de l’OS disponible.
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
apt-get install wget
apt-get install wget
apt-get install wget
unzip
Exemple pour Ubuntu
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
apt-get install unzip
apt-get install unzip
apt-get install unzip
Apache 2
Installation
Apache s’installe soit dans /etc/httpd soit dans /etc/apache2
Exemple pour Ubuntu
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#En tant que root, installer Apache2
apt-get update
apt-get install apache2
#apache2 est installé dans /etc/apache2/
#En tant que root, installer Apache2
apt-get update
apt-get install apache2
#apache2 est installé dans /etc/apache2/
#En tant que root, installer Apache2
apt-get update
apt-get install apache2
#apache2 est installé dans /etc/apache2/
Modules
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Configuration de Apache: ajout des modules
cd /etc/apache2/mods-enabled
ln -sf ../mods-available/proxy_ajp.load
ln -sf ../mods-available/proxy.conf
ln -sf ../mods-available/proxy_http.load
ln -sf ../mods-available/proxy.load
ln -sf ../mods-available/rewrite.load
#Configuration de Apache: ajout des modules
cd /etc/apache2/mods-enabled
ln -sf ../mods-available/proxy_ajp.load
ln -sf ../mods-available/proxy.conf
ln -sf ../mods-available/proxy_http.load
ln -sf ../mods-available/proxy.load
ln -sf ../mods-available/rewrite.load
#Configuration de Apache: ajout des modules
cd /etc/apache2/mods-enabled
ln -sf ../mods-available/proxy_ajp.load
ln -sf ../mods-available/proxy.conf
ln -sf ../mods-available/proxy_http.load
ln -sf ../mods-available/proxy.load
ln -sf ../mods-available/rewrite.load
La commande a2enmod permet d’activer un module dans apache2, par exemple :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
a2enmod proxy proxy_http rewrite
a2enmod proxy proxy_http rewrite
a2enmod proxy proxy_http rewrite
MySQL
Seul MySQL est documenté mais l'installation avec un autre SGBD se déroule de manière équivalent. Se reporter aux manuels du SGBD choisi pour reproduire les étapes nécessaires.
Exemple pour Redhat / Fedora
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
yum install mysql.x86_64
yum install mysql-server
/etc/init.d/mysqld start
#Définir un mot de passe root, exemple 'MonMotDePasse'
/usr/bin/mysqladmin -u root password 'MonMotDePasse'
yum install mysql.x86_64
yum install mysql-server
/etc/init.d/mysqld start
#Définir un mot de passe root, exemple 'MonMotDePasse'
/usr/bin/mysqladmin -u root password 'MonMotDePasse'
yum install mysql.x86_64
yum install mysql-server
/etc/init.d/mysqld start
#Définir un mot de passe root, exemple 'MonMotDePasse'
/usr/bin/mysqladmin -u root password 'MonMotDePasse'
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Install de java6
# Téléchargement du jre d'Oracle (remplacez le lien http par celui pointant vers la dernière version du jre 1.6)
wget http://download.oracle.com/otn-pub/java/jdk/6u26-b03/jre-6u26-linux-x64.bin -O /tmp/jre-oracle.bin
# Renommer et donner les droits d'exécution
chmod ugo+x /tmp/jre-sun.bin
# Création du répertoire /jvm dans /usr/lib
cd /usr/lib
mkdir jvm
cd jvm
/tmp/jre-sun.bin
#Install de java6
# Téléchargement du jre d'Oracle (remplacez le lien http par celui pointant vers la dernière version du jre 1.6)
wget http://download.oracle.com/otn-pub/java/jdk/6u26-b03/jre-6u26-linux-x64.bin -O /tmp/jre-oracle.bin
# Renommer et donner les droits d'exécution
chmod ugo+x /tmp/jre-sun.bin
# Création du répertoire /jvm dans /usr/lib
cd /usr/lib
mkdir jvm
cd jvm
/tmp/jre-sun.bin
#Install de java6
# Téléchargement du jre d'Oracle (remplacez le lien http par celui pointant vers la dernière version du jre 1.6)
wget http://download.oracle.com/otn-pub/java/jdk/6u26-b03/jre-6u26-linux-x64.bin -O /tmp/jre-oracle.bin
# Renommer et donner les droits d'exécution
chmod ugo+x /tmp/jre-sun.bin
# Création du répertoire /jvm dans /usr/lib
cd /usr/lib
mkdir jvm
cd jvm
/tmp/jre-sun.bin
Tomcat
Tomcat est généralement installé dans /etc/tomcat6/ sur Ubuntu et dans /opt/ sur RedHat.
Exemple pour Ubuntu
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#En tant que root, installer tomcat
apt-get update
apt-get install tomcat6
#tomcat6 est installé dans /etc/tomcat6
#Un lien sera créé plus tard en fonction des besoins.
#En tant que root, installer tomcat
apt-get update
apt-get install tomcat6
#tomcat6 est installé dans /etc/tomcat6
#Un lien sera créé plus tard en fonction des besoins.
#En tant que root, installer tomcat
apt-get update
apt-get install tomcat6
#tomcat6 est installé dans /etc/tomcat6
#Un lien sera créé plus tard en fonction des besoins.
Virtual Host Apache
Sur certains OS la configuration d’Apache est dans le fichier conf/httpd.conf. Sur Ubuntu ce fichier existe mais est vide. Dans le cas où il y a un fichier conf/httpd.conf, un répertoire peut être prévu pour recevoir les configurations des vhost, dans ce cas il doit y avoir à la fin du fichier une ligne du genre :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Include conf.d/vhosts/*.conf
Include conf.d/vhosts/*.conf
Include conf.d/vhosts/*.conf
Sinon il faut ajouter cette ligne à la fin du fichier.
SeLinux
Il est recommandé de désactiver SeLinux, pour cela :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
vi /etc/selinux/config
SELINUX=disabled
/usr/sbin/setenforce 0
vi /etc/selinux/config
SELINUX=disabled
/usr/sbin/setenforce 0
vi /etc/selinux/config
SELINUX=disabled
/usr/sbin/setenforce 0
Il n'est pas obligatoire de désactiver SeLinux mais il faut alors être prêt à passer un temps conséquent à configurer votre OS Linux tout en rencontrant un grand nombre d'erreurs. Sinon vous pouvez essayer de le désactiver le temps de l'installation, puis de le ré-activer afin de voir si les probables problèmes sont bien engendrés par SeLinux et non par un problème de configuration.
Nombre de fichiers ouverts
Linux permet de modifier le nombre max de fichiers ouverts, le CMS nécessite d’augmenter cette valeur, nous conseillons 100 000.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
#Nombre de fichiers ouverts
vi /etc/security/limits.conf
* - nofile 100000
root - nofile 100000
#Puis rebootez.
reboot
#Nombre de fichiers ouverts
vi /etc/security/limits.conf
* - nofile 100000
root - nofile 100000
#Puis rebootez.
reboot
#Nombre de fichiers ouverts
vi /etc/security/limits.conf
* - nofile 100000
root - nofile 100000
#Puis rebootez.
reboot
vi – éditeur par défaut
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
# Spécifier vi en tant qu'éditeur par défaut
vim /etc/profile
# ajouter les lignes suivantes
EDITOR=/usr/bin/vi
export EDITOR
# Spécifier vi en tant qu'éditeur par défaut
vim /etc/profile
# ajouter les lignes suivantes
EDITOR=/usr/bin/vi
export EDITOR
# Spécifier vi en tant qu'éditeur par défaut
vim /etc/profile
# ajouter les lignes suivantes
EDITOR=/usr/bin/vi
export EDITOR
vi - remplacement de chaines de caractères
Pour remplacer une chaine de caractère <motif A> par une autre <motif B> dans un fichier :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
:%s#<motif A>#<motif B>#g
:%s#<motif A>#<motif B>#g
:%s#<motif A>#<motif B>#g
Par exemple pour remplacer cmsdev.xxxxxx.fr par cms.xxxxxx.fr faire :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
:%s#cmsdevxxxxxx.fr#cms.xxxxxx.fr#g
:%s#cmsdevxxxxxx.fr#cms.xxxxxx.fr#g
:%s#cmsdevxxxxxx.fr#cms.xxxxxx.fr#g
Faire attention au remplacement trop rapide et vérifier le résultat en faisant une comparaison avec l’ancien fichier.