Installing Flash Media Server 3 on Debian

There are a couple of gotchas with this setup. Eg. I wanted to install on a Debian 4.x server and the installer reported that the platform is not supported.

To get over this, you've to start the installer with an option:
./installFMS -platformWarnOnly

The installer script was written for RedHat and it's not 100% compatible with Debian. It complains about a missing /sbin/chkconfig binary. This is not a big problem since it would only set the /etc/init.d/fms script to start automatically during every reboot. In Debian you can do this after the FMS installer finished with this:
update-rc.d fms defaults

You're not done yet, because the FMS components miss a couple of shared libraries. to be exact, the following:
  • libnspr4.so
  • libasneu.so.1
The libnspr4.so can be installed with the libnspr4-dev package, thus issue this command: apt-get install libnspr4-dev

The libasneu.so.1 is provided by Adobe and it's already in the FMS directory (eg. /opt/adobe/fms). We only have to make sure the shared lib is available to the FMS apps. For this you've to create a file (eg. adobe_fms.conf) in /etc/ld.so.conf.d and put in it the path to the FMS directory. Now regenerate the dynamic linker run-time bindings by executing ldconfig.

Check whether the above change was successful by executing ldd /opt/adobe/fms/fmscore and looking for a line like libasneu.so.1 => not found. If the lib was found by ldd than you're all set.

FMS should run fine from here. You can start it with an invoke-rc.d fms start manually or reboot the server and FMS will be started automatically.

P.S.: note that FMS 3 does not depend on the openssl libs or the crypto libs as FMS 2 did.
P.S.2: if you're a very convenient person, you might want to give a shot to the installer patch made by Markus Bertheau. The patch merely alters the installer script to accept Ubuntu as a distro (you won't have to use the -platformWarnOnly option) and adds a few Ubuntu/Debian specific changes (like automatically creating fms user and group and also adds the update-rc.d fms defaults way of autostart configuration. However the library dependency resolution still remains a manual task.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

FMS 3.5

The -platformWarnOnly option is no longer necessary for running the installer (installFMS) on a non-RedHat platform. apart from that, the procedure is pretty much the same.

"killall" in server script fails

to run the invoked "server" and "adminserver" scripts by /etc/init.d/fms you need to install a package that contains the "killall" lib.
After "aptitude install psmisc" the scripts are working fine.

Re: "killall" in server script fails

Thanks for pointing that out. I always install psmisc as one of the first packages after an install-from-scratch, so I forgot that it was not there by default. I think this package should make it into the base packages that Debian installer puts on your system automatically.

Just for note (it is not needed by FMS): the other similiar package is procps which is not in the "core" dependency tree ... I mean no other "basic" package depends on it. It is automatically installed by the Debian installer as part of the base system packages, but if you install a system _really_ from scratch (not using the Debian installer, but hand picking every single package), then you should keep in mind that procps is pretty much a must have since it contains utilities like kill that is used by most standard init.d scripts (and actually all sorts of scripts).

FMS 3.5.4 with Debian 5.0

Your manual is great, but I tried to us it for FMS 3.5.4 on Debian 5.0 x32Bit and it doesn't run. Do you have some ideas, what I can do more? The problem is, there is just one service running.

Re: FMS 3.5.4 with Debian 5.0

I wrote the instructions based on an install on Debian 4.x and FMS v3.5.0 (r405) and FMS v3.0.1 (r123). In both cases the boxes were later upgraded to Debian 5.x and FMS still worked as expected. But I don't know if the install process is any different (probably not). You could check the library dependencies of the four binaries that FMS tries to run. Execute the following commands and see if any libs are missing:
cd /opt/adobe/fms
ldd fmsadmin
ldd fmscore
ldd fmsedge
ldd fmsmaster

For a Debian 5.0.5 (Linux fms-test 2.6.26-2-686 #1 SMP Wed May 12 21:56:10 UTC 2010 i686 GNU/Linux) and FMS 3.5.0 (r405) the above commands print the following output:
$ ldd /opt/adobe/fms/fmsadmin
        linux-gate.so.1 =>  (0xb77d2000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb77ae000)
        libasneu.so.1 => /opt/adobe/fms/libasneu.so.1 (0xb77a5000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb779b000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7797000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76a9000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7683000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7676000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb751b000)
        /lib/ld-linux.so.2 (0xb77d3000)
$ ldd /opt/adobe/fms/fmscore
        linux-gate.so.1 =>  (0xb77c3000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb779f000)
        libnspr4.so => /usr/lib/libnspr4.so (0xb776b000)
        libplc4.so => /usr/lib/libplc4.so (0xb7766000)
        libplds4.so => /usr/lib/libplds4.so (0xb7763000)
        libasneu.so.1 => /opt/adobe/fms/libasneu.so.1 (0xb775a000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7751000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb774d000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb765f000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7639000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb762b000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb74d0000)
        /lib/ld-linux.so.2 (0xb77c4000)
$ ldd /opt/adobe/fms/fmsedge
        linux-gate.so.1 =>  (0xb7707000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb76e3000)
        libasneu.so.1 => /opt/adobe/fms/libasneu.so.1 (0xb76da000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb76d0000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb76cc000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb75de000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb75b8000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75ab000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7450000)
        /lib/ld-linux.so.2 (0xb7708000)
$ ldd /opt/adobe/fms/fmsmaster
        linux-gate.so.1 =>  (0xb7767000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7743000)
        libnspr4.so => /usr/lib/libnspr4.so (0xb770f000)
        libplc4.so => /usr/lib/libplc4.so (0xb770a000)
        libplds4.so => /usr/lib/libplds4.so (0xb7707000)
        libasneu.so.1 => /opt/adobe/fms/libasneu.so.1 (0xb76fe000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb76f5000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb76f1000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7603000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb75dd000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75cf000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7474000)
        /lib/ld-linux.so.2 (0xb7768000)

If these check out, you'll have to look somewhere else.
You could try to start FMS manually (not through the init script) so you can see all possible output, error messages that might be swallowed by the startup script. Check the usual logs too (syslog).

Running FMS 3.* on Debian Squeeze

If you've installed FMS 3.* on a Debian Etch/Lenny box and upgraded to Squeeze, you probably noticed that FMS wouldn't start. The reason is that in earlier Debian versions the /bin/sh shell points to /bin/bash and in Squeeze it points to /bin/dash. There're important differences between the two and the shell scripts of FMS depend on them.

To get FMS 3.* working again in Squeeze, you've to change the shell (in the first lines) of the following scripts from /bin/sh to /bin/bash (these scripts are in the FMS install dir, eg. /opt/adobe/fms):
  • adminserver
  • fmsmgr
  • server
  • uninstallFMS
Or you can change /bin/sh to point to /bin/bash again. Run:
dpkg-reconfigure dash
and answer the configuration question accordingly.

Running FMS 3.5.7 on Debian Squeeze

For the (currently) latest 3.* version you'll need libcap.so.1 too in your library path. To install necessary lib:
apt-get install libcap2

And create a symlink that FMS requires:
cd /lib
ln -s libcap.so.2 libcap.so.1

And verify that FMS Edge finds all libs it requires:
ldd /opt/adobe/fms/fmsedge

You should see no "not found" entries in the library dependency list.