/etc/init.d/openmeetings startup script for Ubuntu Server 12.04.2
OpenMeetings Version 2.0-INCUBATING
A few notes:
– Make sure to change path for RED5_HOME variable
– Make sure to chmod +x the init script
– This assumes openmeetings is running under a user/group with the same name
– This assumes you are using libreoffice (not openoffice) for the whiteboard file import service
#!/bin/bash # # Author: Nathan Thomas # ### BEGIN INIT INFO # Provides: red5 # Required-Start: $local_fs $remote_fs $network $syslog $named $time # Required-Stop: $local_fs $remote_fs $network $syslog $named $time # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # X-Interactive: true # Short-Description: Start/stop OpenMeetings java based conferencing webapp ### END INIT INFO PROG=red5 DESC="Red5 flash streaming server" RED5_HOME=/usr/local/openmeetings DAEMON=$RED5_HOME/$PROG.sh PIDFILE=/var/run/$PROG.pid # Plugin Variables #OO_HOME=/usr/lib/openoffice/program OO_HOME=/usr/lib/libreoffice/program OO_DAEMON=$OO_HOME/soffice OO_PIDFILE=/var/run/ooimport.pid # Include init-functions . /lib/lsb/init-functions case "$1" in 'start') SERVICES=('OpenOffice' 'Red5') COUNT=0 for i in ${SERVICES[@]} do case $i in 'OpenOffice') log_daemon_msg "Starting OOImport Listener Service" || true if start-stop-daemon --start -c openmeetings --pidfile $OO_PIDFILE --make-pidfile --background --exec $OO_DAEMON -- "--accept=socket,host=127.0.0.1,port=8100,tcpNoDelay=1;urp;" --headless --nodefault --nofirststartwizard --nolockcheck --nologo --norestore; then log_end_msg 0 || true ((COUNT++)) else log_end_msg 1 || true fi ;; 'Red5') log_daemon_msg "Starting $PROG Server" || true if start-stop-daemon --start -c openmeetings --pidfile $PIDFILE --chdir $RED5_HOME --background --make-pidfile --exec $DAEMON; then log_end_msg 0 || true ((COUNT++)) else log_end_msg 1 || true fi ;; *) exit 1 ;; esac done case $COUNT in '2') echo "All services for $PROG Server started successfully." echo "Webapp should now be accessible via http://$HOSTNAME:5080/openmeetings" exit 0 ;; *) echo "Not all of the required services for $PROG Server started successfully. Please check the log files." exit 1 esac ;; 'stop') COUNT=0 log_daemon_msg "Stopping OOImport Listener Service" || true if start-stop-daemon --stop --quiet --oknodo --pidfile $OO_PIDFILE; then log_end_msg 0 || true rm -f $OO_PIDFILE ((COUNT++)) else log_end_msg 1 || true fi log_daemon_msg "Stopping $PROG Server" || true if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE; then log_end_msg 0 || true rm -f $PIDFILE ((COUNT++)) else log_end_msg 1 || true fi case $COUNT in '2') echo "All services for $PROG Server shutdown successfully." exit 0 ;; *) echo "Was unable to properly shutdown all of the services for $PROG Server." echo "Try killing the following processes manually: " cat $PIDFILE $OO_PIDFILE exit 1 esac ;; 'restart') /etc/init.d/openmeetings stop sleep 2 /etc/init.d/openmeetings start ;; 'status') status_of_proc -p $OO_PIDFILE $OO_DAEMON OOImport status_of_proc -p $PIDFILE $DAEMON $PROG ;; *) echo "Usage: {start|stop|restart|status}" exit 1 ;; esac exit $?
One thing I did notice is that the only way to get user uploads to work was by running OpenMeetings as the root user. It did not matter even if the user/group we created had the proper permissions to the upload directory.