Skip to content

Latest commit

 

History

History
364 lines (251 loc) · 12.1 KB

how-to-install-proethos2-in-ubuntu-es.md

File metadata and controls

364 lines (251 loc) · 12.1 KB

English


Cómo instalar Proethos2 en Ubuntu 20.04 LTS

Este documento le ayudará a instalar la plataforma Proethos2 en una instalación estándar de Ubuntu Server 20.04.

Recuerda algunos consejos:

  • Recomendamos ENCARECIDAMENTE que utilice Proethos2 en un servidor GNU Linux, distribución Debian como Ubuntu;
  • Este manual es una guía paso a paso sobre la instalación de Proethos2 en una versión Ubuntu Server 20.04.4 LTS;
  • Se recomienda tener una cuenta sudo'er para realizar la mayoría de las tareas.

Dependencias

Dependencias que cada instalación en Ubuntu deben tener:

$ sudo apt-get install -y openssh-server make unzip ghostscript

Configurar Git

$ git config --global user.name "Your github name"
$ git config --global user.email yourgithub@email.com

Instalar Apache2

$ sudo apt update
$ sudo apt install -y apache2 

Instalar MySQL

El siguiente bloque de comandos es para instalar el servidor MySQL y configurarlo.

$ sudo apt update
$ sudo apt install -y mysql-server libapache2-mod-auth-mysql
$ sudo mysql_secure_installation
$ sudo mysql_install_db

Ahora, tenemos que crear un usuario y una base de datos a la que tendrá acceso ProEthos2. Escriba sudo mysql y luego escriba los siguientes códigos:

CREATE USER 'proethos2'@'localhost' IDENTIFIED BY 'choose_a_password!';
CREATE DATABASE proethos2;
GRANT ALL PRIVILEGES ON proethos2.* to proethos2@localhost;
exit

PHP

$ sudo apt update
$ sudo apt install -y libapache2-mod-php php-mysql php-gd phpunit php-curl

Composer

$ cd ~ && curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
$ HASH=`curl -sS https://composer.github.io/installer.sig`
$ php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

wkhtmltopdf

Esta biblioteca se utiliza para generar los archivos PDF.

$ cd ~ && wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
$ sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb

NOTA: Para las últimas versiones de Ubuntu, acceda aquí para descargar el paquete correcto para su instalación.

Crear la estructura de archivos e instalar ProEthos2

Tenemos que crear la estructura de archivos y descargar el código:

$ mkdir -p proethos2
$ cd proethos2
$ git clone https://github.com/bireme/proethos2.git proethos2

Ahora, tenemos que instalar todas las dependencias del software y también el software (puede llevar algunos minutos, si lleva mucho tiempo, asegúrese de haber instalado los paquetes php-curl y unzip).

Antes de instalar las dependencias usando Composer, genere private_key e index_key para el cifrado. Después de generar una copia de las claves, las pasará cuando se le solicite en el proceso de instalación:

$ php -r 'echo base64_encode(random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES)) . PHP_EOL; ?>' # private_key
$ php -r 'echo base64_encode(random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES)) . PHP_EOL; ?>' # index_key

Instalar las dependencias de ProEthos2:

$ cd proethos2/symphony
$ composer install

En medio del proceso, usted será cuestionado por las siguientes preguntas:

  • database_driver (pdo_mysql): Usamos MySQL, así que presiona enter.
  • database_host (127.0.0.1): Usamos una instalación local de MySQL (en este caso), así que presione enter.
  • database_port (null): Usamos un puerto estándar, así que presione enter.
  • database_name (symfony): Completa con el nombre de la base de datos que creamos. En este caso proethos2.
  • database_user (root): Rellenar con el usuario que hemos creado. En este caso proethos2.
  • database_password (null): Rellenar con la contraseña de la base de datos que creamos. En este caso choose_a_password!.
  • mailer_transport (smtp): Configuraremos estas opciones más adelante, así que presione enter para las opciones de SMTP.
  • locale (en): Elija su idioma estándar. Usaremos en_US
  • auth_type (default): Elija el tipo de autenticación (default o oauth2).
  • secret (ThisTokenIsNotSoSecretChangeIt): Elija un token secreto para su aplicación.
  • private_key (null): Complete con la clave privada para el cifrado de la base de datos (haga clic aquí para generar la clave privada).
  • index_key (null): Rellene con la clave de índice para el cifrado de la base de datos (haga clic aquí para generar la clave de índice).

NOTAS:

  • Si el error proc_open(): fork failed errors ocurre durante la instalación, acceda aquí para solucionarlo.
  • Si el error Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? ocurre durante la instalación, ejecute los siguientes comandos:
$ cd ../tools
$ chmod a+x fix-doctrine-orm.sh && ./fix-doctrine-orm.sh
$ cd ../symphony
$ composer install

Ahora, vamos a configurar la base de datos y cargar los datos iniciales:

$ cd proethos2/symphony
$ make load_initial

NOTA: Ver todos los Make commands, que sin duda te ayudarán.

Recuerde que los directorios siguientes deben tener permisos de escritura de Apache:

sudo chgrp www-data -R app/logs
sudo chgrp www-data -R app/cache
sudo chgrp www-data -R app/sessions
sudo chgrp www-data -R uploads
chmod -R 0775 app/logs
chmod -R 0775 app/cache
chmod -R 0775 app/sessions
chmod -R 0775 uploads

Y ahora ejecute todas las pruebas para ver si todo está bien (facultativo):

$ make test

Si desea probar la instalación, ejecute este comando (facultativo):

$ make runserver

Y ahora acceda a la dirección http://SU_SERVIDOR_IP:8000/. Si ve la página de inicio de sesión, significa que lo hizo todo bien.

Si phpunit no lo está o google.analytics no está configurado correctamente, es posible que obtenga una página de error. En este caso, vaya a la página siguiente e intente ejecutar la aplicación desde el servidor Apache.

Configuración de Apache2 para servir a ProEthos2

Ahora, configuraremos Apache2 para servir ProEthos2 en el puerto 80.

Necesitamos crear y colocar las líneas de configuración de Apache en /etc/apache2/sites-disponible/proethos2.conf.

Usando nano o su editor de texto favorito, cree un archivo:

sudo nano /etc/apache2/sites-available/proethos2.conf

Luego copia el siguiente texto. Asegúrese de que la ruta del archivo /home/<username>/proethos2/symphony/web esté configurada correctamente.

<VirtualHost *:80>
    ServerName www.youraddress.com

    ServerAdmin adminemail@localhost
    DocumentRoot /home/<username>/proethos2/symphony/web

    DirectoryIndex index.php index.html index.htm

    <Directory /home/<serveruser>/project/proethos2/git/symphony/web/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ahora, tenemos que deshabilitar la configuración estándar que viene con Apache2 y agregar nuestra configuración:


$ sudo a2dissite 000-default
$ sudo a2ensite proethos2
$ sudo service apache2 restart

Ahora, tenemos que dar los permisos correctos a toda la estructura:

$ cd ~/proethos2/symphony
$ rm -rf app/cache/*
$ rm -rf app/logs/*

Ahora, intente acceder a su instalación viendo su servidor desde un navegador web. Si obtiene una pantalla de inicio de sesión, use el siguiente comando para crear un usuario con privilegios de administrador:

php app/console proethos2:createsuperuser --email=EMAIL --username=USERNAME --password=PASSWORD

Configuración de software

SMTP y correos electrónicos

Vaya a app/config/parameters.yml y agregue/cambie estos parámetros, según su servicio de correo electrónico:

SMTP

mailer_transport: smtp
mailer_host: 127.0.0.1 # Host SMTP
mailer_user: null      # Usuario del host SMTP
mailer_password: null  # Contrasenã del host SMTP

PHP mail() Funtion

mailer_transport: mail
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null

NOTA: Para que esta configuración de correo funcione correctamente, debe instalar los siguientes paquetes:

$ sudo apt install php-mail postfix

sendmail

mailer_transport: sendmail
mailer_host: /usr/bin/sendmail # donde sea que esté tu correo
mailer_user: null
mailer_password: null

NOTA: Para que esta configuración de correo funcione correctamente, debe instalar los siguientes paquetes:

$ sudo apt install sendmail postfix

Para obtener más información sobre la configuración del correo electrónico, acceda a http://symfony.com/doc/2.7/email.html. Si la plataforma ProEthos no envía correos electrónicos después de las instrucciones anteriores, consulte el problema #354

Autenticación Oauth2 (Azure AD)

Cree el archivo .env:

$ touch .env

Abra el archivo .env y agregue/cambie estos parámetros, de acuerdo con la configuración de su aplicación de Azure (Tenant ID, Client ID y Client Secret):

AZURE_TENANT_ID: ??????????
AZURE_CLIENT_ID: ??????????
AZURE_CLIENT_SECRET: ??????????

NOTAS:

Claves de cifrado (obligatorias si ProEthos2 >= 1.6.0)

Genere la private_key:

$ php -r 'echo base64_encode(random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES)) . PHP_EOL; ?>'

Genere la index_key:

$ php -r 'echo base64_encode(random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES)) . PHP_EOL; ?>'

Copie las claves, vaya a app/config/parameters.yml y agregue/cambie estos parámetros:

private_key: ??????????
index_key: ??????????

Ejecute este comando para actualizar la configuración:

$ make update

NOTA: En caso de actualizar una instalación anterior, es necesario aplicar el patch de encriptación de la base de datos. Consulte la página Cómo aplicar el parche de cifrado a la base de datos

Agregar rutinas a crontab

Consulte la página Cómo agregar rutinas en crontab.

Otras configuraciones y personalizaciones

El sistema viene con una configuración preestablecida. Pero, si desea cambiar o personalizar su instalación, inicie sesión como administrador y acceda a Administración del Sistema > Configuraciones.

Para crear el usuario administrador utilizando la autenticación estándar de ProEthos2, consulte la página [Cómo crear el usuario administrador] (how-to-create-the-admin-user.md)

NOTA: A partir de la versión 1.5.0, ha habido cambios importantes en el sistema (autenticación oauth2 y encriptación de la base de datos) que requieren más ajustes de configuración. Si desea utilizar una versión del sistema con menos funciones, pero con una instalación más sencilla, simplemente instale cualquier versión <= 1.4.0

¡Eso es todo!

Si tiene alguna pregunta o dificultad para ejecutar estos pasos, [abra un ticket aquí] (https://github.com/bireme/proethos2/issues).