Forum: Rails-ES Ayuda Desplegar mi Servidor en Linux

Posted by Manuel Villa (mevc1903)
on 2010-10-22 17:15
Hola Amigos les cuento estoy un poco desesperado necesito desplegar mi
aplicacion en Linux Centos 5.5 en el servidor ya he configurado el DNS,
APache, instale Ruby/rails y passenger. Lo que no se es como
desplegar mi aplicacion que esta en windows.


Gracias.
Posted by Fernando Calatayud (fernan2)
on 2010-10-25 14:56
Manuel Villa wrote in post #956325:
> Hola Amigos les cuento estoy un poco desesperado necesito desplegar mi
> aplicacion en Linux Centos 5.5 en el servidor ya he configurado el DNS,
> APache, instale Ruby/rails y passenger. Lo que no se es como
> desplegar mi aplicacion que esta en windows.
>
>
> Gracias.

Primero que nada, si en tu carpeta "public" pones un archivo index.html, 
ese archivo se debería estar viendo en www.tudominio.com; si es así, es 
que el DNS y Apache están bien, y si no, toca repasar los pasos 
anteriores...

Después está el tema del despliegue en sí: subir los archivos al 
servidor.

- La forma más cutre de hacerlo es por FTP/SFTP, cosa nada aconsejable 
(salvo para muy pequeños retoques) porque es muy proclive a errores: un 
archivo que has olvidado actualizar, algo que olvidaste borrar del 
servidor, etc. Por no hablar de que el sistema es muy lento...

- Si tienes la aplicación bajo el control de versiones Subversion, y el 
repositorio de Subversion no está en tu windows sino en una máquina 
accesible para el servidor (el propio servidor, o cualquier máquina con 
IP fija), puedes actualizar directamente desde el subversión:
1.- Crear por primera vez (en el servidor):
  cd /var/www/vhosts/  (o algo así... donde diga Apache)
  svn co svn://89.17.210.159/mirepositorio  (sustituir IP por la del 
servidor de subversión, y mirepositorio por el nombre que utilices tú en 
subversión)
2.- Actualizar
  cd /var/www/vhosts/
  svn update

- Para deploys complejos, plantéate utilizar Capistrano... pero si no es 
complejo, posiblemente no valga la pena matar moscas a cañonazos.

s2
Posted by Fernando Calatayud (fernan2)
on 2010-10-25 18:54
Manuel Villa wrote:

> Fernando Gracias por Reponder estoy un poco desesperado por que no he
> podido desplegar mi aplicacion con respecto a lo del
> 1. DNS esta funcionado bien al colocar mi dominio despliega el
> index.html que esta public.
>
> 2. La aplicacion la realize todo en windows y los archivos ya los subi
> al servidor bueno por ftp pero no se en que carpeta colocarlos.
>
> 3. no tengo la aplicación bajo el control de versiones Subversion, me
> gustaria aprender mas de este tema.
>
>
> Gracias Fernando si puedes seguir ayudando.

Lo más probable es que tu proveedor de hosting tenga alguna 
documentación explicándolo, busca ahí antes que nada o escríbeles a 
ellos.

Yo te cuento mi configuración, aunque yo gestiono servidores dedicados, 
y no sé si en un compartido funciona igual...

Primero me voy a ver la configuración de Apache, en 
/etc/apache2/apache2.conf

En ese archivo, me encuentro un
Include /etc/apache2/sites-enabled/

Aunque en realidad las configuraciones no las tengo en esta carpeta, 
sino en /etc/apache2/sites-available/, siendo lo de 
/etc/apache2/sites-enabled/ una serie de symlinks hacia los archivos de 
sites-available (esta complejidad no es necesaria si no vas a desactivar 
y reactivar sitios, pero te la cuento por si te encuentras algo 
similar).

Los archivos de configuración son algo así:
/etc/apache2/sites-available/rankia-production

<VirtualHost *>
    ServerName www.rankia.com
    DocumentRoot /var/www/rankia/public
    PassengerDefaultUser my_usr
</VirtualHost>

<VirtualHost *>
    ServerAlias rankia.com
    redirect permanent / http://www.rankia.com/
</VirtualHost>

La segunda parte es simplemente redirigir http://rankia.com/ hacia 
http://www.rankia.com/

Y la primera parte, que es lo que interesa, indica dónde debe 
instalarse:
DocumentRoot /var/www/rankia/public

Luego la aplicación debe estar en /var/www/rankia/, con los controllers 
en /var/www/rankia/app/controllers, la configuración en 
/var/www/rankia/config, y el archivo index.html QUE HAS DE BORRAR PARA 
VER TU WEB en /var/www/rankia/public

s2
Posted by Manuel Villa (mevc1903)
on 2010-10-25 19:35
Gracias Fernando pero te comento el servidor que tengo configurado es
linux centos y no utilizo ningun proveedor de hosting es para utilizarlo
dentro la intranet.
Posted by Fernando Calatayud (fernan2)
on 2010-10-25 19:56
Manuel Villa wrote in post #956976:
> Gracias Fernando pero te comento el servidor que tengo configurado es
> linux centos y no utilizo ningun proveedor de hosting es para utilizarlo
> dentro la intranet.

Entonces perfecto, se parecerá bastante a la configuración mía que te he 
descrito...
Posted by Manuel Villa (mevc1903)
on 2010-10-25 20:50
Gracias Fernando voy a describir segun lo que te entendi

1. Ingreso a la configuracion de Apache que la lintengo 
/etc/httpd/conf/httpd.conf

2. Creo He creado una carpeta dentro /etc/httod/sitios

3. dentro de la configuracion de Apache he colocado las siguientes
lineas:

<VirtualHost *>
    ServerName www.giros.com
    DocumentRoot /var/www/giros/public
    PassengerDefaultUser my_usr
</VirtualHost>

<VirtualHost *>
    ServerAlias giros.com
    redirect permanent / http://www.giros.com/
</VirtualHost>

4. He copiado desde windows mi aplicacion a /var/www/giros/

5. Duda no encuentro la linea Include /etc/apache2/sites-enabled/
 en la configuracion del Apache

Esos los paso que entiendo por favor me puedes coregir gracias
Posted by Fernando Calatayud (fernan2)
on 2010-10-25 22:16
Manuel Villa wrote in post #956997:
> Gracias Fernando voy a describir segun lo que te entendi
>
> 1. Ingreso a la configuracion de Apache que la lintengo
> /etc/httpd/conf/httpd.conf
>
> 2. Creo He creado una carpeta dentro /etc/httod/sitios
>
> 3. dentro de la configuracion de Apache he colocado las siguientes
> lineas:
>
> <VirtualHost *>
>     ServerName www.giros.com
>     DocumentRoot /var/www/giros/public
>     PassengerDefaultUser my_usr
> </VirtualHost>
>
> <VirtualHost *>
>     ServerAlias giros.com
>     redirect permanent / http://www.giros.com/
> </VirtualHost>
>
> 4. He copiado desde windows mi aplicacion a /var/www/giros/
>
> 5. Duda no encuentro la linea Include /etc/apache2/sites-enabled/
>  en la configuracion del Apache
>
> Esos los paso que entiendo por favor me puedes coregir gracias


Creo que te he liado... a la configuración del Apache no debes ir a 
cambiar cosas, si como parece ya estaba bien (podías ver el index.html 
correctamente), sino a ver dónde debes hacer el deploy...

La configuración del Apache puede estar en un gran archivo único, como 
podría ser el caso del tuyo, o fragmentada en varios archivos (que se 
gestionan vía include's). En todo caso, lo que debes buscar es la 
instrucción DocumentRoot que apunta a la raíz de tu dominio (la que esté 
bajo el "ServerName www.giros.com").

Una vez encuentres el DocumentRoot /xxx/yyy/zzz/public, ya sabes que el 
deploy se debe hacer sobre /xxx/yyy/zzz/

s2
Posted by Manuel Villa (mevc1903)
on 2010-10-25 23:05
Fernando te comento:

1. He copiado mi proyecto que lo tenia en Windows luego ingreso a la 
carpeta donde copie.

2. luego en linux prendo el servicio passenger con el comando passenger 
start

3. me indica phusion passenger standalone web server started y me indica 
la carpeta donde tengo mi directorio.

4. Pero cuando ya ingreso a mi aplicacion www.giros:3000 me sale un 
error
                      403 Forbidden

                       nginx/0.8.52

5.Segun lo que entiendo  es por falta de permisos


Fernando creo ya voy cerca por favor colaborame.
Posted by Fernando Calatayud (fernan2)
on 2010-10-26 00:18
Manuel Villa wrote in post #957036:
> Fernando te comento:
>
> 1. He copiado mi proyecto que lo tenia en Windows luego ingreso a la
> carpeta donde copie.
>
> 2. luego en linux prendo el servicio passenger con el comando passenger
> start
>
> 3. me indica phusion passenger standalone web server started y me indica
> la carpeta donde tengo mi directorio.
>
> 4. Pero cuando ya ingreso a mi aplicacion www.giros:3000 me sale un
> error
>                       403 Forbidden
>
>                        nginx/0.8.52
>
> 5.Segun lo que entiendo  es por falta de permisos
>
>
> Fernando creo ya voy cerca por favor colaborame.



Nginx??? No me jodas!! Nginx es un servidor web ruso (una alternativa a 
Apache)... si Nginx está en marcha, Apache no puede funcionar, porque 
los puertos los tiene Nginx.

Tienes que parar el nginx, con un comando nginx stop, y si no te hace 
caso tira del kill, y entonces podrás poner en marcha el Apache. Aunque 
si quieres usar Nginx, tampoco es malo... a mí me ha sacado de más de un 
apuro, cuando el apache me daba problemas, ponía en marcha nginx y un 
cluster de mongrels, y a funcionar la web mientras me peleaba con el 
apache.

Por cierto, mira a ver si también tienes los mongrels levantados, y si 
es así los paras también (si vas a funcionar con Apache).

s2
Posted by Manuel Villa (mevc1903)
on 2010-10-26 00:41
Fernando te voy a describir como instale mi servidor.

1.gem install passenger
2.passenger-install-apache2-module

Luego inicie passenger con passenger start

y ahora me dice que lo detenga con stop y no funciona


Estoy perdido todavia
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.