Cómo instalar Paperwork DMS en Ubuntu 18.04 LTS

Paperwork es un gestor de documentos personales gratuito, de código abierto y autogestionado, que puede utilizarse para gestionar documentos escaneados y PDF. Es una solución alternativa a otros servicios como Evernote, Microsoft OneNote y Google Keep. Viene con un montón de características, incluyendo la detección automática de la orientación de la página, el escaneo, el OCR, las etiquetas de los documentos, la búsqueda, las sugerencias de palabras clave, la edición rápida de los escaneos y mucho más.

En este tutorial, vamos a explicar cómo instalar Paperwork en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor con Ubuntu 18.04 server.
  • Un usuario no root con privilegios sudo.
  • Una dirección IP estática 192.168.0.235 configurada en tu servidor.

Instalar el servidor LAMP

En primer lugar, tendrás que instalar Apache, MariaDB, PHP y otros paquetes necesarios en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:

sudo apt-get update -y
sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-cli php7.2-gd php7.2-mysql php7.2-curl php7.2-xml php7.2-mbstring php-pear php7.2-zip php-dev git wget libmcrypt-dev php7.2-gd unzip -y

A continuación, tendrás que instalar Nodejs en tu sistema. Por defecto, la última versión de Nodejs no está disponible en el repositorio por defecto de Ubuntu 18.04. Así que tendrás que añadir el repositorio de Nodejs a tu sistema. Puedes hacerlo con el siguiente comando:

curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -

A continuación, instala Nodejs con el siguiente comando:

sudo apt-get install nodejs -y

A continuación, tendrás que instalar la extensión PHP mcrypt en tu sistema. Puedes instalarla con el comando pecl:

sudo pecl channel-update pecl.php.net
sudo pecl install mcrypt-1.0.1

Cuando se te pregunte, pulsa enter para continuar.

A continuación, añade la extensión mcrypt.so al archivo php.ini con el siguiente comando:

sudo sed -i.bak '927iextension=mcrypt.so' /etc/php/7.2/cli/php.ini

A continuación, coge la ruta de instalación y añádela a la configuración php.ini de cli y apache2.

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

A continuación, verifica la extensión PHP mcrypt con el siguiente comando:

sudo php -i | grep "mcrypt"

Salida:

mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

ss

A continuación, reinicia el servicio de Apache y MariaDB y permite que se inicien al arrancar con el siguiente comando

sudo systemctl restart apache2
sudo systemctl restart mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

Configurar la base de datos

Por defecto, MariaDB no está asegurada. Así que primero tendrás que asegurarla. Puedes asegurarla ejecutando el siguiente script:

sudo mysql_secure_installation

Responde a todas las preguntas como se muestra a continuación:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Una vez que MariaDB esté asegurada, entra en el shell de MariaDB:

mysql -u root -p

Introduce tu contraseña de root, luego crea una base de datos y un usuario para Paperwork:

MariaDB [(none)]> CREATE DATABASE paperwork DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]>GRANT ALL PRIVILEGES ON paperwork.* TO 'paperwork'@'localhost' IDENTIFIED BY 'paperwork' WITH GRANT OPTION;

A continuación, vacía los privilegios con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;

A continuación, sal de la consola MariaDB con el siguiente comando:

MariaDB [(none)]> EXIT

Descarga e instala Paperwork

Primero, descarga la última versión de Paperwork ejecutando el siguiente comando

cd /var/www/html
git clone -b 1 https://github.com/twostairs/paperwork.git

A continuación, indica a PHP que ignore el mensaje «mcrypt_get_iv_size has been deprecated» ejecutando el siguiente comando:

cd paperwork/frontend/
sudo sed -i.bak '3ierror_reporting(E_ALL ^ E_DEPRECATED);' app/config/app.php

A continuación, tendrás que instalar Composer en tu sistema. Composer es un gestor de dependencias para PHP que puede utilizarse para instalar las dependencias que necesita PHP. Puedes instalar Composer con el siguiente comando:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

A continuación, instala las dependencias de PHP a través de Composer con el siguiente comando:

sudo composer install

A continuación, rellena la base de datos con el siguiente comando

sudo php artisan migrate

Salida:

PHP Warning:  Module 'mcrypt' already loaded in Unknown on line 0
**************************************
*     Application In Production!     *
**************************************

Do you really wish to run this command? y
Migration table created successfully.
Migrated: 2014_07_22_194050_initialize
Migrated: 2014_07_24_103915_create_password_reminders_table
Migrated: 2014_10_08_203732_add_visibility_to_tags_table
Migrated: 2015_01_21_034728_add_admin_to_users
Migrated: 2015_05_05_094021_modify_tag_user_relation
Migrated: 2015_05_22_220540_add_version_user_relation
Migrated: 2015_06_15_224221_add_tag_parent
Migrated: 2015_06_30_125536_add_sessions_table
Migrated: 2015_07_29_130508_alter_versions
Migrated: 2016_10_21_224100_fix_timestamps_for_postgres_again

A continuación, instala las dependencias de npm y bower:

sudo npm install -g gulp bower
sudo npm install

Deberías recibir algunos mensajes de advertencia después de ejecutar el comando anterior. Ignóralos todos y ejecuta el siguiente comando:

sudo bower install --allow-root
sudo gulp

A continuación, da los permisos adecuados al directorio paperwork:

sudo chown www-data:www-data -R /var/www/html/paperwork
sudo chmod -R 755 /var/www/html/paperwork

Configurar Apache para paperwork

A continuación, tendrás que crear un host virtual de Apache para paperwork:

Puedes hacerlo con el siguiente comando:

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

Añade las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/paperwork/frontend/public
     ServerName example.com

     <Directory /var/www/html/paperwork/frontend/public>
          Options Indexes FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

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

Guarda y cierra el archivo. A continuación, habilita el host virtual de Apache con el siguiente comando

sudo a2ensite paperwork

Por último, habilita el módulo de reescritura de Apache y reinicia el servicio de Apache para aplicar todos los cambios:

sudo a2enmod rewrite
sudo systemctl restart apache2

Accede a la interfaz web de Paperwork

Ahora que Paperwork está instalado y configurado, es el momento de acceder a él a través de un navegador web.

Abre tu navegador web y escribe la URL http://example.com. Serás redirigido a la página de bienvenida de Paperwork:

Instalador de papelería

Haz clic en el botón Siguiente para continuar. Deberías ver la siguiente página:

Comprobación de dependencia

Asegúrate de que se han instalado todas las dependencias necesarias. A continuación, haz clic en el botón Siguiente, deberías ver la siguiente página:

Establecer los detalles de la base de datos

Aquí, proporciona los detalles de tu base de datos, como el nombre de la base de datos, el nombre de usuario, la contraseña y el puerto. A continuación, haz clic en el botón Siguiente. Deberías ver la siguiente página:

Personalizar el papeleo

Aquí, personaliza el papeleo según tus necesidades. A continuación, haz clic en el botón Siguiente. Deberías ver la siguiente página:

Crear la primera cuenta

Aquí, proporciona los datos de tu usuario administrador. A continuación, haz clic en el botón Registrar y finalizar la instalación. deberías ver la siguiente página:

Instalación terminada

Ahora, haz clic en el botón Ir a trámites. Serás redirigido a la página de inicio de sesión de Paperwork, como se muestra a continuación:

Acceder a los trámites

Aquí, proporciona tu dirección de correo electrónico de administrador y tu contraseña. A continuación, haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Paperwork en la siguiente página:

Panel de control de trámites

Enlaces

También te podría gustar...