Procédure d'installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5

 
CONTINUER À LIRE
Procédure d'installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5
Procédure d’installation de OpenOffice.org non
                                                 graphique sur un serveur Linux Fedora Core 5

                                            1. OpenOffice.org
                                            Ce paragraphe présente la manière d’installer la suite bureautique OpenOffice.org sur le serveur
                                            Linux Fedora Core 5.
                                            La version utilisée de OOo est la 2.2.1, dernière en date, au format RPM avec le support de JAVA (cet
                                            environnement de développement étant nécessaire à l’exécution de macros en ligne de commandes).

                                                 1.1. Téléchargement
                                            Récupération de l’archive compressée au format .tar.gz avec Java depuis www.openoffice.org dans
                                            /tmp.
                                            La page de téléchargement officielle du logiciel en version française est : http://fr.openoffice.org/about-
                                            downloads.html.
                                            L’archive à télécharger est libellée « LINUX .rpm avec JAVA inclus » et le nom du fichier est
                                            OOo_2.2.1_LinuxIntel_install_wJRE_fr.tar.gz (Si JAVA est déjà présent dans le système,
                                            alors il est nécessaire de télécharger la version « sans JAVA inclus », nom de fichier :
                                            OOo_2.2.1_LinuxIntel_install _fr.tar.gz).

                                                 1.2. Installation
                                            En considérant que l’archive compressée de OOo téléchargée au paragraphe précédent se trouve
                                            dans le répertoire /tmp, en administrateur :
                                            # cd /tmp
                                            # tar xvzf OOo_2.2.1_LinuxIntel_install_wJRE_fr.tar.gz
                                            # cd OOF680_m18_native_packed-1_fr.9161/RPMS
                                            On supprime le paquetage rpm d’intégration à GNOME car cet environnement de bureau n’est pas
                                            installé et cela évite ainsi des problèmes de dépendances à l’installation avec la bibliothèque
                                            libgnomevfs-2.so.0 :
info@rapsodie.fr - http://www.rapsodie.fr

                                            # rm openoffice.org-gnome-integration-2.2.1-9161.i586.rpm
                                            On installe tous les paquetages rpm restant :
                                            # rpm -ivh *.rpm

                                            2. Jeu de test
                                            L’installation du jeu de test n’est pas à mettre en œuvre sur un serveur de production, ce paragraphe
                                            étant présent uniquement pour montrer les tests utilisés lors du développement de cette solution.
                                            On considère que les archives .zip du jeu de test se trouvent dans /tmp :
                                            #   cd /opt/openoffice.org2.2/share/basic
                                            #   unzip /tmp/vm_rapport.zip
                                            #   mkdir /tmp/testOOo
                                            #   cd /tmp/testOOo
                                            #   unzip /tmp/testOOo.zip

                                                              Bât. T4 - PIT de la Pompignane, rue de la Vieille Poste - 34055 Montpellier Cedex 1
                                                                             Téléphone : 04 67 13 82 05 – Fax : 04 67 99 05 63
                                                                                Siret : 440 948 644 00016 - Code APE: 721 Z
                                                                                          SAS au capital de 52 416€
3. Serveur de polices XFS
L’installation du serveur de polices XFS (X Font Service) est nécessaire pour l’exécution du serveur X-
Window virtuel Xvfb utilisé dans la solution.
Cette solution indique la procédure à suivre à partir des paquetages logiciels fournis avec la
distribution Linux Fedora Core 5 et la commande rpm ; ceci pouvant aussi être effectué avec l’utilitaire
de gestion des paquetages yum.

    3.1. Installation
