Как установить и настроить Phabricator на CentOS 7

Phabricator - это передовая платформа для разработки программного обеспечения с открытым исходным кодом, которую можно использовать для:

  • Просмотрите и проверьте код.
  • Хост Git / Hg / SVN репозитории.
  • Отслеживать ошибки.
  • Управлять проектами.
  • Общайтесь с членами команды.
  • И делать гораздо больше!

Благодаря своим широким возможностям и исключительной производительности Phabricator становится все более популярным в сообществе разработчиков программного обеспечения с открытым исходным кодом.

В этой статье я покажу вам, как установить Phabricator на экземпляр сервера Vultr CentOS 7.

Предпосылки

  • Развертывание экземпляра сервера Vultr CentOS 7 с нуля;
  • Войдите в систему с терминала SSH, используя пользователя sudo без полномочий root.

Шаг 1: Обновление системы

Обновите систему CentOS 7, затем перезагрузите компьютер:

yum update -y && shutdown -r now

После загрузки системы войдите в систему как пользователь без полномочий root с доступом sudo.

Шаг 2: Установите MariaDB

Установите сервер MariaDB:

sudo yum install mariadb mariadb-server

Запустите и включите сервис MariaDB:

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

В целях безопасности запустите утилиту безопасной установки MySQL:

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: Установите Apache

Установите веб-сервер Apache, используя YUM:

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

Запустите и включите службу Apache:

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

Шаг 4: Установите PHP

Установите PHP и необходимые расширения:

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

Шаг 5: Установите git

sudo yum install git

Шаг 6: Загрузите и установите 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

Шаг 7: Настройте виртуальный хост для Phabricator

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

Заполните следующий сегмент кода:

Примечание: Вам нужно заменить [email protected], 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 [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>

Сохранить и выйти:

:wq

Перезапустите сервис Apache, чтобы ваши изменения вступили в силу:

sudo systemctl restart httpd.service

Шаг 8. Настройка учетных данных MariaDB для Phabricator.

Прежде чем вы сможете использовать Phabricator, вам необходимо настроить учетные данные 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>

Заполните схемы Phabricator:

./bin/storage upgrade

Во время этого процесса вам нужно ввести «y» дважды:

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: Измените правила брандмауэра и настройте учетную запись администратора Phabricator.

Вам нужно разрешить входящий трафик по умолчанию через порт HTTP 80:

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

Затем используйте ваш веб-браузер, чтобы посетить:

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

Вам будет представлена ​​страница регистрации Phabricator. Создайте учетную запись администратора для ежедневного управления.

Теперь давайте посмотрим, как настроить Phabricator.

Шаг 10: Исправьте нерешенные проблемы установки

Прежде чем вы сможете использовать Phabricator со спокойной душой, вы должны решить несколько проблем с настройкой. Количество проблем с настройкой варьируется, в моем случае их было 16. Давайте решим их один за другим.

Проблема 1: Базовый URI не настроен

Нажмите ссылку «Базовый URI не настроен», чтобы перейти на страницу сведений о проблеме, на которой вы можете узнать больше об этой проблеме.

Чтобы решить эту проблему, вам нужно выполнить следующие команды на вашем терминале SSH. Обязательно используйте правильный IP-адрес.

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

Затем в веб-браузере нажмите кнопку «Обновить страницу» на странице сведений о проблеме. Если ваш ремонт сработал, текст на странице станет «Проблема решена». Нажмите на ссылку «Вернуться к списку проблем», чтобы узнать о других проблемах.

Проблема 2: не настроены провайдеры аутентификации

Нажмите на ссылку «No Authentication Provider Configured», чтобы перейти на страницу сведений о проблеме.

Чтобы устранить эту проблему, необходимо указать поставщика проверки подлинности.

Нажмите ссылку «Auth Application», а затем кнопку «+ Add Provider», чтобы перейти на страницу «Add Auth Provider». Выберите подходящего поставщика аутентификации и нажмите кнопку «Продолжить». Здесь я выбрал «Имя пользователя / Пароль».

На странице «Добавить поставщика аутентификации: имя пользователя / пароль» вы можете просмотреть более подробные настройки, а затем нажать кнопку «Добавить поставщика».

Вы можете добавить больше поставщиков аутентификации таким же образом, но сейчас нажмите ссылку «У вас есть X нерешенных проблем с установкой ...» для решения других проблем.

Проблема 3: Демоны Phabricator не работают

Нажмите на ссылку «Демоны Phabricator не работают», чтобы перейти на страницу сведений.

Чтобы решить эту проблему, выполните команду ниже на своем терминале SSH:

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

Нажмите кнопку «Обновить страницу», чтобы подтвердить результат.

Проблема 4: PHP post_max_sizeне настроен

Выполните следующие команды на своем терминале SSH, чтобы решить эту проблему:

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

Нажмите кнопку «Обновить страницу», чтобы подтвердить изменения.

Проблема 5-10: проблемы, связанные с MySQL

Всего существует шесть проблем, связанных с MySQL:

  • Маленький MySQL "максимально допустимый пакет"
  • MySQL STRICT ВСЕ ТАБЛИЦЫ Режим не установлен
  • MySQL использует файл стоп-слов по умолчанию
  • MySQL использует минимальную длину слова по умолчанию
  • MySQL использует логический синтаксис по умолчанию
  • MySQL может работать медленно

Для удобства давайте исправим их в одной партии.

На вашем терминале SSH отредактируйте файл конфигурации MySQL с помощью 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

Предупреждение: вам нужно установить правильный размер пула буферов Innodb в соответствии с вашим конкретным размером сервера. Обычно размер пула буферов Innodb должен составлять около 40% от объема памяти вашей машины. Например, если вы используете машину с памятью 4G, разумный размер пула буферов Innodb будет 1600M. В случае, если вы используете машину с небольшим объемом памяти (например, 768M), вам может потребоваться назначить размер менее 40% объема памяти вашего устройства (например, 220M), чтобы сэкономить больше памяти для системы.

Сохранить и выйти:

:wq

Перезапустите сервис MariaDB:

sudo systemctl restart mariadb.service

Наконец, выполните следующую команду:

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

Нажмите на кнопку «Перезагрузить страницу», чтобы изучить ваши усилия.

Проблема 11: Установите фрагменты для улучшения подсветки синтаксиса

В CentOS 7 Pygments установлен, но не включен по умолчанию, вам нужно включить его вручную:

Нажмите на ссылку: отредактируйте «pygments.enabled», выберите «Использовать фрагменты» в раскрывающемся меню «Значение базы данных», затем нажмите кнопку «Сохранить запись конфигурации».

Проблема 12: Часовой пояс сервера не настроен

Изменить php.iniфайл:

sudo vi /etc/php.ini

Заменить строку:

;date.timezone =

С:

date.timezone = America/Los_Angeles

Сохранить и выйти:

:wq

Примечание: «Америка / Los_Angeles» это значение часового пояса моей машины, вам нужно найти соответствующее значение часового пояса для своего собственного экземпляра сервера здесь .

Перезапустите сервис Apache:

sudo systemctl restart httpd.service

Нажмите кнопку «Обновить страницу», чтобы просмотреть результат.

Проблема 13: хранилище больших файлов не настроено

Вам необходимо развернуть правильное решение для хранения больших файлов в соответствии с вашими настройками. На данный момент, вы можете нажать кнопку «Игнорировать проблему установки», чтобы пропустить.

Выпуск 14: Альтернативный Файл Домен Не сконфигурированной

Допустим, вы установили альтернативный файловый домен или CDN, а затем в терминале SSH:

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: расширение PHP 'APC' не установлено

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

В процессе установки APC всегда нажимайте Enter, чтобы использовать опцию по умолчанию.

sudo vi /etc/php.ini

Добавьте четыре строки в конец файла:

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

Сохранить и выйти:

:wq

Перезапустите сервис Apache:

sudo systemctl restart httpd.service

Нажмите кнопку «Обновить страницу», чтобы проверить результат.

Это все. Счастливый кодирования!



Leave a Comment

Как установить Anchor CMS на CentOS 7 LAMP VPS

Как установить Anchor CMS на CentOS 7 LAMP VPS

Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Настройте Magento на CentOS 6

Настройте Magento на CentOS 6

Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья

Как установить AirSonic на CentOS 7

Как установить AirSonic на CentOS 7

Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания

Как установить OrangeScrum на CentOS 7

Как установить OrangeScrum на CentOS 7

OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через

Как установить и настроить OrientDB Community Edition для CentOS 7

Как установить и настроить OrientDB Community Edition для CentOS 7

OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я

Как установить MaraDNS на CentOS 6

Как установить MaraDNS на CentOS 6

MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns

Установка Netdata в CentOS 7

Установка Netdata в CentOS 7

Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Кластеризация RabbitMQ на CentOS 7

Кластеризация RabbitMQ на CentOS 7

RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Установите Elgg на CentOS 7

Установите Elgg на CentOS 7

Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и

Установка Bolt CMS на CentOS 7

Установка Bolt CMS на CentOS 7

Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на

Настройте Sails.js для разработки на CentOS 7

Настройте Sails.js для разработки на CentOS 7

Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше