خانه سرورها نحوه نصب صورتحساب Ninja بر روی اوبنتو Ubuntu) 16.4)

نحوه نصب صورتحساب Ninja بر روی اوبنتو Ubuntu) 16.4)

6 دقیقه خوانده شده
۰
0
82
صورتحساب Ninja

همراهان عزیز در این بخش با نحوه نصب صورتحساب Ninja بر روی اوبنتو Ubuntu) 16.4) آشنا می شوید. همچنین اگر قصد خرید هاست لینوکس ویندوز و سرور مجازی دارید با چیتاهاست همراه باشید.

نحوه نصب صورتحساب Ninja بر روی اوبنتو Ubuntu) 16.4)

دستورالعمل:

صورتحساب Ninja یک اپلیکیشن رایگان و اپن سورس (open source) می باشد که در فاکتورگیری, مبالغ پرداختی, دخل و خرج, ردیابی زمان و بسیاری دیگر مورد استفاده قرار میگیرد. این برنامه راه حلی مناسب برای فاکتور گیری صورتحساب و دخل و خرج مشتریان می باشد. با این برنامه به راحتی میتوانید در  چند ثانیه فایل های صورتحساب را ایجاد یا برای دیگران بفرستید. همچنین برنامه صورت حساب نینجا این امکان را به شما می دهد که فایل های سفارشی صورت حساب ایجاد کنید و ان ها را به صورت زنده به عنوان یک فایل PDF به اشتراک بگذارید.

در این مقاله اموزشی به شما نحوه نصب فاکتور Ninja بر روی اوبنتو (Ubuntu) 16.4 آموزش می دهیم.

پیش نیاز ها:

  • یک سرور اوبونتو با ۲ گیگابایت رم
  • یک کاربر sudo با مزیت ها و امتیازیات ریشه و پایه ای
  • باید ادرس ip اصلی سرور خود را بدانید. برای نمونه در این مقاله از ادرس ۱۶۸٫۰٫۲۲۷ استفاده می کنیم.

گام اول: به روز رسانی سیستم

قبل از نصب هر گونه بسته برروی سرور اوبونتو. توصیه میشود که سیستم خود را بروز رسانی کنید. برای انجام این کار از طریق SSH به عنوان کاربر sudo وارد سیستم شوید و دستورات زیر را اجرا کنید:

sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now

گام دوم: نصب بسته LEMP

قبل از شروع باید یک بسته (LEMP (Nginx, MariaDB and PHP برروی سرور خود پیکربندی کنید.

ابتدا Nginx and MariaDB را با دستورات زیر نصب کنید:

sudo apt-get install nginx mariadb-server -y

زمانی که نصب کامل شد.  سرویس های Nginx and MariaDB شروع کرده و و انها را برای شروع بوت (boot) فعال کنید:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysql
sudo systemctl enable mysql

سپس برای راه اندازی صورتحساب نینجا به PHP 7 و PHP-FPM نیاز دارید.

برای نصب PHP-FPM و نیازمندی های اضافه دیگر PHP. دستور زیر را وارد کنید:

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

زمانی که نصب به اتمام رسید باید پیکربندی فایل PHP.ini را تغییر داده و ویرایش کنید. برای این کار دستور زیر را وارد کنید:

sudo nano /etc/php/7.0/fpm/php.ini

خط زیر را تغییر دهید:

cgi.fix_pathinfo=0

فایل را سیو کرده و خارج شوید.

گام سوم: پیکربندی دیتابیس

راه اندازی MariaDB به صورت پیش فرض ایمن نمی باشد ابتدا باید ان را ایمن کنید برای انجام این کار میتواند دستور زیر را اجرا کنید:

mysql_secure_installation script.

sudo mysql_secure_installation

به تمام سوالات به صورت زیر پاسخ دهید:

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

زمانی که تمام این کارها به اتمام رسید. ان را با کمک دستور زیر به پوسته MYSQL متصل کنید:

mysql -u root -p

کلمه عبور روت (root) خود را وارد کنید و بروی enter کلیک کنید بعد از انجام این کار شما میتوانید پوسته MariaDB) MYSQL) را ببینید.

یک دیتابیس جدید به همراه یک کاربر جدید برای صورتحساب نینجا ایجاد کنید. میتوانید از دستورات زیر برای این کار استفاده کنید:

MariaDB [(none)]> CREATE DATABASE ninja_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

گام چهارم: پیکربندی  PHP-FPM

حوضه PHP-FPM را برای کاربر Nginx پیکربندی کنید. برای انجام این کار از قطعه کد زیر استفاده کنید:

sudo nano /etc/php/7.0/fpm/pool.d/www-data.conf

در ادامه خط های زیر را اضافه کنید:

[www-data]
user = www-data
group = www-data
listen = /var/run/php-fpm-www-data.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
pm.max_requests = 200
chdir = /

هر زمانی که این کارها تمام شد فایل را سیو کرده و خارج شوید سپس فایل PHP-FPM را به منظور اجرای این تغییرات راه اندازی مجدد کنید. برای انجام این کار دستور زیر را اجرا کنید:

