Cara Memasang dan Mengkonfigurasi Phabricator di CentOS 7

Phabricator adalah platform pengembangan perisian sumber terbuka maju yang boleh digunakan untuk:

  • Semak dan audit kod.
  • Hos repos Git / Hg / SVN.
  • Jejak pepijat.
  • Urus projek.
  • Berkomunikasi dengan ahli pasukan.
  • Dan buat banyak lagi!

Berkat ciri dan prestasi yang luar biasa, Phabricator semakin popular di komuniti perisian sumber terbuka.

Dalam artikel ini, saya akan menunjukkan cara memasang Phabricator pada instance pelayan Vultr CentOS 7.

Prasyarat

  • Terapkan instance pelayan Vultr CentOS 7 dari awal;
  • Log masuk dari terminal SSH menggunakan pengguna sudo bukan root.

Langkah 1: Kemas kini sistem

Kemas kini sistem CentOS 7 anda, kemudian reboot:

yum update -y && shutdown -r now

Selepas sistem boot, log masuk sebagai pengguna bukan root dengan akses sudo.

Langkah 2: Pasang MariaDB

Pasang pelayan MariaDB:

sudo yum install mariadb mariadb-server

Mulakan dan aktifkan perkhidmatan MariaDB:

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

Untuk tujuan keselamatan, jalankan utiliti pemasangan selamat MySQL:

sudo /usr/bin/mysql_secure_installation

Selesaikan proses ini mengikut arahan di bawah:

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: Pasang Apache

Pasang pelayan web Apache menggunakan YUM:

sudo yum install httpd

Ubah konfigurasi lalai untuk meningkatkan keselamatan:

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

Mulakan dan aktifkan perkhidmatan Apache:

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

Langkah 4: Pasang PHP

Pasang PHP dan sambungan yang diperlukan:

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

Langkah 5: Pasang git

sudo yum install git

Langkah 6: Muat turun dan pasang 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: Sediakan hos maya untuk Phabricator

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

Isi segmen kod berikut:

