Tomado de: Ejecutar aplicaciones Ruby en Centos 5.5
Inicialmente instalar las dependencias:
1. yum install gcc
2. Instalando el interprete Ruby:
Para GX X Ev1 upgrade 5 o el interprete Ruby 1.9.1.
- wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.1-p431.tar.gz
- tar xzvf ruby-1.9.1-p431.tar.gz
- cd ruby-1.9.1-p431
./configure
make
make install
Chequear la Versión Ruby:
# ruby -v
ruby 1.9.1p431 (2011-02-18 revision 30908) x86_64-linux
ruby 1.9.1p431 (2011-02-18 revision 30908) x86_64-linux
3. Instalar servidor Apache:
- yum install httpd
- El siguiente paquete se debe instalar tambien para el caso:
(1/4): apr-util-1.2.7-11.el5_5.2.x86_64.rpm | 79 kB
(2/4): apr-1.2.7-11.el5_5.3.x86_64.rpm | 118 kB
(3/4): postgresql-libs-8.1.23-1.el5_6.1.x86_64.rpm | 196 kB
(4/4): httpd-2.2.3-45.el5.centos.x86_64.rpm | 1.2 MB - Configure startup on reboot and start up server now:
chkconfig --levels 235 httpd on
/etc/init.d/httpd start
4. Chequear la version RubyGems:
# gem --version 1.3.1
En mi caso si reporta el siguiente error:
`require': no such file to load -- zlib (LoadError)
Se tiene que realizar lo siguiente:
- yum install zlib zlib-devel
cd /opt/ruby-1.9.1-p431/ext/zlib
# ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
make install
Despues de haber instalado realizar lo siguiente:
# gem update RubyGems
Updating installed gems
Updating installed gems
5. Instalando Passenger:
- Instala gem passenger
passenger-install-apache2-module - Otras dependenciasque debe ser instalados, pero el passenger dispone de una buena guia de instalacion:
* To install GNU C++ compiler:
yum install gcc-c++ as root.
* Para instalar actual desarrollo de los Encabezados con soporte SSL:
yum install curl-devel as root.
* Para instalar OpenSSL en desarrollo con encabezados:
yum install openssl-devel as root.
* Para instalar Zlib:
yum install zlib-devel as root.
* Para instalar OpenSSL con soporte para Ruby: Descargue desde http://www.ruby-lang.org/.
* Para instalar Apache 2:
yum install httpd-devel como root.
* Para instalar Apache Portable Runtime (APR):
yum install apr-devel as root.
* Para instalar Apache Portable Runtime Utility (APU):
yum install apr-util-devel as root. - En particular, un orden para instalar Open SSL:
cd /opt/ruby-1.9.1-p431/ext/openssl
ruby extconf.rb
make
make install
Luego realice de nuevo:
passenger-install-apache2-module until you get the following message:
"The Apache 2 module was successfully installed."
Por favor edite la configuracion de apapche y agregue las siguientes lineaa:
Por favor edite la configuracion de apapche y agregue las siguientes lineaa:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/local/bin/ruby
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/local/bin/ruby
6. Instalar Dependencias Mysql (para servidor en nuestro caso)
Si no disponemos de la instalacion de MYSQL ejecutamos lo siguiente:
- yum search mysql
- yum install mysql.x86_64
- yum install mysql-devel.x86_64
- yum install mysql-server.x86_64 - this installs libmysqlclient.so.15.0.0 under /usr/lib64/mysql
- Configurar inicio automatico cuando se haga reboot y se pueda arrancar el servidor ahora:
chkconfig mysqld on
service mysqld start
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch34_:_Basic_MySQL_Configuration
7. Instalando requerimientos de Gems para GX
Gems requerido por GX.
- Crear un directorio en linux, luego transfiera los directorios "linux" y "generic" desde su PC donde GX esta instalado (transferir <GX_DIRECTORY>\gxruby\generic y <GX_DIRECTORY>\gxruby\linux)
- chmod +x installgems.bash
Antes de ejecutar el script installgems, el cual instala las aplicaciones que GX requiere, para ello realice lo siguiente esto es particularmente para distribuciones de CentOS 64 bits:
- ln -s /usr/lib64/mysql/libmysqlclient.so.15.0.0 /usr/local/lib/libmysqlclient.so
- Edite build_make.sh dentro gx_clucene
modifique
gem install CLucene_gx-0.1.1-x86-linux
Por
gem install CLucene_gx-0.1.1-x86_64-linux
- Luego ejecute el script:
./installgems.bash
A este punto disponemos del ambiente listo para instalar una aplicacion GX Ruby.
Luego desplegar e instalar la aplicacion Ruby.
8. Desplegar la Applicacion
Crear un directorio dentro del directorio virtual de Apache, en nuestro coso:
/var/webapps/test1
Crear los directorios "public" y "tmp" dentro test1.
Copiar todo el contenido <KbnowledgeBase_directory>\rubymodel (.rb, .html, archivo de configuraciones y subdirectorios) dentro de test1.
9. Creando un directorio virtual:
Crear el directorio virtual, editando el archivo httpd.conf dentro /etc/httpd/conf
<VirtualHost *:80>
ServerAdmin webmaster
ServerName 172.16.2.20
DocumentRoot /var/webapps/test1/public
</VirtualHost>
- Para esto es necesario editar gxconfig.yaml (en nuestro caso esta dentro /var/webapps/test1 ) y modificamos el webroot como sigue:
webroot: 'http://172.16.2.20:80/test1/
Ahora esta listo para ejecutar la aplicacion desde:
http://172.16.2.20:80/test1/home.html
http://172.16.2.20:80/test1/home.html
NOTA :
- Version OS: Centos 5.5
- Para revisar el archivo error_log de Apache, el cual permite revisar los errores del servidor y en el access_log contiene los errores de la apliacacion.
- En nuestro caso tenemos los siguientes errores:
Wed Apr 20 14:40:16 2011 notice SELinux policy enabled; httpd running as context root:system_r:httpd_t:s0
Wed Apr 20 15:00:46 2011 error *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog (/usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/agents/PassengerWatchdog): Permission denied (13)
Podemos solventarlos modificando los permisos de SELinux:
http://www.crypt.gen.nz/selinux/disable_selinux.html
http://groups.google.com/group/phusion-passenger/browse_thread/thread/a9a55422ad8771e1?pli=1
No hay comentarios:
Publicar un comentario