Installation Ruby enterprise edition (REE) + Passenger + Nginx

Voici les étapes pour installer ree avec passenger et nginx, en gras les commandes à taper :

sudo aptitude install build-essential zlib1g-dev libssl-dev libreadline6-dev

Allez récupéré REE avec l'url disponible ici (elle est dynamique) : https://www.rubyenterpriseedition.com/download.html

wget URL_REE

wget https://nginx.org/download/nginx-0.8.52.tar.gz

tar xzf nginx-0.8.52.tar.gz

tar xzf ruby-enterprise-1.8.7-2010.02.tar.gz

sudo ./ruby-enterprise-1.8.7-2010.02/installer

Enter (to continue)

Enter (/opt/ruby....)

Compilation.... puis message :

To install the aforementioned gems, please use the following commands:

* /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby /opt/ruby-enterprise-1.8.7-2010.02/bin/gem install mysql

Enter

sudo /opt/ruby-enterprise-1.8.7-2010.02/bin/passenger-install-nginx-module 

Enter   

2 (Configuration à la main)

/home/votre_home/nginx-0.8.52/ (Please specify the directory:)

Enter (Please specify a prefix directory [/opt/nginx]:)

--with-http_gzip_static_module --with-http_ssl_module --with-http_flv_module --with-md5-asm --with-md5=/usr/include --with-sha1-asm --with-sha1=/usr/include (Extra arguments to pass to configure script:)

Enter (confirm)

Compilation d'nginx....

Enter

A la fin de l'installation vous avez les lignes de configuration des serveurs virtuels (virtual host) :

   server {

      listen 80;

      server_name www.yourhost.com;

      root /somewhere/public;   # <--- be sure to point to 'public'!

      passenger_enabled on;

   }

On va ici écrire le script init.d pour nginx :

sudo nano /etc/init.d/nginx

Copiez / Coller ce qui suit :

#==============  Début  ==============

#! /bin/sh

### BEGIN INIT INFO

# Provides:          nginx

# Required-Start:    $all

# Required-Stop:     $all

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: starts the nginx web server

# Description:       starts nginx using start-stop-daemon

### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DAEMON=/opt/nginx/sbin/nginx

NAME=nginx

DESC=nginx

PID=/opt/nginx/logs/$NAME.pid

test -x $DAEMON || exit 0

# Include nginx defaults if available

if [ -f /etc/default/nginx ] ; then

        . /etc/default/nginx

fi

set -e

case "$1" in

  start)

        echo -n "Starting $DESC: "

        start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON -- $DAEMON_OPTS

        echo "$NAME."

        ;;

  stop)

        echo -n "Stopping $DESC: "

        start-stop-daemon --stop --quiet --pidfile $PID --exec $DAEMON

        echo "$NAME."

        ;;

  restart|force-reload)

        echo -n "Restarting $DESC: "

        start-stop-daemon --stop --quiet --pidfile $PID --exec $DAEMON

        sleep 1

        start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON -- $DAEMON_OPTS

        echo "$NAME."

        ;;

  reload)

      echo -n "Reloading $DESC configuration: "

      start-stop-daemon --stop --signal HUP --quiet --pidfile $PID --exec $DAEMON

      echo "$NAME."

      ;;

  *)

        N=/etc/init.d/$NAME

        echo "Usage: $N {start|stop|restart|force-reload}" >&2

        exit 1

        ;;

esac

exit 0

#===============  Fin   ===============


Donnez les droits d'executions :

[EDIT] oups les droits d'executions c'est +x

sudo chmod +x /etc/init.d/nginx

Et vous pouvez démarrer nginx :

sudo 

/etc/init.d/nginx start

Si vous pouvez faire des liens symboliques sur les binaires pour éviter de taper le chemin absolu :

/opt/ruby-enterprise-1.8.7-2010.02/bin/gem

/opt/ruby-enterprise-1.8.7-2010.02/bin/irb

/opt/ruby-enterprise-1.8.7-2010.02/bin/rake

/opt/ruby-enterprise-1.8.7-2010.02/bin/ruby