Si të instaloni Ninja faturë në CentOS 7

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.

Hapi 3: Konfiguro bazën e të dhënave

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

Hapi 4: Konfiguro PHP-FPM

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

Hapi 5: Shkarkoni dhe konfiguroni Faturën Ninja

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/

Hapi 6: Konfiguro Nginx për Ninja-n e faturës

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.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë