GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Factura Ninja en Ubuntu 16.04

Invoice Ninja es un software de código abierto basado en la web para facturación, pagos, seguimiento de tiempo y mucho más. Puede crear facturas en línea en segundos, interactuar con pasarelas de pago como Stripe, PayPal, WePay y otras. Invoice Ninja puede mostrarle una vista previa de la factura en vivo en formato PDF. Puede cambiar fácilmente el logotipo de la empresa en las plantillas usted mismo. Invoice Ninja se basa en PHP, está construido con Laravel Framework y se puede instalar en Linux y Windows.

En este tutorial, le mostraré cómo instalar Invoice Ninja en Ubuntu 16.04. Usaré Nginx como servidor web y MariaDB como sistema de base de datos.

Requisito previo

  • Servidor Ubuntu 16.04.
  • Privilegios de raíz.

Paso 1:instalar Nginx

En este paso, instalaremos el servidor web Nginx. Conéctese a su servidor con su cuenta ssh root (o inicie sesión con otro usuario y use 'sudo -s' para convertirse en root) y actualice el repositorio.

ssh [email protected]
apt-get update

Instale Nginx con el siguiente comando apt:

apt-get install -y nginx

Cuando finalice la instalación de nginx, inicie Nginx y agréguelo para que comience en el momento del arranque.

systemctl start nginx
systemctl enable nginx

Asegúrese de que nginx se esté ejecutando. Compruebe el puerto utilizado por nginx, el puerto del servidor web predeterminado es 80.

netstat -plntu

Paso 2:instalar y configurar el servidor MariaDB

Después de instalar Nginx, debemos instalar el paquete mariadb-server en el sistema. Está disponible en el repositorio de Ubuntu. Instale mariadb-server y sus dependencias con el siguiente comando.

apt-get install -y mariadb-server

Cuando finalice la instalación, inicie el servicio mariadb y habilítelo para que se inicie en el momento del arranque con estos comandos systemctl.

systemctl restart mysql
systemctl enable mysql

Se ha iniciado MariaDB, ahora puede establecer la contraseña raíz para mariadb con el siguiente comando.

mysql_secure_installation

Configure su nueva contraseña raíz de MariaDB.

Set root password? [Y/n] Y
New password:
Re-enter new password:

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

A continuación, intente conectarse con el shell mysql como usuario root.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Verá MySQL shell cuando todo funcionó correctamente.

Ahora necesitamos crear una nueva base de datos y un nuevo usuario para Invoice Ninja. Crearé una nueva base de datos llamada 'ninjadb ', un nuevo usuario 'ninja ' con contraseña 'aqwe123 '. ¡Elija una contraseña diferente y segura para su instalación!

Créelos con la consulta mysql a continuación. Cree una nueva base de datos, cree un nuevo usuario y contraseña, otorgue la base de datos al nuevo usuario con una contraseña.

create database ninjadb;
create user [email protected] identified by 'aqwe123';
grant all privileges on ninjadb.* to [email protected] identified by 'aqwe123';
flush privileges;

Se instaló MariaDB y se crearon una nueva base de datos y un usuario para Invoice Ninja.

Paso 3:instalar y configurar PHP7.0-FPM

Invoice Ninja se basa en PHP, por lo que debemos instalar PHP en el sistema. Usaremos PHP7.0-FPM para esta instalación de Invoice Ninja.

Instale PHP7.0-FPM y otras extensiones de PHP que necesita Invoice Ninja con el siguiente comando.

apt-get install -y php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-mbstring php7.0-mcrypt php7.0-curl php7.0-gmp

Después de la instalación, vaya al directorio de configuración de PHP y edite el archivo php.ini.

cd /etc/php/7.0/
vim fpm/php.ini

Quite el comentario de la línea CGI a continuación y cambie el valor a 0.

cgi.fix_pathinfo=0

Guardar y salir.

Edite el archivo php.ini en el directorio cli.

vim cli/php.ini

Quite el comentario de la línea CGI a continuación y cambie el valor a 0.

cgi.fix_pathinfo=0

Guardar y salir.

A continuación, inicie PHP7.0-FPM y habilítelo para que se inicie en el momento del arranque.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

De forma predeterminada, PHP7.0-FPM se ejecuta con un archivo de socket, verifíquelo con el siguiente comando y verá el archivo de socket de PHP como se muestra en la captura de pantalla.

netstat -pl

PHP7.0-FPM y todas las extensiones que necesita Invoice Ninja están instaladas.

Paso 4:instalar y configurar Invoice Ninja

En este paso, descargaremos y configuraremos Invoice Ninja. Primero, instale unzip en su sistema.

apt-get install -y unzip

Vaya a '/var/www' y descargue el código fuente de Invoice Ninja con el comando wget.

cd /var/www/
wget https://download.invoiceninja.com/ninja-v3.1.0.zip

Extraiga el archivo zip de Invoice Ninja y vaya al directorio 'ninja'.

unzip ninja-v3.1.0.zip
cd ninja/

Para el proyecto Laravel, necesitamos instalar el administrador de dependencias del compositor para PHP. Está disponible en el repositorio de Ubuntu, por lo que podemos instalarlo con el comando apt.

apt-get install -y composer

A continuación, instale las dependencias de Invoice Ninja con el siguiente comando composer.

composer install --no-dev -o
  • --sin desarrollo :Deshabilita la instalación de paquetes require-dev
  • -o :optimizar el autocargador durante el volcado del autocargador

Cuando termine la instalación de la dependencia, copie el archivo .env y edítelo con vim.

cp .env.example .env
vim .env

Cambie el valor de la configuración de la base de datos a continuación.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

Guardar y salir.

A continuación, edite la configuración de la base de datos en el directorio de configuración.

vim config/database.php

Estamos usando la base de datos MariaDB/MySQL, vaya a la línea MySQL 55.

'database'  => env('DB_DATABASE', 'ninjadb'),
'username'  => env('DB_USERNAME', 'ninja'),
'password'  => env('DB_PASSWORD', 'aqwe123'),

¡Reemplace la contraseña con la que ha establecido para el usuario ninja!

Guardar y salir.

Se editan todos los archivos de configuración. A continuación, migre la base de datos con el siguiente comando.

php artisan migrate

Se le pedirá que ejecute el comando, escriba ' ' y presione Entrar.

A continuación, sembrar la base de datos con todos los registros.

php artisan db:seed

Escriba ' ' y presione Entrar para confirmar.

Genere una nueva clave de aplicación para el proyecto Laravel Invoice Ninja.

php artisan key:generate

Verá la clave de la aplicación.

Edite el archivo app.php con vim.

vim config/app.php

Vaya a la línea 85 de APP_KEY y pegue la clave que generamos.

'key' => env('APP_KEY', 'base64:0o5QLWbNeDCNer064+600Hl8oJ20OPCIymadKJQ1RGo='),

Guardar y salir.

Finalmente, cambie el propietario de '/var/www/ninja ' directorio a 'www-data ' usuario y grupo.

cd /var/www/
chown -R www-data:www-data ninja/

Factura Ninja está configurado y listo para la instalación.

Paso 5:configurar SSL y host virtual

En este paso, generaremos un archivo de certificado SSL con el comando OpenSSL y crearemos una nueva configuración de host virtual para Invoice Ninja. Si está en un servidor en vivo, puede usar un SSL gratuito de Let's Encrypt en lugar de generar un certificado SSL autofirmado con OpenSSL.

Crear un nuevo 'certificado ' directorio para los archivos SSL.

mkdir -p /etc/nginx/cert/

Ejecute el comando openssl a continuación para generar los archivos de certificado.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

Cambie el permiso de los archivos de certificado a '600'.

chmod 600 /etc/nginx/cert/*

A continuación, vaya al directorio Nginx y cree un nuevo archivo de configuración de host virtual llamado 'ninja '.

cd /etc/nginx/
vim sites-available/ninja

Pegue la configuración del host virtual a continuación.

server {
    # Your Domain Name - hakase-labs.co
    listen      80;
    server_name ninja.co www.ninja.co;

    # Rewrite redirect to https
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    # Your Domain Name - hakase-labs.co
    listen      443 default;
    server_name ninja.co www.ninja.co;

    # Enable SSL for Invoice Ninja
    ssl on;
    ssl_certificate     /etc/nginx/cert/ninja.crt;
    ssl_certificate_key /etc/nginx/cert/ninja.key;
    ssl_session_timeout 5m;

    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    # Invoice Ninja web root files
    root /var/www/ninja/public;

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    # Access and Error Log for Invoice Ninja
    access_log  /var/log/nginx/ininja.access.log;
    error_log   /var/log/nginx/ininja.error.log;

    sendfile off;

    # Handle PHP Applications
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
        deny all;
    }
}

Guardar y salir.

Habilite el host virtual ninja y pruebe la configuración de Nginx, asegúrese de que no haya ningún error.

ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
nginx -t

Ahora reinicie el servidor web nginx.

systemctl restart nginx

La configuración del host virtual de Invoice Ninja ha finalizado.

Paso 6:finalización de la instalación y prueba

Abra su navegador web y escriba la URL de Invoice Ninja:ninja.co. Se le redirigirá a la página de configuración y conexión https.

Escriba la configuración de la aplicación, la conexión de la base de datos, la configuración del correo electrónico, los detalles del usuario y verifique los TOS de Ninja de la factura.

Haga clic en 'Enviar ' y será redirigido a la página de inicio de sesión de Invoice Ninja.

Escriba su correo electrónico y contraseña, luego presione 'INICIAR SESIÓN '.

Verá el panel Ninja de facturas.

Página de configuración de Factura Ninja.

Factura Ninja instalado con Nginx y MariaDB en Ubuntu 16.04.


Ubuntu
  1. Cómo instalar PHP 7.4/7.3/7.2 en Ubuntu 18.04/Ubuntu 16.04

  2. Cómo instalar PHP 7 en Ubuntu 14.04

  3. Cómo instalar PHP 7 en Ubuntu 15.04

  4. Cómo instalar PHP 7.3 en Ubuntu 18.04

  5. Cómo instalar Factura Ninja en Ubuntu 18.04

¿Cómo instalar GLPI en Ubuntu 20.04?

Cómo instalar Factura Ninja en Ubuntu 18.04 LTS

Cómo instalar Factura Ninja en Ubuntu 20.04 LTS

Cómo instalar OwnCloud en Ubuntu 18.04

Cómo instalar Joomla en Ubuntu 18.04

Cómo instalar Factura Ninja en Debian 10