Système
Installation du système
[esup@ecampusdev ~]$ cat /etc/redhat-release
CentOS release 6.3 (Final)
[esup@ecampusdev ~]$ free
total used free shared buffers cached
Mem: 1939152 1746040 193112 0 27740 350716
-/+ buffers/cache: 1367584 571568
Swap: 4161528 86948 4074580
[esup@ecampusdev ~]$ df -H
Sys. de fichiers Taille Util. Disp. Uti% Monté sur
/dev/mapper/vg_ecampusdev-lv_root
30G 9,9G 18G 36% /
tmpfs 993M 0 993M 0% /dev/shm
/dev/sda1 508M 55M 428M 12% /boot
[esup@ecampusdev ~]$ arch
i686
Java, tomcat, ant, maven, etc.
Tout est packagé RPM à l'exception de maven:
[esup@ecampusdev ~]$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (rhel-1.50.1.11.5.el6_3-i386)
OpenJDK Client VM (build 20.0-b12, mixed mode)
[esup@ecampusdev ~]$ tomcat6 version
Server version: Apache Tomcat/6.0.36
Server built: Nov 2 2012 12:31:49
Server number: 6.0.36.0
OS Name: Linux
OS Version: 2.6.32-279.22.1.el6.i686
Architecture: i386
JVM Version: 1.6.0_24-b24
JVM Vendor: Sun Microsystems Inc.
[esup@ecampusdev ~]$ ant -version
Apache Ant(TM) version 1.8.2 compiled on July 6 2011
[esup@ecampusdev ~]$ /usr/local/maven/bin/mvn --version
Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)
Maven home: /usr/local/maven
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre
Default locale: fr_FR, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-279.22.1.el6.i686", arch: "i386", family: "unix"
Certificats
Dans /etc/httpd/conf.d/ssl.conf:
# Server Certificate:
SSLCertificateFile /etc/pki/tls/certs/cert-15009-ecampusdev.tem-tsp.eu.pem
# Server Private Key:
SSLCertificateKeyFile /etc/pki/tls/private/ecampusdev.key
# Server Certificate Chain:
SSLCertificateChainFile /etc/pki/tls/certs/cachain-TERENA_UTN-USERFirst-Hardware_AddTrust.pem
# Certificate Authority (CA):
SSLCACertificateFile /etc/pki/tls/certs/add_trust_external_ca_root.pem
Mod ajp
[root@ecampusdev ~]# more /etc/httpd/conf.d/esup.conf
ErrorLog /var/log/httpd/ent1.log
CustomLog /var/log/httpd/access-esup1_log combined env=!display
<Location />
Order deny,allow
Allow from all
</Location>
ProxyPass / ajp://ecampusdev.tem-tsp.eu:8009/ min=0 max=100 smax=50 ttl=10 route=ecampusdev timeout=60
ErrorDocument 503 "Redémarrage en cours de eCampus de developpement (esup v4). Patientez quelques minutes."
Création de l'utilisateur esup
useradd esup -d /home/esup -s /bin/bash -g tomcat
Tomcat
Tomcat est installé via YUM (package).
On modifie /etc/tomcat6/tomcat-users.xml afin de pouvoir accéder au manager
On modifie /etc/tomcat6/server.xml pour esup:
<Context path="" docBase="/usr/share/tomcat6/webapps/uPortal" crossContext="true">
<Resource name="jdbc/PortalDb" auth="Container" type="javax.sql.DataSource"
username="uportal" password="monmotdepasse"
driverClassName="org.postgresql.Driver" url="jdbc:postgresql://ecampusdev.tem-tsp.eu/uportal4?autoReconnect=true"
maxActive="50" maxIdle="10" maxWait="5000"
poolPreparedStatements="true"
removeAbandoned="true"
removeAbandonedTimeout="300"
/>
<Manager pathname="" />
</Context>
Bases de données
Creation bases postgresql
[root@ecampusdev lib]# su - postgres
-bash-4.1$ psql
psql (8.4.13)
Saisissez « help » pour l'aide.
postgres=# create database uportal4;
postgres=# create USER uportal with password 'monmotdepasse';
CREATE ROLE
postgres=# grant all privileges on database uportal4 to uportal;
GRANT
postgres-# \q
-bash-4.1$ exit
Autoriser connection tcp/ip a postgresql
Il faut ouvrir le port 5432 (tcp et udp) dans iptables
Modification de /var/lib/pgsql/data/pg_hba.conf et /var/lib/pgsql/data/postgresql.conf
Récuperation du portail
GIT
git config --global user.name "Gaboret"
git config --global user.mail "Christophe.Gaboret@tem-tsp.eu"
cd ~/.ssh/
ssh-keygen -t rsa -C "Christophe.Gaboret@tem-tsp.eu"
more ~/.ssh/id_rsa.pub
On rentre sa cle publique sur son compte dans https://github.com/settings/ssh
ssh -T git@github.com
Hi Gaboret! You've successfully authenticated, but GitHub does not provide shell access.
Récuperation d'une branche à soi
On fork esup-uportal.git (bouton fork en haut à droite), une fois connecte sur https://github.com/EsupPortail/esup-uportal
[esup@ecampusdev ~]$ pwd
/home/esup
git clone git@github.com:Gaboret/esup-uportal.git
cd esup-uportal
git remote add upstream git://github.com/EsupPortail/esup-uportal.git
git fetch upstream
git checkout -b conf-temtsp origin/master
git branch
Adaptations
build.properties
[esup@ecampusdev esup-uportal]$ pwd
/home/esup/esup-uportal
cp build.properties.sample build.properties
Modifications
[esup@ecampusdev esup-uportal]$ diff -urb build.properties.sample build.properties
--- build.properties.sample 2013-02-19 12:08:39.110793430 +0100
+++ build.properties 2013-02-19 13:25:23.078786253 +0100
@@ -32,7 +32,7 @@
##### Replace server.home with the location of Tomcat 6 on your machine #####
# path to tomcat binaries
-server.home=@server.home@
+server.home=/usr/share/tomcat6
# path to tomcat servlet container (defaults to same directory as the tomcat binaries)
server.base=${server.home}
@@ -41,7 +41,7 @@
server.webapps=${server.base}/webapps
# If the mvn executable isn't on your path you can set the location here or set it on your path.
-#maven.home=
+maven.home=/usr/local/maven/
rdbm.properties
Modification de /home/esup/esup-uportal/uportal-war/src/main/resources/properties/rdbm.properties pour décommenter la partie postgresql (ou mysql)
esup.properties
/home/esup/esup-uportal/filters/esup.properties
## Server Path configuration
environment.build.server.webapps=/usr/share/tomcat6/webapps
environment.build.server.home=/usr/share/tomcat6
## Database Connection Settings (Uncomment the Maven Filters section in rdbm.properties)
environment.build.hibernate.connection.driver_class=org.postgresql.Driver
environment.build.hibernate.connection.url=jdbc:postgresql://ecampusdev.tem-tsp.eu/uportal4
environment.build.hibernate.connection.username=uportal
environment.build.hibernate.connection.password=monmotdepasse
environment.build.jdbc.groupId=postgresql
environment.build.jdbc.artifactId=postgresql
environment.build.jdbc.version=9.0-801.jdbc4
# uPortal server configuration properties
environment.build.uportal.server=ecampusdev.tem-tsp.eu
environment.build.real.uportal.server=ecampusdev.tem-tsp.eu
environment.build.uportal.protocol=https
environment.build.uportal.context=/uPortal
environment.build.real.uportal.context=/uPortal
environment.build.uportal.email.fromAddress=informatique@it-sudparis.eu
# CAS server configuration properties
environment.build.cas.server=cas.tem-tsp.eu
environment.build.cas.protocol=https
environment.build.cas.context=/cas
# LDAP
environment.build.ldap.url=ldap://ldapesup1.it-sudparis.eu:389 ldap://ldapesup2.it-sudparis.eu:389
environment.build.ldap.baseDn=dc=int-evry,dc=fr
environment.build.ldap.userName=monldapbind
environment.build.ldap.password=monldappasswd
environment.build.ldap.pooled=false
environment.build.ldap.uidAttr=uid
environment.build.ldap.bindDN=cn=mcibind,ou=system,dc=int-evry,dc=fr
# Tentative:
ldap.url=ldap://ldapesup1.it-sudparis.eu:389 ldap://ldapesup2.it-sudparis.eu:389
ldap.baseDn=dc=int-evry,dc=fr
ldap.userDn=monldapbind
ldap.password=monldappasswd
ldap.bindDn=cn=mcibind,ou=system,dc=int-evry,dc=fr
ldap.pooled=false
ldap.uidAttr=uid
# Logs
environment.build.log.logfileDirectory=/var/log/tomcat6
environment.build.log.logfileName=esup.log
environment.build.log.size=1024
environment.build.log.rootLevel=INFO
environment.build.log.layoutConversionPattern=[${environment.build.host.logicalName}]%5p [%t] %d{MMM/dd HH:mm:ss,SSS} %c{2}.[%x] - %m%n
environment.build.log.rollingLogFileDatePattern='.'yyyy-MM-dd-HH
# Esup
# NOT USE NOW
environment.build.host.logicalName=ecampusdev1
environment.build.xsl.debug=ERROR
environment.build.xsl.cache=
environment.build.xsl.help.url=http://infopedia.tem-tsp.eu/wikiuser/doku.php?id=documentation:ecampus:ecampus
environment.build.xsl.help.login=http://infopedia.tem-tsp.eu/wikiuser/doku.php?id=documentation:ecampus:seconnecter
esup.title.main=${esup.host.logicalName} - Télécom SudParis & Télécom École de Management
Création de liens symboliques
cd /usr/share/tomcat6/
sudo ln -s /var/lib/tomcat6/common common
sudo ln -s /var/lib/tomcat6/shared shared
ln -s /home/esup/esup-uportal/uportal-war/target/uPortal/WEB-INF/lib/ /home/esup/EsupPortail/esup-uportal/lib
Premières taches ant
[esup@ecampusdev esup-uportal]$ ant dbtest
...
[java] INFO [12:49,965] aggrEventsJdbcOperations
[java] INFO [12:49,966] Database name: 'PostgreSQL'
[java] INFO [12:49,966] Database version: '8.4.13' (8.4)
[java] INFO [12:49,966] Driver name: 'PostgreSQL Native Driver'
[java] INFO [12:49,966] Driver version: 'PostgreSQL 9.0 JDBC4 (build 801)' (9.0)
[java] INFO [12:49,966] Driver class: 'PostgreSQL Native Driver'
[java] INFO [12:49,966] Connection URL: 'jdbc:postgresql://ecampusdev.tem-tsp.eu/uportal4'
[java] INFO [12:49,966] User: 'uportal'
Création compte admin
ant -Dmaven.test.skip=true data-export -Dtype=group-membership -Dsysid="Portal Administrators" -Ddir=/tmp
ant -Dmaven.test.skip=true data-import -Dfile=/tmp/Portal_Administrators.group-membership.xml
Faut-il créer /home/esup/esup-uportal/uportal-war/src/main/data/quickstart_fr_entities/user/admin* ou admin* est admin-lo.user.xml et admin.user.xml ?
Deuxièmes taches ant
ant -Dmaven.test.skip=true clean initportal
ant -Dmaven.test.skip=true clean deploy-ear
Commit avec GIT
git commit -m "Conf de base sans ldapContext.xml ni personDirectoryContext.xml"
git commit -a -m "Conf de base sans ldapContext.xml ni personDirectoryContext.xml"
git branch
git push origin conf-temtsp
git merge upstream/master
Ce que ça donne
https://www.esup-portail.org/download/attachments/267812900/Capture.png?api=v2
Les portlets ne sont pas visibles bien que définis dans /home/esup/esup-uportal/uportal-war/src/main/data/quickstart_fr_entities/portlet-definition/ .
En se connectant avec le compte admin, le portail plante.. En indiquant un hashage MD5 dans /home/esup/esup-uportal/uportal-war/src/main/data/quickstart_fr_entities/user/admin.user.xml, le résultat n'est pas plus probant :-(