Instalación desde cero
Requisitos minimos
En el lado servidor se requiere:
- Sistema operativo Linux con apache 2.4 y librerias php 7.0 o superior
- MariaDB 10.4 o superior
- unoconv (permite convertir entre formatos de libreoffice)
- Pdftk (utilidad que une ficheros PDF)
Para que los scripts de reconomiento de contenido de los ficheros adjuntos funcionen, se tiene que instalar varias librerías (ver capitulo: instalación módulo OCR)
En el lado cliente o puesto de trabajo
- Navegador Mozilla firefox o Google Chrome
Otros requisitos:
- Para el servidor de impresión se requiere windows 10 o superior
usuarios y contraseñas utilizados en este manual
usuarios y contraseñas | ||
---|---|---|
Usuario | Contraseña | Servicio |
root | toor | Usuario Linux root |
lnxuser | password | Usuario Linux lnxuser |
lnxprint | passprint | Usuario Linux y FTP para la cola de impresión |
root | toorsql | Usuario root MariaDB |
administrator | password | Usuario administrador para MariaDB |
administrator | password | Usuario por defecto en LNXGEST ERP |
P del servidor en este ejemplo: 192.168.1.110
Instalación del servidor
Instalación del sistema operativo
Para la instalación del servidor vamos a instalar Debian 10 desde cero y con todas las opciones necesarias para que LNXGEST ERP sea 100% operativo Instalación del sistema operativo
Iniciamos la instalación de debían 10, en nuestro caso hemos descargado debian-10.3.0-amd64-netinst.iso que descarga toda la instalación via internet
Ahora o bien montamos una maquina virtual o lo instalamos en un servidor físico )eso ya a elección de cada uno) y arrancamos desde la ISO:
Seleccionamos el idioma
En este paso comenzará a cargar los componentes
En este paso tenemos que indicar el nombre de la maquina, en nuestro ejemplo será lnxerp1 y a continuación pulsaremos en continuar
Escribimos el nombre del dominio o grupo de trabajo (preguntar a vuestro administrador) y pulsamos en continuar
Escribir la contraseña para el usuario root y pulsamos en continuar
Volvemos a escribir la contraseña para su verificación y pulsamos en continuar
Ahora crearemos un usuario con el que trabajaremos, puede ser cualquiera, en nuestro caso lo vamos a llamar lnxuser y pulsamos en el botón de continuar
Escribimos la contraseña para el usuario lnxuser y continuamos
Indicamos el uso horario
Aquí vamos a usar todo el disco para la instalación.
Seleccionamos el disco
Marcamos la opción de todos los archivos en una partición
Finalizamos con la siguiente configuración:
Aplicamos los cambios
Ahora comienza la instalación base
Elegimos en NO
eleccionamos la que mejor nos convenga, en nuestro caso marcamos España
Seleccionamos el servidor de replica:
Solo si utilizais proxy para la navegación a internet tendréis que configurar el proxy, sino, dejarlo vacio a continuación
Ahora comenzará a descargase los archivos necesarios de la web, esta operación puede tardar un poco
Si salta esta pregunta podeis hacer caso omiso y hacer clic en no
Como la instalación la estamos haciendo por línea de comandos y queremos saber que software vamos a instalar, vamos dejar las siguientes opciones tal y como se muestra en la siguiente imagen
Instala el software
Instalamos grub
Seleccionamos el disco /dev/sda
Con esto ya hemos terminado la instalación del sistema operativo
Una vez reiniciado ya nos aparecerá la ventana de usuario y contraseña
La instalación del sistema operativo esta lista.
Instalación del software web en el servidor linux
Una vez que ya hemos instalado el servidor deberemos de iniciar como superusuario root y con el password que le pusimos durante la instalación y escribiremos el siguiente comando
Ip addr
Con este comando veremos la IP que tiene nuestro servidor Linux
Aquí en el ejemplo vemos que tenemos la IP 192.168.1.110 con esta IP la usaremos para trabajar desde putty / WinSCP
Si nos conectamos por putty, por defecto no se permite al usuario root iniciar sesión en remoto, es por ello que usaremos el usuario creado lnxuser y desde ahí cambairemos a root con el siguiente comando:
su root
Una vez que estemos ya logeados con el usuario root procederemos a realizar la instalación del software del lado del servidor
A partir de este momento, cuando el texto este en color rojo, significa que lo estamos ejecutando como usuario root
apt update apt install apache2
Con esto instalamos el servidor web con apache Si todo ha ido bien podremos visualizar el sercicio de apache funcionando en http://192.168.1.110 como vemos en la siguiente imagen:
Una vez que tenemos el servicio de apache instalado y funcionando, procederemos a instalar php7
En este tutorial vamos a instalar la versión 7.4 de PHP, para ello primero hemos de añadir un repositorio
Descargamos y almacenamos el repositorio PPA en un archivo en el servidor Debian. Pero primero, descarguamos la clave GPG.
apt -y install lsb-release apt-transport-https ca-certificates wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Ahora añadimos el repositorio
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
Refrescamos los repositorios
apt update
Procedemos a la instalación de php 7.4
apt -y install php7.4
Ahora comienza la descarga de las librerías de php7.4
Ahora vamos a instalar los siguiente paquetes adicionales que hacen falta de php
apt-get install php7.4-mysqli apt-get install php7.4-{bcmath,bz2,intl,gd,mbstring,mysql,zip,xmlrpc} apt-get install php7.4-xml
Reiniciamos el servicio de apache
systemctl restart apache2
Ahora, para saber si esta funcionando correctamente php, tendremos que crear un fichero php en /var/www/html
Como root, tendremos que cambiar los permisos del directorio para poder escribir en el directorio de apache, para ello:
cd /var/www/ chmod 777 html
Ahora ya tenemos permiso de escritura en el directorio de web
En nuestro caso lo vamos a llamar test.php con el siguiente contenido:
<?php phpinfo(); ?>
Ahora, si accedemos al navegador http://192.168.1.110/test.php veremos lo siguiente:
Ahora ya tenemos el servidor web con las librerías php ya instaladas
Extra: Ampliar límite de subida de archivos al servidor web
Ampliar límite |
Editamos con nano el fichero de php.ini
nano /etc/php/7.4/apache2/php.ini y buscamos que por defecto esta coinfigurado a 2 Mb de subida y aqui lo cambiamos a 10Mb, más que suficiente. nano /etc/php/7.4/apache2/php.ini Reiniciamos el servicio de apache systemctl restart apache2 |
Instalación de MariaDB
Nuestro siguiente paso es instalar el servidor de base de datos MariaDB y un software de gestión como phpmyadmin.
Primero vamos a instalar el servidor de base de datos
apt install mariadb-server mariadb-client
Una vez finalazada la instalación ejecutaremos el script para configurar MariaDB
mysql_secure_installation
Bien, ahora ya hemos asignado el password a root (de MariaDB) la contraseña os recomiendo poner la misma que le pusisteis al usuario root de Linux para que os sea más fácil de recordar.
Ahora vamos a crear un usuario en MariaDB para que funcione con el phpmyadmin, ya que el usuario root no tiene permitido el acceso. Nos conectamos a MariaDB con el siguiente comando
mysql –u root –p
introducimos el password de root y ahora ya estaremos en la consola de MariaDB
Ejecutaremos los siguientes comandos, para crear un usuario administrador con acceso local que será el que usaremos para el phpmyadmin
CREATE USER 'administrator'@'localhost' IDENTIFIED BY 'password';
Donde **** es la contraseña que nosotros queramos poner al usuario administrator que vamos a crear
GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
Con este script hemos indicado que el usuario solo tiene permiso desde acceso local
Si lo hemos hecho bien, ahora desde el phpmyadmin podremos acceder y gestionar MariaDB
Ahora vamos a proceder a instalar una herramienta web para poder acceder a MariaDB ya que tendremos que crear la base de datos e importar el archivo .sql que tenemos en sourceforge. Accedemos a https://www.phpmyadmin.net/ y nos descargamos la última versión disponible de phpmyadmin
Usaremos Winscp para copiar el phpmyadmin ya descomprimido al directorio web /var/www/html/ tal y como vemos en la imagen:
Ahora cuando finalice accederemos al phpmyadmin:
http://192.168.1.110/phpmyadmin/
Ahora vamos a crear una base de datos nueva llamada lnxgesterp y codificación utf8_general_ci y pulsaremos en el botón de crear.
Ahora importamos el archivo SQL ("1 estructura.sql" y "2 datos.sql") (pestaña importar). El primer fichero genera la estructura de tablas y el segundo añade los datos básicos que requiere el programa.
Y al final de la pagina encontraremos el botón “continuar” con esto se procede a crear la base de datos limpia con el usuario “administrator” y contraseña “password” que es el usuario genérico creado en la aplicación LNXGEST ERP.
Si todo ha ido bien nos encontraremos con este mensaje: "Importación ejecutada exitosamente"
Bien, ahora ya tenemos instalado el servidor web, las librerías php y el motor de base de datos MariaDB funcionando
Instalación de software adicional
Configuraremos varios puntos:
- Los directorios de la aplicación
- Instalación unoconv y pdftk
- Configurar algunos scripts
Los directorios de la aplicación
El programa requiere varios directorios para ello vamos a crear un directorio raíz llamado /lnxgest
cd / mkdir lnxgest chmod 777 lnxgest
Con esto hemos creado el directorio principal y ahora tendremos que crear la siguiente estructura:
Estructura directorios | |
---|---|
/lnxgest/files/ | En este directorio es donde se van a guardar todos los archivos que se suban desde la aplicación |
/lnxgest/scripts/ | Aquí es donde se guardan los scripts que requieren algunos módulos para funcionar y que son ejecutados desde el lado del servidor para funcionar |
/lnxgest/filestemp/ | En este directorio se generan los archivos temporales de los usuarios, existe un script que se tiene que configurar en crontab como root para que pueda: eliminar los directorios, limpiarlos y volver a generar una estructura para los usuarios. |
/lnxgest/spool/ | Aquí se generar los archivos para imprimir, este directorio tiene que poderse acceder via FTP para que el cliente de impresión pueda recoger los archivos y enviarlos a imprimir. |
/lnxgest/recovery/ | Este directorio se utiliza para almacenar los archivos generados en el “recovery mode” |