Dans cette page nous proposons des astuces systèmes qui sont utiles au cours de l'installation du CMS Ametys sous Linux. Ces astuces sont évidentes pour un ingénieur système mais peuvent être très utile pour de nombreux utilisateurs. Certaines commandes peuvent varier en fonction de la version de Linux.

Commentaires
Si vous avez besoin d'aide, n'hésitez pas à demander de l'aide sur les Forums Ametys. Vous pouvez aussi contribuer à l'amélioration de cette documentation en ajoutant vos commentaires.

  1. Système
    1. Vérification des prérequis
  2. Création de l’utilisateur cms
  3. Liste des utilisateurs (avancé)
  4. Liste des groupes (avancé)
  5. Crypter un mot de passe (avancé)
  6. Installer un package
    1. Installer wget
    2. installer unzip
    3. Apache 2
      1. Installation
      2. Modules
    4. MySQL
    5. JVM
    6. Tomcat
  7. Virtual Host Apache
  8. SeLinux
  9. Nombre de fichiers ouverts
  10. vi – éditeur par défaut
  11. vi - copier/coller (debian)
  12. vi – remplacement de chaines de caractères
  13. Alias

 

Système

Vérification des prérequis

  • Vérification du processeur :

    less /proc/cpuinfo
  • Vérification de la ram : 

    less /proc/meminfo
  • Vérification de l’espace disque disponible :

    df -h
  • Vérification de l’OS :

    uname -a
  • Version de la JVM :
 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 :
    1. 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)
    2. exécuter la commande « status »

Création de l’utilisateur 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é)

#Récupération des anciens login utilisateurs
cat /etc/passwd

Liste des groupes (avancé)

#Récupération des groupes (lié aux utilisateurs) de l'ancien serveur:
cat /etc/group

Crypter un mot de passe (avancé)

#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 utilisé.

 Mise à jour du dépôtRechercher un packageInstaller un package
Ubuntu
La documentation est en ligne : http://doc.ubuntu-fr.org/apt-get
apt update apt-cache search <word1 word2 ...> apt install <paquet(s)> 
Redhat, Fedora
http://doc.fedora-fr.org/wiki/YUM_:_Configuration_du_gestionnaire_de_paquets
yum updateyum list <nom du paquet>
yum search <mot clef> 
yum install <nom du paquet> 

Installer wget

wget est un programme en ligne de commande permettant de télécharger un fichier. Nous utilisons wget pour récupérer le zip du CMS Ametys ou pour récupérer une version de la JVM, tomcat...

Exemple pour Ubuntu

apt install wget

installer unzip

unzip est utilisé pour dézipper le zip du CMS Ametys.

Exemple pour Ubuntu

apt install unzip

Apache 2

Installation

Apache s’installe soit dans /etc/httpd soit dans /etc/apache2.

Nous préconisons d'utiliser une version packagé provenant de la distribution de linux afin de profiter des mises à jour. Apache est utilisé en frontal et donc va subir les attaques, pour des raisons de sécurité il est conseillé de le maintenir à jour. 

Exemple pour Ubuntu/Debian

#En tant que root, installer Apache2
apt update
apt install apache2
#apache2 est installé dans /etc/apache2/

Modules

Il existe plusieurs solutions pour activer les modules.

La première consiste à ajouter un lien du répertoire mods-enabled vers le répertoire mods-available.

#Configuration de Apache: ajout des modules
cd /etc/apache2/mods-enabled
ln -sf ../mods-available/deflate.load
ln -sf ../mods-available/expires.load
ln -sf ../mods-available/headers.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 deuxième consiste à utiliser la commande a2enmod. La commande a2enmod permet d’activer un module dans apache2, par exemple :

a2enmod deflate expires headers proxy proxy_http rewrite

Si vous souhaitez avoir des logs du module mod-rewrite:

Exemple pour Ubuntu & Apache 2.4

#ajouter cette ligne dans le fichier vhost après la directive "RewriteEngine On"
LogLevel alert rewrite:trace3

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 Ubuntu (autre documentation) (Debian10)

sudo apt install mysql-server
#Configuration de MySQL
sudo mysql_secure_installation

Exemple pour Redhat / Fedora

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'

JVM

Vous pouvez installer une JVM avec Ansible par exemple en utilisant le role gantsign.java ou suivre les instructions manuelles pour adoptjdk.

Tomcat

Tomcat est généralement installé dans /etc/tomcat7/ sur Ubuntu et dans /opt/ sur RedHat.

Deux solutions pour installer tomcat: télécharger et déployer une version zip de tomcat disponible sur le site de Apache ou installer la version packagé provenant de la distribution de linux.

Le CMS Ametys est compatible avec Tomcat 9 et plus. Tomcat est téléchargeable sur le site de Apache: Tomcat 9

Pour installer tomcat vous pouvez utiliser le role Ansible pulse-mind.tomcat.

#Exemple de lignes de commandes: 
cd /opt
mkdir tomcat
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

tar xzf /tmp/tomcat.tgz
mkdir current
ln-f apache-tomcat.1.0.0 current

cd /opt/tomcat/current

chgrp -R tomcat /opt/tomcat
chmod -R g+r conf
chmod g+x conf
chown -R tomcat webapps/ work/ temp/ logs/

chmod -R g+w logs temp webapps work

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 :

Include sites-enabled/*.conf

Sinon il faut ajouter cette ligne à la fin du fichier.

SeLinux

Il est recommandé de désactiver SeLinux, pour cela :

vi /etc/selinux/config
SELINUX=disabled
/usr/sbin/setenforce 0

 
#ou si /etc/selinux/config n'existe pas: 
echo 0 > /selinux/enforce
apt-get install selinux-utils
setenforce 0
cd /etc
mkdir selinux
vi /etc/selinux/config
SELINUX=disabled

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.

#Nombre de fichiers ouverts
vi /etc/security/limits.conf
* - nofile 100000
root - nofile 100000

#Puis rebootez.
reboot
 
#Dans le script de tomcat, par exemple /etc/default/tomcat7, ajoutez à la fin: 
#Pour être sur que tomcat l'utilise au démarrage, même après un reboot du serveur
ulimit -n 100000

vi – éditeur par défaut

 # Spécifier vi en tant qu'éditeur par défaut
vim /etc/profile
# ajouter les lignes suivantes
EDITOR=/usr/bin/vi
export EDITOR

vi - copier/coller (debian)

vi ~/.vimrc

#Aciver le copier/coller
set mouse-=a
#Activer la coloration syntaxique
syntax on

vi – remplacement de chaines de caractères

Pour remplacer une chaine de caractère <motif A> par une autre <motif B> dans un fichier :

:%s#<motif A>#<motif B>#g

Par exemple pour remplacer cmsdev.xxxxxx.fr par cms.xxxxxx.fr faire :

:%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.

Alias

Pour plus de confort, ajouter l’alias ll

cd
vi .bashrc

En général il suffit de supprimer le commentaire devant la ligne

alias ll='ls -l'

A noter que parfois les alias sont dans un autre fichier (ce fichier étant appelé par le .bashrc) :

 vi .bash_aliases
Retour en haut

Manuel d'installation et d'exploitation