Nota: Anda perlu menggantikan [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.

<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 tutup:

:wq

Mulakan semula perkhidmatan Apache untuk melaksanakan pengubahsuaian anda:

sudo systemctl restart httpd.service

Langkah 8: Siapkan kelayakan MariaDB untuk Phabricator

Sebelum anda dapat menggunakan Phabricator, anda perlu menyediakan kelayakan 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 Phabricator:

./bin/storage upgrade

Semasa 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: Ubah peraturan firewall dan sediakan akaun pentadbir Phabricator

Anda perlu membenarkan lalu lintas masuk pada port HTTP lalai 80:

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

Kemudian gunakan penyemak imbas web anda untuk melawat:

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

Anda akan diberikan halaman web pendaftaran Phabricator. Buat akaun pentadbir untuk pengurusan harian.

Sekarang, mari kita lihat bagaimana mengkonfigurasi Phabricator.

Langkah 10: Selesaikan masalah persediaan yang tidak dapat diselesaikan

Sebelum anda dapat menggunakan Phabricator dengan tenang, anda harus menyelesaikan beberapa masalah persediaan. Jumlah masalah persediaan berbeza-beza, dalam kes saya, ada 16. Mari kita selesaikan satu persatu.

Isu 1: URI Asas Tidak Dikonfigurasi

Klik pautan "URI Asas Tidak Dikonfigurasi" untuk masuk ke halaman butiran masalah di mana anda dapat mengetahui lebih lanjut mengenai masalah ini.

Untuk menyelesaikan masalah ini, anda perlu melaksanakan perintah berikut di terminal SSH anda. Pastikan anda menggunakan alamat IP yang betul.

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

Kemudian di penyemak imbas web anda, klik butang "Muat Semula Halaman" di halaman butiran masalah. Sekiranya pembaikan anda berjaya, teks di halaman akan menjadi "Masalah Diselesaikan". Klik pautan "Kembali ke Open Issue List" untuk menyiasat masalah lain.

Isu 2: Tiada Penyedia Pengesahan Dikonfigurasi

Klik pautan "Penyedia Pengesahan Tanpa Pengesahan" untuk masuk ke halaman butiran masalah.

Untuk menyelesaikan masalah ini, anda perlu menentukan penyedia pengesahan.

Klik pautan "Auth Application" dan kemudian butang "+ Add Provider" untuk masuk ke halaman "Add Auth Provider". Pilih penyedia pengesahan yang sesuai, dan kemudian klik butang "Teruskan". Di sini saya memilih "Nama Pengguna / Kata Laluan".

Di halaman "Tambah Penyedia Auth: Nama Pengguna / Kata Laluan", anda boleh menyemak tetapan yang lebih terperinci, kemudian klik butang "Tambah Penyedia".

Anda boleh menambahkan lebih banyak penyedia pengesahan dengan cara yang sama, tetapi buat masa ini, klik pautan "Anda mempunyai X masalah persediaan yang tidak dapat diselesaikan ..." untuk menangani masalah lain.

Isu 3: Daemon Phabricator Tidak Berjalan

Klik pautan "Phabricator Daemons Not Running" untuk memasuki halaman butiran.

Untuk menyelesaikan masalah ini, jalankan arahan di bawah di terminal SSH anda:

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

Klik butang "Muat Semula Halaman" untuk mengesahkan hasilnya.

Isu 4: PHP post_max_sizeTidak Dikonfigurasi

Jalankan arahan berikut di terminal SSH anda untuk menyelesaikan masalah ini:

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

Klik butang "Muat Semula Halaman" untuk mengesahkan pengubahsuaian anda.

Isu 5-10: Masalah berkaitan MySQL

Terdapat enam masalah berkaitan MySQL secara keseluruhan:

  • MySQL kecil "maksimum paket yang dibenarkan "
  • MySQL STRICT ALL TABLES Mode Tidak Ditetapkan
  • MySQL Menggunakan Fail Kata Henti Lalai
  • MySQL Menggunakan Panjang Kata Minimum Lalai
  • MySQL Menggunakan Sintaks Boolean Lalai
  • MySQL Boleh Berjalan Dengan Perlahan

Untuk kemudahan, mari kita perbaiki dalam satu kumpulan.

Di terminal SSH anda, edit fail konfigurasi MySQL dengan vi:

sudo vi /etc/my.cnf

Di bawah tiga baris di bahagian atas:

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

Tambahkan enam baris di bawah:

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

Amaran: Anda perlu menetapkan ukuran kolam penyangga Innodb yang betul mengikut ukuran pelayan khusus anda. Biasanya, ukuran kolam penyangga Innodb mestilah sekitar 40% dari jumlah memori mesin anda. Sebagai contoh, jika anda menggunakan mesin dengan memori 4G, ukuran kolam penyangga Innodb yang berpatutan adalah 1600M. Sekiranya anda menggunakan mesin dengan sedikit memori (seperti 768M), anda mungkin perlu memberikan ukuran kurang dari 40% dari jumlah memori mesin anda (katakanlah 220M) untuk menyimpan lebih banyak memori untuk sistem.

Simpan dan tutup:

:wq

Mulakan semula perkhidmatan MariaDB:

sudo systemctl restart mariadb.service

Akhirnya, jalankan arahan berikut:

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

Klik butang "Muat Semula Halaman" untuk memeriksa usaha anda.

Isu 11: Pasang Pigmen untuk Meningkatkan Sorotan Sintaks

Pada CentOS 7, Pygments telah dipasang tetapi tidak diaktifkan secara lalai, anda perlu mengaktifkannya secara manual:

Klik pautan: Edit "pygments.enabled", Pilih "Use Pygments" dari menu drop-down "Database Value", kemudian klik butang "Save Config Entry".

Isu 12: Zon Waktu Pelayan Tidak Dikonfigurasi

Ubah suai php.inifail:

sudo vi /etc/php.ini

Gantikan garis:

;date.timezone =

Dengan:

date.timezone = America/Los_Angeles

Simpan dan tutup:

:wq

Catatan: "America / Los_Angeles" adalah nilai zon waktu mesin saya, anda perlu mencari nilai zon waktu yang sesuai untuk contoh pelayan anda sendiri di sini .

Mulakan semula perkhidmatan Apache:

sudo systemctl restart httpd.service

Klik butang "Muat Semula Halaman" untuk memeriksa hasilnya.

Isu 13: Penyimpanan Fail Besar Tidak Dikonfigurasi

Anda perlu menggunakan penyelesaian penyimpanan fail besar yang betul sesuai dengan tetapan anda sendiri. Buat masa ini, anda boleh mengklik butang "Abaikan Masalah Persediaan" untuk melangkau.

Isu 14: Domain Fail Alternatif Tidak Dikonfigurasi

Katakan anda telah menyediakan domain fail 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 butang "Muat Semula Halaman" untuk memeriksa hasilnya.

Isu 15: Laluan Lokal Repositori Hilang

Gunakan arahan berikut untuk menyelesaikan masalah ini:

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

Klik butang "Muat Semula Halaman" untuk memeriksa hasilnya.

Isu 16: Pelanjutan PHP 'APC' Tidak Dipasang

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

Semasa proses pemasangan APC, selalu tekan Enter untuk menggunakan pilihan lalai.

sudo vi /etc/php.ini

Tambahkan empat baris ke hujung fail:

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

Simpan dan tutup:

:wq

Mulakan semula perkhidmatan Apache:

sudo systemctl restart httpd.service

Klik butang "Muat Semula Halaman" untuk memeriksa hasilnya.

Itu sahaja. Selamat pengekodan!



Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut