Cara Memasang Invoice Ninja di CentOS 7

Pengenalan

Invoice Ninja adalah perisian aplikasi pangkalan web sumber terbuka dan bebas yang boleh digunakan untuk invois, pembayaran, penjejakan masa dan banyak lagi. Ini adalah penyelesaian terbaik untuk membuat invois dan menagih pelanggan. Anda boleh membuat dan menghantar invois secara dalam talian dalam beberapa saat. Invoice Ninja membolehkan anda membuat invois tersuai anda sendiri dan menunjukkan invois langsung sebagai fail PDF.

Dalam tutorial ini, saya akan menerangkan cara memasang Invoice Ninja pada pelayan CentOS 7.

Prasyarat

  • Instance CentOS 7 x64 dengan RAM 2GB dipasang.
  • Pengguna sudo .

Langkah 1: Kemas kini sistem

Sebelum memasang sebarang pakej pada contoh pelayan CentOS, disarankan untuk mengemas kini sistem. Log masuk ke pelayan anda melalui SSH sebagai pengguna sudo anda dan jalankan arahan berikut:

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

Langkah 2: Pasang Pelayan LEMP.

Sebelum memulakan, anda perlu memasang LEMP (Nginx, MariaDB dan PHP) di pelayan anda.

Pertama, pasang Nginx dan MariaDB dengan arahan berikut:

sudo yum install nginx mariadb-server -y

Setelah pemasangan selesai, mulakan perkhidmatan Nginx dan MariaDB dan membolehkan mereka memulakan boot:

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

Seterusnya, anda memerlukan PHP7 dan PHP7.0-FPM untuk pemasangan Invoice Ninja.

Pertama, tambahkan repositori PHP7.0 ke sistem dengan arahan berikut:

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

Seterusnya, pasang PHP7.0-FPM dan sambungan PHP lain yang diperlukan dengan arahan berikut:

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

Setelah pemasangan selesai, anda perlu mengubah fail konfigurasi php.ini:

sudo nano /etc/php.ini

Tukar baris berikut:

cgi.fix_pathinfo=0

Simpan dan tutup fail.

Langkah 3: Konfigurasikan Pangkalan Data

Secara lalai, pemasangan MariaDB tidak diamankan, jadi anda perlu melindunginya terlebih dahulu. Anda boleh melakukan ini dengan menjalankan skrip pemasangan selamat mysql :

sudo mysql_secure_installation

Jawab semua soalan seperti di bawah:

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

Setelah selesai, sambungkan dengan shell MySQL dengan arahan berikut:

mysql -u root -p

Masukkan kata laluan root anda dan tekan enter, anda akan melihat shell MySQL:

Seterusnya, buat pangkalan data baru dan pengguna baru untuk 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

Langkah 4: Konfigurasikan PHP-FPM

Seterusnya, anda perlu mengkonfigurasi kumpulan PHP-FPM untuk pengguna Nginx:

sudo nano /etc/php-fpm.d/www.conf

Tukar baris berikut:

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

Simpan dan tutup fail apabila anda selesai.

Seterusnya, anda perlu membuat direktori baru untuk sesi PHP dan fail soket:

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/

Akhirnya, mulakan perkhidmatan PHP7.0-FPM dan tambahkan untuk memulakan pada waktu boot:

sudo systemctl start php-fpm
systemctl enable php-fpm

Langkah 5: Muat turun dan Konfigurasikan Invoice Ninja

Anda boleh memuat turun versi terkini Invoice Ninja dari repositori GitHub dengan arahan berikut:

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

Anda juga perlu memasang Dependency Manager untuk PHP (komposer). Anda boleh memasangnya dengan arahan berikut:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Seterusnya, pasang semua kebergantungan Invoice Ninja menggunakan arahan komposer seperti yang ditunjukkan di bawah:

cd /var/www/html/ninja
sudo composer install --no-dev -o

Setelah pemasangan selesai, ganti nama fail .env dan buat beberapa perubahan:

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

Tukar garis seperti di bawah:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

Simpan fail apabila anda selesai, kemudian jalankan arahan berikut untuk menyediakan pangkalan data:

sudo php artisan migrate

Anda akan diminta untuk menjalankan perintah, ketik "ya" dan tekan "enter".

Seterusnya, buat pangkalan data dengan rekod seperti di bawah

sudo php artisan db:seed

Taip "ya" dan tekan "enter".

Seterusnya, ubah pemilikan /var/www/html/ninjadirektori:

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

Langkah 6: Konfigurasikan Nginx untuk Invoice Ninja

Seterusnya, anda perlu membuat Sijil SSL dan membuat konfigurasi host maya baru untuk Invoice Ninja.

Pertama, buat direktori untuk SSL:

sudo mkdir -p /etc/nginx/cert/

Seterusnya, buat sijil SSL dengan arahan berikut:

sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

Seterusnya, berikan kebenaran yang betul ke fail sijil:

sudo chmod 600 /etc/nginx/cert/*

Seterusnya, buat fail konfigurasi host maya baru di dalam / etc / nginx / direktori:

sudo nano /etc/nginx/conf.d/ninja.conf

Tambahkan baris berikut:

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

Simpan dan tutup fail dan mulakan semula pelayan web Nginx:

sudo systemctl restart nginx

Langkah 7: Akses Invoice Ninja

Sebelum mengakses antara muka web Invoice Ninja, anda perlu membenarkan perkhidmatan http dan https melalui firewalld. Jalankan arahan di bawah untuk membuka port:

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

Akhirnya, Buka penyemak imbas web anda dan taipkan URL https://192.168.15.23, kemudian selesaikan langkah-langkah yang diperlukan untuk menyelesaikan pemasangan.

Tahniah! kami berjaya memasang Invoice Ninja dengan Nginx dan MariaDB pada pelayan CentOS 7.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut