Cloud con Redhat OpenShift Flex: Difference between revisions
No edit summary |
PolyglotBot (talk | contribs) m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Cloud_with_Redhat_OpenShift_Flex".) |
||
| (31 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<!-- BEGIN interlang links --> | |||
<!-- Do NOT edit this section | |||
Links below are automatically managed by PolyglotBot | |||
You can edit links on the English source page : Cloud_with_Redhat_OpenShift_Flex --> | |||
[[en:Cloud_with_Redhat_OpenShift_Flex]] | |||
<!-- END interlang links --> | |||
[[Category:Admin]] | [[Category:Admin]] | ||
[[Category:Admin_es]] | |||
[[Category:Cloud]] | [[Category:Cloud]] | ||
{{TemplateDocUser}} | {{TemplateDocUser}} | ||
Esta página es un tutorial para explicar cómo instalar Dolibarr ERP-CRM en la plataforma Redhat OpenShift Flex www.openshift.com | |||
'' | ''haga clic dos veces sobre la imagen que desea agrandar'' | ||
Image 1<br /> | Image 1<br /> | ||
| Line 15: | Line 23: | ||
'''OpenShift plataforma como servicio''' | '''OpenShift plataforma como servicio''' | ||
OpenShift es Plataforma como Servicio (PaaS) de Red Hat, que permite a los desarrolladores crear rápidamente aplicaciones escalables host, en un entorno de nube. Con OpenShift tienes elección de ofertas, en línea, en la premisa, y las opciones de proyectos de código abierto. | OpenShift es Plataforma como Servicio ([http://en.wikipedia.org/wiki/Platform_as_a_service PaaS]) de Red Hat, que permite a los desarrolladores crear rápidamente aplicaciones escalables host, en un entorno de nube. Con OpenShift tienes elección de ofertas, en línea, en la premisa, y las opciones de proyectos de código abierto. | ||
OpenShift brinda ayuda para construir y desplegar aplicaciones web, backends móviles, arquitecturas orientadas a servicios, y recibe sus servicios favoritos. | OpenShift brinda ayuda para construir y desplegar aplicaciones web, backends móviles, arquitecturas orientadas a servicios, y recibe sus servicios favoritos. | ||
| Line 23: | Line 31: | ||
'''Que es un Gear?'''<br /> | '''Que es un Gear?'''<br /> | ||
Un gear es un contenedor de recursos limitados que | Un gear es un contenedor de recursos limitados que ejecuta una o más pilas de software especificados por el usuario, también conocidas como cartridges. Cada gear tiene una cantidad limitada de memoria RAM y espacio en disco. | ||
Si una aplicación necesita más recursos, puede ser configurado para utilizar automáticamente más gears. | Si una aplicación necesita más recursos, puede ser configurado para utilizar automáticamente más gears. | ||
'''¿Cómo trabajan los Gears?'''<br /> | '''¿Cómo trabajan los Gears?'''<br /> | ||
Echemos un vistazo a una aplicación de ejemplo basada en Drupal que se ejecuta en OpenShift. Podemos estimar las necesidades | Echemos un vistazo a una aplicación de ejemplo basada en Drupal que se ejecuta en OpenShift. Podemos estimar las necesidades de la aplicación en las diferentes etapas. | ||
15 páginas / segundo | *15 páginas / segundo | ||
Cientos de artículos | *Cientos de artículos | ||
~ 50k visitantes por mes | *~ 50k visitantes por mes | ||
3 pequeños | *3 pequeños Gears | ||
Plan Libre | *Plan Libre | ||
Como vemos, un plan libre, puede ser suficiente, para una Empresa pequeña o mediana. | Como vemos, un plan libre, puede ser suficiente, para una Empresa pequeña o mediana. | ||
| Line 40: | Line 48: | ||
En OpenShift, tenemos dos posibilidades claras, para | En OpenShift, tenemos dos posibilidades claras, para Dolibarr, desde la puesta en marcha, hasta la puesta en producción. | ||
1.- | 1.- Extender o crear nuestros propios módulos.<br /> | ||
2.- | 2.- Poner en producción nuestro DoliBarr. | ||
'''Ventajas que nos ofrece OpenShift''' | '''Ventajas que nos ofrece OpenShift''' | ||
Es un sitio seguro, al cual se accede a través de SSH. | Es un sitio seguro, al cual se accede a través de [http://en.wikipedia.org/wiki/Secure_Shell SSH]. | ||
Es escalable | Es escalable<br /> | ||
Aplicación | Aplicación escalable, permite a la aplicación reaccionar a los cambios en el tráfico y automáticamente asignar los recursos necesarios para manejar su demanda actual. La infraestructura OpenShift monitorea el tráfico de Internet entrante y automáticamente trae copias de su cartucho de Web en línea para manejar las peticiones. | ||
Nos da control total, sobre nuestra base de datos, para conectarnos remotamente a través de un cliente GUI como HeidySQL. | Nos da control total, sobre nuestra base de datos, para conectarnos remotamente a través de un cliente GUI como HeidySQL. | ||
En caso de decantarnos por MySql, tenemos a disposición, el motor InnoDB, imprescindible para transacciones. | En caso de decantarnos por MySql, tenemos a disposición, el motor [http://en.wikipedia.org/wiki/InnoDB InnoDB], imprescindible para transacciones. | ||
Nos da la posibilidad, de compartir Certificados SSL de RedHat o personalizar nuestro propio SSL, en caso de tenerlo. Imprescindible, para enviar nuestros datos, tanto de logín o de transferencias bancarias, encriptadas y seguras. | Nos da la posibilidad, de compartir Certificados SSL de RedHat o personalizar nuestro propio [http://en.wikipedia.org/wiki/Transport_Layer_Security SSL], en caso de tenerlo. Imprescindible, para enviar nuestros datos, tanto de logín o de transferencias bancarias, encriptadas y seguras. | ||
Dicho todo esto, comencemos, la puesta en marcha de nuestra aplicación DoliBarr. | Dicho todo esto, comencemos, la puesta en marcha de nuestra aplicación DoliBarr. | ||
| Line 88: | Line 96: | ||
Elija un | Elija un Cartridge de programación web | ||
Image 5<br /> | Image 5<br /> | ||
| Line 101: | Line 109: | ||
2. Configure la aplicación. | 2. Configure la aplicación. | ||
Es importante, definir bien el nombre de dominio, para este tutorial, hemos usado sdme. El | Es importante, definir bien el nombre de dominio, para este tutorial, hemos usado sdme. El dominio, no se puede cambiar más a menos que, borremos todas nuestras aplicaciones y empecemos nuevamente de cero y eso es algo que nadie quiere. | ||
También, tendremos que informar, si tenemos un repositorio externo Git, con nuestro código. | También, tendremos que informar, si tenemos un repositorio externo Git, con nuestro código. | ||
| Line 150: | Line 158: | ||
Manos a la obra. | Manos a la obra. | ||
Necesitamos un cliente SSH/FTP como WinSCP y PuTTY. | Necesitamos un cliente SSH/FTP como [http://sourceforge.net/projects/winscp WinSCP] y PuTTY. | ||
Los Bajamos y los instalamos. | Los Bajamos y los instalamos. | ||
| Line 160: | Line 168: | ||
Doble Click en puttygen. | |||
image 11<br /> | image 11<br /> | ||
[[File:Puttygen_initial.JPG|400px]] | [[File:Puttygen_initial.JPG|400px]] | ||
Dejamos los valores por defecto, SSH-2 RSA y el número de bits en 2048. | |||
Con estos valores ya tendremos una key, fuertemente encriptada. | |||
Click en Generate | |||
Image 12<br /> | Image 12<br /> | ||
[[File:Puttygen_generating.JPG|400px]] | [[File:Puttygen_generating.JPG|400px]] | ||
Para que genere de nuestra key, debemos mover el puntero del ratón, constantemente en el espacio en blanco del programa. | |||
| Line 179: | Line 188: | ||
[[File:Puttygen_generate_end.JPG|400px]] | [[File:Puttygen_generate_end.JPG|400px]] | ||
Una vez que ha finalizado la generación de nuestra key, tendremos que poner una passphrase. | |||
Click Save public key | Click en Save public key, para guardar nuestra key publica, le damos el nombre de rsa.pub, hacemos lo mismo con Save private key, y le damos el nombre de rsa.ppk. | ||
Una key pública, es como la cerradura de una puerta y la key privada es como la llave que abre esa cerradura. | |||
Marcamos el código generado en el área de texto y lo copiamos, luego nos vamos a nuestra consola de OpenShift. | |||
| Line 191: | Line 200: | ||
[[File:Settings_openshift_copy_public_key.JPG|500px]] | [[File:Settings_openshift_copy_public_key.JPG|500px]] | ||
Pegamos el código en Paste the contents of your public key file (.pub) y click en Save. | |||
| Line 197: | Line 206: | ||
[[File:Settings_openshift_public_key_saved.JPG|500px]] | [[File:Settings_openshift_public_key_saved.JPG|500px]] | ||
Perfecto ahora OpenShift, tiene nuestra cerradura, y nosotros la llave. | |||
Ahora vamos al tab Applications en nuestra consola de OpenShift | |||
Click | Click sobre nuestra aplicación startdolibarr. | ||
Click | Click en Want to log in to your application?. | ||
Image 16<br /> | Image 16<br /> | ||
[[File:SourceCode_and_Remote_Access.JPG|500px]] | [[File:SourceCode_and_Remote_Access.JPG|500px]] | ||
Copiamos el código ssh 53641a41e0b8cdf5ec000b76@startdolibarr-sdme.rhcloud.com | |||
Abrimos nuestro WinSCP. | |||
Image 17<br /> | Image 17<br /> | ||
[[File:Login_WinSCP.JPG|500px]] | [[File:Login_WinSCP.JPG|500px]] | ||
Ponemos la primera parte, 53641a41e0b8cdf5ec000b76 antes de la @ en el campo User name, y la segunda parte, startdolibarr-sdme.rhcloud.com después de la @ en el campo Host name. | |||
Es aconsejable no colocar el password/passphrasse, en este punto, por motivos de seguridad. La usaremos más adelante. | |||
Click | Click en Advanced. | ||
| Line 227: | Line 236: | ||
[[File:Login_WinSCP_SSH_private_Key.JPG|500px]] | [[File:Login_WinSCP_SSH_private_Key.JPG|500px]] | ||
En Private key file: seleccionamos nuestra clave privada rsa.ppk, click en OK, click en guardar y click en Login. | |||
| Line 233: | Line 242: | ||
[[File:Warning_connect_to_WinSCP.JPG|500px]] | [[File:Warning_connect_to_WinSCP.JPG|500px]] | ||
Cuando nos salga esta agradable ventanita click en Yes. | |||
| Line 239: | Line 248: | ||
[[File:WinSCP_login_passphrasse.JPG]] | [[File:WinSCP_login_passphrasse.JPG]] | ||
Aquí colocamos nuestra passphrase y click en OK. | |||
| Line 245: | Line 254: | ||
[[File:Session_WinSCP_accept.JPG|500px]] | [[File:Session_WinSCP_accept.JPG|500px]] | ||
Viola | Viola tenemos acceso vía SSH a nuestro Gear. | ||
En la parte izquierda esta nuestro espacio local y a la derecha el remoto. | |||
= | = Enviar archivos de Dolibarr = | ||
Image 22<br /> | Image 22<br /> | ||
[[File:Download_Dolibarr_generic_version.JPG|500px]] | [[File:Download_Dolibarr_generic_version.JPG|500px]] | ||
Bajamos la versión genérica de Doibarr. | |||
| Line 261: | Line 270: | ||
[[File:Uploading_DoliBarr_into_repo.JPG|500px]] | [[File:Uploading_DoliBarr_into_repo.JPG|500px]] | ||
En la parte remota seleccionamos la ruta | |||
/var/lib/openshift/53641a41e0b8cdf5ec000b76/app-root/runtime/repo | /var/lib/openshift/53641a41e0b8cdf5ec000b76/app-root/runtime/repo | ||
Transferimos la carpeta dolibarr, de nuestra máquina local a Openshift, presionando F5. Este proceso, puede tardar varios minutos, así que mientras esperamos, nos dedicaremos a crear nuestro Gear, para la base de datos. | |||
| Line 270: | Line 279: | ||
[[File:Add_MySQL_5.5.JPG|500px]] | [[File:Add_MySQL_5.5.JPG|500px]] | ||
Volvemos a la consola de OpenShift y con nuestra aplicación seleccionada, hacemos click en la parte inferior, del apartado Databases y seleccionamos Add MySQL 5.5 | |||
| Line 276: | Line 285: | ||
[[File:Add_Cartridge_MySL_to_startdolibarr.JPG|500px]] | [[File:Add_Cartridge_MySL_to_startdolibarr.JPG|500px]] | ||
Click | Click en add Cartridge. | ||
Nota.- En una aplicación normal sin Scale activado, el Cartridge Mysql se añadiría al Gear actual, pero en nuestro caso, openShift nos informa que se ocupará un nuevo Gear para MySQL. | |||
| Line 284: | Line 293: | ||
[[File:Add_MySQL_Please_make_note_of_these_credentials.JPG|500px]] | [[File:Add_MySQL_Please_make_note_of_these_credentials.JPG|500px]] | ||
Copiamos los credenciales de acceso a MySQL. Los usaremos más adelante, para acceder a nuestra base de datos. | |||
| Line 290: | Line 299: | ||
[[File:Delete_Index_php.JPG|500px]] | [[File:Delete_Index_php.JPG|500px]] | ||
Una vez que ha terminado el upload de dolibarr, descrito en la imagen 23. Editamos el file index.php. | |||
Lo abrimos en nuestro editor de texto favorito y reemplazamos con el siguiente código. | |||
<?php<br /> | <?php<br /> | ||
| Line 298: | Line 307: | ||
?> | ?> | ||
Hacemos una copia del index.php en la carpeta dolibarr y volvemos a editarlo y quitamos dolibarr/. | |||
<?php<br /> | <?php<br /> | ||
| Line 308: | Line 317: | ||
[[File:Index_php_inside_dolibarr_folder.JPG|500px]] | [[File:Index_php_inside_dolibarr_folder.JPG|500px]] | ||
Lo que acabamos de hacer, sirve, para que no se muestre la estructura de nuestros folders y files de dolibarr en el navegador web, con el index.php obligamos a que se redirija al inicio de DoliBarr. | |||
Por último y antes de empezar con la configuración de dolibarr, conviene usar SSL (protocolo criptográfico), que nos proporciona seguridad a la hora de enviar nuestros datos desde el Navegador web al servidor. El uso de SSL es para dar un plus extra a las medidas de seguridad propias de dolibarr, que ya son buenas. | |||
Abrimos nuestro editor de textos una vez más y añadimos lo siguiente. | |||
*RewriteEngine on<br /> | *RewriteEngine on<br /> | ||
| Line 318: | Line 327: | ||
*RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L] | *RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L] | ||
Guardar con el hombre de .htaccess justo al lado de nuestro folder dolibarr y del index.php | |||
Como se muestra en la siguiente imagen. | |||
| Line 335: | Line 344: | ||
[[File:Dolibarr_con_SSL_unfoll.JPG|500px]] | [[File:Dolibarr_con_SSL_unfoll.JPG|500px]] | ||
Vemos como el certificado SSL es aceptado por el navegador. | |||
= | = Ejecutar el asistente de instalación Dolibarr = | ||
Comenzamos con la configuración de DoliBarr. | |||
Seleccionamos del desplegable, Default language to use (language code): , el idioma correspondiente y click en Next step. | |||
| Line 348: | Line 357: | ||
[[File:Start_Install.JPG|500px]] | [[File:Start_Install.JPG|500px]] | ||
Click | Click en start. | ||
| Line 354: | Line 363: | ||
[[File:Environment_Variables_conextion_MySQL.JPG|500px]] | [[File:Environment_Variables_conextion_MySQL.JPG|500px]] | ||
Revisamos la imagen 26, cuando creamos el Cartridge MySQL. | |||
Y nos enfocamos en las líneas. | |||
*Root User: adminCRERXju<br /> | *Root User: adminCRERXju<br /> | ||
| Line 364: | Line 373: | ||
Para crear la conexión con la base de datos, OpenShift nos proporciona unas variables de entorno. Para que dolibarr pueda conectarse a la base de datos, necesitamos saber el valor, de estas variables, así que volvamos a WinSCP y en la carpeta .env/mysql encontraremos dichas variables, como se muestra en la imagen de arriba. | |||
Click | Click con el botón derecho sobre OPENSHIFT_MYSQL_DB_HOST, click en edit y nos mostrara el valor que tiene la variable, copiamos y pegamos en el campo Server como se muestra en la imagen de abajo. Hacemos lo mismo para la variable OPENSHIFT_MYSQL_DB_PORT y pegamos su valor en el campo Port. | ||
| Line 372: | Line 381: | ||
[[File:Create_DDBB_in_configure_DoliBarr.JPG|500px]] | [[File:Create_DDBB_in_configure_DoliBarr.JPG|500px]] | ||
Nota.- Para cuando sigan estos pasos, el host y el puerto, para su instalación particular, debería ser diferente, al mostrado en este ejemplo. | |||
Nota2.- En este pasó, también podríamos crear una Base de datos diferente y un propietario diferente, ya que poseemos las credenciales de súper usuario de MySQL, pero este paso no lo tocaremos aquí hoy. | |||
Click Next Step | Click en Next Step y nos muestra la siguiente ventana. | ||
| Line 382: | Line 391: | ||
[[File:Confirm_configuration.JPG|500px]] | [[File:Confirm_configuration.JPG|500px]] | ||
Esta pantalla, básicamente nos informa que, la conexión a la base de datos se ha establecido y que se ha guardado esta información, en el file de configuración de dolibarr conf.php. | |||
Click Next Step | Click en Next Step y comenzará la creación de las tablas en la base de datos, necesarias para el trabajo de DoliBarr. | ||
| Line 390: | Line 399: | ||
[[File:Database_susetfull_created.JPG|500px]] | [[File:Database_susetfull_created.JPG|500px]] | ||
Esta pantalla informa que, ha terminado la creación de las tablas. | |||
Click | Click en Next step. | ||
| Line 398: | Line 407: | ||
[[File:Insert_admin_credentials.JPG|500px]] | [[File:Insert_admin_credentials.JPG|500px]] | ||
Llenamos los campos con el username y password, del que será el administrador, para este ejemplo he usado admin/admin. Para el caso real debería ser un password más fuerte. | |||
Click | Click en Next step. | ||
| Line 406: | Line 415: | ||
[[File:End_of_setup.JPG|500px]] | [[File:End_of_setup.JPG|500px]] | ||
Click | Click en Go to Dolibarr (setup area). | ||
| Line 412: | Line 421: | ||
[[File:Insert_admin_credentials.JPG|500px]] | [[File:Insert_admin_credentials.JPG|500px]] | ||
Introducimos el username y password del administrador, definido anteriormente y Viola. Estamos dentro de DoliBarr. | |||
= | = Apéndice: MySQL conexión remota = | ||
Como paso final, veremos la conexión, desde un cliente local de Base de datos, hasta nuestro MySQL remoto. | |||
Para este ejemplo usare [http://sourceforge.net/projects/heidisql HeidiSQL], que sirve tanto para base de datos MySQL o PostgreSQL y es Gratuito. | |||
Abrimos HeidiSQL. | |||
Lo primero que debemos hacer es seleccionar MySQL (SSH tunnel) del desplegable Network type, al hacer esto, HeidiSQL añade un nuevo tab llamado SSH tunnel, como se muestra en la imagen de abajo. | |||
| Line 429: | Line 438: | ||
[[File:Ssh_tunnel_HeidiSQL.JPG|500px]] | [[File:Ssh_tunnel_HeidiSQL.JPG|500px]] | ||
Tenga en cuenta que, en el campo plink.exe location: de deberá especificar la ruta de PuTTY.exe, en el campo Password introducidos la passphrase y el campo Local Port debe estar siempre en 3307. | |||
Volvemos al tab Settings. | |||
| Line 437: | Line 446: | ||
[[File:Settings_heidisql.JPG|500px]] | [[File:Settings_heidisql.JPG|500px]] | ||
Obtenemos el hostname y el port, de MySQL, para conectar DoliBarr a la Base de datos. Arriba en la imagen 33. | |||
Llenamos los campos, con las credenciales de la base de datos, seleccionamos la base de datos y click en guardar y en Open para probar la conexión. | |||
Image 43<br /> | Image 43<br /> | ||
[[File:HeidiSQL_has_established_connection.JPG|500px]] | [[File:HeidiSQL_has_established_connection.JPG|500px]] | ||
== Adición == | |||
=== Conexión al Gear MySQL === | |||
Recordaréis cuando obtuvimos el hostname y el port, de MySQL, para conectar DoliBarr a la Base de datos. Arriba en la imagen 33. | |||
Image 44<br /> | |||
[[File:WinSCP_connect_MySQL_Gear.JPG|500px]] | |||
La primera parte del Host name: es también el User name: 5364c670e0b8cd09f500036d-sdme.rhcloud.com damos click en Advanced y verificamos, que todo este como en la imagen 18. | |||
Click en Save y click en Login. | |||
Con WinSCP abierto, vamos al menú Options --> preferences --> Integration --> Applications como se muestra en la imagen de abajo. | |||
En el campo PuTTY/terminal client path: seleccionamos la ruta, donde tenemos el putty.exe y marcamos los tres CheckBoxes. | |||
Image45<br /> | |||
[[File:Preferences_winscp_run_putty.JPG|500px]] | |||
Cada vez que iniciemos sesión con WinSCP también se iniciará sesión en PuTTY. Como vemos en la imagen de abajo. | |||
Image 46<br /> | |||
[[File:Initialize_session_winscp_with_putty.JPG|500px]] | |||
Tener PuTTY abierto y conectado a la misma sesión, nos permitirá ejecutar sentencias de línea de comandos, para parar o arrancar el Gear o el servidor MySQL. | |||
Nota.- También en la parte remota de WinSCP, podemos navegar hacia carpetas como /var/lib/openshift/5364c670e0b8cd09f500036d/mysql/data/startdolibarr donde esta físicamente nuestra base de datos o podemos ir a /var/lib/openshift/5364c670e0b8cd09f500036d/app-root/logs para ver los logs de MySQL. | |||
Si escribimos help, en la ventana de PuTTY, nos mostrará algunos comandos importantes. | |||
Entre los comandos más comunes están: | |||
ctl_app<br /> | |||
Controle su aplicación (MySQL) | |||
*ctl_app start | |||
*ctl_app stop | |||
*ctl_app restart | |||
*ctl_app status | |||
ctl_all<br /> | |||
Similar a ctl_app pero podemos controlar todo el Gear. | |||
*ctl_all start | |||
*ctl_all stop | |||
*ctl_all restart | |||
*ctl_all status | |||
Citados aquí www.openshift.com/developers/remote-access donde encontraremos más comandos útiles. | |||
Y con esto terminamos este tutorial. | |||
Latest revision as of 13:20, 23 July 2019
Esta página es un tutorial para explicar cómo instalar Dolibarr ERP-CRM en la plataforma Redhat OpenShift Flex www.openshift.com
haga clic dos veces sobre la imagen que desea agrandar
Un poco sobre OpenShift
OpenShift plataforma como servicio
OpenShift es Plataforma como Servicio (PaaS) de Red Hat, que permite a los desarrolladores crear rápidamente aplicaciones escalables host, en un entorno de nube. Con OpenShift tienes elección de ofertas, en línea, en la premisa, y las opciones de proyectos de código abierto.
OpenShift brinda ayuda para construir y desplegar aplicaciones web, backends móviles, arquitecturas orientadas a servicios, y recibe sus servicios favoritos.
Openshfit trabaja con Gears y Cartridges, que son términos, con los que tendremos que familiarizarnos.
Que es un Gear?
Un gear es un contenedor de recursos limitados que ejecuta una o más pilas de software especificados por el usuario, también conocidas como cartridges. Cada gear tiene una cantidad limitada de memoria RAM y espacio en disco.
Si una aplicación necesita más recursos, puede ser configurado para utilizar automáticamente más gears.
¿Cómo trabajan los Gears?
Echemos un vistazo a una aplicación de ejemplo basada en Drupal que se ejecuta en OpenShift. Podemos estimar las necesidades de la aplicación en las diferentes etapas.
- 15 páginas / segundo
- Cientos de artículos
- ~ 50k visitantes por mes
- 3 pequeños Gears
- Plan Libre
Como vemos, un plan libre, puede ser suficiente, para una Empresa pequeña o mediana. Para empresas más grandes, se puede cambiar al plan siguiente.
En OpenShift, tenemos dos posibilidades claras, para Dolibarr, desde la puesta en marcha, hasta la puesta en producción.
1.- Extender o crear nuestros propios módulos.
2.- Poner en producción nuestro DoliBarr.
Ventajas que nos ofrece OpenShift
Es un sitio seguro, al cual se accede a través de SSH.
Es escalable
Aplicación escalable, permite a la aplicación reaccionar a los cambios en el tráfico y automáticamente asignar los recursos necesarios para manejar su demanda actual. La infraestructura OpenShift monitorea el tráfico de Internet entrante y automáticamente trae copias de su cartucho de Web en línea para manejar las peticiones.
Nos da control total, sobre nuestra base de datos, para conectarnos remotamente a través de un cliente GUI como HeidySQL.
En caso de decantarnos por MySql, tenemos a disposición, el motor InnoDB, imprescindible para transacciones.
Nos da la posibilidad, de compartir Certificados SSL de RedHat o personalizar nuestro propio SSL, en caso de tenerlo. Imprescindible, para enviar nuestros datos, tanto de logín o de transferencias bancarias, encriptadas y seguras.
Dicho todo esto, comencemos, la puesta en marcha de nuestra aplicación DoliBarr.
Create an account
Click en SIGN UP
Rellenamos nuestros datos, para crear una cuenta. Click en Sign Up
Nos enviaran, un email, a nuestra cuenta de correo, para confirmar.
Cree una instancia
Parte 1 - Creando una instancia
Click en LOG IN nuevamente y nos mostrara el aspecto inicial de nuestra Consola de Aplicaciones.
Click en Create your first application now
Elija un Cartridge de programación web
1. Busque el tipo de aplicación
2. Configure la aplicación.
Es importante, definir bien el nombre de dominio, para este tutorial, hemos usado sdme. El dominio, no se puede cambiar más a menos que, borremos todas nuestras aplicaciones y empecemos nuevamente de cero y eso es algo que nadie quiere.
También, tendremos que informar, si tenemos un repositorio externo Git, con nuestro código.
Aquí viene lo divertido.
En scaling cambiaremos a Scale with web traffic.
La creación de esta aplicación, usara un Gear de los 3 que disponemos, lo indica justamente, al lado del botón Create Application.
Click en Create Application.
Cuando la aplicación es escalable, no se puede añadir más Cartridges, al Gear. Por ejemplo sí queremos usar MySql, deberá ir aparte, en otro Gear.
En la imagen, de arriba, vemos que a nuestro Gear, se ha añadido el balanceador de carga, que hará nuestra aplicación escalable.
Arriba en el extremo derecho, existe también un botón, por si necesitamos reiniciar el Gear.
Nota.- Con PuTTY, podríamos solventar necesidades más explicitas, para controlar nuestros Gears, con línea de comandos.
Click en el enlace Web load Balancer.
HAProxy en Acción.
Si vemos nuestra url startdolibarr-sdme.rhcloud.com este es el aspecto inicial, que tiene.
Parte 2 - Configuración de Herramientas de administración
Hasta aquí todo bien. Ahora, pasemos a la segunda parte, de nuestro tutorial.
Para esta parte, que será la referida a la administración de nuestra aplicación, existen dos caminos, el primero es por CLI (línea de comandos basado en Ruby) y el segundo, de forma más declarativa, por consola y con SSH.
Para este tutorial, he elegido la forma más fácil he intuitiva, que es la segunda opción.
Manos a la obra.
Necesitamos un cliente SSH/FTP como WinSCP y PuTTY.
Los Bajamos y los instalamos.
Dentro la carpeta donde se instaló WinSCP, encontraremos la carpeta PuTTY y dentro de esta carpeta, el programa puttygen.exe, este programa es importante, ya que, es el que nos ayudara a generar nuestro acceso SSH, para conectarnos a nuestro Gear.
Doble Click en puttygen.
Dejamos los valores por defecto, SSH-2 RSA y el número de bits en 2048.
Con estos valores ya tendremos una key, fuertemente encriptada.
Click en Generate
Para que genere de nuestra key, debemos mover el puntero del ratón, constantemente en el espacio en blanco del programa.
Una vez que ha finalizado la generación de nuestra key, tendremos que poner una passphrase.
Click en Save public key, para guardar nuestra key publica, le damos el nombre de rsa.pub, hacemos lo mismo con Save private key, y le damos el nombre de rsa.ppk.
Una key pública, es como la cerradura de una puerta y la key privada es como la llave que abre esa cerradura.
Marcamos el código generado en el área de texto y lo copiamos, luego nos vamos a nuestra consola de OpenShift.
Pegamos el código en Paste the contents of your public key file (.pub) y click en Save.
Perfecto ahora OpenShift, tiene nuestra cerradura, y nosotros la llave.
Ahora vamos al tab Applications en nuestra consola de OpenShift
Click sobre nuestra aplicación startdolibarr.
Click en Want to log in to your application?.
Copiamos el código ssh 53641a41e0b8cdf5ec000b76@startdolibarr-sdme.rhcloud.com
Abrimos nuestro WinSCP.
Ponemos la primera parte, 53641a41e0b8cdf5ec000b76 antes de la @ en el campo User name, y la segunda parte, startdolibarr-sdme.rhcloud.com después de la @ en el campo Host name.
Es aconsejable no colocar el password/passphrasse, en este punto, por motivos de seguridad. La usaremos más adelante.
Click en Advanced.
En Private key file: seleccionamos nuestra clave privada rsa.ppk, click en OK, click en guardar y click en Login.
Cuando nos salga esta agradable ventanita click en Yes.
Aquí colocamos nuestra passphrase y click en OK.
Viola tenemos acceso vía SSH a nuestro Gear.
En la parte izquierda esta nuestro espacio local y a la derecha el remoto.
Enviar archivos de Dolibarr
Bajamos la versión genérica de Doibarr.
En la parte remota seleccionamos la ruta /var/lib/openshift/53641a41e0b8cdf5ec000b76/app-root/runtime/repo
Transferimos la carpeta dolibarr, de nuestra máquina local a Openshift, presionando F5. Este proceso, puede tardar varios minutos, así que mientras esperamos, nos dedicaremos a crear nuestro Gear, para la base de datos.
Volvemos a la consola de OpenShift y con nuestra aplicación seleccionada, hacemos click en la parte inferior, del apartado Databases y seleccionamos Add MySQL 5.5
Click en add Cartridge.
Nota.- En una aplicación normal sin Scale activado, el Cartridge Mysql se añadiría al Gear actual, pero en nuestro caso, openShift nos informa que se ocupará un nuevo Gear para MySQL.
Copiamos los credenciales de acceso a MySQL. Los usaremos más adelante, para acceder a nuestra base de datos.
Una vez que ha terminado el upload de dolibarr, descrito en la imagen 23. Editamos el file index.php.
Lo abrimos en nuestro editor de texto favorito y reemplazamos con el siguiente código.
<?php
header("Location: dolibarr/htdocs");
?>
Hacemos una copia del index.php en la carpeta dolibarr y volvemos a editarlo y quitamos dolibarr/.
<?php
header("Location: htdocs");
?>
Lo que acabamos de hacer, sirve, para que no se muestre la estructura de nuestros folders y files de dolibarr en el navegador web, con el index.php obligamos a que se redirija al inicio de DoliBarr.
Por último y antes de empezar con la configuración de dolibarr, conviene usar SSL (protocolo criptográfico), que nos proporciona seguridad a la hora de enviar nuestros datos desde el Navegador web al servidor. El uso de SSL es para dar un plus extra a las medidas de seguridad propias de dolibarr, que ya son buenas.
Abrimos nuestro editor de textos una vez más y añadimos lo siguiente.
- RewriteEngine on
- RewriteCond %{HTTP:X-Forwarded-Proto} !https
- RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Guardar con el hombre de .htaccess justo al lado de nuestro folder dolibarr y del index.php
Como se muestra en la siguiente imagen.
Vemos como el certificado SSL es aceptado por el navegador.
Ejecutar el asistente de instalación Dolibarr
Comenzamos con la configuración de DoliBarr.
Seleccionamos del desplegable, Default language to use (language code): , el idioma correspondiente y click en Next step.
Click en start.
Revisamos la imagen 26, cuando creamos el Cartridge MySQL.
Y nos enfocamos en las líneas.
- Root User: adminCRERXju
- Root Password: tccRTZ8-xCnK
- Database Name: startdolibarr
- Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/
Para crear la conexión con la base de datos, OpenShift nos proporciona unas variables de entorno. Para que dolibarr pueda conectarse a la base de datos, necesitamos saber el valor, de estas variables, así que volvamos a WinSCP y en la carpeta .env/mysql encontraremos dichas variables, como se muestra en la imagen de arriba.
Click con el botón derecho sobre OPENSHIFT_MYSQL_DB_HOST, click en edit y nos mostrara el valor que tiene la variable, copiamos y pegamos en el campo Server como se muestra en la imagen de abajo. Hacemos lo mismo para la variable OPENSHIFT_MYSQL_DB_PORT y pegamos su valor en el campo Port.
Nota.- Para cuando sigan estos pasos, el host y el puerto, para su instalación particular, debería ser diferente, al mostrado en este ejemplo.
Nota2.- En este pasó, también podríamos crear una Base de datos diferente y un propietario diferente, ya que poseemos las credenciales de súper usuario de MySQL, pero este paso no lo tocaremos aquí hoy.
Click en Next Step y nos muestra la siguiente ventana.
Esta pantalla, básicamente nos informa que, la conexión a la base de datos se ha establecido y que se ha guardado esta información, en el file de configuración de dolibarr conf.php.
Click en Next Step y comenzará la creación de las tablas en la base de datos, necesarias para el trabajo de DoliBarr.
Esta pantalla informa que, ha terminado la creación de las tablas.
Click en Next step.
Llenamos los campos con el username y password, del que será el administrador, para este ejemplo he usado admin/admin. Para el caso real debería ser un password más fuerte.
Click en Next step.
Click en Go to Dolibarr (setup area).
Introducimos el username y password del administrador, definido anteriormente y Viola. Estamos dentro de DoliBarr.
Apéndice: MySQL conexión remota
Como paso final, veremos la conexión, desde un cliente local de Base de datos, hasta nuestro MySQL remoto.
Para este ejemplo usare HeidiSQL, que sirve tanto para base de datos MySQL o PostgreSQL y es Gratuito.
Abrimos HeidiSQL.
Lo primero que debemos hacer es seleccionar MySQL (SSH tunnel) del desplegable Network type, al hacer esto, HeidiSQL añade un nuevo tab llamado SSH tunnel, como se muestra en la imagen de abajo.
Tenga en cuenta que, en el campo plink.exe location: de deberá especificar la ruta de PuTTY.exe, en el campo Password introducidos la passphrase y el campo Local Port debe estar siempre en 3307.
Volvemos al tab Settings.
Obtenemos el hostname y el port, de MySQL, para conectar DoliBarr a la Base de datos. Arriba en la imagen 33. Llenamos los campos, con las credenciales de la base de datos, seleccionamos la base de datos y click en guardar y en Open para probar la conexión.
Adición
Conexión al Gear MySQL
Recordaréis cuando obtuvimos el hostname y el port, de MySQL, para conectar DoliBarr a la Base de datos. Arriba en la imagen 33.
La primera parte del Host name: es también el User name: 5364c670e0b8cd09f500036d-sdme.rhcloud.com damos click en Advanced y verificamos, que todo este como en la imagen 18.
Click en Save y click en Login.
Con WinSCP abierto, vamos al menú Options --> preferences --> Integration --> Applications como se muestra en la imagen de abajo.
En el campo PuTTY/terminal client path: seleccionamos la ruta, donde tenemos el putty.exe y marcamos los tres CheckBoxes.
Cada vez que iniciemos sesión con WinSCP también se iniciará sesión en PuTTY. Como vemos en la imagen de abajo.
Tener PuTTY abierto y conectado a la misma sesión, nos permitirá ejecutar sentencias de línea de comandos, para parar o arrancar el Gear o el servidor MySQL.
Nota.- También en la parte remota de WinSCP, podemos navegar hacia carpetas como /var/lib/openshift/5364c670e0b8cd09f500036d/mysql/data/startdolibarr donde esta físicamente nuestra base de datos o podemos ir a /var/lib/openshift/5364c670e0b8cd09f500036d/app-root/logs para ver los logs de MySQL.
Si escribimos help, en la ventana de PuTTY, nos mostrará algunos comandos importantes.
Entre los comandos más comunes están:
ctl_app
Controle su aplicación (MySQL)
- ctl_app start
- ctl_app stop
- ctl_app restart
- ctl_app status
ctl_all
Similar a ctl_app pero podemos controlar todo el Gear.
- ctl_all start
- ctl_all stop
- ctl_all restart
- ctl_all status
Citados aquí www.openshift.com/developers/remote-access donde encontraremos más comandos útiles.
Y con esto terminamos este tutorial.