Instalar GLPI en hosting de Internet importandolo desde Linux
Instalando GLPI en un hosting
Recientemente un colega de profesión me pidió ayuda con la instalación de GLPI en un servicio hosting y yo no había nunca intentado hacerlo, y por supuesto no tenía la respuesta a su problema. La cuestión me hizo plantearme la pregunta de si algún pudiera tener esa necesidad y me puse a tratar de instalar GLPI en un hosting.
Me puse a ello, y la solución es importarlo luego de haberlo instalado localmente en un equipo, ya sea este bajo windows o Linux, Ubuntu en mi caso.
Se que muchos que se inician en esto de la informatica, algunos que ya saben algo y otros que simplemente buscan una referencia, recurren a san google para encontrar respuesta y es por ello que tu estés leyendo esto.
Como el fin del blog es servir de apoyo a todo sin tomar en cuenta su nivel, los tutoriales que suelo hacer detallna cosas que muchos ya saben y es obvio para ellos, pero otros muchos otro con todo se quedan aún con dudas y preguntas, pero serái demasiado largo hacer un tutorial detallo de que hacer, para llegar a solucionarlo.
Por lo tanto, no voy a a indicar como registrarse en Hostinger y obtener un dominio gratis, ni como utilizar su panel administrativo, tampoco como instalar el cliente FTP de Filezilla. Así mismo de lo de instalar Apache, MySQL, PHP y phpMyAdmin, solo indico un enlace al cual pueden acceder para hacerlo. Lo haré próximamente en otro tutorial aparte.
Aquí solo me voy a referir al proceso por pasos de como instalar/importar en el hosting GLPI, previamente instalando el GLPI en un servidor web localmente instalado y luego exportarlo al servicio web del hosting.
Primero que todo debemos tener un equipo con la instalación del servicio web funcionando, el mysql instalado y el PHP instalado. Adicionalmente es muy recomendable tener instalado el phpmyadmin, que nos ayudara mucho en el proceso.
Este equipo muchos de Uds. no lo tendrán a mano por lo que les sugiero que creens un equipo virtual con virtualbox o vmware. Virtualbox es gratuito y sirve perfectamente a lo que buscamos. Sirve tanto para Windows como Linux. Ya subiré otro tutorial de como instalar virtualbox y crear luego un equipo virtual en tu equipo.
Aquí dejo un enlace para instalar el LAMP Apache MySQL y PHP, adicionalmente se muestra como instalar el phpmyadmin en Ubuntu :
Instalar Apache, MySQL, PHP y phpmyadmin en Linux basados en Debian
Si te gusta mas usar Windows también puedes hacer una instalación para servidor web utilizando XAMPP, el cual se suele instalar como cualquier programa en Windows. En este caso no tienes que crear ningún nuevo equipo y lo puedes hacer directamente en tu equipo de uso diario, si deseas.
Aquí dejo otro enlace para instalar XAMPP en Windows, el cual instala todo lo necesario incluyendo el phpmyadmin:
Como instalar XAMPP en Windows
Para instalar GLPI en Windows, se puede seguir este tutorial sustituyendo principalmente, las pantallas con que el GLPI interactúa con el sistema operativo, ya que la instalación del GLPI no tiene ningún paso especial a excepción de la descarga del programa de instalación en si mismo.
Ahora entramos en materia:
Para seguir este proceso es totalmente necesario tener el servidor localmente funcionando y operativo, ya que que el instalador GLPI solo funciona en servidores donde el técnico tenga dominio a nivel de supervisión del mismo, para poder otorgar permisos que normalmente en los hosting no los tienen.
Lo primero que tenemos que tener es el paquete de instalación del glpi. El mismo es un archivo comprimido que debemos descargar para luego descomprimir en nuestro sitio web del servidor local.
Escribe lo siguiente para acceder al sitio oficial de glpi, en tu explorador, sea Chrome, Mozilla, etc..
Y luego pulsamos en icono de la izquierda titulado DOWNLOAD
glp1
Se nos abre la siguiente ventana, indicando la ultima verison estable de GLPI
glpi0
La ultima versión es la GLPI 0.90.1, de fecha de 30-11- 2.015, hacemos click sobre esa y se nos iniciará una rutina de descarga donde nos muestra el archivo a descargar y donde se realizará o lo descargara directamente a la carpeta o directorio de descargas.
glpi2
El archivo de descarga tiene esta plantilla o mascara glpi-X.XX.X.tar.gz, que sustituida por la versión que estoy descargando es glpi-0.90.1.tar.gz
Ahora simplemente tenemos que descomprimir este archivo comprimido dentro de la carpeta o directorio que sirve de ubicación raíz de nuestro servidor web.
En el caso del apache2 que tengo instalado en mi pc virtual es en el subdirectorio var/www/html/, esto se configura normalmente en el Apache pero no es objeto de este tutorial.
OJO: Este subdirectorio puede ser distinto en diferentes distro de Linux y versión de Apache
Quiero aclarar además, que yo instale la versión de ubuntu desktop (escritorio) para poder tener acceso a los programas gráficos que el server no proporciona.
Esto hace que pueda utilizar el nautilus para ejecutar la siguiente parte:
Abrimos una consola del sistema mediante Ctrl+Alt+t, y escribimos:
sudo nautilus
nos pedirá nuestra contraseña y la escribimos para abrirlo
Esto nos abre el administrador de directorios y ubicamos el archivo del glpi en descargas o donde los hubiéramos descargado y los copiaremos dentro del directorio del servidor donde se guardan los archivos de la pagina web que se nos mostrará al acceder con el browser desde internet o desde el localhost.
Una vez hecho la copia procedemos a poner el puntero del ratón sobre el archivo comprimido glpi-X.XX.X1 y pulsamos el botón derecho del ratón, que abrirá una subventana de menú contextual y pulsaremos sobre la opción Extraer aquí como se indica en la siguiente pantalla:
Esto descomprimirá el archivo y creará un directorio o carpeta llamado glpi como vemos a continuación:
Ahora antes de seguir adelante iremos a crear la base de datos y el usuario que usaremos en realidad en el hosting remoto. Por lo tanto accedemos a nuestro proveedor hosting en este caso hostinger. Vamos a ello.
Entramos con nuestro usuario a Hostinger y nos vamos a la opción de HOSTING que nos abre un submenú donde pulsamos sobre todas las cuentas.
Nos abre una ventana con todos los dominios que tengamos hospedados y pulsamos sobre aquel en el cual vamos a importar luego GLPI y nos abrirá un submenú de iconos y el ultimo a la derecha indica Base de Datos MySQL, sobre el cual pulsaremos.
Aparecerá esta pantalla mostrándonos un formulario para la creación de base datos y el usuario que será el supervisor de la misma, o sea, que tendrá todos los privilegios sobre ella.
El número indica es asignado por el proveedor de hosting, por lo cual será el mismo para todas la base de datos que creemos, las cuales tendrán el prefijo de este numero y el nombre que les asignemos. En nuestro caso será una sola base de datos por lo que podemos escoger cualquier, por ejemplo glpi, y como usuario utilizaremos root. Pondremos una clave que debemos anotar e identificar que el para el glpi y pulsamos en Crear
Una vez creado nos aparece en la lista la nueva base de datos recién introducida.
Con esto hemos terminado de crear la base de datos que recibirá la posterior importación. Ahora procedemos a crear la base de datos y le usuario en nuestro servidor local de glpi que estamos instalando.
Podemos hacerlo de dos formas gráficamente con phpmyadmin y directo en la consola de MySQL.
Opción vía Consola MySQL.-
Abrimos un terminal en Linux mediante Ctrl +Alt +t, y escribimos:
mysql -u root -p
Lo cual nos pedirá la clave que utilizamos al instalar mysql, es importante recordar esto. Está clave es la de la instalación del mysql con lamp o con xampp(windows) no la que usamos para el usuario de la base de datos. Nos aparece la siguiente pantalla o algo similar:
Ahora nos aseguramos de que la la Base de Datos no ha sido creada previamente mediante el comando:
show databases;
No olvides terminar el comando con ; sino saltará una linea y no lo ejecutará. Si te pasa simplemente escribe ; y pulsa Enter para completar el comando. Vemos la siguiente imagen y comprobamos que la base de datos que pretendemos crear no existe.
A continuación utilizaremos los mismos nombres tanto para la base de datos como para el usuario que utilizamos para acceder a la base de datos en el hosting, si no lo hemos anotado iremos al proveedor del hosting (hostinger para mi caso) y los copiamos para tenerlos a mano.
Procedemos con el siguiente comando, para crear la base de datos.
mysql>create database u468980323_glpi;
Ahora procedemos con este comando para crear el usuario que se utilizará para acceder a la base de datos, para eso escribimos las siguientes dos lineas de comando.
mysql>grant all privileges on u468980323_glpi.* to u468980323_root@localhost
->identified by 'contraseña que usamos en hostinger';
Procedemos a verificar que todo ha salido bien, saliendo del mysql con Ctrl +c, y volveremos a entrar con el siguiente comando:
mysql -u u468980323_root -p
Escribimos la contraseña y si obtienes un resultado como el siguiente todo ha salido bien.
Ahora veremos que nuestro usuario solo puede acceder a solo dos base de datos, una de ellas es del mismo mysql y se recomienda que no se toque para nada y la otra será la que acabamos de crear.
Escribimos el siguiente comando:
mysql> show databases;
glpi17
Como podemos ver ahí tenemos nuestra base de datos ya creada y lista para la instalación del glpi, localmente.
Opción vía phpmyadmin.-
Con ésta opción realizaremos la misma tarea pero gráficamente, lo que para algunos resulta más cómodo sino no están instalando el glpi en una versión de Linux Ubuntu para servidor. Sin embargo, aquí puede ser más complicado para no expertos, a la hora de asignar privilegios a los usuarios ya que a la hora de crearlos hay que hacer un paso adicional, a la hora de decir en que base de datos los tendrá
Abrimos nuestro explorador Mozilla, Chrome o el que sea y escribimos en la barra de dirección:
http://localhost/phpmyadmin
Recuerda que estamos en el servidor local y vamos a crear la base de datos nueva, por lo tanto el usuario será root y la contraseña la que se indicó cuando el mysql fue instalado. Señalo mucho esto porque muchos olvidan este detalle o lo confunden y se les convierte en un gran problema la instalación. Al acceder nos aparece la siguiente pantalla o similar.
Ahora fijémonos en que ya existe la base de datos glpi que queremos crear. Lo que sucede es que yo expresamente la he dejado, para que se viera claramente que está opción del phpmyadmin es una alternativa y por lo tanto voy a proceder a crear otra base de datos distinta para enseñar como hacerlo.
Para ello vamos a suponer que tenemos otro hosting a donde vamos a subir otro glpi distinto y que tenemos para ese hosting la base de datos llamada u555777_glpi, y el usuario sería u555777_root
Vamos a crearlos y para eso escogemos la opción Base de Datos.
Aquí en esta pantalla escribimos el nombre de la base de datos y pulsamos en Crear
Una vez creada pulsamos sobre la opción usuarios.
Pulsamos sobre agregar usuario
Rellenamos los campos de nombre del usuario, ponemos la contraseña que se uso en el hosting. Aquí normalmente se debería pulsar continuar para solo crear el usuario sin ningún privilegio y luego asignar en que base de datos los tendrá. Pero en este caso como el sistema va ser exportado luego a un hosting, ya en el hosting el usuario esta limitado a esa base de datos con lo cual no tiene sentido, restringirlo localmente a menos tengamos otra bases de datos y estemos usando en producción el equipo donde estamos instalando el sistema. Vayamos entonces al recuadro de Privilegios globales marcamos todo los recuadros y dejamos en 0 (cero) los Límites de recursos y pulsamos en continuar. Una vez mas quiero recalcar que esto es solo por que no vamos a utilizar el sitio localmente solo lo hacemos para poder instalar el sistema glpi en un hosting en internet.
Y aquí podemos ver ya el usuario creado
Con esto tenemos terminado la creación de la Base de Datos y el usuario en el mysql local. Puedes probar entrar con el usuario recién creado y comprobar que en este caso puede acceder a toda las base de datos, ya que es un usuario supervisor en este caso.
Al final del tutorial tratare de dejarles como asignar privilegios a una base de datos específicamente.
Ya es hora de retomar el trabajo donde los dejamos que era en el subdirectorio donde se encuentra el glpi en el servidor.
Para eso accedemos a la terminal de Ubuntu mediante Ctrl + Alt + t, y vamos a escribir los siguientes comandos:
cd /var/www/html
glpi26
Con el comando anterior lo que hacemos es irnos dentro del subdirectorio donde el servidor apacheguarda las paginas y subdirectorios a los cuales dará el servicio http, para poder verlas como paginas web localmente.
Si ahora escribimos el comando ls, y Ubuntu nos dirá el contenido del subdiretorio así:
Como puedes ver tenemos tres colores que nos definen el contenido, el blanco son archivos normales, en este caso de contenido de pagina web, el rojo es un archivo comprimido y el azul indica que esun subdirectorio.
Ahora escribiremos en el terminal:
sudo chown -R www-data glpi
Este comando lo que hace es convertir al servidor apache en propietario del subdirectorio glpi y todo su contenido, lo que permitirá que el mismo copie archivos y cree subdirectorios cuando el programa de instalación del glpi lo requiera sin problemas de permiso de escritura y acceso.
Con esto estamos totalmente preparados para instalar glpi localmente.
Que pasa si no hacemos esto?
Mostraré el ejemplo de la cantidad de errores que da el programa de instalación si no se hace esto ultimo. Descomprimí los archivos de glpi pero en otro directorio y lo llame glpo y observa lo que sucede:
glpi29
Estos errores se deben a los permisos. El comando sudo chown -R www-data glpi elimina todos estos problemas de acceso y creación.
Ahora instalemos por fin el glpi:
Escribimos en el browser o explorador:
http://localhost/glpi
Lo anterior iniciará automáticamente la instalación del glpi.
Aquí seleccionas el idioma de tu preferencia y pulsas ok
Lo anterior es rutina, aceptas los términos de la licencia y pulsas continuar.
Aquí seleccionas Instalar por supuesto.
Ahora llegamos a donde no daba los errores de creación de archivo ya que desde aquí es que realmente empieza el glpi a instalarse.
Como podemos constatar ahora nos aparece un warning o advertencia diciéndonos, que el acceso no debería estar permitido, pero que no significa un error, es una notificación de seguridad que luego debemos tratar según sea el caso. En una red local esto no tiene mayor relevancia según el tamaño de la misma.
Pulsamos en continuar
Escribimos como vemos en la imagen localhost en el servidor MySQL, en el usuario pondremos el nombre del usuario que en el ejemplo es u468980323_root y colocamos la contraseña que tenemos anotada. Pulsamos continuar.
Aquí seleccionamos la base de datos que ya tenemos creada y que vemos en la imagen y pulsamos continuar. El pc tardara unos momentos en instalar y configurar todo y mostrará la siguiente pantalla.
Si todo ha ido bien se mostrará el mensaje de Correcto y pulsamos continuar.
Finalmente el programa de instalación del glpi nos da los usuarios que están greados por defecto y lo que deberíamos hacer a continuación, ya que el glpi está operativo desde ese momento.
Pulsamos utilizar, para dar un vistazo y que todo arranque bien.
Aquí tenemos una vista del programa funcionando accediendo con el usuario tech.
Ahora procedemos a exportar la pagina web del glpi del servidor local al hosting de internet. Para ello accedemos a nuestro proveedor hosting (Hostinger en mi caso), y buscaremos los datos para utilizar la utilidad ftp de descarga de archivos, y vamos a subir el contenido del subdirectorio glpi de nuestro servidor local al subdirectorio publico del proveedor de hosting en internet.
Entramos en Hostinger, vamos a nuestro dominio y pulsaremos el icono administrar como se ve a continuación:
Bajamos hasta conseguir la sección Archivos y alli pulsamos sobre la opción que dice Acceso FTP.
Una vez entremos a los datos del FTP tenemos algo similar a esto
Con estos datos podemos usar el cliente FTP que deseemos pero el sitio recomienda usar SamrtFTP o FileZilla. Yo voy a utilizar FileZilla. Accedemos al FileZilla.
Una vez tengamos el FileZilla solo tenemos que rellenar los campos correspondientes con los datos de Acceso FTP. Observa que previamente ya ubique el subdirectorio del cual quiero subir su contenido a internet. Pulsamos sobre el botón Conexión rápida pata iniciar la conexión.
Puedes ver que he marcado todos los directorios y archivos que están dentro del subdirectorio glpi y que ahora aparece del lado derecho la carpeta de destino de los archivos, que es la carpeta donde debemos bajar los archivos y directorios. Para ello podemos pulsar y mantener el botón izquierdo sobre los elementos marcados y moverlos dentro del recuadro justo a la derecha, o poner el raton sobre los archivos marcados pulsar el botón derecho del ratón y pulsar Subir en las opciones que nos muestra el Menu contextual. Observa que existe un archivo llamado .htaccess y puede que exista otro. Lo normal hubiera sido haberlos borrado pero lo deje para que cuando el archivo del mismo nombre se quiera borrar nos indique que queremos hacer. Observa la siguiente imagen:
Ahora saltará una advertencia de archivo ya existente en el directorio de destino. La acción en este caso es sobre-escribir y pulsar aceptar.
Ahora aparece otra advertencia de la cual no tengo una explicación del porque sucede, pero si nose se copia este archivo, no sucede nada luego. Es decir el glpi arrancará normalmente y funcionará perfectamente.
Solo muestro la imagen para que estén advertidos de que pasa. Hay formas de copiarlo igualmente pero eso va más allá del fin mismo y alargará mucho mas el tutorial que ya de por si mismo es bastante largo.
Ahora solo resta esperar a que se terminen de copiar todos los archivos.
Mientras se realiza la copia que tardará su buen tiempo dependiendo de la velocidad de subida de tu conexión a internet, iremos respaldando la base de datos del mysql de nuestro servidor apache local y luego lo importaremos al mysql del sitio hosting.
Volvamos a nuestro servidor local entonces y en el explorador escribimos http://localhost/phpmyadminpara acceder al mysql y su contenido. Usaremos el usuario root para tener dominio total sobre la base de datos.
Una vez dentro del phpmyadmin escogemos del lado izquierdo la base de datos que queremos exportar pulsando sobre ella y luego en el menú vamos pulsamos en la opción Exportar.
Se nos abre la siguiente ventana donde nos indica la base de datos a exportar, dejamos marcado el método de exportación en Rápido y dejamos el Formato en SQL. Pulsamos continuar:
Nos aparece la ventana para indicar en que lugar y que nombre utilizar para guardar el archivo que estamos respaldando. Pulsamos en guardar o Save según sea el caso para guardar el archivo.
Ya tenemos nuestra base de datos y su estructura respaldada. Ahora procederemos a importarla desde el hosting (hostinger).
Accedemos nuestro proveedor de hospedaje web y en el dominio vamos al panel de administración del sitio y vamos luego a la sección de la base de datos. Ahí tenemos las opciones administrativas que nos facilita el sitio y en este caso escogeremos Importar Base de Datos y pulsamos sobre la opción:
Se nos abrirá la siguiente pantalla o similar.
Escogemos la base de datos al cual vamos a importar la instalación que realizamos en el servidor local de nuestro equipo y pulsamos continuar.
En este punto pulsamos en la opción Cargar Base de Datos, para buscar el archivo que hemos guardado en nuestro equipo, lo cual nos abre la siguiente ventana, donde ubicaremos donde guardamos el archivo y lo escogemos.
Una vez pulsemos para copiar comenzara la subida del respaldo y finalmente nos indicara que fue realizado con éxito, como se ve en la siguiente imagen.
Ahora solo resta ver y esperar que los archivos que estaban subiendo por el ftp terminen de ser subidos, si no ha terminado aún. Como podrás comprobar esta importación es sumamente rápido porque solo estamos subiendo la estructura de la base de datos dado que no hemos ingresado datos. Si hubiéramos incluido data en la base de datos la misma igualmente hubiera sido respaldada, pero el tiempo empleado ya estaría en función del tamaño de la Base de Datos con datos incluidos.
Vamos ahora a ver si todo ha ido ok. Para ello abrimos el explorador que sea y escribimos la dirección http del dominio que tenemos contratado con el hosting que hubiéramos empleado. (hostinger en el ejemplo usado en el tutorial).
Como podemos ver entramos a nuestro GLPI instalado en otro ambiente y luego importado a nuestro proveedor de hospedaje web.
Como podemos ver todo esta operativo, pero se debe tener en cuenta que la contraseña del MySQL está guardada en los programas de configuración del GLPI, razón por la cual tenemos que colocar la misma tanto en el servidor mysql local como en el mysql del hosting. Si cambiamos la contraseña del mysql en el hosting dará error de conexión a la base de datos.