En este tutorial, veremos cómo instalar Invoice Ninja en un VPS Debian 7 (Wheezy) con MariaDB, PHP-FPM y Nginx. Invoice Ninja es una solución gratuita de código abierto para facturar y facturar a los clientes y se basa en el marco Laravel 4.1. Esta guía también debería funcionar en otros sistemas Linux VPS, pero fue probada y escrita para Debian 7 VPS.
¿Está buscando un alojamiento completamente administrado para su cuenta de InvoiceNinja? Ofrecemos migración, instalación, optimización y personalización completas, ¡100% gratis! Echa un vistazo a nuestros paquetes de alojamiento de VPS premium y asequibles y cámbiate a un servidor más seguro y eficiente con una increíble atención al cliente 24/7/265 hoy mismo.
Visita los tutoriales actualizados:
Cómo instalar Invoice Ninja en CentOS 7
Cómo instalar Factura Ninja en Debian 9
Inicie sesión en su VPS a través de SSH
ssh user@myVPS
Actualice el sistema e instale los paquetes necesarios
user@myVPS:~# sudo apt-get update && sudo apt-get -y upgrade user@myVPS:~# sudo apt-get install python-software-properties git curl openssl vim
Instalar MariaDB 10.0
user@myVPS:~# sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db user@myVPS:~# sudo add-apt-repository 'deb http://mirror.jmu.edu/pub/mariadb/repo/10.0/debian wheezy main' user@myVPS:~# sudo apt-get update user@myVPS:~# sudo apt-get install mariadb-server
Cuando se complete la instalación, ejecute el siguiente comando para asegurar su instalación:
mysql_secure_installation
A continuación, debemos crear una base de datos para nuestra instancia de Invoice Ninja.
mysql -uroot -p MariaDB [(none)]> CREATE DATABASE ininja; MariaDB [(none)]> GRANT ALL PRIVILEGES ON ininja.* TO 'ininjauser'@'localhost' IDENTIFIED BY 'ininjauser_passwd'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Instalar y configurar PHP y Nginx
Las últimas versiones de Nginx 1.6.2 y PHP 5.6 no están disponibles a través de los repositorios predeterminados de Debian, por lo que agregaremos el repositorio Dotdeb. Abra el /etc/apt/sources.list
archivo y agregue las siguientes líneas:
user@myVPS:~# sudo vim /etc/apt/sources.list
deb http://packages.dotdeb.org wheezy all deb http://packages.dotdeb.org wheezy-php56 all
A continuación, obtenga e instale la clave GnuPG:
user@myVPS:~# wget -qO - http://www.dotdeb.org/dotdeb.gpg | sudo apt-key add -
Actualice el sistema e instale Nginx, PHP y todas las extensiones necesarias:
user@myVPS:~# sudo apt-get update user@myVPS:~# sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt php5-gd php5-curl user@myVPS:~# sudo php5enmod mcrypt
Instalar compositor
Composer es un administrador de dependencias para PHP con el que puedes instalar paquetes. Composer extraerá todas las bibliotecas y dependencias requeridas que necesita para su proyecto.
user@myVPS:~# curl -sS https://getcomposer.org/installer | php user@myVPS:~# sudo mv composer.phar /usr/local/bin/composer
Instalar Factura Ninja
Cree un directorio raíz para su aplicación.
user@myVPS:~# mkdir -p ~/your_ininja_site
Clona el repositorio del proyecto desde GitHub:
user@myVPS:~# git clone https://github.com/hillelcoren/invoice-ninja.git ~/your_ininja_site user@myVPS:~# cd ~/your_ininja_site
Instalar todas las dependencias:
user@myVPS:~# composer install --no-dev -o
Establecer el entorno en producción:
user@myVPS:~# cp bootstrap/environment.default.php bootstrap/environment.php
user@myVPS:~# vim bootstrap/environment.php
Abra el archivo base de datos.php y edite la configuración de la base de datos:
user@myVPS:~# vim config/database.php
'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'ininja', 'username' => 'ininjauser', 'password' => 'ininjauser_passwd', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ),
Ejecute migraciones de base de datos y genere la base de datos con datos de muestra:
user@myVPS:~# php artisan migrate user@myVPS:~# php artisan db:seed
Generar una nueva clave de aplicación:
user@myVPS:~# php artisan key:generate
user@myVPS:~# vim app/config/app.php
'key' => 'iL7OD2fbvjJvIcSgalLThFaEM4gPtPNF',
Configurar Nginx y PHP
Cree un nuevo grupo de PHP-FPM para su usuario:
user@myVPS:~# sudo nano /etc/php5/fpm/pool.d/your_user.conf
[your_user] user = your_user group = your_user listen = /var/run/php5-fpm-your_user.sock listen.owner = your_user listen.group = your_user listen.mode = 0666 pm = ondemand pm.max_children = 5 pm.process_idle_timeout = 10s; pm.max_requests = 200 chdir = /
No olvides cambiar your_user con tu nombre de usuario.
Reiniciar PHP-FPM
user@myVPS:~# sudo service php5-fpm restart
Generar certificado SSL:
user@myVPS:~# sudo mkdir -p /etc/nginx/ssl user@myVPS:~# cd /etc/nginx/ssl user@myVPS:~# sudo openssl genrsa -des3 -passout pass:x -out ininja.pass.key 2048 user@myVPS:~# sudo openssl rsa -passin pass:x -in ininja.pass.key -out ininja.key user@myVPS:~# sudo rm ininja.pass.key user@myVPS:~# sudo openssl req -new -key ininja.key -out ininja.csr user@myVPS:~# sudo openssl x509 -req -days 365 -in ininja.csr -signkey ininja.key -out ininja.crt
A continuación, cree un nuevo bloque de servidor Nginx:
user@myVPS:~# sudo vim /etc/nginx/sites-available/your_ininja_site
server { listen 443 default; server_name your_ininja_site; ssl on; ssl_certificate /etc/nginx/ssl/ininja.crt; ssl_certificate_key /etc/nginx/ssl/ininja.key; ssl_session_timeout 5m; ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; root /home/your_user/your_ininja_site/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_log /var/log/nginx/ininja.access.log; error_log /var/log/nginx/ininja.error.log; sendfile off; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm-your_user.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; } } server { listen 80; server_name your_ininja_site; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; }
No olvides cambiar your_user con tu nombre de usuario.
Active el bloqueo del servidor creando un enlace simbólico y reinicie Nginx:
user@myVPS:~# sudo ln -s /etc/nginx/sites-available/your_ininja_site /etc/nginx/sites-enabled/your_ininja_site user@myVPS:~# sudo /etc/init.d/nginx restart
Eso es todo. Ha instalado con éxito Invoice Ninja en su Debian VPS. Para obtener más información sobre Invoice Ninja, consulte el sitio web de Invoice Ninja.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato. También puede considerar leer nuestra publicación sobre Cómo instalar Invoice Ninja en Debian 9 para obtener más información.
PD . Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.