Jak nainstalovat a nakonfigurovat Phabricator na CentOS 7

Phabricator je pokročilá platforma pro vývoj softwaru s otevřeným zdrojovým kódem, kterou lze použít k:

  • Kontrolní a auditní kód.
  • Hostitelská úložiště Git/Hg/SVN.
  • Sledujte chyby.
  • Řídit projekty.
  • Komunikujte se členy týmu.
  • A udělat mnohem víc!

Díky svým bohatým funkcím a výjimečnému výkonu je Phabricator v komunitě open source softwaru stále populárnější.

V tomto článku vám ukážu, jak nainstalovat Phabricator na instanci serveru Vultr CentOS 7.

Předpoklady

  • Nasaďte instanci serveru Vultr CentOS 7 od začátku;
  • Přihlaste se z terminálu SSH pomocí sudo uživatele, který není root.

Krok 1: Aktualizace systému

Aktualizujte svůj systém CentOS 7 a poté restartujte:

yum update -y && shutdown -r now

Po spuštění systému se přihlaste jako uživatel bez oprávnění root s přístupem sudo.

Krok 2: Nainstalujte MariaDB

Nainstalujte server MariaDB:

sudo yum install mariadb mariadb-server

Spusťte a povolte službu MariaDB:

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

Z bezpečnostních důvodů spusťte nástroj pro zabezpečenou instalaci MySQL:

sudo /usr/bin/mysql_secure_installation

Dokončete tento proces v souladu s níže uvedenými pokyny:

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

Krok 3: Nainstalujte Apache

Nainstalujte webový server Apache pomocí YUM:

sudo yum install httpd

Upravte výchozí konfiguraci, abyste zvýšili zabezpečení:

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

Spusťte a povolte službu Apache:

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

Krok 4: Nainstalujte PHP

Nainstalujte PHP a potřebná rozšíření:

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

Krok 5: Nainstalujte git

sudo yum install git

Krok 6: Stáhněte a nainstalujte 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

Krok 7: Nastavte virtuálního hostitele pro Phabricator

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

Vyplňte následující segment kódu:

Poznámka: Je třeba vyměnit admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_loga /var/log/httpd/phabricator.example.com-access_logse svými vlastními hodnotami.

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

Uložit a ukončit:

:wq

Restartujte službu Apache, aby se vaše úpravy projevily:

sudo systemctl restart httpd.service

Krok 8: Nastavte přihlašovací údaje MariaDB pro Phabricator

Než budete moci používat Phabricator, musíte nastavit přihlašovací údaje 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>

Naplnit schémata Phabricator:

./bin/storage upgrade

Během tohoto procesu musíte zadat "y" dvakrát:

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

Krok 9: Upravte pravidla brány firewall a nastavte účet správce Phabricator

Musíte povolit příchozí provoz na výchozím portu HTTP 80:

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

Poté pomocí webového prohlížeče navštivte:

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

Zobrazí se vám registrační webová stránka Phabricator. Vytvořte si účet správce pro každodenní správu.

Nyní se podívejme, jak nakonfigurovat Phabricator.

Krok 10: Opravte nevyřešené problémy s nastavením

Než budete moci Phabricator v klidu používat, musíte vyřešit několik problémů s nastavením. Počet problémů s nastavením se liší, v mém případě jich bylo 16. Pojďme je vyřešit jeden po druhém.

Problém 1: Základní URI není nakonfigurováno

Kliknutím na odkaz „Základní URI není nakonfigurováno“ se dostanete na stránku s podrobnostmi o problému, kde se můžete dozvědět více o tomto problému.

Chcete-li tento problém vyřešit, musíte na svém terminálu SSH provést následující příkazy. Ujistěte se, že používáte správnou IP adresu.

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

Poté ve webovém prohlížeči klikněte na stránce s podrobnostmi o problému na tlačítko „Znovu načíst stránku“. Pokud vaše oprava fungovala, text na stránce se změní na „Problém vyřešen“. Chcete-li prozkoumat další problémy, klikněte na odkaz „Návrat na otevřený seznam problémů“.

Problém 2: Nejsou nakonfigurováni žádní poskytovatelé ověřování

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

Kliknutím na odkaz „Démoni Phabricator neběží“ přejděte na stránku s podrobnostmi.

