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:
Haz clic en el botón Siguiente para continuar. Deberías ver la siguiente página:
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:
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:
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:
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:
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:
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: