Restyaboard adalah aplikasi papan Kanban sumber terbuka dan gratis. Ini adalah alternatif terbaik yang dihosting sendiri untuk Trello. Itu ditulis dalam PHP dan menggunakan PostgreSQL untuk menyimpan database-nya.
Dalam tutorial ini, kita akan menginstal Restyaboard di server CentOS 7.
Prasyarat
- Minimal CentOS 7 server
- Hak istimewa root
Langkah 1 - Instal Nginx
Sebelum menginstal paket apa pun, Anda disarankan untuk memperbarui paket dan repositori menggunakan perintah berikut.
yum -y update
Nginx tidak tersedia di repositori CentOS YUM default, maka kita perlu menginstal repositori EPEL juga. Anda dapat menginstal EPEL dengan mengetik:
yum -y install epel-release
Sekarang Anda dapat menginstal nginx dengan mengetik:
yum -y install nginx
Setelah penginstalan selesai, Anda dapat menjalankan perintah berikut untuk memulai nginx dan mengaktifkannya untuk memulai secara otomatis saat boot menggunakan perintah berikut.
systemctl start nginx systemctl aktifkan nginx
Nginx seharusnya sudah berjalan di server Anda sekarang.
Langkah 2 - Instal dan Konfigurasi PHP-FPM dengan Mbstring
Restyaboard mendukung PHP 7.0, maka kami akan menginstal PHP 7.0 untuk keamanan dan kinerja yang maksimal. PHP 7.0 tidak tersedia di repositori YUM atau EPEL, maka kita perlu menginstal repositori Webtatic untuk hal yang sama. Jalankan perintah berikut untuk menginstal repositori Webtatic.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Sekarang Instal PHP 7.0 dengan PHP-FPM bersama dengan modul lain yang diperlukan.
yum -y install php70w php70w-fpm php70w-devel php70w-cli php70w-curl php70w-pgsql php70w-mbstring php70w-ldap php70w-pear php70w-imap php70w-xml php70w-pecl-imagick ImageMagick>Setelah instalasi selesai, kita perlu mengkonfigurasi beberapa hal. Secara default PHP-FPM dikonfigurasi untuk digunakan dengan Apache, Anda perlu mengubah pengguna agar dapat bekerja dengan nginx juga. Edit file /etc/php-fpm.d/www.conf menggunakan editor teks favorit Anda. Dalam tutorial ini, kita akan menggunakan editor nano. Jika Anda belum menginstal nano, Anda dapat menjalankan yum -y install nano.
nano /etc/php-fpm.d/www.confSekarang temukan baris berikut dan ubah apache menjadi nginx.
; RPM:Apache Dipilih untuk dapat mengakses beberapa dir sebagai httpduser =nginx; RPM:Biarkan grup tetap diizinkan untuk menulis di log dir.group =nginxAlih-alih menggunakan port server, kami akan menggunakan file socket untuk PHP-FPM. Temukan baris berikut.
dengarkan =127.0.0.1:9000dan Ubah ke baris berikut.
listen =/run/php-fpm/php7.0-fpm.sockSelanjutnya, temukan baris berikut.
;listen.owner =tidak ada;listen.group =tidak ada;listen.mode =0660Ubah nilainya menjadi berikut:
listen.owner =nginxlisten.group =nginxlisten.mode =0660Selanjutnya, Anda perlu mengatur zona waktu dalam file konfigurasi PHP. Edit file konfigurasi PHP menggunakan perintah:
nano /etc/php.iniTemukan baris berikut dan Batalkan komentar pada baris dan atur zona waktu sesuai dengan wilayah Anda. Misalnya:
[Tanggal]; Mendefinisikan zona waktu default yang digunakan oleh fungsi tanggal; http://php.net/date.timezonedate.timezone =Asia/KolkataBatalkan komentar pada baris cgi.fix_pathinfo dan ubah nilainya menjadi 0.
cgi.fix_pathinfo=0Selanjutnya Anda juga perlu menginstal GeoIP. Jalankan perintah berikut untuk menginstal GeoIP.
yum -y install GeoIP-develSekarang aktifkan ekstensi GeoIP dengan menambahkan baris berikut di akhir /etc/php.ini
extension=geoip.soMulai PHP-FPM dan aktifkan untuk memulai saat boot menggunakan perintah berikut.
systemctl start php-fpm systemctl aktifkan php-fpmKemudian restart nginx menggunakan perintah berikut.
systemctl restart nginxLangkah 3 - Memasang dan Mengonfigurasi data PostgreSQL
PostgreSQL adalah Object open source - sistem manajemen basis data relasional. Restyaboard menggunakan PostgreSQL untuk menyimpan databasenya.
PostgreSQL tidak tersedia di repositori YUM atau EPEL, Anda harus menginstal repositori PostgreSQL.
rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpmUntuk menginstal PostgreSQL jalankan perintah berikut.
yum -y install postgresql96-server postgresql96-contribPerintah di atas akan menginstal PostgreSQL bersama dengan semua dependensi yang diperlukan di sistem Anda, sebelum menggunakan perangkat lunak, kita perlu menjalankan perintah berikut untuk menginisialisasi database.
/usr/pgsql-9.6/bin/postgresql96-setup initdbSetelah PostgreSQL diinstal, saatnya untuk mengkonfigurasinya. Edit /var/lib/pgsql/9.6/data/pg_hba.conf untuk mengaktifkan otentikasi berbasis MD5.
nano /var/lib/pgsql/9.6/data/pg_hba.confTemukan baris berikut dan ubah peer to trust dan idnet menjadi md5.
# TYPE DATABASE USER ADDRESS METHOD# "local" hanya untuk koneksi soket domain Unix lokal semua rekan# Koneksi lokal IPv4:host semua 127.0.0.1/32 ident# Koneksi lokal IPv6:host semua semua ::1/128 identitasSetelah diperbarui, konfigurasi akan terlihat seperti di bawah ini.
# TYPE DATABASE USER ADDRESS METHOD# "local" hanya untuk koneksi soket domain Unix lokal semua kepercayaan# Koneksi lokal IPv4:host semua 127.0.0.1/32 md5# Koneksi lokal IPv6:host semua::1/128 md5Sekarang mulai server PostgreSQL dan aktifkan untuk memulai secara otomatis saat boot menggunakan perintah berikut:
systemctl start postgresql-9.6 systemctl aktifkan postgresql-9.6Sekarang ubah kata sandi untuk pengguna PostgreSQL default yang dibuat selama instalasi PostgreSQL.
passwd postgresSekarang login menggunakan pengguna PostgreSQL menggunakan perintah berikut.
su - postgresPerintah di atas akan login ke shell postgres
Sekarang buat pengguna baru dengan mengetik:
buat pengguna rb_userSekarang beralih ke shell PostgreSQL menggunakan perintah berikut.
psqlAnda akan melihat prompt pada shell telah berubah menjadi postgres - #. Sekarang jalankan kueri berikut untuk menetapkan kata sandi bagi pengguna yang baru dibuat untuk database Restyaboard.
UBAH PENGGUNA rb_user DENGAN kata sandi TERENKRIPSI 'StrongPassword';Pastikan untuk menggunakan titik koma di akhir kueri. Kueri di atas akan menanyakan kata sandi rb_user dua kali. Sekarang buat database baru untuk database PostgreSQL menggunakan kueri berikut.
BUAT DATABASE rb_data OWNER rb_user ENCODING 'UTF8' TEMPLATE template0;Query di atas akan membuat database bernama rb_data dengan encoding UTf8 menggunakan template0 dan kepemilikannya akan diberikan kepada rb_user.
Keluar dari shell psql ke shell pengguna shell normal dari pengguna postgres menggunakan perintah berikut.
\qdan beralih ke pengguna root lagi menggunakan perintah keluar.
Langkah 4 - Unduh Restyaboard
Karena semua dependensi sudah siap, sekarang kita dapat mengunduh Restyaboard. Jalankan perintah berikut untuk mengunduh versi siap pakai.
cd /usr/share/nginx/html wget https://github.com/RestyaPlatform/board/releases/download/v0.4.2/board-v0.4.2.zipAnda selalu dapat menemukan tautan ke versi terbaru di halaman Restyaboard Github.
Sekarang ekstrak arsip menggunakan perintah berikut. Jika Anda belum menginstal unzip, Anda dapat menjalankan yum -y install unzip.
unzip board-v0.4.2.zip -d boardSetelah arsip diekstraksi, impor file SQL menggunakan perintah berikut.
psql -d rb_data -f "/usr/share/nginx/html/board/sql/restyaboard_with_empty_data.sql" -U rb_userSekarang edit file konfigurasi Restyaboard untuk memperbarui kredensial basis data.
nano /usr/share/nginx/html/board/server/php/config.inc.phpTemukan baris berikut.
define('R_DB_HOST', 'localhost');define('R_DB_USER', 'restya');define('R_DB_PASSWORD', 'hjVl2!rGd');define('R_DB_NAME', 'restyaboard');define ('R_DB_PORT', 5432);Ubah sesuai dengan nama database, username dan password database yang baru saja kita buat untuk menyimpan data Restyaboard. Setelah selesai, itu akan terlihat seperti yang ditunjukkan di bawah ini.
define('R_DB_HOST', 'localhost');define('R_DB_USER', 'rb_user');define('R_DB_PASSWORD', 'StrongPassword');define('R_DB_NAME', 'rb_data');define(' R_DB_PORT', 5432);Langkah 5 - Konfigurasi Blok Server Nginx
Konfigurasi blok server nginx restyboard dikemas dengan arsip zip. Anda dapat menyalin file konfigurasi ke lokasi file konfigurasi nginx menggunakan perintah berikut.
cp /usr/share/nginx/html/board/restyaboard.conf /etc/nginx/conf.dSekarang Anda perlu membuat beberapa perubahan ke dalam file. Buka file konfigurasi menggunakan editor teks favorit Anda.
nano /etc/nginx/conf.d/restyaboard.confPada awal konfigurasi, temukan baris berikut.
server { dengarkan 80 default_server; nama_server _;Hapus teks default_server dan berikan nama domain Anda setelah nama server. Seharusnya terlihat seperti yang ditunjukkan di bawah ini.
server { dengarkan 80; server_name board.domainanda.com;Temukan juga baris berikut:
root /usr/share/nginx/html;dan
lokasi / { root /usr/share/nginx/html/client; }dan
root /usr/share/nginx/html/client;Ubah baris di atas sesuai dengan folder instalasi Restyaboard. Seharusnya terlihat seperti di bawah ini.
root /usr/share/nginx/html/board;dan
lokasi / { root /usr/share/nginx/html/board/client; }dan
root /usr/share/nginx/html/board/clientTemukan juga barisnya:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;Ubah menjadi berikut:
fastcgi_pass unix:/run/php-fpm/php7.0-fpm.sock;Anda dapat menutup file sekarang. Sekarang berikan kepemilikan dan izin yang sesuai menggunakan perintah berikut.
chown -R nginx:nginx /usr/share/nginx/html/board/chmod -R go+w "/usr/share/nginx/html/board/media"chmod -R go+w "/usr/ share/nginx/html/board/client/img"chmod -R go+w "/usr/share/nginx/html/board/tmp/cache"chmod -R 0755 /usr/share/nginx/html/board/server /php/shell/*.shTerakhir, tambahkan entri cron untuk mengaktifkan tugas terjadwal agar dapat dijalankan menggunakan perintah berikut.
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/instant_email_notification.sh">> /var/spool/cron/rootecho "0 * * * * / usr/share/nginx/html/board/server/php/shell/periodic_email_notification.sh">> /var/spool/cron/rootecho "*/30 * * * * /usr/share/nginx/html/board/server /php/shell/imap.sh">> /var/spool/cron/rootecho "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/webhook.sh">> /var/spool/cron/rootecho "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/card_due_notification.sh">> /var/spool/cron/rootSekarang Anda perlu menonaktifkan SELinux Anda karena konfigurasi Proxy tidak bekerja dengan kebijakan SELinux. Untuk menonaktifkan SELinux sementara tanpa me-restart server, jalankan perintah berikut.
setenforce 0Untuk menonaktifkan SELinux sepenuhnya, Anda perlu mengedit file /etc/selinux/config.
nano /etc/selinux/configTemukan baris berikut:
SELINUX=menegakkanUbah ke:
SELINUX=dinonaktifkanKemudian restart Nginx menggunakan perintah berikut.
systemctl restart nginxSekarang Anda dapat mengakses server dengan membuka URL berikut.
http://board.domainanda.comAnda akan melihat layar login berikut.
Sekarang login menggunakan username admin dan password restya. Setelah masuk, Anda akan melihat layar berikut.
Untuk membuat Dewan baru, klik panah di sudut kiri halaman dan klik Tambah Dewan atau Organisasi.
Berikan nama dan pilih template untuk membuat papan baru.
Setelah Anda membuat Papan, Ini akan terlihat seperti di bawah ini.
Untuk mengakses panel Admin, Anda dapat mengklik tombol Admin di sudut kanan bawah, lalu klik Pengaturan di bilah atas.
Restyaboard sekarang terinstal di server Anda, Anda sekarang dapat menggunakan papan kanban untuk meningkatkan alur kerja proyek Anda.
Instal Nginx dengan ngx_pagespeed di CentOS 7 Samba 4 dengan Active Directory pada instalasi berbasis CentOS 7 rpm dengan dukungan berbagiCent OS