Chcete-li tento problém vyřešit, spusťte níže uvedený příkaz na terminálu SSH:

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

Kliknutím na tlačítko „Znovu načíst stránku“ potvrďte výsledek.

Problém 4: PHP post_max_sizenení nakonfigurováno

Chcete-li tento problém vyřešit, spusťte na svém terminálu SSH následující příkazy:

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

Kliknutím na tlačítko "Znovu načíst stránku" potvrďte své úpravy.

Problém 5-10: Problémy související s MySQL

Existuje celkem šest problémů souvisejících s MySQL:

  • Malý MySQL „maximální povolený paket“
  • Režim MySQL STRICT ALL TABLES není nastaven
  • MySQL používá výchozí soubor ignorovaných slov
  • MySQL používá výchozí minimální délku slova
  • MySQL používá výchozí booleovskou syntaxi
  • MySQL může běžet pomalu

Z důvodu pohodlí je opravme v jedné dávce.

Na svém terminálu SSH upravte konfigurační soubor MySQL pomocí vi:

sudo vi /etc/my.cnf

Pod třemi řádky nahoře:

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

Přidejte šest řádků níže:

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

Upozornění: Musíte nastavit správnou velikost fondu vyrovnávací paměti Innodb podle velikosti vašeho konkrétního serveru. Obvykle by velikost fondu vyrovnávací paměti Innodb měla být asi 40 % velikosti paměti vašeho počítače. Pokud například používáte počítač s pamětí 4G, rozumná velikost fondu vyrovnávací paměti Innodb by byla 1600 milionů. V případě, že používáte stroj s malou pamětí (např. 768M), možná budete muset přiřadit velikost menší než 40 % velikosti paměti vašeho stroje (řekněme 220M), abyste ušetřili více paměti pro systém.

Uložit a ukončit:

:wq

Restartujte službu MariaDB:

sudo systemctl restart mariadb.service

Nakonec spusťte následující příkaz:

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

Klikněte na tlačítko "Znovu načíst stránku" a prozkoumejte své úsilí.

Problém 11: Nainstalujte Pygments pro zlepšení zvýraznění syntaxe

Na CentOS 7 byly Pygments nainstalovány, ale ve výchozím nastavení nejsou povoleny, musíte je povolit ručně:

Klikněte na odkaz: Upravit „pygments.enabled“, z rozbalovací nabídky „Hodnota databáze“ vyberte „Použít Pygments“ a poté klikněte na tlačítko „Uložit položku konfigurace“.

Problém 12: Časové pásmo serveru není nakonfigurováno

Upravte php.inisoubor:

sudo vi /etc/php.ini

Nahradit řádek:

;date.timezone =

S:

date.timezone = America/Los_Angeles

Uložit a ukončit:

:wq

Poznámka: „Amerika / Los_Angeles“ je hodnota časové pásmo na mém stroji, musíte najít příslušnou hodnotu časové pásmo pro svůj vlastní instance serveru zde .

Restartujte službu Apache:

sudo systemctl restart httpd.service

Kliknutím na tlačítko "Znovu načíst stránku" prozkoumejte výsledek.

Problém 13: Není nakonfigurováno úložiště velkých souborů

Musíte nasadit správné řešení úložiště velkých souborů podle vlastního nastavení. Prozatím můžete přeskočit kliknutím na tlačítko „Ignorovat problém s nastavením“.

Problém 14: Doména alternativního souboru není nakonfigurována

Řekněme, že jste nastavili alternativní doménu souboru nebo CDN, pak v terminálu SSH:

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

Kliknutím na tlačítko "Znovu načíst stránku" prozkoumejte výsledek.

Problém 15: Chybějící místní cesta úložiště

K vyřešení tohoto problému použijte následující příkazy:

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

Kliknutím na tlačítko "Znovu načíst stránku" prozkoumejte výsledek.

Problém 16: Rozšíření PHP „APC“ není nainstalováno

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

Během procesu instalace APC vždy stiskněte klávesu Enter, abyste použili výchozí možnost.

sudo vi /etc/php.ini

Přidejte čtyři řádky na konec souboru:

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

Uložit a ukončit:

:wq

Restartujte službu Apache:

sudo systemctl restart httpd.service

Kliknutím na tlačítko "Znovu načíst stránku" zkontrolujte výsledek.

To je vše. Šťastné kódování!

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více