Cómo instalar InvoicePlane con Nginx en Fedora 29
InvoicePlanees una aplicación de facturación gratuita y de código abierto. Su código fuente se puede encontrar en este Github. Este tutorial te mostrará cómo instalar InvoicePlane en un sistema Fedora 29 nuevo.
Requisitos
- Servidor web (Apache, NGINX). Este tutorialutilizará Nginx.
- MySQL versión 5.5 o superior o la versión equivalente de MariaDB.
- PHP versión 7.0 o superior con las siguientes extensiones de PHP instaladas y activadas:
- php-gd
- php-hash
- php-json
- php-mbstring
- php-mcrypt
- php-mysqli
- php-openssl
- php-recode
- php-xmlrpc
- php-zlib
Requisitos previos
- Un servidor con Fedora 29.
- Un usuario no root con privilegios sudo.
Pasos iniciales
Comprueba la versión de tu sistema Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Configura la zona horaria:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Actualiza los paquetes de tu sistema operativo (software). Este es un primer paso importante porque garantiza que tienes las últimas actualizaciones y correcciones de seguridad de los paquetes de software por defecto de tu sistema operativo:
sudo dnf upgrade -y
Instala algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo Fedora:
sudo dnf install -y vim wget curl git socat unzip bash-completion
Paso 1 – Instalar PHP y las extensiones PHP necesarias
La aplicación web InovicePlane requiere la versión 7.0 de PHP o superior.
Instala PHP, así como las extensiones PHP necesarias:
sudo dnf install -y php-cli php-fpm php-common php-gd php-json php-mbstring php-mcrypt php-mysqlnd php-xmlrpc php-recode
Para mostrar el PHP compilado en módulos, puedes ejecutar:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Comprueba la versión de PHP:
php --version
# PHP 7.2.16 (cli) (built: Mar 5 2019 11:05:59) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Iniciar y habilitar el servicio PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Paso 2 – Instalar MariaDB
Instala MariaDB:
sudo dnf install -y mariadb-server
Comprueba la versión de MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1
Inicia y habilita el servicio MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Ejecuta el scriptmysql_secure installation
para mejorar la seguridad de MariaDB y establece la contraseña del usuario de MariaDBroot
:
sudo mysql_secure_installation
Responde a todas las preguntas como se indica a continuación:
Enter current password for root (enter for none):
Set root password? [Y/n]: Y
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
Entra en el shell de MariaDB como usuario root:
mysql -u root -p
# Enter password
Crea una base de datos MariaDB y un usuario que utilizarás para la instalación de InvoicePlane, y recuerda las credenciales:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Sal del shell de MariaDB:
quit
Sustituye el nombre de la base de datos, el nombre de usuario y la contraseña por tus propios nombres.
Paso 3 - Instalar NGINX
Instala el servidor web Nginx:
sudo dnf install -y nginx
Comprueba la versión de NGINX:
nginx -v
# nginx version: nginx/1.14.2
Inicia y activa el servicio Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
ConfiguraNGINXpara InvoicePlane. Ejecutasudo vim /etc/nginx/conf.d/invoiceplane.conf
y rellena el archivo con la siguiente configuración:
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/invoiceplane;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include default.d/php.conf;
fastcgi_index index.php;
try_files $uri =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass /var/run/php-fpm/www.sock;
}
}
Prueba la configuración de NGINX:
sudo nginx -t
Recarga NGINX:
sudo systemctl reload nginx.service
Paso 4 - Instalar InvoicePlane
Descarga la última versión estable de InvoicePlane y extrae el archivo:
sudo mkdir -p /var/www
cd /var/www
sudo curl -O -J -L https://invoiceplane.com/download/v1.5.9
sudo unzip v1.5.9.zip
sudo rm v1.5.9.zip
sudo mv ip invoiceplane
Navega hasta el directorio/var/www/invoiceplane
:
cd /var/www/invoiceplane
Haz una copia del archivoipconfig.php.example
y renombra la copia aipconfig.php:
sudo cp ipconfig.php.example ipconfig.php
Abre el archivoipconfig.php
y añade tu URL en él:
sudo vim ipconfig.php
# Something like this
IP_URL=http://example.com
Cambia la propiedad del directorio/var/www/invoiceplane
anginx:
sudo chown -R nginx:nginx /var/www/invoiceplane
Ejecutasudo vim /etc/php-fpm.d/www.conf
y establece el usuario y el grupo comonginx
. Inicialmente, estarán configurados comoapache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Ejecutasudo vim /etc/php.ini
y establecedate.timezone:
date.timezone = Region/City
Reinicia el servicio PHP-FPM:
sudo systemctl restart php-fpm.service
Ejecuta el instalador de InvoicePlane desde tu navegador web y sigue las instrucciones:
http://example.com/index.php/setup
Una vez finalizada la instalación, puedes acceder a InvoicePlane utilizando la dirección de correo electrónico y la contraseña que hayas elegido durante la instalación.
Si quieres asegurar tu instalación, puedes desactivar la instalación. Para ello, sustituye la líneaDISABLE_SETUP=false
porDISABLE_SETUP=true
en tu archivoipconfig.php
.
Paso 5 - Completa la instalación de InvoicePlane
InvoicePlane ya está instalado y configurado, es el momento de acceder a su asistente de instalación web.
Abre tu navegador web y escribe la URLhttp://example.com. Serás redirigido a la siguiente página:
Ahora, haz clic en el botón deConfiguración. Deberías ver la siguiente página:
A continuación, elige el idioma y haz clic en el botónContinuar. Deberías ver la siguiente página:
A continuación, haz clic en el botónContinuar. Deberías ver la siguiente página:
Aquí, proporciona los detalles de tu base de datos y haz clic en el botónIntentar de nuevo. Deberías ver la siguiente página:
Ahora, haz clic en el botónContinuar. Deberías ver la siguiente página:
Ahora, haz clic en el botónContinuar. Deberías ver la siguiente página:
Ahora, proporciona todos los detalles requeridos y haz clic en el botónContinuar. Una vez completada la instalación, deberías ver la siguiente página:
Ahora, haz clic en el botónIniciar sesiónpara acceder a la administración de InvoicePlane.