Installer Flash Media Server 2 sur Gentoo Linux 博客分类: Linux LinuxFlashGCCAdobeRedHat
Installer Flash Media Server 2 sur Gentoo Linux
Après plusieurs demandes concernant l'installation d'un serveur Flash Media Server 2 (FMS2) sur une plate-forme Gentoo Linux, je trouve enfin le temps de vous donner quelques indications utiles qui devraient vous permettre d'installer votre serveur sans difficultés.
Téléchargement
Commencez par télécharger la dernière version de FMS2 sur le site d'Adobe. Vous pouvez récupérer l'édition developpeur, qui est gratuite (mais n'autorise que 10 connections simultanées). Une fois le téléchargement effectué, vous disposerez d'un fichier FlashMediaServer2.tar.gz
.
Installation
Désarchivez le fichier FlashMediaServer2.tar.gz
dans /tmp
:
% tar -zxvf FlashMediaServer2.tar.gz -C /tmp
Une fois le désarchivage effectué, vous trouverez un dossier FMS_2_0_3_r68_linux
dans votre dossier /tmp
. Placez-vous à l'intérieur de ce répertoire et lancez le script d'installation (en tant que superutilisateur root bien sûr) :
% cd /tmp/FMS_2_0_3_r68_linux/
% ./installFMS -platformWarnOnly
Vous aurez remarqué l'option -platformWarnOnly
passée au script d'installation. Cette option est nécessaire pour passer outre les vérifications qu'effectue le script pour tester le type de plate-forme sur laquelle il s'exécute. Gentoo n'est en effet pas représentée. Le script n'est prévu que pour détecter une RedHat ou une Solaris (arf...).
Suivez les instructions du script en répondant aux questions successives qu'il va vous poser (rien de méchant, rassurez-vous). Si vous ne savez pas y répondre par vous-même, acceptez les options qu'il vous propose par défaut. Ça ira très bien. Une fois la configuration de l'installation terminée, le script installe l'arborescence du serveur FMS2 à l'emplacement que vous aurez spécifié durant la configuration. Par défaut, il s'agit de /opt/macromedia/fms/
. Rendez-vous à cet emplacement pour la suite de l'installation (la partie spécifique à Gentoo) :
% cd /opt/macromedia/fms/
A ce stade, nous devons vérifier que toutes les bibliothèques nécessaires à FMS2 sont bien présentes sur votre système Gentoo et que FMS est bien capable de les retrouver. En effet, les binaires compilés et distribués par Adobe utilisent des bibliothèques partagées qu'ils chargent dynamiquement. Ces binaires sont au nombre de 4 :
- fmscore
- fmsmaster
- fmsedge
- fmsadmin
Pour connaître la liste des bibliothèques nécessaires, il existe une commande magique : /usr/bin/ldd
. Tapez la commande suivante :
% ldd fmscore
Vous devriez obtenir quelque-chose comme :
linux-gate.so.1 => (0xffffe000)
libssl.so.4 => not found
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7fd2000)
libnspr4.so => not found
libplc4.so => /usr/lib/nspr/libplc4.so (0xb7f93000)
libplds4.so => /usr/lib/nspr/libplds4.so (0xb7f90000)
librt.so.1 => /lib/tls/librt.so.1 (0xb7f87000)
libdl.so.2 => /lib/libdl.so.2 (0xb7f82000)
libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0xb7ecd000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7eab000)
libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 (0xb7ea3000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7d91000)
lib/ld-linux.so.2 (0xb7feb000)
libcrypto.so.4 => not found
Comme vous pouvez le remarquer, quelques bibliothèques restent introuvables (celles qui comportent la mention not found). Ces bibliothèques doivent être présentes sur votre système pour que FMS2 puisse fonctionner. Le fait que ldd renvoie not found ne signifie pas pour autant que les bibliothèques concernées ne soient pas déjà présentes sur votre système. Mais elle peuvent exister sous une version différente (généralement plus récente). Il faut donc vérifier que ces bibliothèques sont bien installées sur votre Gentoo ; et si leur version est plus récente, il suffit de tricher un peu en créant des liens symboliques vers les versions que vous avez en les nommant à la façon dont FMS2 s'attend à les trouver.
Assurez-vous que vous avez bien installé les packages Gentoo openssl
et nspr
:
% emerge -p openssl
% emerge -p nspr
Si ce n'est pas le cas, installez-les :
% emerge openssl
% emerge nspr
Dans mon cas, je dispose des versions nspr-4.4.1-r2
et openssl-0.9.7e
.
Il ne reste plus qu'à créer les liens symboliques astucieux. Pour cela nous allons créer un répertoire lib
dans le répertoire d'installation de FMS2 :
% mkdir lib
% cd lib
% ln -s /usr/lib/libcrypto.so.0.9.7 libcrypto.so.4
% ln -s /usr/lib/libssl.so.0.9.7 libssl.so.4
% ln -s /usr/lib/nspr/libnspr4.so
% cd ..
Vous devez maintenant avoir le répertoire lib
suivant :
% ls -l lib/
total 0
lrwxrwxrwx 1 nobody nobody 27 Nov 6 16:28 libcrypto.so.4 -> /usr/lib/libcrypto.so.0.9.7
lrwxrwxrwx 1 nobody nobody 24 Nov 6 16:32 libssl.so.4 -> /usr/lib/libssl.so.0.9.7
lrwxrwxrwx 1 nobody nobody 25 Nov 6 16:31 libnspr4.so -> /usr/lib/nspr/libnspr4.so
Maintenant, nous allons ajouter ce répertoire lib
dans la liste des chemins stockés par la variable LD_LIBRARY_PATH
:
% export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/macromedia/fms/lib
Maintenant, regardez le résultat de la commande ldd
sur l'un de nos 4 binaires :
% ldd fmscore
linux-gate.so.1 => (0xffffe000)
libssl.so.4 => /opt/macromedia/fms/lib/libssl.so.4 (0xb7fbb000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7fa3000)
libnspr4.so => /opt/macromedia/fms/lib/libnspr4.so (0xb7f69000)
libplc4.so => /usr/lib/nspr/libplc4.so (0xb7f64000)
libplds4.so => /usr/lib/nspr/libplds4.so (0xb7f61000)
librt.so.1 => /lib/tls/librt.so.1 (0xb7f58000)
libdl.so.2 => /lib/libdl.so.2 (0xb7f53000)
libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0xb7e9e000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7e7c000)
libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 (0xb7e74000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7d62000)
libcrypto.so.4 => /opt/macromedia/fms/lib/libcrypto.so.4 (0xb7c6b000)
lib/ld-linux.so.2 (0xb7feb000)
Vous voyez que cette fois-ci toutes les bibliothèques nécessaires sont bel et bien identifiées.
Il existe, dans votre répertoire /opt/macromedia/fms/
, deux scripts shell chargés de lancer FMS2 en exécutant ces binaires : server
et adminserver
. Il suffit donc d'aller déclarer la bonne définition de la variable LD_LIBRARY_PATH
dans chacun de ces scripts pour que les bibliothèques soient bien retrouvées à chaque fois que vous lancerez FMS2. Pour cela, ajoutez simplement les lignes suivantes aux deux scripts (juste avant la ligne de commentaire # Path to FMS binary...
) :
[ ... ]
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/macromedia/fms/lib
export LD_LIBRARY_PATH
# Path to FMS binary, and short-form for messages.
[ ... ]
Et voilà. Tout est OK maintenant. Vous pouvez lancer FMS2.
Lancement du serveur FMS2
Il suffit donc de lancer les deux scripts server
et adminserver
(attendez que la première commande vous rende la main avant de lancer la seconde... ça ne prend que quelques secondes) :
% ./server start
NPTL 2.3.4
Starting Macromedia Flash Media Server (please check /var/log/messages)
% ./adminserver start
Starting Macromedia Flash Media Admin Server (please check /var/log/messages)
Utilisez les mêmes commandes avec l'argument stop
pour arrêter FMS2 ou restart
pour le re-démarrer. server
lance le serveur d'application FMS2, tandis que adminserver
lance le serveur d'administration.