On considère que les paquetages rpm de la distribution se trouvent dans le répertoire
/mnt/Fedora/RPMS :
# cd /mnt/Fedora/RPMS
# rpm -ivh xorg-x11-xfs-1.0.1-4.i386.rpm \
           chkfontpath-1.10.1-1.i386.rpm \
           libFS-1.0.0-2.2.i386.rpm \
           libXfont-1.0.0-2.2.i386.rpm \
           xorg-x11-font-utils-1.0.1-3.i386.rpm \
           ttmkfdir-3.0.9-19.2.1.i386.rpm \
           libfontenc-1.0.1-1.2.i386.rpm \
           xorg-x11-filesystem-7.0-1.noarch.rpm \
           xorg-x11-fonts-base-7.0-3.noarch.rpm
Le dernier paquetage rpm fourni un minimum de polices de caractères au serveur XFS installé ; il est
possible d’installer des paquetages de polices complémentaires suivant vos besoins.

    3.2. Mise en place du service
On s'assure que XFS soit bien lancé au démarrage du système et on le lance manuellement si ce
n’est déjà fait :
# chkconfig --level 345 xfs on
# /etc/init.d/xfs start

4. Serveur X-Window Virtuel Xvfb
Cet élément logiciel permet d’émuler la présence d’une couche graphique sur le serveur Linux tout en
gardant le niveau d’exécution système 3 (mode texte) ; de plus il ne nécessite pas la présence de
carte graphique matérielle pour s’exécuter.
Une fois le serveur Xvfb lancé comme service, OOo peut y accéder pour s’exécuter en mode texte.

    4.1. Installation
On considère que les paquetages rpm de la distribution se trouvent dans le répertoire
/mnt/Fedora/RPMS.
Comme pour XFS, l’installation peut être effectuée à l’aide de l’utilitaire yum mais on présente ici
l’ensemble des paquetages permettant de répondre aux dépendances.
 # rpm -ivh xorg-x11-server-Xvfb-1.0.1-8.i386.rpm \
            liblbxutil-1.0.0-2.2.i386.rpm

    4.2. Mise en place du service
Pour que le serveur Xvfb soit lancé automatiquement lors du démarrage du système et pour une
gestion de ce service propre à Fedora Core, il est nécessaire de créer le script de démarrage/arrêt
suivant. Le fichier à créer se nomme /etc/init.d/xvfb (ce script fait partie des livrables fournis
avec la solution) :

                       © Rapsodie 2007 – tous droits réservés – page 2 sur 9
# cd /etc/init.d
# vi xvfb
Contenu du fichier :
#!/bin/sh
# chkconfig: 345 91 10
# description: Start/stop/restart le virtual frame buffer based X Server
(Xvfb)
#
# Nicolas Pons, le 24/08/2007

# Constantes
XVFB_PATH=/usr/bin/Xvfb
XVFB_NUM_DISPLAY=1
XVFB_OPTIONS=
PID_FILE=/var/run/xvfb.pid
LOCK_FILE=/var/lock/xvfb

start() {
  if [ -e $LOCK_FILE ]
  then
     echo "Erreur: service deja lance ou fichier lock persistant" >&2
     exit 1
  fi
  if [ -x $XVFB_PATH ]
  then
     echo "Demarrage du serveur X Virtual Frame Buffer (Xvfb)."
     $XVFB_PATH :$XVFB_NUM_DISPLAY $XVFB_OPTIONS >/dev/null 2>&1 &
     echo $! > $PID_FILE
     touch $LOCK_FILE
  else
     echo "Erreur: ne trouve pas $XVFB_PATH." >&2
     exit 2
  fi
}

stop() {
  if [ ! -e $LOCK_FILE ]
  then
     echo "Erreur: service non lance ou fichier lock manquant" >&2
     exit 3
  fi
  if [ -e $PID_FILE ]; then
     echo "Arret du serveur X Virtual Frame Buffer (Xvfb)."
     kill $(< $PID_FILE) 2> /dev/null
     rm -rf $PID_FILE $LOCK_FILE
  else
     echo "Erreur: fichier PID manquant pour arreter le service Xvfb." >&2
     exit 4
  fi
}

case "$1" in
  'start')
    start
    ;;
  'stop')
    stop
    ;;
  'restart')
                       © Rapsodie 2007 – tous droits réservés – page 3 sur 9
stop
     sleep 1
     start
     ;;
  'status')
     ps -ef | grep -v grep | grep Xvfb
     ;;
  *)
     echo "usage: $0 start|stop|restart|status" >&2
     exit 5
esac
Il faut alors enregistrer le service et le lancer une première fois si ce n’est déjà fait :
# chmod 755 xvfb
# chkconfig --add xvfb
# /etc/init.d/xvfb start

5. Ligne de commandes
Ce paragraphe présente un exemple de ligne de commandes à taper pour appeler une macro OOo :
# /opt/openoffice.org2.2/program/soffice -invisible \
                                         -display :1 \
                                         -nofirststartwizard \
                                         -nocrashreport \
                                         -norestore \
                                         "macro:///biblio.macro.sub()"
Signification des options :
-invisible                      n'affiche pas de fenêtre
-nofirststartwizard             supprime la fenêtre d'enregistrement au lancement de OOo
-display                        utilise le serveur X dont le numéro est indiqué (Xvfb dans notre cas en
                                numéro 1 d’après le script de démarrage/arrêt créé précédemment)
-nocrashreport                  optionnel, désactive l'outil de rapport d'erreur
-norestore                      optionnel, désactive le redémarrage et la restauration de fichier après
                                un plantage du système dans OOo
Cependant, pour que la fonction sub de la macro macro soit reconnue par OOo dans notre exemple,
il faut préalablement créer la bibliothèque de macros biblio à partir de l’interface graphique de OOo.
Pour cela, il faut :
-   Établir un affichage graphique de OOo, sur un serveur X déporté par exemple ;
-   Créer la bibliothèque de macros.

    5.1. Accès à un serveur X déporté via SSH
Ce paragraphe explique comment utiliser un serveur X distant pour accéder à l’interface graphique de
OOo. Cette solution met en œuvre trois éléments :
-   Le serveur sshd présent sur le serveur Linux hébergeant l’application OOo ;
-   Le serveur X Xming présent sur le poste de travail distant de l’utilisateur qui doit contrôler
    l’application OOo avec une interface graphique ;
-   L’outil d’accès distant PuTTY, aussi présent sur le poste de travail de l’utilisateur qui doit contrôler
    l’application OOo, afin d’établir une connexion SSH avec le serveur Linux.

        5.1.1. Configuration du serveur sshd

                         © Rapsodie 2007 – tous droits réservés – page 4 sur 9
Il faut autoriser le « forward X11 » dans la configuration du serveur sshd de la machine Linux. Dans le
fichier de configuration /etc/ssh/sshd_config :
X11Forwarding yes
Relancer ensuite le serveur sshd :
# /etc/init.d/sshd restart
Pour que le forwarding X11 fonctionne correctement, il faut s’assurer aussi de la présence de l’outil
/usr/bin/xauth sur le serveur Linux. Si celui-ci n’est pas installé, utiliser la commande rpm pour
installer le paquetage logiciel du même nom ou yum comme suit :
# yum install xauth

        5.1.2. Lancement du serveur Xming
Après avoir installé le serveur X-Window Xming (http://sourceforge.net/projects/xming) pour Windows
sur le poste de travail de l’utilisateur, exécuter le programme XLaunch.exe et configurer comme
suit :
Choisir l’option « Multiple windows » (défaut) :

Choisir l’option « Start no client » (défaut) :

                         © Rapsodie 2007 – tous droits réservés – page 5 sur 9
Laisser les paramètres par défaut :

Cliquer sur [Terminer] pour lancer le serveur X :

                        © Rapsodie 2007 – tous droits réservés – page 6 sur 9
On peut contrôler la bonne exécution du serveur Xming avec l’icône suivante dans le « systray » :

Éventuellement, une fenêtre système doit être validée pour autoriser (débloquer) le programme Xming
fraichement installé.

        5.1.3. Ouverture d’un tunnel SSH avec forward X11
Pour cela, on utilise le client SSH PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty).
Dans la configuration de l’accès à la machine Linux, configurer comme suit avant d’établir la
connexion :

                       © Rapsodie 2007 – tous droits réservés – page 7 sur 9
Une fois la connexion établie, il est possible de vérifier le bon fonctionnement du forwarding X11 en
contrôlant que la variable d’environnement DISPLAY est définie, par exemple :
# echo $DISPLAY
wpc4656.amenworld.com:10.0
Pour lancer l’interface graphique de OOo sur le poste de travail de l’utilisateur, il suffit de taper la ligne
suivante sous PuTTY :
# /opt/open-office-2.2/program/soffice
Remarque : Il peut être judicieux de profiter de la session graphique pour enregistrer le logiciel OOo et
éviter ainsi cette fenêtre à chaque lancement de l’application.

    5.2. Création d’une bibliothèque de macros sous OOo
Aller dans le menu « Outils/Macros/Gérer les boîtes de dialogue… ». Dans l’onglet « Bibliothèques »
de la nouvelle fenêtre, créer une nouvelle bibliothèque portant le même nom que celle à recopier
manuellement sur le système de fichiers.
Il ne reste plus qu’à remplacer la bibliothèque vierge sur le système de fichiers par celle développée
par vos soins.

6. Exécution d’OOo par l’utilisateur apache (Linux)
Pour que l’utilisateur ‘apache’ puisse exécuter OOo à travers une application Web, il est nécessaire
de modifier certains éléments dans le système.

    6.1. Modification du compte utilisateur ‘apache’
Editer le fichier de paramétrage des comptes utilisateurs :

                         © Rapsodie 2007 – tous droits réservés – page 8 sur 9
# vi /etc/passwd

Modifier le contenu de la ligne concernant l'utilisateur 'apache', par exemple :
-    apache:x:48:48:Apache:/var/www:/sbin/nologin
Devient
-    apache:x:48:48:Apache:/home/apache:/bin/bash

     6.2. Création d’un répertoire personnalisé
Créer un répertoire personnel pour l’utilisateur ‘apache’ et récupérer les fichiers système type
contenus dans un autre répertoire utilisateur, ici on considère que l’utilisateur ‘toto’ a été
préalablement créé dans le système via la commande adduser :
#   mkdir /home/apache
#   cp /home/toto/.bash_logout /home/apache
#   cp /home/toto/.bash_profile /home/apache
#   cp /home/toto/.bashrc /home/apache
#   cp /home/toto/.zshrc /home/apache
#   touch /home/apache/.bash_history
#   chown –R apache.apache /home/apache

     6.3. Sécurisation du compte utilisateur par mot de passe :
Le compte utilisateur ‘apache’ ainsi modifié est perfectible car il n’est pas protégé par mot de passe. Il
faut donc en créer un :
# passwd apache
Saisir le mot de passe.

7. Utilitaire Yum et tâches automatisées
Sous Fedora Core 5, l’utilitaire Yum permet de gérer l’installation des paquets de manière simplifiée.
Cet utilitaire est souvent associé à l’exécution d’une tâche planifiée journalière nommée « yum.cron »
(stockée dans le répertoire /etc/cron.daily/ ).
Dans le cas de la présente installation, il se peut que l’exécution de cette tâche planifiée entraîne une
suppression automatique de certains paquets nécessaires au bon fonctionnement d’OpenOffice.org
2.2.
Aussi, après installation, nous conseillons de désactiver la tâche planifiée journalière « yum.cron »
(soit en la supprimant, soit en commentant le code que ce fichier contient), ou dans une moindre
mesure, de vérifier l’impact que peut avoir son exécution sur la présente installation.

                          © Rapsodie 2007 – tous droits réservés – page 9 sur 9
Vous pouvez aussi lire