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.