vServer en Linux


([N4] CEESA) #1

Hola:
Acabo de instalar el vServer en mi equipo de casa (Linux) y estoy encantado. Va de muerte. He intentado hacer unos scripts para arrancar, detener y ver el estado del servidor, pero no me funcionan, solo lo puedo hacer desde la ventana de terminal. Lo ideal sería arrancar el vServer como demonio. ¿Podriais comentarnos por favor como lo hacemos?
Saludos.


(ricardoriobo.indexneo) #2

Hola Jose Luis
Yo tengo el mismo problema, pero no puedo ni reiniciarlo, la unica forma que encontré es matar el proceso vServer con Kill, y despues volver a arrancarlo.
Como haces para reiniciarlo desde consola?

Un saludo


([N4] agonzalez.velneo.com) #3

Hola,
En la zona info disponéis de dos manuales para la instalación, configuración e inicio de Velneo vServer V7 en Linux:[url url=../../info/v7_70_es/velneo_vserver/instalacion_y_configuracion/#instalar_velneo_vserver_en_linux]
[/url]
[url url=../../info/v7_70_es/velneo_vserver/instalacion_y_configuracion/#instalar_velneo_vserver_en_linux]Instalación y configuración[/url]
[url url=../../info/v7_70_es/velneo_vserver/iniciar_velneo_vserver/#iniciar_velneo_vserver_en_linux]Iniciar, detener y visualizar servicio[/url]

CEESA, seguramente el problema que tienes es debido a permisos de acceso. Ya que si has dejado configurado el puerto por defecto o tienes definido uno por debajo del 1024, es imprescindible que la ejecución se realice como usuario root. Por el contrario si en el script configuras un puerto por encima del 1024 basta con que crees un lanzador en el escritorio de tu usuario y ya te funcionará.

En los links que os indico más arriba podéis ver cómo configurar los puertos de Velneo vServer V7 y como arrancar, detener, instalar y visualizar el estado del mismo.

Saludos.


(ricardoriobo.indexneo) #4

Gracias agonzalez, esto nos pasa por no leer los manuales.

Un saludo





([N4] CEESA) #5

Hola:
La verdad es que el puerto lo tenía configurado en el 6900. Desde terminal me estaba funcionando todo bien: arrancar, ver el estado, etc.
Mi pregunta iba mas por el lado de como hacer para que el demonio del vServer se active automáticamente en cuanto arranco el equipo y que se desactive cuando apago el ordenador.
He visto una utilidad que se llama upstart que viene a reemplazar el demonio /sbin/init y que podría encargarse de todo esto, aunque aún no he tenido tiempo de profundizar en el tema.
Por eso, si ya teneis algo hecho al respecto, os agradecería que nos lo comenteis.
Saludos.


([N1] MRemohi) #6

Hola,
Para hacer lo que pretendes depende de la distribucion que estes usando. Por ejemplo en fedora debes copiar el script de inicio de vserver a /etc/init.d y luego dependiendo del nivel de arranque que tengas configurado (supongo 5, que es el grafico), crear dos enlaces suaves (ln -s origen enlace) en el directorio /etc/rc5.d uno para iniciar el servicio y otro para pararlo:
S999vMotor --> iniciaria el servicio
K999vMotor --> pararia el servicio
S999vMotor seria un link a /etc/init.d/vMotor, que es el script encargado de iniciar y parar el vMotor (parametros start/stop/reload).
Saludos


([N4] CEESA) #7

Hola:
Muchas gracias MRemohi. Tengo Ubuntu en modo gráfico. Lo que comentas parece que debería funcionar. Luego lo pruebo en casa.
A ver si te he entendido:
A /etc/init.d copio el fichero vServer.sh
Y
luego creo dos ficheros en /etc/rc5.d Uno llamado S999vServer (lo
edito por ejemplo con el gEdit) al que le pongo /etc/init.d/vServer -i
/port=6900 y otro llamado K999vServer al que le pongo
/etc/init.d/vServer -t
Saludos.


([N1] MRemohi) #8

No exactamente, voy a tratar de explicarme mas:
Los linux cuando arrancan en modo grafico recorren el directorio /etc/rc5.d ejecutando todos los scripts que empiezen por "S" en orden. Por lo que si en este directorio colocamos un script que se llame S999vMotor.sh, el linux lo ejecutara al final del resto de servicios y con el parametro start es decir ejecutaria (/etc/rc5.d/S999vMotor.sh start). Por contra cuando paramos el linux, el proceso init ejecuta todos los scripts de ese mismo directorio que empiezen por "K" de kill. Por ello si ahi tambien colocalos otro script que se llame K999vMotor.sh lo ejecutaria al finalizar el linux y con parametro stop.
Para simplificar el proceso se suele emplear la siguiente tecnica:
- Un script vMotor.sh que acepte los siguientes parametros start/stop/restart, por ejemplo:
#-----INICIO DEL SCRIPT----
#!/bin/bash
case "$1" in
start)
/ruta_al_vmotor.sh -parametro para arrancarlo
;;
stop)
/ruta_al_vmotor.sh -parametro para pararlo
;;
restart)
/ruta_al_vmotor.sh -parametro para pararlo
/ruta_al_vmotor.sh -parametro para arrancarlo
;;
esac
exit $?
#-----FIN DEL SCRIPT----
Este script lo podriamos colocar en /etc/init.d/vMotor.sh y con permisos de ejecucion (chmod 755 /etc/init.d/vMotor.sh), ahora solo nos quedaria realizar los S999vMotor y K999vMotor que simplemente serian unos enlaces a /etc/init.d/vMotor.sh (accesos directos de windows):
# ln -s /etc/init.d/vMotor.sh /etc/rc5.d/S999vMotor
# ln -s /etc/init.d/vMotor.sh /etc/rc5.d/K999vMotor
con esto el linux ejecutaris S999vMotor start al arrancar y K999vMotor stop cuando apagamos.
Ademas tu podrias para, arrancar y reinicar el motor simplemente con /etc/init.d/vMotor.sh start/stop/restart
Espero haberme explicado
Un saludo


