Cara Memasang dan Mengkonfigurasi Phabricator pada CentOS 7

Phabricator adalah platform pengembangan perangkat lunak open source canggih yang dapat digunakan untuk:

  • Tinjau dan audit kode.
  • Host repo Git / Hg / SVN.
  • Lacak bug.
  • Kelola proyek.
  • Berkomunikasi dengan anggota tim.
  • Dan lakukan lebih banyak lagi!

Berkat fitur yang melimpah dan kinerja yang luar biasa, Phabricator semakin populer di komunitas perangkat lunak sumber terbuka.

Pada artikel ini, saya akan menunjukkan kepada Anda bagaimana menginstal Phabricator pada instance server Vultr CentOS 7.

Prasyarat

  • Menyebarkan instance server Vultr CentOS 7 dari awal;
  • Masuk dari terminal SSH menggunakan pengguna sudo non-root.

Langkah 1: Pembaruan sistem

Perbarui sistem CentOS 7 Anda, lalu reboot:

yum update -y && shutdown -r now

Setelah sistem melakukan boot, masuk sebagai pengguna non-root dengan akses sudo.

Langkah 2: Instal MariaDB

Instal server MariaDB:

sudo yum install mariadb mariadb-server

Mulai dan aktifkan layanan MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Untuk tujuan keamanan, jalankan utilitas instalasi aman MySQL:

sudo /usr/bin/mysql_secure_installation

Selesaikan proses ini sesuai dengan instruksi di bawah ini:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password:<your-password>
Re-enter new password:<your-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

Langkah 3: Instal Apache

Instal server web Apache menggunakan YUM:

sudo yum install httpd

Ubah konfigurasi default untuk meningkatkan keamanan:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Mulai dan aktifkan layanan Apache:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Langkah 4: Instal PHP

Instal PHP dan ekstensi yang diperlukan:

sudo yum install php php-mysqli php-mbstring php-gd php-curl php-cli php-common php-process

Langkah 5: Instal git

sudo yum install git

Langkah 6: Unduh dan instal Phabricator

cd ~
mkdir phabricator
cd phabricator
git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git
cd ~
sudo chown -R apache: ~/phabricator
sudo mv ~/phabricator /var/www/html

Langkah 7: Menyiapkan host virtual untuk Phabricator

sudo vi /etc/httpd/conf.d/phabricator.conf

Isi segmen kode berikut:

Catatan: Anda harus mengganti [email protected], phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, dan /var/log/httpd/phabricator.example.com-access_logdengan nilai-nilai Anda sendiri.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/phabricator/phabricator/webroot/
    ServerName phabricator.example.com
    ServerAlias www.phabricator.example.com
    RewriteEngine on
    RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
    RewriteRule ^/favicon.ico   -                       [L,QSA]
    RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]
    <Directory /var/www/html/phabricator/phabricator/webroot/>
        AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/phabricator.example.com-error_log
    CustomLog /var/log/httpd/phabricator.example.com-access_log common
</VirtualHost>

Simpan dan keluar:

:wq

Mulai ulang layanan Apache untuk menerapkan modifikasi Anda:

sudo systemctl restart httpd.service

Langkah 8: Siapkan kredensial MariaDB untuk Phabricator

Sebelum Anda dapat menggunakan Phabricator, Anda perlu mengatur kredensial MariaDB:

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set mysql.host localhost
sudo ./bin/config set mysql.port 3306
sudo ./bin/config set mysql.user root
sudo ./bin/config set mysql.pass <your-MySQL-root-password>

Isi skema Pabrikan:

./bin/storage upgrade

Selama proses ini, Anda perlu memasukkan "y" dua kali:

Before running storage upgrades, you should take down the Phabricator web
interface and stop any running Phabricator daemons (you can disable this
warning with --force).

    Are you ready to continue? [y/N] y

...

MySQL needs to copy table data to make some adjustments, so these migrations may take some time.

    Fix these schema issues? [y/N] y

Langkah 9: Memodifikasi aturan firewall dan mengatur akun admin Phabricator

Anda harus mengizinkan lalu lintas masuk pada port HTTP default 80:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Kemudian gunakan browser web Anda untuk mengunjungi:

http://<your-Vultr-server-IP>

Anda akan disajikan halaman web pendaftaran Phabricator. Buat akun administrator untuk manajemen harian.

Sekarang, mari kita lihat cara mengkonfigurasi Phabricator.

Langkah 10: Perbaiki masalah pengaturan yang belum terselesaikan

Sebelum Anda dapat menggunakan Phabricator dengan tenang, Anda harus memperbaiki beberapa masalah pengaturan. Jumlah masalah pengaturan bervariasi, dalam kasus saya, ada 16. Mari kita selesaikan satu per satu.

Masalah 1: Base URI Not Configured

Klik tautan "Base URI Not Configured" untuk masuk ke halaman detail masalah di mana Anda dapat mempelajari lebih lanjut tentang masalah ini.

Untuk memperbaiki masalah ini, Anda perlu menjalankan perintah berikut pada terminal SSH Anda. Pastikan untuk menggunakan alamat IP yang tepat.

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set phabricator.base-uri 'http://<your-Vultr-server-IP>'

Kemudian di browser web Anda, klik tombol "Muat Ulang Halaman" pada halaman detail masalah. Jika perbaikan Anda berhasil, teks pada halaman tersebut akan menjadi "Masalah Terselesaikan". Klik tautan "Kembali ke Buka Daftar Masalah" untuk menyelidiki masalah lain.

Masalah 2: Tidak Ada Penyedia Autentikasi yang Dikonfigurasi

Klik tautan "Tidak Ada Penyedia Autentikasi yang Dikonfigurasi" untuk masuk ke halaman detail masalah.

Untuk memperbaiki masalah ini, Anda perlu menentukan penyedia otentikasi.

Klik tautan "Auth Application" dan kemudian tombol "+ Add Provider" untuk masuk ke halaman "Add Auth Provider". Pilih penyedia autentikasi yang sesuai, lalu klik tombol "Lanjutkan". Di sini saya memilih "Nama Pengguna / Kata Sandi".

Di halaman "Tambahkan Penyedia Autis: Nama Pengguna / Kata Sandi", Anda dapat meninjau pengaturan yang lebih rinci, lalu klik tombol "Tambah Penyedia".

Anda dapat menambahkan lebih banyak penyedia otentikasi dengan cara yang sama, tetapi untuk saat ini, klik tautan "Anda memiliki masalah pengaturan X yang belum terselesaikan ..." untuk menangani masalah lain.

Edisi 3: Daemon Phabricator Tidak Berjalan

Klik tautan "Daemon Pabrikan Phabrator Tidak Berlari" untuk masuk ke halaman detail.

Untuk mengatasi masalah ini, jalankan perintah di bawah ini di terminal SSH Anda:

cd /var/www/html/phabricator/phabricator/
./bin/phd start

Klik tombol "Muat Ulang Halaman" untuk mengonfirmasi hasilnya.

Masalah 4: PHP post_max_sizeTidak Dikonfigurasi

Jalankan perintah berikut di terminal SSH Anda untuk memperbaiki masalah ini:

sudo sed -i "s/post_max_size = 8M/post_max_size = 32M/" /etc/php.ini
sudo systemctl restart httpd.service

Klik tombol "Muat Ulang Halaman" untuk mengonfirmasi modifikasi Anda.

Masalah 5-10: Masalah terkait MySQL

Ada enam masalah terkait MySQL secara total:

  • MySQL " paket maksimum yang diizinkan "
  • MySQL STRICT ALL TABLES Mode Tidak Diatur
  • MySQL Menggunakan File Stopword Default
  • MySQL Menggunakan Default Minimum Word Length
  • MySQL Menggunakan Sintaks Boolean Default
  • MySQL Dapat Berjalan dengan Perlahan

Demi kenyamanan, mari kita perbaiki dalam satu batch.

Di terminal SSH Anda, edit file konfigurasi MySQL dengan vi:

sudo vi /etc/my.cnf

Di bawah tiga garis di atas:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

Tambahkan enam baris di bawah ini:

max_allowed_packet=32M
sql_mode=STRICT_ALL_TABLES
ft_stopword_file=/var/www/html/phabricator/phabricator/resources/sql/stopwords.txt
ft_min_word_len=3
ft_boolean_syntax=' |-><()~*:""&^'
innodb_buffer_pool_size=1600M        # about 40% of your system memory

Peringatan: Anda harus menetapkan ukuran pool buffer Innodb yang tepat sesuai dengan ukuran server spesifik Anda. Biasanya, ukuran pool buffer Innodb harus sekitar 40% dari jumlah memori mesin Anda. Misalnya, jika Anda menggunakan mesin dengan memori 4G, ukuran kolam buffer Innodb yang wajar adalah 1600 juta. Jika Anda menggunakan mesin dengan sedikit memori (seperti 768M), Anda mungkin perlu menetapkan ukuran kurang dari 40% dari jumlah memori mesin Anda (katakanlah 220M) untuk menghemat lebih banyak memori untuk sistem.

Simpan dan keluar:

:wq

Mulai ulang layanan MariaDB:

sudo systemctl restart mariadb.service

Akhirnya, jalankan perintah berikut:

mysql -u root -p -e "REPAIR TABLE phabricator_search.search_documentfield"

Klik tombol "Muat Ulang Halaman" untuk memeriksa upaya Anda.

Masalah 11: Instal Pygments untuk Meningkatkan Penyorotan Sintaksis

Pada CentOS 7, Pygments telah diinstal tetapi tidak diaktifkan secara default, Anda harus mengaktifkannya secara manual:

Klik tautan: Edit "pygments.enabled", Pilih "Use Pygments" dari menu tarik-turun "Nilai Database", lalu klik tombol "Save Config Entry".

Masalah 12: Zona Waktu Server Tidak Dikonfigurasi

Ubah php.inifile:

sudo vi /etc/php.ini

Ganti baris:

;date.timezone =

Dengan:

date.timezone = America/Los_Angeles

Simpan dan keluar:

:wq

Catatan: "America / Los_Angeles" adalah nilai zona waktu mesin saya, Anda perlu menemukan nilai zona waktu yang sesuai untuk instance server Anda di sini .

Mulai ulang layanan Apache:

sudo systemctl restart httpd.service

Klik tombol "Muat Ulang Halaman" untuk memeriksa hasilnya.

Masalah 13: Penyimpanan File Besar Tidak Dikonfigurasi

Anda perlu menggunakan solusi penyimpanan file besar yang sesuai dengan pengaturan Anda sendiri. Untuk saat ini, Anda dapat mengklik tombol "Abaikan Masalah Penyetelan" untuk melewati.

Masalah 14: Domain File Alternatif Tidak Dikonfigurasi

Katakanlah Anda telah menyiapkan domain file alternatif atau CDN, kemudian di terminal SSH:

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set security.alternate-file-domain <https://files.example.com>

Klik tombol "Muat Ulang Halaman" untuk memeriksa hasilnya.

Masalah 15: Path Lokal Repositori Hilang

Gunakan perintah berikut untuk menyelesaikan masalah ini:

sudo mkdir /var/repo
sudo chown apache: /var/repo

Klik tombol "Muat Ulang Halaman" untuk memeriksa hasilnya.

Masalah 16: Ekstensi PHP 'APC' Tidak Terpasang

sudo yum install php-pear php-devel httpd-devel pcre-devel gcc make
sudo pecl install apc

Selama proses instalasi APC, selalu tekan Enter untuk menggunakan opsi default.

sudo vi /etc/php.ini

Tambahkan empat baris ke akhir file:

extension=apc.so
apc.write_lock = On
apc.slam_defense = Off
apc.stat = Off

Simpan dan keluar:

:wq

Mulai ulang layanan Apache:

sudo systemctl restart httpd.service

Klik tombol "Muat Ulang Halaman" untuk memeriksa hasilnya.

Itu saja. Selamat coding!



Leave a Comment

Cara Memasang Graylog Server pada CentOS 7

Cara Memasang Graylog Server pada CentOS 7

Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis

Atur Akun Pengguna khusus SFTP di CentOS 7

Atur Akun Pengguna khusus SFTP di CentOS 7

Pada kesempatan tertentu, Administrator Sistem mungkin perlu membuat akun pengguna dan membatasi akses mereka untuk hanya mengelola file mereka sendiri melalui sFTP, tetapi tidak

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Menggunakan Sistem yang Berbeda? Chamilo adalah sistem manajemen pembelajaran (LMS) gratis dan open source yang banyak digunakan untuk pendidikan online dan kolaborasi tim

Menginstal Komunitas Odoo 9 di CentOS 7

Menginstal Komunitas Odoo 9 di CentOS 7

Odoo, sebelumnya dikenal sebagai OpenERP, adalah platform bisnis ERP open source yang terkenal. Perusahaan dengan ukuran berapa pun dapat mengambil manfaat dari Odoo, berkat lisnya yang berlimpah

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain

Cara Memasang NextCloud 9 pada CentOS 7

Cara Memasang NextCloud 9 pada CentOS 7

NextCloud, seperti namanya, adalah alternatif yang menjanjikan dari solusi hosting file sumber terbuka lainnya OwnCloud. Dalam artikel ini, saya akan menunjukkan kepada Anda ho

Menginstal Netdata di CentOS 7

Menginstal Netdata di CentOS 7

Menggunakan Sistem yang Berbeda? Netdata adalah bintang yang naik di bidang pemantauan metrik sistem waktu-nyata. Dibandingkan dengan alat lain dengan jenis yang sama, Netdata:

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Menggunakan Sistem yang Berbeda? ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah gratis

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Selamat datang di tutorial Vultr lainnya. Di sini, Anda akan belajar cara menginstal dan menjalankan server SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan tahu

Instal Elgg pada CentOS 7

Instal Elgg pada CentOS 7

Menggunakan Sistem yang Berbeda? Elgg adalah mesin jejaring sosial open source yang memungkinkan penciptaan lingkungan sosial seperti jejaring sosial kampus

Menginstal Bolt CMS pada CentOS 7

Menginstal Bolt CMS pada CentOS 7

Bolt adalah CMS open source yang ditulis dalam PHP. Kode sumber baut di-host di GitHub. Panduan ini akan menunjukkan kepada Anda cara menginstal Bolt CMS pada CentOS 7 Vult yang baru

Cara Memasang Bugzilla 5.0.x di CentOS 7

Cara Memasang Bugzilla 5.0.x di CentOS 7

Bugzilla adalah sistem pelacakan bug sumber bebas dan terbuka yang banyak digunakan oleh berbagai vendor untuk terus meningkatkan softwar mereka

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada

Setup Sails.js untuk Pengembangan pada CentOS 7

Setup Sails.js untuk Pengembangan pada CentOS 7

Menggunakan Sistem yang Berbeda? Pendahuluan Sails.js adalah kerangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Itu membuat untuk mengembangkan aplikasi modern ver

Menyiapkan Server Half Life 2 Pada CentOS 6

Menyiapkan Server Half Life 2 Pada CentOS 6

Tutorial ini akan membahas proses pemasangan server game Half Life 2 pada Sistem CentOS 6. Langkah 1: Menginstal prasyarat Untuk mengatur ou

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar

Cara Memasang Kolab Groupware di CentOS 7

Cara Memasang Kolab Groupware di CentOS 7

Menggunakan Sistem yang Berbeda? Kolab Groupware adalah aplikasi groupware berbasis web gratis dan open source. Fitur-fiturnya terdiri dari komunikasi email, acara

Cara Memasang Koel di CentOS 7

Cara Memasang Koel di CentOS 7

Menggunakan Sistem yang Berbeda? Koel adalah aplikasi streaming audio pribadi sederhana berbasis web yang ditulis dalam Vue di sisi klien dan Laravel di sisi server. Koe

Cara Memasang GDB pada CentOS 6

Cara Memasang GDB pada CentOS 6

GDB adalah debugger untuk C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada, dan Modula-2. CentOS didasarkan pada RHEL (Red Hat Enterprise Linux). Salah satu th

Menginstal Akaunting di CentOS 7

Menginstal Akaunting di CentOS 7

Menggunakan Sistem yang Berbeda? Akaunting adalah perangkat lunak akuntansi sumber terbuka dan gratis yang dirancang untuk usaha kecil dan freelancer. Itu dibangun kecerdasan

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut