Installation Ngnix / Ruby On Rails / PHP sous ubuntu

Comment installer un serveur ngnix sous linux pour des sites en php et ruby

 

Introduction

Ruby On Rails est un framework de développement web basé sur le langage ruby. Voici comment installer sur un serveur web ngnix, sur serveur tournant sous ubuntu.

Il faudra déjà installer le ruby, puis le framework Ruby On Rails. Ensuite, nous mettrons en place notre serveur ngnix et pour finir nous mettrons en place le module passenger pour faire communiquer le ruby et ngnix.

Comme il se peut que vous vouliez héberger aussi des sites écrits en php, nous verrons comment ajouter la partie php en plus sur notre serveur ngnix.

 

Pré requis

Dans un premier temps, il faut mettre à jour votre liste de paquets

$ sudo apt-get update

 

Puis çà permet de rester à jour, de mettre votre distribution à jour (ceci n'est pas obligatoire, juste un petit plus pour être à jour)

$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

Bien sur, à ne pas faire directement en production, sans avoir vérifié ce qui va être mis à jour....

 

Installons à présent tout ce dont vous allez avoir besoin.

$ sudo apt-get install curl

 

Installation de ruby

Pour installer ruby la méthode la plus utilisée est celle de l'installation via rvm

$ curl -L get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
$ [[ -s "~/.rvm/scripts/rvm" ]] && source "~/.rvm/scripts/rvm" # This loads RVM into a shell session.
$ rvm requirements
$ rvm install 2.1.0
$ rvm use 2.1.0 --default
$ rvm rubygems current

 

Installation de Rails

Ruby On Rails est une sorte de super gem. En installant le gem Ruby On Rails, vous allez installé d'autres gems. Ceux-ci font partie de Ruby On Rails. Par exemple, le gem rake sera installer, il permet par exemple de créer des commandes. C'est un gem à part, mais beaucoup d'action du framework dépende de ce gem.

Mais qu'est-ce qu'un gem ? Un gem est une librairie, qui permet d'ajouter des fonctionnalitées. En effet, si vous voulez utiliser bootstrap dans vos interfaces graphiques, il y a deux solutions. Vous pouvez aller sur le site bootstrap, et installer manuellement bootstrap (bien sûr il faudra le mettre à jour vous même lors des mises à jour). Ou alors, on peut installer via le gem bootstrap et vous n'aurez rien d'autre à faire. Il se mettra à jour lorsque vous mettrez vos gems à jour s'il y a eu une nouvelle version de bootstrap.

Bien sur il faut surveiller les mises à jours des gems certains sont plus suivit que d'autres. Parfois certains gem cessent d'être maintenue par leur créateur, par manque de temps ou autre. Donc prudence les gems sont à utiliser avec soins!

$ gem install rails
$ rails new demo
$ gem install minitest -v '4.7.5'
$ gem install json -v '1.8.1'

 

Installation de passenger

$ gem install passenger

 

Installation d'ngnix

$ rvmsudo passenger-install-nginx-module

 

Configuration d'ngnix

La partie passenger:

http {
      ...
      passenger_root /home/ldandoy/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.37;
      passenger_ruby /home/ldandoy/.rvm/gems/ruby-2.1.0/wrappers/ruby;
      ...
  }

 

La partie nom de domaine:

server {
      listen 80;
      server_name www.yourhost.com;
      root /somewhere/public;   # <--- be sure to point to 'public'!
      passenger_enabled on;
   }

 

Installation de PHP

$ sudo apt-get install php5-cli php5-mysql php5-fpm

Il faut ensuite configurer notre serveur ngnix pour qu'il puisse utiliser le php

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
       try_files $uri =404;
       fastcgi_pass unix:/var/run/php5-fpm.sock;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
}

 

Sources

VOUS AVEZ UN PROJET ?

Nous sommes à votre écoute pour le mettre en place (...)