วิธีการติดตั้ง Invoice Ninja บน CentOS 7

บทนำ

Invoice Ninja เป็นซอฟต์แวร์แอปพลิเคชั่นบนเว็บแบบโอเพนซอร์สฟรีที่สามารถใช้สำหรับการออกใบแจ้งหนี้การชำระเงินการติดตามเวลาและอื่น ๆ อีกมากมาย มันเป็นทางออกที่ดีที่สุดสำหรับลูกค้าที่ออกใบแจ้งหนี้และเรียกเก็บเงิน คุณสามารถสร้างและส่งใบแจ้งหนี้ออนไลน์ในไม่กี่วินาที นินจาใบแจ้งหนี้ช่วยให้คุณสร้างใบแจ้งหนี้ที่กำหนดเองของคุณเองและแสดงใบแจ้งหนี้สดเป็นไฟล์ PDF

ในบทช่วยสอนนี้ฉันจะอธิบายวิธีติดตั้ง Invoice Ninja บนเซิร์ฟเวอร์ CentOS 7

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์ CentOS 7 x64 พร้อม 2GB RAM ติดตั้ง
  • sudo ผู้ใช้

ขั้นตอนที่ 1: อัปเดตระบบ

ก่อนที่จะติดตั้งแพ็กเกจใด ๆ บนอินสแตนซ์ของเซิร์ฟเวอร์ CentOS ขอแนะนำให้อัพเดตระบบ ล็อกอินเข้าสู่เซิร์ฟเวอร์ของคุณผ่าน SSH ในฐานะผู้ใช้ sudo ของคุณและรันคำสั่งต่อไปนี้:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

ขั้นตอนที่ 2: ติดตั้งเซิร์ฟเวอร์ LEMP

ก่อนเริ่มต้นคุณจะต้องติดตั้ง LEMP (Nginx, MariaDB และ PHP) ในเซิร์ฟเวอร์ของคุณ

ก่อนอื่นให้ติดตั้ง Nginx และ MariaDB ด้วยคำสั่งต่อไปนี้:

sudo yum install nginx mariadb-server -y

เมื่อการติดตั้งเสร็จสมบูรณ์ให้เริ่มบริการ Nginx และ MariaDB และเปิดใช้งานการเริ่มต้นในการบู๊ต:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb

ถัดไปคุณจะต้องใช้ PHP7 และ PHP7.0-FPM สำหรับการติดตั้ง Invoice Ninja

ขั้นแรกให้เพิ่มที่เก็บ PHP7.0 ไปยังระบบด้วยคำสั่งต่อไปนี้:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

ถัดไปติดตั้ง PHP7.0-FPM และส่วนขยาย PHP ที่จำเป็นอื่น ๆ ด้วยคำสั่งต่อไปนี้:

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

เมื่อการติดตั้งเสร็จสิ้นคุณจะต้องแก้ไขไฟล์การกำหนดค่า php.ini:

sudo nano /etc/php.ini

เปลี่ยนบรรทัดต่อไปนี้:

cgi.fix_pathinfo=0

บันทึกและปิดไฟล์

ขั้นตอนที่ 3: กำหนดค่าฐานข้อมูล

ตามค่าเริ่มต้นการติดตั้ง MariaDB จะไม่ปลอดภัยดังนั้นคุณจะต้องปลอดภัยก่อน คุณสามารถทำได้โดยเรียกใช้สคริปต์การติดตั้งที่ปลอดภัย mysql :

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 shell ด้วยคำสั่งต่อไปนี้:

mysql -u root -p

ป้อนรหัสผ่านรูทของคุณและกด Enter คุณจะเห็นเปลือก MySQL:

ถัดไปสร้างฐานข้อมูลใหม่และผู้ใช้ใหม่สำหรับ 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

ขั้นตอนที่ 4: กำหนดค่า PHP-FPM

ถัดไปคุณจะต้องกำหนดค่าพูล PHP-FPM สำหรับผู้ใช้ Nginx:

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

บันทึกและปิดไฟล์เมื่อดำเนินการเสร็จ

ถัดไปคุณจะต้องสร้างไดเรกทอรีใหม่สำหรับเซสชัน PHP และไฟล์ซ็อกเก็ต:

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/

ในที่สุดเริ่มบริการ PHP7.0-FPM และเพิ่มเพื่อเริ่มต้นในเวลาบูต:

sudo systemctl start php-fpm
systemctl enable php-fpm

ขั้นตอนที่ 5: ดาวน์โหลดและกำหนดค่า Invoice Ninja

คุณสามารถดาวน์โหลด Invoice Ninja รุ่นล่าสุดได้จากที่เก็บ GitHub ด้วยคำสั่งต่อไปนี้:

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

คุณจะต้องติดตั้ง Dependency Manager สำหรับ PHP (ผู้แต่ง) คุณสามารถติดตั้งได้ด้วยคำสั่งต่อไปนี้:

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

เมื่อติดตั้งเสร็จแล้วให้เปลี่ยนชื่อไฟล์. env และทำการเปลี่ยนแปลงบางอย่าง:

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

เปลี่ยนบรรทัดที่แสดงด้านล่าง:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

บันทึกไฟล์เมื่อเสร็จแล้วเรียกใช้คำสั่งต่อไปนี้เพื่อเตรียมฐานข้อมูล:

sudo php artisan migrate

คุณจะได้รับแจ้งให้เรียกใช้คำสั่งพิมพ์ "ใช่" และกด "Enter"

ถัดไป seed ฐานข้อมูลด้วยเร็กคอร์ดที่แสดงด้านล่าง:

sudo php artisan db:seed

พิมพ์ "ใช่" แล้วกด "Enter"

ถัดไปเปลี่ยนความเป็นเจ้าของ/var/www/html/ninjaไดเรกทอรี:

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

ขั้นตอนที่ 6: กำหนดค่า Nginx สำหรับนินจาใบแจ้งหนี้

ถัดไปคุณจะต้องสร้างใบรับรอง SSL และสร้างการกำหนดค่าโฮสต์เสมือ���ใหม่สำหรับ Invoice Ninja

ก่อนอื่นให้สร้างไดเรกทอรีสำหรับ 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 / directory:

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;
       }
    }

บันทึกและปิดไฟล์และรีสตาร์ทเว็บเซิร์ฟเวอร์ Nginx:

sudo systemctl restart nginx

ขั้นตอนที่ 7: เข้าถึงใบแจ้งหนี้นินจา

ก่อนที่จะเข้าถึงอินเทอร์เฟซเว็บนินจาใบแจ้งหนี้คุณจะต้องอนุญาตให้บริการ http และ https ผ่านไฟร์วอลล์ เรียกใช้คำสั่งด้านล่างเพื่อเปิดพอร์ต:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

สุดท้ายเปิดเว็บเบราว์เซอร์ของคุณแล้วพิมพ์ URL https://192.168.15.23จากนั้นทำตามขั้นตอนที่จำเป็นเพื่อติดตั้งให้เสร็จ

ขอแสดงความยินดี! เราได้ติดตั้ง Invoice Ninja กับ Nginx และ MariaDB เรียบร้อยแล้วบนเซิร์ฟเวอร์ CentOS 7

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true