Предуслови
Корак 1: Ажурирање система
Корак 2: Инсталирајте МариаДБ
Корак 3: Инсталирајте Апацхе
Корак 4: Инсталирајте ПХП
Корак 5: Инсталирајте гит
Корак 6: Преузмите и инсталирајте Пхабрицатор
Корак 7: Подесите виртуелни хост за Пхабрицатор
Корак 8: Подесите МариаДБ акредитиве за Пхабрицатор
Корак 9: Измените правила заштитног зида и подесите Пхабрицатор администраторски налог
Корак 10: Решите нерешене проблеме са подешавањем
Пхабрицатор је напредна платформа за развој софтвера отвореног кода која се може користити за:
- Код прегледа и ревизије.
- Хост Гит/Хг/СВН репо.
- Праћење грешака.
- Управљајте пројектима.
- Комуницирајте са члановима тима.
- И урадите много више!
Захваљујући својим богатим карактеристикама и изузетним перформансама, Пхабрицатор постаје све популарнији у заједници софтвера отвореног кода.
У овом чланку ћу вам показати како да инсталирате Пхабрицатор на инстанцу сервера Вултр ЦентОС 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
Кликните на дугме „Поново учитај страницу“ да бисте проверили резултат.
То је све. Срећно кодирање!