Како инсталирати и конфигурисати Пхабрицатор на ЦентОС 7

Пхабрицатор је напредна платформа за развој софтвера отвореног кода која се може користити за:

  • Код прегледа и ревизије.
  • Хост Гит/Хг/СВН репо.
  • Праћење грешака.
  • Управљајте пројектима.
  • Комуницирајте са члановима тима.
  • И урадите много више!

Захваљујући својим богатим карактеристикама и изузетним перформансама, Пхабрицатор постаје све популарнији у заједници софтвера отвореног кода.

У овом чланку ћу вам показати како да инсталирате Пхабрицатор на инстанцу сервера Вултр ЦентОС 7.

Предуслови

  • Примените инстанцу сервера Вултр ЦентОС 7 од нуле;
  • Пријавите се са ССХ терминала користећи судо корисника који није роот.

Корак 1: Ажурирање система

Ажурирајте свој ЦентОС 7 систем, а затим поново покрените:

yum update -y && shutdown -r now

Након покретања система, пријавите се као корисник који није роот са судо приступом.

Корак 2: Инсталирајте МариаДБ

Инсталирајте МариаДБ сервер:

sudo yum install mariadb mariadb-server

Покрените и омогућите услугу МариаДБ:

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

Из безбедносних разлога, покрените МиСКЛ услужни програм за безбедну инсталацију:

sudo /usr/bin/mysql_secure_installation

Завршите овај процес у складу са упутствима у наставку:

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

Корак 3: Инсталирајте Апацхе

Инсталирајте Апацхе веб сервер користећи ИУМ:

sudo yum install httpd

Измените подразумевану конфигурацију да бисте побољшали безбедност:

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

Покрените и омогућите Апацхе услугу:

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

Корак 4: Инсталирајте ПХП

Инсталирајте ПХП и неопходна проширења:

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

Корак 5: Инсталирајте гит

sudo yum install git

Корак 6: Преузмите и инсталирајте Пхабрицатор

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

Корак 7: Подесите виртуелни хост за Пхабрицатор

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

Попуните следећи сегмент кода:

Напомена: Морате да замените admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, и /var/log/httpd/phabricator.example.com-access_logсвојим вредностима.

<VirtualHost *:80>
    ServerAdmin admin@example.com
    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>

Сачувај и затвори:

:wq

Поново покрените Апацхе услугу да бисте своје измене применили:

sudo systemctl restart httpd.service

Корак 8: Подесите МариаДБ акредитиве за Пхабрицатор

Пре него што можете да користите Пхабрицатор, морате да подесите МариаДБ акредитиве:

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>

Попуни шеме Пхабрицатор-а:

./bin/storage upgrade

Током овог процеса, потребно је да унесете "и" два пута:

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

Корак 9: Измените правила заштитног зида и подесите Пхабрицатор администраторски налог

Морате да дозволите улазни саобраћај на подразумеваном ХТТП порту 80:

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

Затим користите свој веб претраживач да посетите:

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

Биће вам представљена веб страница за регистрацију Пхабрицатор-а. Направите администраторски налог за свакодневно управљање.

Сада, хајде да погледамо како да конфигуришемо Пхабрицатор.

Корак 10: Решите нерешене проблеме са подешавањем

Before you can use Phabricator with a peace of mind, you have to fix several setup issues. The number of setup issues varies, in my case, there were 16. Let's solve them one by one.

Issue 1: Base URI Not Configured

Click the "Base URI Not Configured" link to get into the issue details page in which you can learn more about this issue.

In order to fix this issue, you need to execute the following commands on your SSH terminal. Be sure to use the proper IP address.

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

Then in your web browser, click the "Reload Page" button on the issue details page. If your repair worked, the text on the page will become "Issue Resolved". Click the "Return to Open Issue List" link to investigate other issues.

Issue 2: No Authentication Providers Configured

Click the "No Authentication Providers Configured" link to get into the issue details page.

In order to fix this issue, you need to specify the authentication provider.

Click the "Auth Application" link and then the "+ Add Provider" button to get into the "Add Auth Provider" page. Choose an appropriate authentication provider, and then click the "Continue" button. Here I chose "Username/Password".

In the "Add Auth Provider: Username/Password" page, you can review more detailed settings, then click the "Add Provider" button.

You can add more authentication providers in the same fashion, but for now, click the "You have X unresolved setup issues..." link to handle other issues.

Issue 3: Phabricator Daemons Are Not Running

Click the "Phabricator Daemons Are Not Running" link to enter the details page.

In order to solve this issue, run the command below on your SSH terminal:

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

Click the "Reload Page" button to confirm the result.

Issue 4: PHP post_max_size Not Configured

Run the following commands on your SSH terminal to fix this issue:

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

Click the "Reload Page" button to confirm your modifications.

Issue 5-10: MySQL-related issues

There are six MySQL-related issues in total:

  • Small MySQL "maxallowedpacket"
  • MySQL STRICTALLTABLES Mode Not Set
  • MySQL is Using Default Stopword File
  • MySQL is Using Default Minimum Word Length
  • MySQL is Using the Default Boolean Syntax
  • MySQL May Run Slowly

As a matter of convenience, let's fix them in one batch.

На вашем ССХ терминалу уредите МиСКЛ конфигурациону датотеку помоћу vi:

sudo vi /etc/my.cnf

Испод три реда на врху:

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

Додајте шест редова испод:

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

Упозорење: Морате да подесите одговарајућу величину Иннодб бафера у складу са специфичном величином сервера. Обично би величина Иннодб бафера требало да буде око 40% количине меморије ваше машине. На пример, ако користите машину са 4Г меморијом, разумна величина Иннодб пуфера би била 1600М. У случају да користите машину са мало меморије (као што је 768М), можда ћете морати да доделите величину мању од 40% количине меморије ваше машине (рецимо 220М) да бисте уштедели више меморије за систем.

Сачувај и затвори:

:wq

Поново покрените МариаДБ услугу:

sudo systemctl restart mariadb.service

На крају, покрените следећу команду:

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

Кликните на дугме „Поново учитај страницу“ да бисте испитали своје напоре.

Проблем 11: Инсталирајте Пигментс да бисте побољшали истицање синтаксе

На ЦентОС 7, Пигментс је инсталиран, али није подразумевано омогућен, потребно је да га омогућите ручно:

Кликните на везу: Уредите „пигментс.енаблед“, изаберите „Користи Пигментс“ из падајућег менија „Вредност базе података“, а затим кликните на дугме „Сачувај унос конфигурације“.

Проблем 12: Временска зона сервера није конфигурисана

Измените php.iniдатотеку:

sudo vi /etc/php.ini

Замените линију:

;date.timezone =

са:

date.timezone = America/Los_Angeles

Сачувај и затвори:

:wq

Напомена: "Америца / Лос_Ангелес" је временска зона вредност секретарици, потребно је да пронађете одговарајући временске зоне вредност за своју сервера пример овде .

Поново покрените Апацхе услугу:

sudo systemctl restart httpd.service

Кликните на дугме „Поново учитај страницу“ да бисте прегледали резултат.

Проблем 13: Складиште великих датотека није конфигурисано

Морате да примените одговарајуће решење за складиштење великих датотека у складу са сопственим подешавањима. За сада можете да кликнете на дугме „Занемари проблем са подешавањем“ да бисте прескочили.

Проблем 14: Алтернативни домен датотеке није конфигурисан

Рецимо да сте подесили алтернативни домен датотеке или ЦДН, а затим у ССХ терминалу:

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

Кликните на дугме „Поново учитај страницу“ да бисте прегледали резултат.

Проблем 15: Недостаје локална путања спремишта

Користите следеће команде да бисте решили овај проблем:

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

Кликните на дугме „Поново учитај страницу“ да бисте прегледали резултат.

Проблем 16: ПХП проширење „АПЦ“ није инсталирано

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

Током процеса инсталације АПЦ-а, увек притисните Ентер да бисте користили подразумевану опцију.

sudo vi /etc/php.ini

Додајте четири реда на крај датотеке:

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

Сачувај и затвори:

:wq

Поново покрените Апацхе услугу:

sudo systemctl restart httpd.service

Кликните на дугме „Поново учитај страницу“ да бисте проверили резултат.

То је све. Срећно кодирање!

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више