Discussion:Installation : Différence entre versions

De wiki CoRM
Aller à : navigation, rechercher
 
(10 révisions intermédiaires par le même utilisateur non affichées)
Ligne 30 : Ligne 30 :
 
L'installation du système d'exploitation n'est pas détaillée ici.<br />
 
L'installation du système d'exploitation n'est pas détaillée ici.<br />
 
Cependant, vous trouverez de nombreux guides d'installation sur Internet.<br />
 
Cependant, vous trouverez de nombreux guides d'installation sur Internet.<br />
À commencer par [http://www.tecmint.com/centos-6-5-installation-guide-with-screenshots/ celui-ci].<br />
+
À commencer par [http://www.if-not-true-then-false.com/2014/centos-7-netinstall-guide// celui-ci].<br />
  
 
Avant d'installer quoique ce soit, assurez-vous que votre système soit à jour :<br />
 
Avant d'installer quoique ce soit, assurez-vous que votre système soit à jour :<br />
Ligne 40 : Ligne 40 :
  
 
<code># rm -rf /etc/rc3.d/S08ip*</code><br />
 
<code># rm -rf /etc/rc3.d/S08ip*</code><br />
 +
<code># Systemctl disable firewalld </code><br />
  
 
Afin de prendre en compte les modifications, il faut redémarrer votre serveur.<br />
 
Afin de prendre en compte les modifications, il faut redémarrer votre serveur.<br />
 
<code># reboot</code>
 
<code># reboot</code>
 +
 +
=== Serveur Web Apache ===
 +
<br />
 +
<code># yum install httpd httpd-devel -y</code><br />
 +
<code># systemctl enable httpd.service</code><br />
 +
<code># systemctl start httpd.service</code><br />
 +
<br />
 +
À partir de ce moment, vous pouvez faire pointer votre navigateur préféré à l'adresse de votre serveur GNU/Linux.
 +
[[Fichier:Install_CoRM_Apache_Test_Page.PNG|center|thumb|400px|Apache Test page]]
 +
<br />
 +
 +
=== Serveur PostgreSQL ===
 +
<br />
 +
<code># yum install postgresql-server postgresql-devel -y</code><br />
 +
<code># systemctl enable postgreql</code><br />
 +
<code># service postgresql initdb</code><br />
 +
<code># systemctl start postgresql.service </code><br />
 +
<br />
 +
Initialiser le mot de passe administrateur de PostgreSQL :<br />
 +
<code># su - postgres</code><br />
 +
<code>-bash-4.1$ psql</code><br />
 +
<code>postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'MyGreatPassword' ;</code><br />
 +
<code>postgres=# \q</code><br />
 +
<code>-bash-4.1$ logout</code><br />
 +
<br />
 +
Le nouveau mot de passe administrateur (postgres) est donc "MyGreatPassword".
 +
<br />
 +
 +
<code># vi /var/lib/pgsql/data/pg_hba.conf</code><br />
 +
<code>local  all        all                              password</code><br />
 +
 +
<code># systemctl restart postgresql.service</code><br />
 +
 +
=== Language Ruby ===
 +
La version de ruby fournie avec le système est trop ancienne (1.8.7).
 +
Nous allons récupérer puis compiler une version plus récente.
 +
<br /><br />
 +
Présrequis :<br />
 +
<code># yum groupinstall 'Development Tools' -y</code><br />
 +
<code># yum install curl-devel openssl-devel zlib-devel apr-devel apr-util-devel readline-devel wget -y</code><br />
 +
<br />
 +
Libyaml :<br />
 +
<code># cd /usr/local/src</code><br />
 +
<code># wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz</code><br />
 +
<code># tar xzvf yaml-0.1.4.tar.gz</code><br />
 +
<code># cd yaml-0.1.4</code><br />
 +
<code># ./configure --prefix=/usr/local</code><br />
 +
<code># make && make install</code><br />
 +
<br />
 +
Ruby :<br />
 +
<code># cd /usr/local/src</code><br />
 +
<code># wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p547.tar.gz</code><br />
 +
<code># tar xzvf ruby-1.9.3-p547.tar.gz</code><br />
 +
<code># cd ruby-1.9.3-p547</code><br />
 +
<code># ./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib</code><br />
 +
<code># make && make install</code><br />
 +
<br />
 +
Création d'un lien symbolique :<br />
 +
<code># ln -s /usr/local/src/ruby-1.9.3-p547/ruby /usr/bin</code><br />
 +
<br />
 +
Vérification :<br />
 +
<code># ruby -v</code><br />
 +
<code>ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-linux]</code><br />
 +
 +
=== Framework Ruby-on-Rails ===
 +
 +
<code># gem update</code><br />
 +
<code># gem install --no-rdoc --no-ri rails -v 3.2.18</code><br />
 +
 +
Pour vérifier si tout a fonctionné :<br />
 +
<code># rails -v</code><br />
 +
<code>Rails 3.2.18</code><br />
 +
 +
=== Passenger (mod_rails) ===
 +
[https://www.phusionpassenger.com/ Passenger] sert de "passerelle" entre le serveur Apache et l'application Rails...
 +
 +
<code># gem install passenger</code><br />
 +
<code># passenger-install-apache2-module</code><br />
 +
<code> > (*)  Ruby</code><br />
 +
<code>  ( )  Python</code><br />
 +
<code>  ( )  Node.js</code><br />
 +
<code>  ( )  Meteor</code><br />
 +
 +
Attention à bien copier le code de configuration du serveur apache !<br />
 +
Dans mon exemple : <br />
 +
<code>LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so</code><br />
 +
<code><IfModule mod_passenger.c></code><br />
 +
<code>PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.53</code><br />
 +
<code>PassengerDefaultRuby /usr/local/bin/ruby</code><br />
 +
<code></IfModule></code><br />

Version actuelle en date du 7 janvier 2015 à 14:12

Cette procédure montre pas à pas comment installer la solution CoRM sur un serveur GNU/Linux CentOS 7.

Introduction

Il est recommandé d'utiliser un serveur dédié afin d'installer CoRM. Cependant, si vous savez ce que vous faites, ce n'est nullement obligatoire.

Pour information, notre solution s'appuie sur une Architecture 3 tiers.

Architecture 3 tiers

Prérequis

Vous devez connaitre les commandes de base d'un système GNU/Linux.
Les prérequis afin d'installation la solution CoRM sont les suivants.

Matériel

  • CPU : au moins 1 cœur ;
  • Architecture CPU : 64 bits ;
  • Mémoire vive : au moins 1Go ;
  • Espace disque : au moins 15Go ;

Logiciel

  • Système d'exploitation GNU/Linux CentOS 7 (de préférence fraichement installé) ;
  • Apache 2.2 ;
  • Ruby 1.9.3 ;
  • Rails 3.2.18 ;
  • Serveur PostgreSQL 8.4 ;

Installation

L'installation du système d'exploitation n'est pas détaillée ici.
Cependant, vous trouverez de nombreux guides d'installation sur Internet.
À commencer par celui-ci.

Avant d'installer quoique ce soit, assurez-vous que votre système soit à jour :
# yum update -y

Pour des questions de simplicité, nous allons désactiver le firewall IPTABLES puis SELINUX :
# vi /etc/selinux/config
SELINUX=disabled

# rm -rf /etc/rc3.d/S08ip*
# Systemctl disable firewalld

Afin de prendre en compte les modifications, il faut redémarrer votre serveur.
# reboot

Serveur Web Apache


# yum install httpd httpd-devel -y
# systemctl enable httpd.service
# systemctl start httpd.service

À partir de ce moment, vous pouvez faire pointer votre navigateur préféré à l'adresse de votre serveur GNU/Linux.

Apache Test page


Serveur PostgreSQL


# yum install postgresql-server postgresql-devel -y
# systemctl enable postgreql
# service postgresql initdb
# systemctl start postgresql.service

Initialiser le mot de passe administrateur de PostgreSQL :
# su - postgres
-bash-4.1$ psql
postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'MyGreatPassword' ;
postgres=# \q
-bash-4.1$ logout

Le nouveau mot de passe administrateur (postgres) est donc "MyGreatPassword".

# vi /var/lib/pgsql/data/pg_hba.conf
local all all password

# systemctl restart postgresql.service

Language Ruby

La version de ruby fournie avec le système est trop ancienne (1.8.7). Nous allons récupérer puis compiler une version plus récente.

Présrequis :
# yum groupinstall 'Development Tools' -y
# yum install curl-devel openssl-devel zlib-devel apr-devel apr-util-devel readline-devel wget -y

Libyaml :
# cd /usr/local/src
# wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
# tar xzvf yaml-0.1.4.tar.gz
# cd yaml-0.1.4
# ./configure --prefix=/usr/local
# make && make install

Ruby :
# cd /usr/local/src
# wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p547.tar.gz
# tar xzvf ruby-1.9.3-p547.tar.gz
# cd ruby-1.9.3-p547
# ./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib
# make && make install

Création d'un lien symbolique :
# ln -s /usr/local/src/ruby-1.9.3-p547/ruby /usr/bin

Vérification :
# ruby -v
ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-linux]

Framework Ruby-on-Rails

# gem update
# gem install --no-rdoc --no-ri rails -v 3.2.18

Pour vérifier si tout a fonctionné :
# rails -v
Rails 3.2.18

Passenger (mod_rails)

Passenger sert de "passerelle" entre le serveur Apache et l'application Rails...

# gem install passenger
# passenger-install-apache2-module
> (*) Ruby
( ) Python
( ) Node.js
( ) Meteor

Attention à bien copier le code de configuration du serveur apache !
Dans mon exemple :
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.53
PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>