GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Invoice Ninja di Ubuntu 16.04

Invoice Ninja adalah perangkat lunak open source berbasis web untuk faktur, pembayaran, pelacakan waktu, dan banyak lagi. Anda dapat membuat Faktur online dalam hitungan detik, berinteraksi dengan gateway pembayaran seperti Stripe, PayPal, WePay, dan lainnya. Ninja Faktur dapat menunjukkan kepada Anda pratinjau faktur langsung dalam format PDF. Anda dapat mengubah sendiri logo perusahaan di template dengan mudah. Invoice Ninja didasarkan pada PHP, dibuat dengan Laravel Framework dan dapat diinstal di Linux dan Windows.

Dalam tutorial ini, saya akan menunjukkan cara menginstal Invoice Ninja di Ubuntu 16.04. Saya akan menggunakan Nginx sebagai server web dan MariaDB sebagai sistem Database.

Prasyarat

  • Server Ubuntu 16.04.
  • Hak istimewa root.

Langkah 1 - Instal Nginx

Pada langkah ini, kita akan menginstal server web Nginx. Hubungkan ke server Anda dengan akun root ssh Anda (atau login dengan pengguna lain dan gunakan 'sudo -s' untuk menjadi root) dan perbarui repositori.

ssh [email protected]
apt-get update

Instal Nginx dengan perintah apt di bawah ini:

apt-get install -y nginx

Ketika instalasi nginx selesai, mulai Nginx dan tambahkan untuk memulai saat boot.

systemctl start nginx
systemctl enable nginx

Pastikan nginx berjalan. Periksa port yang digunakan oleh nginx, port server web default adalah 80.

netstat -plntu

Langkah 2 - Instal dan Konfigurasi Server MariaDB

Setelah menginstal Nginx, kita perlu menginstal paket mariadb-server di sistem. Ini tersedia di repositori Ubuntu. Instal mariadb-server dan dependensinya dengan perintah di bawah ini.

apt-get install -y mariadb-server

Setelah penginstalan selesai, mulai layanan mariadb dan aktifkan untuk memulai saat boot dengan perintah systemctl ini.

systemctl restart mysql
systemctl enable mysql

MariaDB dimulai, sekarang Anda dapat mengatur kata sandi root untuk mariadb dengan perintah di bawah ini.

mysql_secure_installation

Setel kata sandi root MariaDB Anda yang baru.

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

Selanjutnya, coba sambungkan dengan shell mysql sebagai pengguna root.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Anda akan melihat shell MySQL ketika semuanya bekerja dengan benar.

Sekarang kita perlu membuat database baru dan pengguna baru untuk Ninja Faktur. Saya akan membuat database baru bernama 'ninjadb ', pengguna baru 'ninja ' dengan sandi 'aqwe123 '. Silakan pilih sandi yang berbeda dan aman untuk instalasi Anda!

Buat mereka dengan kueri mysql di bawah ini. Buat database baru, buat pengguna dan kata sandi baru, berikan database kepada pengguna baru dengan kata sandi.

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

MariaDB telah diinstal dan database serta pengguna baru untuk Ninja Faktur telah dibuat.

Langkah 3 - Instal dan Konfigurasi PHP7.0-FPM

Invoice Ninja berbasis PHP, jadi kita perlu menginstal PHP ke sistem. Kami akan menggunakan PHP7.0-FPM untuk instalasi Ninja Faktur ini.

Instal PHP7.0-FPM dan ekstensi PHP lainnya yang dibutuhkan oleh Invoice Ninja dengan perintah di bawah ini.

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

Setelah instalasi, buka direktori konfigurasi PHP dan edit file php.ini.

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

Batalkan komentar pada baris CGI di bawah dan ubah nilainya menjadi 0.

cgi.fix_pathinfo=0

Simpan dan keluar.

Edit file php.ini di direktori cli.

vim cli/php.ini

Batalkan komentar pada baris CGI di bawah dan ubah nilainya menjadi 0.

cgi.fix_pathinfo=0

Simpan dan keluar.

Selanjutnya, mulai PHP7.0-FPM dan aktifkan untuk memulai saat boot.

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

Secara default, PHP7.0-FPM berjalan dengan file soket, periksa dengan perintah di bawah ini dan Anda akan melihat file soket PHP seperti yang ditunjukkan pada tangkapan layar.

netstat -pl

PHP7.0-FPM dan semua ekstensi yang diperlukan oleh Invoice Ninja telah diinstal.

Langkah 4 - Instal dan Konfigurasi Ninja Faktur

Pada langkah ini, kita akan mendownload dan mengkonfigurasi Invoice Ninja. Pertama, instal unzip di sistem Anda.

apt-get install -y unzip

Buka '/var/www' direktori dan unduh kode sumber Invoice Ninja dengan perintah wget.

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

