Pages enfant
  • Installation uPortal v3 sur une centOS

Vous regardez une version antérieure (v. /wiki/display/ESUPMU/Installation+uPortal+v3+sur+une+centOS) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 6) afficher la version suivante »

(moins) En cours de rédaction

Nous décrivons ici l'installation d'un hôte vserver (http://linux-vserver.org/Welcome_to_Linux-VServer.org) sur lequel nous déployons le socle esup-portail.

Le système "invité" est une CentOS 5.4 d'architecture 32 bits, avec un nom inclut dans le DNS de l'établissement et des ACL réseau laissant passer les flux.

Nous supposons que vous possédez une infrastructure en place avec au minimum un DNS, CAS et un serveur openLDAP en production.

1/ Contexte

Dans ce qui va suivre, notre machine s'appelle gaspar-dev.int-evry.fr et a pour adresse IP 157.159.10.200 .

Il convient de correctement configurer votre firewall. Dans le cas d'un vserver installé avec les vs-tools (http://dokuwicri.univ-reims.fr/wiki/doku.php?id=public:projets:vs-tools:start), le fichier est accessible sur la machine hôte/physique dans /etc/vservers/nomduvserver/firewall.conf. Dans le cas d'une machine physique traditionnelle, il faut modifier le fichier /etc/sysconfig/iptables.

Voici les flux à laisser transiter à travers votre firewall

# Connexions sortantes:
allow to 0/0 to udp/53   # DNS request
allow to 0/0 to udp/123  # Network Time Protocol
allow to 157.159.0.0/16 to tcp/22 # SSH vers le réseau de l'établissement
#
# Récupération de package
allow to 0/0 to tcp/21     # FTP
allow from 0/0 from tcp/20 # FTP-data
allow to 0/0 to tcp/80     # HTTP YUM
allow to 0/0 to tcp/11371  # PGP-keys
#
# Portail
allow to 157.159.10.29/32 to tcp/443  # Accès https au CAS de l'établissement
allow to 157.159.10.76/32 to tcp/3306 # Requêtes mysql vers un serveur central (pas nécessaire a priori)
allow to 157.159.0.0/16 to tcp/389    # LDAP (tcp/636 pour du LDAPS)
allow to 157.159.0.0/16 to tcp/25     # SMTP
allow to 0/0 to tcp/8443              # HTTPS tomcat pour shibboleth
allow to 0/0 to tcp/443               # HTTPS pour shibboleth
allow to 0/0 to tcp/445               # CIFS stockage
allow to 0/0 to tcp/137               # CIFS stockage
allow to 0/0 to tcp/138               # CIFS stockage
allow to 0/0 to tcp/139               # CIFS stockage
allow to 157.159.10.88/32 to tcp/143  # Accès au serveur de boites aux lettres pour Canal IMAP
# Connexions entrantes:
allow from 0/0 to tcp/80              # HTTP
allow from 157.159.0.0/16 to tcp/8080 # HTTP tomcat
allow from 0/0 to tcp/443             # HTTPS
allow from 0/0 to tcp/8443            # HTTPS tomcat
allow from 0/0 to tcp/22              # Local SSH
allow from 0/0 to udp/161             # SNMP

2/ Installation système de base

2.1/ Récupération du repository java

cd /etc/yum.repos.d/
wget http://www.jpackage.org/jpackage50.repo
wget http://www.jpackage.org/jpackage.asc
rpm --import jpackage.asc

2.2/ Installation packages de base via RPM

On vérifie qu'on dispose que de packages 32 bits:

rpm -qa  --queryformat %-{name}-%{version}-%{release}.%{arch}"\n" | grep x86_64

On récupère via yum quelques packages utiles:

yum install vim-enhanced rootfiles vixie-cron anacron logrotate system-config-date sudo wget tar gzip diffutils
yum install which
yum install openssh.i386 openssh-clients.i386 openssh-server.i386
yum install dos2unix
yum install mlocate

On met à jour mlocate afin de retrouver facilement un fichier:

updatedb

2.3/ Configuration spécifique à Linux-VServer

On met le système à l'heure:

[root@gaspar-dev ~]# system-config-date

On vérifie:

[root@gaspar-dev ~]# date

Modification de fichiers PAM (/etc/pam.d/crond et /etc/pam.d/sshd) afin de rester dans le contexte du vserver. Dans les deux cas, on met en commentaire la ligne suivante: 

#session    required   pam_loginuid.so

Il peut survenir des soucis avec la localhost sur les vservers (plusieurs localhosts sur la même machine physique). On modifie /etc/hosts en conséquence:

[root@gaspar-dev ~]# more /etc/hosts
157.159.10.200          gaspar-dev.int-evry.fr localhost

2.4/ Installation des packages pour à ESUP

yum install tomcat6
yum install ant-nodeps
yum install ant java-sun java-sun-devel
yum install ant-apache-regexp ant-contrib
yum install httpd
yum install mysql-server

2.5/ Démarrage automatique de ces services/daemons:

chkconfig --level 345 mysqld on
chkconfig --level 345 tomcat6  on
chkconfig --level 345 httpd  on

2.6/ Ajout d'un compte local et positionnement des droits

Ajout du compte esup:

useradd esup

Copie du package esup et esupdev dans le répertoire du compte local:

cd ~
cp esup-3.1.1-esup-0.4.tar.gz /home/esup/.
cp esupdev-3.1.1-esup-0.4.tar.gz /home/esup/.

Positionnement des droits:

cd /home/esup/
chgrp -R apache .bash_logout .bash_profile .bashrc .mozilla
chown esup:tomcat esup-3.1.1-esup-0.4.tar.gz  esupdev-3.1.1-esup-0.4.tar.gz

2.7 Mysql

/etc/init.d/mysqld start
/usr/bin/mysqladmin -u root password 'motdepasse'
mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database esup;
mysql> GRANT ALL PRIVILEGES ON esup.* TO 'esup'@'localhost' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON esup.* TO 'esup'@'gaspar-dev.int-evry.fr' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION;

2.8 Monitoring nagios (spécifique à mon établissement mais ça peut rappeler que...)

yum install nrpe
yum install nagios-of-plugins nagios-plugins-ntp nagios-plugins-load nagios-plugins-users nagios-int-plugins nagios-plugins nagios-plugins-disk nagios-plugins-perl nagios-plugins-procs
vi /etc/nagios/nrpe.cfg
chkconfig --level 345 nrpe on
/etc/init.d/nrpe start

2.9 Installation de maven

Après téléchargement (http://maven.apache.org/) ou récupération de maven via "ant init":

cp apache-maven-2.2.1-bin.tar.gz /usr/local/.
cd /usr/local/
gunzip apache-maven-2.2.1-bin.tar.gz
tar xvf apache-maven-2.2.1-bin.tar
rm apache-maven-2.2.1-bin.tar
chmod +x /usr/local/apache-maven-2.2.1/bin/mvn

En tant qu'utilisateur esup, il faut rajouter ceci à votre path:

su - esup
vi /home/esup/.bash_profile

...
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/:/usr/local/apache-maven-2.2.1/bin

3/ Installation du package esup-portail à proprement parler

(moins) Attention, faites tout ce qui suit en tant que l'utilisateur esup (su - esup)

3.1/ Décompression des packages

cd
gunzip esup-3.1.1-esup-0.4.tar.gz
tar xvf esup-3.1.1-esup-0.4.tar
mkdir Archive
gzip -9 esup-3.1.1-esup-0.4.tar
mv esup-3.1.1-esup-0.4.tar.gz Archive/.

3.2/ Configuration

cd esup-3.1.1-esup-0.4/
cp config.sample.properties config.properties
cp build.sample.properties build.properties

vi config.properties

vi build.properties

3.3/ Modification des droits

ls logs/
ls -al logs
touch logs/portal.log
touch logs/stats.log

3.4 Premières taches ant et création de l'arborescence

Les options de ant:

 ant -p

On lance la séquence décrite par le consortium:

cd ~/esup-3.1.1-esup-0.4/
ant init
ant getcomponents
ant unzip

3.5/ Configuration de uPortal

cd /home/esup/esup-3.1.1-esup-0.4/Portail/uPortal-3.1.1
vi build.properties
cd ../..

3.6/ Utilisation du ant embarqué

cd /home/esup/esup-3.1.1-esup-0.4/resources/
gunzip apache-ant-1.7.1-bin.tar.gz
tar xvf apache-ant-1.7.1-bin.tar
rm apache-ant-1.7.1-bin.tar
cp ant.sample.sh ant.sh
vi ant.sh

----
#!/bin/sh

export LANG=fr_FR
# export JAVA_HOME=/usr/java/jdk1.6
export JAVA_HOME=/usr/lib/jvm/java
export ANT_HOME=./resources/apache-ant-1.7.1

chmod 755 $ANT_HOME/bin/ant
$ANT_HOME/bin/ant $@

----
chmod u+x ant.sh
dos2unix ant.sh

3.7/ Deuxièmes tâches ant

cd  /home/esup/esup-3.1.1-esup-0.4
dos2unix ant.sh
./ant.sh init
./ant.sh getcomponents
./ant.sh unzip

Il faut faire un choix de base de données. Nous avons choisi mysql mais pour commencer les tests, on va prendre hsql. Pour ceux qui ne connaissent pas, hsqldb est une base, écrite en java, embarquée dans l'application. Ca a la réputation d'être plus rapide et de taille moins importante que mysql. En effet, toutes les données sont écrites en mémoire pour améliorer la vitesse d'accès mais ça ne permet donc pas le traitement d'énormes bases de données. Lors de la fermeture de la connexion à la base de données, hsql va écrire toutes ses données volatiles dans des fichiers (il est cependant aussi possible de créer des tables en dur sur le disque).

Si vous voulez en savoir plus sur le sujet, consultez http://baptiste-wicht.developpez.com/tutoriel/java/hsql/ .

Dans une fenêtre séparée (ceci sert à lancer la base de données hsqldb):

./ant.sh hsql.start

Dans la première fenêtre:

./ant.sh db.test
./ant.sh db.init
./ant.sh deploy

3.8/ Création d'un script de lancement automatique

vi ~/restart_esup.sh
----
#!/bin/bash
#
/usr/bin/sudo /etc/init.d/tomcat6 stop
cd ~/esup-3.1.1-esup-0.4/
./ant.sh init
./ant.sh db.import -Dchannel=all
./ant.sh db.import -Dusername=monuser-lo
./ant.sh deploy
/usr/bin/sudo /etc/init.d/tomcat6 start
cd
vi /etc/sudoers
chmod u+x restart_esup.sh
~/restart_esup.sh
----
  • Aucune étiquette