# [mini-HOWTO]Installer Macromedia Flash Media Server 2

## zigz4g

Bonjour a ceux qui liront ce mini tutorial. Je l'ecris dans le cadre d'ajouter de l'aide a ceux qui voudront

ou essayeront d'installer le Flash Media Server 2 de Macromedia.

Mise en situation : 

Pour un projet de developpement web par l'entreprise ou je travail, une solution de video en streaming sera

certainement proposee. A priori, on part sur la version suivante de Macromedia : http://www.macromedia.com/software/flashmediaserver/.

Bon d'apres les  *Quote:*   

> System Requirements

  http://www.macromedia.com/software/flashmediaserver/productinfo/systemreqs/,

il n'est possible d'installer le server que sur une version Linux RedHat. Ok, c'est cool j'ai justement cette version disponible pour du test. J'ai donc fait

l'installation et tout marche correctement. Mais pour des raisons plus personnelles, je preferais mettre une distribution Gentoo sur cette machine 

pour etre homogene avec les autres ordinateurs de la boite qui sont eux aussi sous Gentoo.

Recuperation du serveur : 

Vous pouvez normallement recuperer la version Developpeur du serveur pour une gestion personnelle. Cette version n'est normallement

pas limitee dans le temps mais plus pour les performances. Normallement, une fois enregistre chez Macromedia, vous pouvez telecharger la version 

developpeur qui a pour nom : FlashMediaServer2.tar.gz.

Problemes ??? : 

Avant de changer le systeme pour une Gentoo, j'ai pris soin de regarder si le serveur de Macromedia tourne sur une autre distribution.

Malheureusement, les scripts d'installations sont un peu trop restrictifs sur la question. Puis certaines incompatibilites sont apparues mais 

je n'ai pas baisser les bras et j'ai trouve une solution.

Premiere etape : L'installation du serveur (des fichiers)

Pour reussir l'installation des fichiers du serveurs, j'ai trouve deux solutions :

- Soit copier les fichiers a la main.

- Soit faire un mini Hack du fichier d'installation.

La deuxieme solution est retenue. Pourquoi ? Parcequ'on est plus sur de ce que vas faire l'installeur que faire une simple copie

de fichier. Cela reste mon idee, a vous de faire des tests.

Decompresser l'archive.

Bon la rien de bien dur :

```
# tar xzvf FlashMediaServer2.tar.gz

# cd FMS_2_0_r1145_linux

```

Mini hack (rien d'extraordinaire)

La commande file est super pratique pour verifier quel est le type du fichier avant de l'ouvrir dans n'importe quel editeur de texte.

J'ai donc fait une petite verification avant d'editer le fichier installFMS.

```
# file installFMS 

installFMS: Bourne shell script text executable

```

Ouvrez le fichier avec votre editeur de texte prefere et mettez en commentaire la partie gerant la detection de votre systeme 

(heureusement pour nous Macromedia a eut l'idee de faire un script tres propre avec des commentaires):

```

# check OS

#os=`uname -s`

#if [ "X$os" != "XLinux" -a "X$os" != "XSunOS" ]; then

#  if [ $WARN -eq 1 ]; then

#    warn_os

#  else

#    exit_os

#  fi

#fi

# check architecture

#TEMPARCH=`uname -m`

#case $TEMPARCH in

#  i[3456]86) ARCH=i386

#             ;;

#      sun4*) ARCH=sun4

#             ;;

#          *) if [ $WARN -eq 1 ]; then

#               warn_cpu $TEMPARCH

#             else

#               exit_cpu $TEMPARCH

#             fi

#             ;;

#esac

# check distribution

#DISTRO=`check_distro`

#

#case $DISTRO in

#    solaris-8-sun4) DISTRO_STRING='solaris-8-sun4'

#                    PLATFORM="Solaris"

#                    ;;

#    solaris-9-sun4) DISTRO_STRING='solaris-9-sun4'

#                    PLATFORM="Solaris"

#                    ;;

#    redhat-73-i386) DISTRO_STRING='redhat-73-i386'

#                    PLATFORM="Linux"

#                    ;;

#    redhat-80-i386) DISTRO_STRING='redhat-80-i386'

#                    PLATFORM="Linux"

#                    ;;

#    redhat-RHEL3-i686)    DISTRO_STRING='redhat-RHEL3-i686'

#                    PLATFORM="Linux"

#                    ;;

#    redhat-RHEL4-i686)    DISTRO_STRING='redhat-RHEL4-i686'

#                    PLATFORM="Linux"

#                    ;;

#                 *) if [ $WARN -eq 1 ]; then

#                      warn_unsupported $DISTRO

#                    else

#                      exit_unsupported $DISTRO

#                    fi

#                    ;;

#esac

```

Normallement apres cette petite mise a jour pour le systeme Gentoo, il ne vous restera plus qu'a lancer l'install, comme ceci :

```
# ./installFMS (EN ROOT (il doit etre possible de commenter la partie qui verifie les droits du root, mais je n'ai pas essaye))

```

Le script doit normallement vous demandez de taper sur Enter  pour continuer ou Ctrl + C pour quitter, Dans notre cas, il faut faire

Enter.   :Very Happy: 

On vas vous proposez (forcer ?   :Smile:  ) de lire la license et de confirmer votre accord en tapant  y + Enter.

La configuration continue sur le choix de l'endroit ou vous voulez installer les fichiers. Pour moi l'option par defaut me parraissait bien.

```
The installer will install Macromedia Flash Media Server 2.0 in the

following directory

Default [/opt/macromedia/fms]: TAPER ENTER ICI, si c'est correct pour vous aussi.

```

J'ai egalement laisser les ports par defaut, il est bien entendu possible de les changer tout de suite ou par la suite dans le fichier de configuration.

On vous demande egalement le nom d'un administrateur du serveur. Choisissez celui que vous voulez avec son mot de passe. Ceci permet de 

se connecter a distance avec le client flash fournit.

Pour lancer le serveur, le script vous demande avec quel utilisateur Linux vous voulez que le serveur soit lancer. La je vous laisse choisir, si vraiment

vous ne savez pas, il est possible de mettre root.

Le choix de lancer le serveur comme deamon et tout de suite apres l'installation ne pose pas de probleme (enfin presque). Je conseils tout de meme

de dire non pour la premiere fois.

On vous affiche par la suite le resume de votre configuration avant l'installation des fichiers et on vous propose de finir l'installation par un joli

y.

Ok c'est cool mais il me fait des erreurs ou il ne se passe rien du tout :

Pas de panique. Il faut encore fait deux, trois petites manipulations.

Premierement, verifier avec cette commande la sortie : 

```
# ./fmsmaster start

Si vous avez un probleme avec la librairie libssl et/ou libcrypto c'est normal.

Voici les commandes a executer pour enlever le probleme :

# cd /usr/lib

# ln -s libssl.so.0.9.7 libssl.so.4

# ln -s libcrypto.so.0.9.7 libcrypto.so.4

```

Normallement apres cette manipulation votre serveur doit pourvoir ce lancer. Pour cela verifier avec la commande ps aux si un processus de votre

serveur tourne.

Mon serveur ce lance mais au bout de quelques secondes/minutes il se stoppe.

La encore il se peut que par defaut votre distribution favorite (Gentoo) ne soit pas configurer pour supporter le serveur.

L'idee que j'ai eut est de verifier sur la RedHat quelles etaient les differences entres les deux distributions.

La premiere a ete de chercher les differences avec la commande strace. Ok je n'ai pas trouver grand chose du fait que les appels systemes

etaient differents. C'etait normalle, les distributions etaient differentes   :Very Happy: .

La deuxieme etape fut de m'appercevoir que le script de lancement du serveur affichait NPTL 0.60 sur la RedHat et LinuxThread sur la Gentoo.

J'ai donc chercher sur Google et celon les deux implementations des threads, ce serait la RedHat la plus a jour. Il faudrait donc mieux utiliser les

NPTL. 

Ok c'est cool de dire cela mais que faut-il faire ???

Rien de bien dur. Il suffit juste de suivre se petit guide : http://gentoo-wiki.com/NPTL.

Pour ressumer, il faut juste reconpiler avec les deux flags : nptl nptlonly dans sa variable USE du make.conf.

Bon, moi j'ai preferer tester avant juste pour les packages utiles (glibc seullement).

J'ai donc fait : 

```
 USE="nptl nptlonly" emerge -vN glibc
```

 et apres la compilation c'est operationnel.

Dernieres petites mesaventures :

Apres la recompilation de la glibc, il a fallu que je recommence l'installation du serveur de Macromedia.

Pour verifier que la compilation de la glibc est correcte, faite cette commande : 

```
# getconf GNU_LIBPTHREAD_VERSION
```

.

Pour desinstaller, il vous suffit de faire un rm sur le repertoire contenant les fichiers du serveurs. (/opt/macromedia par defaut et dans /etc/macromedia).

Voila c'est fini. j'esperes que cela vous aidera.

Bonne installation  :Smile: 

----------

## Antares

Merci beaucoup !  :Very Happy: 

----------

## boozo

merci également   :Smile: 

et... juste une remarque...

 *Quote:*   

> USE="nptl nptlonly" emerge -vN glibc

  n'est "pas très propre" de nos jours...

il vaut mieux utiliser le fichier dédié package.use  :Wink: 

----------

## anigel

Jolie doc, avec quelques détails techniques pas forcément triviaux.

Merci pour ton effort !

----------