Ekstrak file zip Invoice Ninja dan buka direktori 'ninja'.

unzip ninja-v3.1.0.zip
cd ninja/

Untuk proyek Laravel, kita perlu menginstal manajer ketergantungan komposer untuk PHP. Ini tersedia di repositori Ubuntu, jadi kita bisa menginstalnya dengan perintah apt.

apt-get install -y composer

Selanjutnya, instal dependensi Invoice Ninja dengan perintah composer di bawah ini.

composer install --no-dev -o
  • --no-dev :Menonaktifkan instalasi paket-paket yang dibutuhkan
  • -o :Mengoptimalkan pemuat otomatis selama pembuangan pemuat otomatis

Ketika instalasi ketergantungan selesai, salin file .env dan edit dengan vim.

cp .env.example .env
vim .env

Ubah nilai pengaturan database di bawah ini.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

Simpan dan keluar.

Selanjutnya, edit konfigurasi database di direktori config.

vim config/database.php

Kami menggunakan database MariaDB/MySQL, buka baris MySQL 55.

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

Ganti kata sandi dengan yang telah Anda tetapkan untuk pengguna ninja!

Simpan dan keluar.

Semua file konfigurasi diedit. Selanjutnya, migrasikan database dengan perintah di bawah ini.

php artisan migrate

Anda akan diminta untuk menjalankan perintah, ketik 'yes ' dan tekan Enter.

Selanjutnya, seed database dengan semua record.

php artisan db:seed

Ketik 'ya ' dan tekan Enter untuk mengonfirmasi.

Buat kunci aplikasi baru untuk proyek Laravel Invoice Ninja.

php artisan key:generate

Anda akan melihat kunci aplikasi.

Edit file app.php dengan vim.

vim config/app.php

Buka APP_KEY baris 85 dan rekatkan kunci yang kami buat.

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

Simpan dan keluar.

Terakhir, ubah pemilik '/var/www/ninja ' direktori ke 'www-data ' pengguna dan grup.

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

Invoice Ninja dikonfigurasi dan siap untuk instalasi.

Langkah 5 - Konfigurasi SSL dan Virtual Host

Pada langkah ini, kami akan membuat file Sertifikat SSL dengan perintah OpenSSL dan membuat konfigurasi virtual host baru untuk Invoice Ninja. Jika Anda berada di server langsung, Anda dapat menggunakan SSL gratis dari Let's Encrypt daripada membuat sertifikat SSL yang ditandatangani sendiri dengan OpenSSL.

Buat 'sertifikat . baru ' untuk file SSL.

mkdir -p /etc/nginx/cert/

Jalankan perintah openssl di bawah ini untuk menghasilkan file sertifikat.

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

Ubah izin file sertifikat menjadi '600'.

chmod 600 /etc/nginx/cert/*

Selanjutnya, masuk ke direktori Nginx dan buat file konfigurasi virtual host baru bernama 'ninja '.

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

Tempel konfigurasi host virtual di bawah.

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;
    }
}

Simpan dan keluar.

Aktifkan ninja virtual host dan uji konfigurasi Nginx, pastikan tidak ada error.

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

Sekarang restart server web nginx.

systemctl restart nginx

Konfigurasi virtual host Invoice Ninja sudah selesai.

Langkah 6 - Menyelesaikan Instalasi dan Pengujian

Buka browser web Anda dan ketik URL Ninja Faktur:ninja.co. Anda akan diarahkan ke halaman koneksi dan penyiapan https.

Ketik Pengaturan Aplikasi, Koneksi Basis Data, Pengaturan Email, Detail Pengguna dan periksa TOS Ninja Faktur.

Klik 'Kirim ' dan Anda akan diarahkan ke halaman login Ninja Faktur.

Ketik email dan kata sandi Anda, lalu tekan 'LOGIN '.

Anda akan melihat Dasbor Ninja Faktur.

Halaman Setelan Ninja Faktur.

Invoice Ninja Diinstal dengan Nginx dan MariaDB di Ubuntu 16.04.


Ubuntu
  1. Cara Menginstal PHP 7.4 / 7.3 / 7.2 di Ubuntu 18.04 / Ubuntu 16.04

  2. Cara Menginstal PHP 7 di Ubuntu 14.04

  3. Cara Memasang Invoice Ninja di Debian 9

  1. Cara Menginstal PHP 7 di Ubuntu 15.04

  2. Cara Menginstal PHP 7.3 di Ubuntu 18.04

  3. Cara Menginstal Invoice Ninja di Ubuntu 18.04

  1. Cara Menginstal R di Ubuntu 20.04

  2. Cara Menginstal Go di Ubuntu 18.04

  3. Cara Menginstal Magento 2 di Ubuntu 18.04