systemctl restart php7.0-fpm

گام پنجم: دانلود و پیکربنیدی صورتحساب Ninja

میتوانید اخر نسخه این برنامه را از مخزن GitHub repository ) GitHub) با اجرای کد زیر دانلود کنید:

cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja

همچنین به یک Composer (ابزاری برای مدیریت وابستگی ها در PHP) نیاز دارید. می توانید با اجرای کد زیر ان را نصب کنید:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=compose

سپس تمام وابستگی های صورتحساب نینجا را با استفاده از دستور Composer که در کد زیر آمده است نصب کنید:

cd /var/www/html/ninja
sudo composer install --no-dev -o

زمانی که نصب تکمیل شد. نام فایل .env را عوض کرده و تعدادی تغییرات انجام دهید. برای انجام این کار کد زیر را اجرا کنید:

sudo mv .env.example .env
sudo nano .env

خط های دستورات را به صورت زیر تغییر دهید:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

هر زمان که این کار ها تمام شد فایل را سیو کرده و سپس فایل پیکرنبدی دیتابیس را به صورت زیر تغییر دهید:

sudo php artisan migrate

از شما خواسته میشود که دستوری را اجرا کنید.  YES را انتخاب کرده و بروی گزینه Enter کلیک کنید.

دیتابیس را با رکورد های انجام شده بسازید. از کد زیر برای انجام این کار استفاده کنید:

sudo php artisan db:seed

yes را تایپ کرده و بروی گزینه enter کلیک کنید سپس یک key (رمز) اپلیکیشن تولید کنید. میتوانید از کد زیر استفاده کنید:

sudo php artisan key:generate

در ادامه یک رمز اپلیکیش همانند رمز زیر مشاهده خواهید کرد:

jkF3IrELhHBoQ4XxMCsInhGxOIXYXc4gDAiU0HsNSD0=

سپس فایل app.php را باز کیند:

sudo nano config/app.php

رمز اپلیکیش را به صورت زیر وارد کنید:

'key' => env('APP_KEY','jkF3IrELhHBoQ4XxMCsInhGxOIXYXc4gDAiU0HsNSD0='),

فیل را سیو کرده و خارج شوید. سپس مدیر و مالک دایرکتوری /var/www/html/ninja را با کد زیر تغییر دهید:

sudo chown -R www-data:www-data /var/www/html/ninja/

مطالب مرتبط: تنظیم یک وب سرور Express-js بروی اوبونتو ۱۶٫۴ LTS

گام ششم: پیکربندی Nginx برای صورتحساب Ninja

پس از گام پنجم. باید یک گواهی SSL و یک پیکربندی هاست مجازی برای صورتحساب نینجا ایجاد کنید.

ابتدا یم دایرکتوری برای SSL ایجاد کنید:

sudo mkdir -p /etc/nginx/cert/

سپس یک گواهی SSL با کد های زیر ایجاد کنید:

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

مجوز های لازم را به فایل گواهی بدهید. از کد زیر برای انجام این کار استفاده کنید:

sudo chmod 600 /etc/nginx/cert/*

یک فایل پیکربندی هاست مجازی درداخل دایرکتوری /etc/nginx/ ایجاد کنید. از کد زیر استفاده کنید:

sudo nano /etc/nginx/conf.d/ninja.conf

خط های زیر را اضافه کنید:

server {
    listen  80;
    server_name 192.168.0.227;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen  443 default;
    server_name 192.168.0.227;
    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;
    root /var/www/html/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:/var/run/php-fpm-www-data.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;
       }

فایل را سیو کرده و خارج شوید. سپس هاست مجازی را با قطعه کد زیر فعال کنید:

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

و در اخر. وب سرور Nginx را راه اندازی مجدد کنید. (restart)

گام هفتم: دسترسی صورتحساب Ninja

قبل از دسترسی به رابط وب صورتحساب نینجا. باید از طریق فایروال UFW به سرویس های HTTP و HTTPS اجازه سرویس دهی بدهید. برای انجام این کار ها کد های زیر را اجرا کنید:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

در نهایت، مرورگر وب خود را باز کرده و به  https://192.168.0.227 URL دسترسی پیدا کنید. سپس می توانید مراحل مورد نیاز را برای پایان نصب کامل کنید.

بارگذاری نوشته های مرتبط بیشتر
مطالب بیشتر از این نویسنده مرجان کاظمی
  • Express-js

    تنظیم یک وب سرور Express-js بروی اوبونتو ۱۶٫۴ LTS

    همراهان عزیز اگر قصد خرید هاست لینوکس ویندوز و سرور مجازی دارید با چیتاهاست در ارتباط باشی…
بارگذاری بیشتر در سرورها

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بررسی کنید

تنظیم یک وب سرور Express-js بروی اوبونتو ۱۶٫۴ LTS

همراهان عزیز اگر قصد خرید هاست لینوکس ویندوز و سرور مجازی دارید با چیتاهاست در ارتباط باشی…