Увод
Предуслови
Корак 1: Ажурирајте систем
Корак 2: Инсталирајте ЛЕМП стек
Корак 3: Конфигуришите базу података
Корак 4: Конфигуришите ПХП-ФПМ
Корак 5: Преузмите и конфигуришите Инвоице Ниња
Корак 6: Конфигуришите Нгинк за Инвоице Ниња
Корак 7: Приступите фактури Ниња
Увод
Инвоице Ниња је бесплатна веб апликација отвореног кода која се може користити за фактурисање, плаћања, праћење времена и још много тога. То је најбоље решење за фактурисање и наплату купаца. Можете лако да креирате и шаљете фактуре на мрежи за неколико секунди. Инвоице Ниња вам омогућава да креирате прилагођене фактуре и прикажете фактуре уживо као ПДФ датотеку.
У овом водичу ћу објаснити како да инсталирам Инвоице Ниња на Убунту 16.04 сервер.
Предуслови
- Инстанца сервера Убунту 16.04 са инсталираним 2 ГБ РАМ-а.
- Судо корисник са роот привилегијама.
- Мораћете да знате главну ИП инстанцу вашег сервера. У овом водичу користићу
192.168.0.227.
Корак 1: Ажурирајте систем
Пре инсталирања било ког пакета на инстанци Убунту сервера, препоручује се ажурирање система. Пријавите се на свој сервер преко ССХ-а као ваш судо корисник и покрените следећу команду:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
Корак 2: Инсталирајте ЛЕМП стек
Пре него што почнете, мораћете да конфигуришете ЛЕМП (Нгинк, МариаДБ и ПХП) стек на вашем серверу.
Прво, инсталирајте Нгинк и МариаДБ са следећом командом:
sudo apt-get install nginx mariadb-server -y
Када се инсталација заврши, покрените Нгинк и МариаДБ услуге и омогућите им да почну при покретању:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysql
sudo systemctl enable mysql
Затим ће вам требати ПХП 7 и ПХП-ФПМ за инсталацију Инвоице Ниња.
Можете да инсталирате ПХП-ФПМ и друге потребне ПХП екстензије помоћу следеће команде:
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
Сачувајте и затворите датотеку.
Подразумевано, инсталација МариаДБ-а није обезбеђена. Мораћете да га обезбедите. То можете учинити тако што ћете покренути 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 -u root -p
Унесите своју роот лозинку и притисните "ентер", видећете МиСКЛ (МариаДБ) шкољку.
Креирајте нову базу података и новог корисника за Инвоице Ниња.
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
Конфигуришите ПХП-ФПМ скуп за Нгинк корисника:
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 = /
Сачувајте и затворите датотеку када завршите, а затим поново покрените ПХП-ФПМ да бисте применили ове промене.
systemctl restart php7.0-fpm
Можете да преузмете најновију стабилну верзију Инвоице Ниња из ГитХуб спремишта помоћу следеће команде:
cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja
Такође ћете морати да инсталирате Цомпосер, менаџер зависности за ПХП. Можете га инсталирати следећом командом:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
Затим инсталирајте све зависности Ниња фактура користећи 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
Од вас ће бити затражено да покренете команду, откуцајте "да" и притисните "ентер".
Затим попуните базу података записима као што је приказано у наставку:
sudo php artisan db:seed
Откуцајте "да" и притисните "ентер".
Затим промените власништво над /var/www/html/ninjaдиректоријумом:
sudo chown -R www-data:www-data /var/www/html/ninja/
Затим ћете морати да креирате ССЛ сертификат и креирате нову конфигурацију виртуелног хоста за Инвоице Ниња.
Прво направите директоријум за ССЛ:
sudo mkdir -p /etc/nginx/cert/
Затим генеришете ССЛ сертификат са следећом командом:
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/
На крају, поново покрените Нгинк веб сервер.
sudo systemctl restart nginx
Корак 7: Приступите фактури Ниња
Пре него што приступите веб интерфејсу Инвоице Ниња, мораћете да дозволите ХТТП и ХТТПС услуге преко УФВ заштитног зида. Покрените следеће команде да отворите ове портове:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
На крају, отворите свој веб претраживач и приступите УРЛ адреси https://192.168.0.227. Затим можете довршити потребне кораке да бисте завршили инсталацију.
Честитам! Успешно смо инсталирали Инвоице Ниња са Нгинк-ом и МариаДБ на Убунту 16.04 серверу.