Prezantimi
Parakushtet
Hapi 1: Përditësoni sistemin
Hapi 2: Instaloni serverin LEMP.
Hapi 3: Konfiguro bazën e të dhënave
Hapi 4: Konfiguro PHP-FPM
Hapi 5: Shkarkoni dhe konfiguroni Faturën Ninja
Hapi 6: Konfiguro Nginx për Ninja-n e faturës
Hapi 7: Hyni në Ninja në faturë
Prezantimi
Invoice Ninja është një softuer aplikimi i bazës së internetit pa pagesë dhe me burim të hapur që mund të përdoret për faturim, pagesa, gjurmim të kohës dhe shumë të tjera. Është zgjidhja më e mirë për faturimin dhe faturimin e klientëve. Ju lehtë mund të krijoni dhe dërgoni fatura në internet në sekonda. Invoice Ninja ju lejon të krijoni faturën tuaj të personalizuar dhe të shfaqni faturën drejtpërdrejt si skedar PDF.
Në këtë tutorial, unë do t'ju shpjegoj se si të instaloni Invoice Ninja në serverin CentOS 7.
Parakushtet
- Një shembull CentOS 7 x64 me 2 GB RAM të instaluar.
- Një përdorues sudo .
Hapi 1: Përditësoni sistemin
Përpara se të instaloni ndonjë paketë në një shembull të serverit CentOS, rekomandohet të përditësoni sistemin. Hyni në serverin tuaj nëpërmjet SSH si përdoruesi juaj sudo dhe ekzekutoni komandën e mëposhtme:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Hapi 2: Instaloni serverin LEMP.
Para se të filloni, do t'ju duhet të instaloni LEMP (Nginx, MariaDB dhe PHP) në serverin tuaj.
Së pari, instaloni Nginx dhe MariaDB me komandën e mëposhtme:
sudo yum install nginx mariadb-server -y
Pasi të përfundojë instalimi, filloni shërbimin Nginx dhe MariaDB dhe mundësojini ata të fillojnë në boot:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
Më pas, do t'ju nevojiten PHP7 dhe PHP7.0-FPM për instalimin e Invoice Ninja.
Së pari, shtoni depo PHP7.0 në sistem me komandën e mëposhtme:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Më pas, instaloni PHP7.0-FPM dhe shtesat e tjera të kërkuara PHP me komandën e mëposhtme:
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
Pasi të përfundojë instalimi, do t'ju duhet të modifikoni skedarin e konfigurimit php.ini:
sudo nano /etc/php.ini
Ndryshoni rreshtin e mëposhtëm:
cgi.fix_pathinfo=0
Ruani dhe mbyllni skedarin.
Si parazgjedhje, instalimi i MariaDB nuk është i siguruar, kështu që së pari do t'ju duhet ta siguroni atë. Ju mund ta bëni këtë duke ekzekutuar skriptin e instalimit të sigurt mysql :
sudo mysql_secure_installation
Përgjigjuni të gjitha pyetjeve siç tregohet më poshtë:
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
Kur gjithçka të ketë mbaruar, lidheni me MySQL shell me komandën e mëposhtme:
mysql -u root -p
Futni fjalëkalimin tuaj root dhe shtypni enter, do të shihni guaskën MySQL:
Më pas, krijoni një bazë të dhënash të re dhe një përdorues të ri për Invoice Ninja:
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
Tjetra, do t'ju duhet të konfiguroni grupin PHP-FPM për përdoruesin Nginx:
sudo nano /etc/php-fpm.d/www.conf
Ndryshoni linjat e mëposhtme:
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
Ruani dhe mbyllni skedarin kur të keni mbaruar.
Më pas, do t'ju duhet të krijoni një direktori të re për sesionin PHP dhe skedarin e folesë:
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/
Më në fund, filloni shërbimin PHP7.0-FPM dhe shtoni atë për të filluar në kohën e nisjes:
sudo systemctl start php-fpm
systemctl enable php-fpm
Ju mund të shkarkoni versionin më të fundit të qëndrueshëm të Invoice Ninja nga depoja e GitHub me komandën e mëposhtme:
cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja
Do t'ju duhet gjithashtu të instaloni Dependency Manager për PHP (kompozitor). Mund ta instaloni me komandën e mëposhtme:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
Më pas, instaloni të gjitha varësitë e Faturës Ninja duke përdorur komandën e kompozitorit siç tregohet më poshtë:
cd /var/www/html/ninja
sudo composer install --no-dev -o
Pasi të kryhet instalimi, riemërtoni skedarin .env dhe bëni disa ndryshime:
sudo mv .env.example .env
sudo nano .env
Ndryshoni linjat siç tregohet më poshtë:
DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password
Ruani skedarin kur të keni mbaruar, më pas ekzekutoni komandën e mëposhtme për të përgatitur bazën e të dhënave:
sudo php artisan migrate
Do t'ju kërkohet të ekzekutoni komandën, shkruani "po" dhe shtypni "enter".
Më pas, vendosni bazën e të dhënave me regjistrime siç tregohet më poshtë:
sudo php artisan db:seed
Shkruani "po" dhe shtypni "enter".
Më pas, ndryshoni pronësinë e /var/www/html/ninjadrejtorisë:
sudo chown -R nginx:nginx /var/www/html/ninja/
Më pas, do t'ju duhet të krijoni një Certifikatë SSL dhe të krijoni një konfigurim të ri të hostit virtual për Invoice Ninja.
Së pari, krijoni një direktori për SSL:
sudo mkdir -p /etc/nginx/cert/
Më pas, gjeneroni një certifikatë SSL me komandën e mëposhtme:
sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key
Tjetra, jepni lejen e duhur skedarit të certifikatës:
sudo chmod 600 /etc/nginx/cert/*
Më pas, krijoni një skedar të ri të konfigurimit të hostit virtual brenda drejtorisë /etc/nginx/:
sudo nano /etc/nginx/conf.d/ninja.conf
Shtoni rreshtat e mëposhtëm:
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;
}
}
Ruani dhe mbyllni skedarin dhe rinisni serverin në internet Nginx:
sudo systemctl restart nginx
Hapi 7: Hyni në Ninja në faturë
Përpara se të hyni në ndërfaqen në internet të Invoice Ninja, do t'ju duhet të lejoni shërbimin http dhe https përmes murit të zjarrit. Ekzekutoni komandat e mëposhtme për të hapur portat:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Më në fund, hapni shfletuesin tuaj të internetit dhe shkruani URL-në https://192.168.15.23, më pas plotësoni hapat e kërkuar për të përfunduar instalimin.
urime! ne kemi instaluar me sukses Invoice Ninja me Nginx dhe MariaDB në serverin CentOS 7.