GNU/Linux >> Belajar Linux >  >> Debian

Cara Instal InvoicePlane dengan Apache dan Lets Encrypt SSL Certificate Gratis di Debian 11

InvoicePlane adalah aplikasi gratis, sumber terbuka, dan dihosting sendiri untuk mengelola penawaran, faktur, klien, dan pembayaran Anda. Ini digunakan oleh banyak organisasi dan pekerja lepas untuk mengelola pembayaran dan faktur mereka. Ini menawarkan templat, tema, dan alat khusus lainnya yang membantu Anda meningkatkan fungsionalitas InvoicePlane. Ini juga mendukung banyak bahasa dan beberapa penyedia pembayaran seperti Paypal, Stripe, atau bahkan Bitcoin melalui Coinbase.

Dalam tutorial ini, kami akan menunjukkan cara menginstal InvoicePlane dengan Apache di Debian 11.

Prasyarat

  • Server yang menjalankan Debian 11.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server.

Instal Apache, PHP, dan MariaDB

Pertama, Anda perlu menginstal server web Apache, server database MariaDB, PHP, dan ekstensi PHP lain yang diperlukan ke server Anda. Anda dapat menginstal semuanya dengan menjalankan perintah berikut:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql wget unzip php-cli php-zip php-curl -y

Setelah semua paket diinstal, edit file konfigurasi PHP dan ubah pengaturan default:

nano /etc/php/7.4/apache2/php.ini

Ubah baris berikut:

memory_limit = 256M
upload_max_filesize = 128M
max_execution_time = 360
date.timezone = UTC

Simpan dan tutup file kemudian restart layanan Apache untuk menerapkan perubahan:

systemctl restart apache2

Buat Database untuk InvoicePlane

Selanjutnya, Anda perlu mengamankan instalasi MariaDB dan membuat database dan pengguna untuk InvoicePlane.

Pertama, amankan instalasi MariaDB menggunakan perintah berikut:

mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:

Set root password? [Y/n] Y
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

Selanjutnya, sambungkan ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Setelah Anda terhubung, buat database dan pengguna untuk InvoicePlane dengan perintah berikut:

MariaDB [(none)]> CREATE DATABASE invplanedb;
MariaDB [(none)]> CREATE USER 'invplane'@'localhost' IDENTIFIED BY 'password';

Selanjutnya, berikan semua hak istimewa ke InvoicePlane dengan perintah berikut:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON invplanedb.* TO 'invplane'@'localhost';

Selanjutnya jalankan perintah FLUSH PRIVILEGES agar tabel privileges akan di reload oleh MariaDB:

MariaDB [(none)]> FLUSH PRIVILEGES;

Terakhir, keluar dari shell MariaDB:

MariaDB [(none)]> EXIT

Instal InvoicePlane

Pertama, unduh versi terbaru dari InvoicePlane dengan perintah berikut:

wget -c -O v1.5.11.zip https://invoiceplane.com/download/v1.5.11

Setelah unduhan selesai, buat direktori untuk InvoicePlane dan ekstrak file yang diunduh di dalam direktori InvoicePlane:

mkdir /var/www/html/invoiceplane
unzip v1.5.11.zip -d /var/www/html/invoiceplane

Selanjutnya, navigasikan ke direktori InvoicePlane dan ganti nama file konfigurasi dan file .htaccess:

cd /var/www/html/invoiceplane
cp ipconfig.php.example ipconfig.php
cp htaccess .htaccess

Selanjutnya, edit file ipconfig.php dengan perintah berikut:

nano ipconfig.php

Tentukan URL situs web dan pengaturan basis data Anda seperti yang ditunjukkan di bawah ini:

IP_URL=http://invoice.example.com
DB_HOSTNAME=localhost
DB_USERNAME=invplane
DB_PASSWORD=password
DB_DATABASE=invplanedb
DB_PORT=3306

Selanjutnya, atur izin dan kepemilikan yang tepat ke direktori InvoicePlane:

chown -R www-data:www-data /var/www/html/invoiceplane/
chmod -R 755 /var/www/html/invoiceplane/

Konfigurasi Apache untuk InvoicePlane

Selanjutnya, Anda perlu membuat file konfigurasi host virtual Apache untuk InvoicePlane. Anda dapat membuatnya dengan perintah berikut:

nano /etc/apache2/sites-available/invoiceplane.conf

Tambahkan baris berikut:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/invoiceplane
     ServerName invoice.example.com


     <Directory /var/www/html/invoiceplane/>
          Options +FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Simpan dan tutup file kemudian aktifkan Apache virtual host dan rewrite module dengan perintah berikut:

a2ensite invoiceplane.conf
a2enmod rewrite

Selanjutnya, restart layanan Apache untuk menerapkan perubahan konfigurasi:

systemctl restart apache2

Untuk memverifikasi status Apache, jalankan perintah berikut:

systemctl status apache2

Anda akan mendapatkan output berikut:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-01-21 08:42:34 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 15965 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 15970 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 15.1M
        CPU: 82ms
     CGroup: /system.slice/apache2.service
             ??15970 /usr/sbin/apache2 -k start
             ??15971 /usr/sbin/apache2 -k start
             ??15972 /usr/sbin/apache2 -k start
             ??15973 /usr/sbin/apache2 -k start
             ??15974 /usr/sbin/apache2 -k start
             ??15975 /usr/sbin/apache2 -k start

Jan 21 08:42:34 debian11 systemd[1]: Starting The Apache HTTP Server...

Mengakses UI Web InvoicePlane

Sekarang, buka browser web Anda dan akses antarmuka web InvoicePlane menggunakan URL http://invoice.example.com . Anda akan melihat halaman berikut:

Klik Penyiapan tombol. Anda akan melihat halaman pemilihan Bahasa:

Pilih bahasa Anda dan klik Lanjutkan tombol. Anda akan melihat halaman prasyarat:

Klik Lanjutkan tombol. Anda akan melihat halaman berikut:

Klik Lanjutkan tombol. Anda akan melihat halaman berikut:

Klik Lanjutkan tombol. Anda akan melihat halaman berikut:

Berikan informasi akun pengguna admin, alamat, dan klik Lanjutkan tombol. Setelah InvoicePlane diinstal, Anda akan melihat halaman berikut:

Klik Masuk tombol. Anda akan melihat halaman berikut:

Berikan nama pengguna admin, kata sandi Anda, lalu klik Masuk tombol. Anda akan melihat dasbor InvoicePlane di halaman berikut:

Amankan InvoicePlane dengan Let's Encrypt SSL

Itu selalu merupakan ide yang baik untuk mengamankan situs web Anda dengan Let's Encrypt SSL. Anda perlu menginstal klien Certbot untuk menginstal dan mengelola SSL. Anda dapat menginstalnya dengan perintah berikut:

apt-get install python3-certbot-apache -y

Setelah Certbot terinstal, jalankan perintah berikut untuk mengamankan situs web Anda dengan Let's Encrypt SSL:

certbot --apache -d invoice.example.com

Anda akan diminta untuk memberikan email Anda dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for invoice.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/invoice-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/invoice-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/invoice-le-ssl.conf

Selanjutnya, pilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS seperti yang ditunjukkan di bawah ini:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Ketik 2 dan tekan Enter untuk menginstal Let's Encrypt SSL untuk situs web Anda:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/invoice.conf to ssl vhost in /etc/apache2/sites-available/invoice-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://invoice.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=invoice.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/invoice.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/invoice.example.com/privkey.pem
   Your cert will expire on 2022-04-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Kesimpulan

Selamat! Anda telah berhasil menginstal InvoicePlane dengan Apache dan Let's Encrypt SSL di Debian 11. Sekarang Anda dapat menerapkan InvoicePlane di perusahaan Anda dan mulai mengelola pembayaran dan faktur dari browser web.


Debian
  1. Cara Menginstal Tiki Wiki dengan Apache dan Mengenkripsi SSL di Debian 10

  2. Cara Install Automad CMS dengan Apache dan Lets Encrypt di Debian 10

  3. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi di Debian 10

  1. Cara Instal OpenCart dengan Nginx dan Lets Encrypt di Debian 10

  2. Cara Menginstal Drupal 9 dengan Nginx dan Mengenkripsi SSL di Debian 10

  3. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi SSL di CentOS 8

  1. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10

  2. Cara Menginstal CMS Concrete5 dengan Apache dan Lets Encrypt SSL gratis di Ubuntu 20.04

  3. Cara Menginstal Drupal dengan Apache dan Mengenkripsi SSL di Debian 11