([N4] CEESA) #9

Gracias nuevamente. Estaba leyendo sobre el tema en varios foros de Linux, pero me has aclarado un montón. Muy interesante saber en que orden se arrancan y detienen los servicios. La verdad es que no deja de sorprenderme la flexibilidad de Linux con respecto a Windows. Aunque me instalé en casa el Ubuntu hace mas o menos un año, todavía me quedan unos cuantos años mas para sacarle partido a esto.
Me pongo ahora mismo con ello.
Saludos.











([N4] CEESA) #10

Hola MRemohi
Perfecto. Por fin ha funcionado. Lo único que si ponía los enlaces de S999vMotor y K999vMotor en /etc/rc5.d/ no me estaba funcionando. Después de darle unas cuantas vueltas, probé a poner estos enlaces en /etc/rc2.d y ahora carga perfecto.
Sin tu ayuda creo que no lo hubiera conseguido.
Saludos.


(ricardoriobo.indexneo) #11

Muchas gracias MRemohi
Lo acabo de probar y start y stop funcionan perfectamente, pero restart dice que el servicio no está iniciado, y realmente lo detiene.
¿se te ocurre cual puede ser el problema?

Un saludo


(ricardoriobo.indexneo) #12

Perdon, ya encontré el error, tenia cambiado el orden de los parametros, ahora va perfecto.

Un saludo


([N4] CEESA) #13

No se si os ocurre al resto, pero cuando arranco el vServer desde /etc/rc2.d/ al arrancar el sistema, la estructura de archivos del vServer la monta desde el directorio root. Si en cambio esto lo hago manualmente una vez arrancado el sistema me lo hace desde /home/joseluis/ que es mi carpeta de usuario.
He probado a cambiar el vServer.sh y ponerle la ruta a mano, pero ni por esas.
Ahora mismo y salvo que me comenteis algo creo que la soución será copiarme los proyectos a /cajas y redefinir usuarios e instancias.
Saludos.


([N1] MRemohi) #14

hola,
es normal, los rcX.d los ejecuta el sistema como usuario root. No conozco a fondo Ubuntu, pero para saber que nivel de arranque se ejecuta por defecto basta que hagas el siguiente comando:
# cat /etc/inittab
esto te mostrara el fichero inittab que define el nivel de arranque del sistema, por lo menos en los linux basados en redhat.
Yo aun no he probado vserver en linux y no se si es bueno hacer que las cajas y datos esten como root o mejor como otro usario. En cuanto tenga unos dias lo pruebo y posteare mis impresiones.
saludos


([N4] CEESA) #15

Lo miraré, gracias.


([N1] xavipv) #16

Estoy también con V7 y me he propuesto probarlo todo en Ubuntu con el vServer en local. No sé si somos muchos los que estamos utilizando la versión de Linux (por el foro y el blog hay pocos mensajes), pero por lo que a mi respecta, esta es la versión que me interesa más, y creo que es muy conveniente dar feedback también en esta plataforma.

Utilizo Ubuntu 9.04 Desktop (con la interface gráfica activada). Tampoco soy un gran experto en Línux, y con la gran ayuda de este hilo y de Ceesa y Lolo he podido configurar perfectamente todo. Tan solo quería aportar algunos detalles:

Como CEESA, también he tenido que poner los scripts de arranque y parada en el nivel 2 (/etc/rc2.d). En total lo he puesto en el 2, 3 y 5. Me inicia el vServer correctamente con tan sólo arrancar el ordenador y dejarlo en la pantalla gráfica de login de usuarios. No sé exactamente cual es el script que se ejecuta. Supongo que será el del nivel 2, pero no me acaba de quedar claro.

De esta forma, los archivos de trabajo del vServer los crea el usuario root. A mi me ha creado una carpeta llamada "Velneo" en la partición raíz, fuera incluso de la carpeta home de root. Dentro de "Velneo" crea otras dos: "server" y "cajas". Todas estas carpetas y su contenido se crean con propietario root, y los permisos de acceso y escritura los fija como exclusivos para él. Esto para mi es una gran ventaja, ya que te aseguras que los archivos estarán protegidos y inaccesibles directamente para cualquier otro usuario.

@CEESA y @LOLO comentáis que es un problema que las cajas residan en la partición raíz ("/"), y estoy totalmente deacuerdo: los datos siempre intento ponerlos bien lejos del sistema operativo. La solución que he encontrado es muy sencilla: he creado en otra partición (la que sea) las carpetas (/media/particionlaquesea/Velneo/cajas).
Para que estén seguras, les he asignado el propietario y grupo root:
   sudo chown -R root:root /media/particionlaquesea/Velneo
y permisos de lectura y escritura sólo para él:
   sudo chmod -R 750 /media/particionlaquesea/Velneo
La carpeta /Velneo/cajas que espera encontrar el vServer en la raíz, la sustituyo por un enlace simbólico a la carpeta cajas que he creado en la otra partición. Estando situado en /Velneo:
   sudo ln -s /media/particionlaquesea/Velneo/cajas cajas

Y ya está. De momento me funciona perfectamente. Ignoro si todo esto funcionaría para un PC con una versión de Ubuntu sin la interfaz gráfica (usual si actúa sólo de servidor), más que nada por los niveles de ejecución donde poner los scripts.

¿Alguien ha estado probando también V7 con Linux?


([N1] xavipv) #17

Por cierto, una cosa que se me olvidaba:

Todos los componentes de V7 (cada uno es una carpeta) los he ubicado en /usr/local. Así separo la instalación de V7 de cualquier usuario en particular. A estas carpetas se les tiene que dar permiso de lectura/ejecución al grupo o usuarios que quieran usarlas. Luego creo los lanzadores en el escritorio de cada usuario que tenga que utilizarlos. Estos apuntan a los shells de arranque, como por ejemplo:
/usr/local/VelneoV7-vDevelop/vDevelop.sh

Por cierto: no están los iconos de cada componente en la versión de Linux. No estaría de más incluirlos como archivos PNG en la próxima versión.

Un saludo!
Xavi


([N4] davidgu) #18

Estimado xavipv

Muchas gracias por tus comentarios! Seguro que ayudan a muchos usuarios a iniciarse en Linux con V7.

Inicialmente teníamos una instalación "tipo windows" para la versión de Linux, pero viendo el tipo de perfil de desarrolladores que lo usaban y siguiendo las solicitudes de muchos de vosotros, hemos optado por ofrecer un tar.gz y que cada desarrollador lo adapte a sus necesidades de implantación/seguridad/recursos.

Muchas gracias por la sugerencia de incluir los PNGs de los ejecutables la tendremos en cuenta.

¿Usas linux solo de servidor o también para el vDevelop y vClient?

Saludos


([N1] xavipv) #19

Estimado David

Sí, uso Linux para todos los componentes.

Hace poco que he empezado a probar V7 con Linux/Ubuntu. Tengo dos PCs, los dos con la versión Ubuntu Desktop 9.04. En uno tengo instalado todo (el vServer y todos los demás componentes). En el otro sólo tengo los componentes.

De esta forma, puedo desarrollar/ejecutar desde cualquiera de los dos ordenadores.

Un saludo!


([N2] huntergps) #20

Bajando la plataforma para Linux.. empezaremos a desarrollar con V7 en Fedora Core 11..