Увод
Предуслови
Корак 1: Ажурирајте систем
Корак 2: Инсталирајте ЛЕМП сервер.
Корак 3: Конфигуришите базу података
Корак 4: Конфигуришите ПХП-ФПМ
Корак 5: Преузмите и конфигуришите фактуру Ниња
Корак 6: Конфигуришите Нгинк за Инвоице Ниња
Корак 7: Приступите фактури Ниња
Увод
Инвоице Ниња је бесплатни софтвер за веб-базе отвореног кода који се може користити за фактурисање, плаћања, праћење времена и још много тога. То је најбоље решење за фактурисање и наплату купаца. Можете лако да креирате и шаљете фактуре на мрежи за неколико секунди. Инвоице Ниња вам омогућава да креирате сопствену прилагођену фактуру и прикажете фактуру уживо као ПДФ датотеку.
У овом водичу ћу вам објаснити како да инсталирате Инвоице Ниња на ЦентОС 7 сервер.
Предуслови
Корак 1: Ажурирајте систем
Пре инсталирања било ког пакета на инстанци ЦентОС сервера, препоручује се ажурирање система. Пријавите се на свој сервер преко ССХ-а као ваш судо корисник и покрените следећу команду:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Корак 2: Инсталирајте ЛЕМП сервер.
Пре него што почнете, мораћете да инсталирате ЛЕМП (Нгинк, МариаДБ и ПХП) на ваш сервер.
Прво, инсталирајте Нгинк и МариаДБ са следећом командом:
sudo yum install nginx mariadb-server -y
Када се инсталација заврши, покрените Нгинк и МариаДБ услугу и омогућите им да почну при покретању:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
Затим ће вам требати ПХП7 и ПХП7.0-ФПМ за инсталацију Инвоице Ниња.
Прво додајте ПХП7.0 спремиште у систем са следећом командом:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Затим инсталирајте ПХП7.0-ФПМ и друге потребне ПХП екстензије са следећом командом:
sudo yum install install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-curl php70w-gmp php70w-pdo php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt -y
Када се инсталација заврши, мораћете да измените конфигурациону датотеку пхп.ини:
sudo nano /etc/php.ini
Промените следећу линију:
cgi.fix_pathinfo=0
Сачувајте и затворите датотеку.
Подразумевано, инсталација МариаДБ-а није обезбеђена, тако да ћете прво морати да је обезбедите. То можете учинити тако што ћете покренути скрипту за безбедну инсталацију мискл:
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-fpm.d/www.conf
Промените следеће редове:
user = nginx
group = nginx
listen = /var/run/php/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
Сачувајте и затворите датотеку када завршите.
Затим ћете морати да креирате нови директоријум за ПХП сесију и датотеку соцкета:
sudo mkdir -p /var/lib/php/session
sudo mkdir -p /var/run/php/
sudo chown -R nginx:nginx /var/lib/php/session/
sudo chown -R nginx:nginx /var/run/php/
Коначно, покрените ПХП7.0-ФПМ услугу и додајте је да почне при покретању:
sudo systemctl start php-fpm
systemctl enable php-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
Затим инсталирајте све зависности Ниња фактура користећи команду цомпосер као што је приказано у наставку:
cd /var/www/html/ninja
sudo composer install --no-dev -o
Када се инсталација заврши, преименујте .енв датотеку и унесите неке измене:
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 nginx:nginx /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/*
Затим креирајте нову конфигурациону датотеку виртуелног хоста унутар /етц/нгинк/ директоријума:
sudo nano /etc/nginx/conf.d/ninja.conf
Додајте следеће редове:
server {
listen 80;
server_name 192.168.15.23;
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 default;
server_name 192.168.15.23;
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/php-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;
}
}
Сачувајте и затворите датотеку и поново покрените Нгинк веб сервер:
sudo systemctl restart nginx
Корак 7: Приступите фактури Ниња
Пре него што приступите веб интерфејсу Инвоице Ниња, мораћете да омогућите хттп и хттпс услугу преко фиреваллд-а. Покрените наредбе у наставку да бисте отворили портове:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
На крају, отворите свој веб претраживач и откуцајте УРЛ https://192.168.15.23, а затим довршите потребне кораке да бисте завршили инсталацију.
Честитам! успешно смо инсталирали Инвоице Ниња са Нгинк-ом и МариаДБ на ЦентОС 7 серверу.