Kanboard adalah perangkat lunak manajemen proyek sumber terbuka yang membantu Anda mengelola proyek dan memvisualisasikan alur kerja Anda. Ini menggunakan metodologi Kanban dan dirancang khusus untuk tim kecil yang fokus pada minimalis dan kesederhanaan. Kanban menyediakan antarmuka web yang sederhana dan mudah digunakan yang memungkinkan Anda mengelola proyek melalui browser web. Anda juga dapat mengintegrasikan Kanban ke layanan eksternal menggunakan plugin.
Dalam tutorial ini, kami akan menunjukkan cara menginstal Kanban dengan Nginx dan Let's Encrypt SSL di CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Nama domain valid yang ditunjukkan dengan IP server Anda.
- Kata sandi root dikonfigurasi di server Anda.
Instal Server LEMP
Pertama, Anda perlu menginstal Nginx, MariaDB, PHP dan ekstensi PHP lainnya ke server Anda. Anda dapat menginstal semuanya dengan perintah berikut:
dnf install nginx mariadb-server php php-fpm php-mbstring php-cli php-json php-opcache php-zip php-xml php-gd php-ldap php-mysqli php-sqlite3 php-json php-dom -y
Setelah semua paket terinstal, mulai layanan Nginx, PHP-FPM dan MariaDB dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:
systemctl start mariadb
systemctl enable mariadb
systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable php-fpm
Selanjutnya, edit file konfigurasi PHP-FPM dan ubah pengguna dan grup dari apache menjadi nginx.
nano /etc/php-fpm.d/www.conf
Ubah baris berikut:
user = nginx group = nginx
Simpan dan tutup file kemudian restart layanan PHP-FPM untuk menerapkan perubahan:
systemctl restart php-fpm
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Buat Database untuk Kanban
Kanban menggunakan SQLite dan MariaDB sebagai backend database. Jadi, Anda perlu membuat database dan pengguna untuk Kanban.
Pertama, sambungkan ke MariaDB dengan perintah berikut:
mysql
Setelah terhubung, buat database dan pengguna dengan perintah berikut:
MariaDB [(none)]> CREATE DATABASE kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost' IDENTIFIED BY 'password';
Selanjutnya, flush hak istimewa dan keluar dari MariaDB dengan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Setelah database dan pengguna dibuat, Anda dapat melanjutkan ke langkah berikutnya.
Unduh Kanban
Pertama, Anda perlu mengunduh Kanban versi terbaru dari repositori Git Hub. Anda dapat mengunduhnya dengan perintah berikut:
wget https://github.com/kanboard/kanboard/archive/v1.2.18.tar.gz
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvzf v1.2.18.tar.gz
Selanjutnya, pindahkan direktori hasil ekstrak ke direktori root web Nginx dengan perintah berikut:
mv kanboard-1.2.18 /var/www/html/kanboard
Selanjutnya, ubah direktori ke root web Nginx dan salin contoh file konfigurasi:
cd /var/www/html/kanboard
cp config.default.php config.php
Selanjutnya, edit file konfigurasi dan tentukan pengaturan database Anda:
nano config.php
Ubah baris berikut sesuai database Anda:
define('DB_DRIVER', 'mysql'); // Mysql/Postgres username define('DB_USERNAME', 'kanboard'); // Mysql/Postgres password define('DB_PASSWORD', 'password'); // Mysql/Postgres hostname define('DB_HOSTNAME', 'localhost'); // Mysql/Postgres database name define('DB_NAME', 'kanboard');
Simpan dan tutup file setelah Anda selesai. Selanjutnya, atur kepemilikan dan izin dengan perintah berikut:
chown -R nginx:nginx /var/www/html/kanboard
chmod -R 775 /var/www/html/kanboard
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Nginx untuk Kanban
Selanjutnya, Anda perlu membuat file konfigurasi virtual host Nginx untuk meng-host Kanban. Anda dapat membuatnya dengan perintah berikut:
nano /etc/nginx/conf.d/kanboard.conf
Tambahkan baris berikut:
server { listen 80; server_name kanboard.example.com; index index.php; root /var/www/html/kanboard; client_max_body_size 32M; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } location ~* ^.+\.(log|sqlite)$ { return 404; } location ~ /\.ht { return 404; } location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ { log_not_found off; expires 7d; etag on; } gzip on; gzip_comp_level 3; gzip_disable "msie6"; gzip_vary on; gzip_types text/javascript application/javascript application/json text/xml application/xml application/rss+xml text/css text/plain; }
Simpan dan tutup file setelah Anda selesai. Kemudian, verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan melihat output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Terakhir, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Pada titik ini, Nginx dikonfigurasi untuk melayani kanban. Sekarang Anda dapat melanjutkan untuk mengakses dasbor kanban.
Konfigurasi SELinux dan Firewall
Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda perlu mengonfigurasi konteks SELinux untuk Kanban. Anda dapat mengkonfigurasinya dengan perintah berikut:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/kanban
Selanjutnya, izinkan port 80 dan 443 melalui firewalld dengan perintah berikut:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Mengakses Dasbor Kanban
Sekarang, buka browser web Anda dan akses dasbor kanban menggunakan URL http://kanban.example.com . Anda akan
diarahkan ke halaman login admin Kanban:
Berikan, nama pengguna dan sandi default sebagai admin / admin dan klik Masuk tombol. Anda akan melihat dasbor Kanban di halaman berikut:
Amankan Kanban Dengan Mari Enkripsi SSL
Selanjutnya, Anda perlu menginstal utilitas Certbot di sistem Anda untuk mengunduh dan menginstal Let's Encrypt SSL untuk domain Let's Chat.
Anda dapat menginstal klien Certbot dengan perintah berikut:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Selanjutnya, dapatkan dan instal sertifikat SSL untuk domain let Anda dengan perintah berikut:
certbot-auto --nginx -d kanban.example.com
Perintah di atas pertama-tama akan menginstal semua dependensi yang diperlukan di server Anda. Setelah terinstal, Anda akan diminta untuk memberikan alamat email dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx 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 Obtaining a new certificate Performing the following challenges: http-01 challenge for kanban.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/kanban.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 melanjutkan. Setelah instalasi selesai, Anda akan melihat output berikut:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/kanban.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://kanban.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=kanban.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/kanban.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/kanban.example.com/privkey.pem Your cert will expire on 2021-04-2. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto 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
Sekarang Anda dapat mengakses Kanban Anda dengan aman menggunakan URL https://kanban.example.com .
Kesimpulan
Selamat! Anda telah berhasil menginstal Kanban dengan Nginx dan Let's Encrypt SSL di CentOS 8. Sekarang Anda dapat mengimplementasikan Kanban di lingkungan pengembangan dan mulai bekerja sama. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.