Préparation du serveur [Centos - JDK- Ant - Apache - Mysql]

Ici, Esup Portail sera installé sur une distribution Centos 5.
L'installation sera effectuée à distance en SSH en utilisant vim pour éditer les fichiers.
Dans un premier temps, je vais donc configurer le serveur afin de faciliter le travail dans la console :
--- pour désactiver les beep ---
"set bell-style none" dans /etc/inputrc
--- affichage des accents ---
"export LANG=fr_FR.UTF8" à la fin de ~/.bashrc
--- Changer les couleurs de ls ---
copier /etc/DIR_COLORS vers ~/.dircolors et modifier
--- vim (fond en blanc)---
~/.vimrc
hi normal ctermbg=white ctermfg=black

Mise à jour du système

yum update

Installation du JDK Sun

Télécharger le rpm qui va bien sur http://java.sun.com/javase/downloads/index_jdk5.jsp

wget http://cds.sun.com/...jdk...
chmod +x jdk-xxx.bin
./jdk-xxx.bin
cd /usr/java
ln -s jdk1.5.xxx default
ln -s jdk1.5.xxx latest

Enregistrement du JDK

Dans /etc/profile ajouter avant ‘export PATH’ vers la fin:

export JAVA="sun"
export JPATH="/usr/java/default"
export JAVA_HOME="$JPATH"
export CLASSPATH="$JPATH/bin"
pathmunge $JPATH/bin before

Installation Ant

Je fais une installation manuelle car je n'ai pas envie que libgcj soit installé sur le système et vienne éventuellement interférer avec le JDK Sun.

wget http://mir2.ovh.net/ftp.apache.org/dist/ant/binaries/apache-ant-xxx-bin....
tar -xvzf apache-ant-xxx-bin.tar.gz
mv apache-ant-xxx/ /usr/share/ant
ln -s /usr/share/ant/bin/ant /usr/bin/

Dans /etc/profile ajouter :

export ANT_HOME=/usr/share/ant

Installation Apache, Mysql PhpMyAdmin

Cette fois ci il n'y a aucune raison de se priver de yum. Il faut cependant installer RPMForge afin de pouvoir installer phpmyadmin automatiquement.

RPMForge

Editer /etc/yum.repos.d/rpmforge.repo afin qu'il ne soit pas actif par défaut

enable = 0

Installation

yum install --enablerepo=extras,rpmforge httpd php phpmyadmin php-mbstring php-mcrypt

Configuration PHP
Editer/etc/php.ini afin de permettre l'upload de fichiers volumineux et l'execution de scripts assez longs

max_execution_time = 90
memory_limit = 36M
post_max_size = 50M
upload_max_filesize = 25M

Configuration PhpMyAdmin / Mysql
Editer/usr/share/phpmyadmin/config.inc.php afin de sécuriser l'accès au site par mot de passe

$cfg['Servers'][$i]['auth_type'] = 'http';

Editer /etc/httpd/conf.d/phpmyadmin.conf
Supprimer les alias inutiles et autorisez l'accès à votre machine ou proxy

<Directory "/usr/share/phpmyadmin">
  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1
  Allow from 192.168.votre.ip
</Directory>

Alias /phpmyadmin /usr/share/phpmyadmin

Ce fichier de configuration vous permettra d'accéder à phpmyadmin en http. Même si cet accès est restreint aux IP que vous avez définis, je vous conseille de mettre le code ci dessus à l'intérieur du VirtualHost SSL de votre serveur (qui sera défini dans ent.conf par la suite) afin que l'on ne puisse pas écouter votre mot de passe sur le réseau... N'oubliez pas de supprimer le fichier phpmyadmin.conf par la suite.

 Démarrer mysql et apache

service mysqld start
service httpd start

Aller dans phpmyadmin http://server/phpmyadmin/ [par défaut login root, mot de passe vide]
Supprimer tous les utilisateurs root sauf celui qui se connection en 'localhost'
Définir un mot de passe pour cet utilisateur.

Configuration des paramètres de sécurité

system-config-securitylevel

-Désactiver SELinux (ca vous évitera de vous prendre la tête avec les permissions d'apache ou tomcat)
-Dans Personnalisation
  Autoriser les entrées SSH, HTTP, HTTPS
  Ajouter le port 8080 pour permettre l'accès à l'administration de tomcat [ceci n'est pas obligatoire, il sera possible d'y accéder via un tunnel SSH]

 

Accueil esup-portail