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 [email protected], 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 [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>

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


Nainstalujte Plesk na CentOS 7

Nainstalujte Plesk na CentOS 7

Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze

Jak nainstalovat Squid Proxy na CentOS

Jak nainstalovat Squid Proxy na CentOS

Squid je populární bezplatný linuxový program, který vám umožňuje vytvořit webový proxy pro předávání. V této příručce uvidíte, jak nainstalovat Squid na CentOS, aby vás otočil

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, jehož cílem je být mnohem méně náročný na zdroje. Je lehký, odtud jeho název, a jeho použití je docela jednoduché. Installin

Konfigurace statické sítě a IPv6 na CentOS 7

Konfigurace statické sítě a IPv6 na CentOS 7

VULTR nedávno provedl změny na jejich konci a vše by nyní mělo fungovat dobře po vybalení s povoleným NetworkManagerem. Pokud si přejete deaktivovat

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Icinga2 je výkonný monitorovací systém a při použití v modelu master-client může nahradit potřebu monitorovacích kontrol založených na NRPE. Hlavní klient

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat Microweber na CentOS 7

Jak nainstalovat Microweber na CentOS 7

Používáte jiný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je hostován na GitHubu. Tento průvodce vám to ukáže

Jak nainstalovat Vanilla Forum na CentOS 7

Jak nainstalovat Vanilla Forum na CentOS 7

Používáte jiný systém? Vanilla forum je open source aplikace fóra napsaná v PHP. Je plně přizpůsobitelný, snadno použitelný a podporuje externí

Jak nainstalovat Mattermost 4.1 na CentOS 7

Jak nainstalovat Mattermost 4.1 na CentOS 7

Používáte jiný systém? Mattermost je open source alternativa k zasílání zpráv Slack SAAS s vlastním hostitelem. Jinými slovy, s Mattermostem můžete ca

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci

Umožňuje šifrovat na Plesku

Umožňuje šifrovat na Plesku

Ovládací panel Plesk se vyznačuje velmi pěknou integrací pro Lets Encrypt. Lets Encrypt je jedním z jediných poskytovatelů SSL, kteří rozdávají kompletní certifikáty

Umožňuje šifrovat na cPanel

Umožňuje šifrovat na cPanel

Lets Encrypt je certifikační autorita určená k bezplatnému poskytování certifikátů SSL. cPanel vytvořil úhlednou integraci, takže vy a váš klient

Jak nainstalovat Concrete5 na CentOS 7

Jak nainstalovat Concrete5 na CentOS 7

Používáte jiný systém? Concrete5 je open source CMS, který nabízí mnoho charakteristických a užitečných funkcí, které pomáhají editorům snadno vytvářet obsah

Jak nainstalovat kontrolní panel na CentOS 7

Jak nainstalovat kontrolní panel na CentOS 7

Používáte jiný systém? Review Board je bezplatný a open source nástroj pro kontrolu zdrojového kódu, dokumentace, obrázků a mnoha dalších. Je to webový software

Nastavte ověřování HTTP pomocí Nginx na CentOS 7

Nastavte ověřování HTTP pomocí Nginx na CentOS 7

V této příručce se dozvíte, jak nastavit HTTP ověřování pro webový server Nginx běžící na CentOS 7. Požadavky Chcete-li začít, budete potřebovat

Jak nainstalovat YOURLS na CentOS 7

Jak nainstalovat YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je open source aplikace pro zkracování adres URL a analýzu dat. V tomto článku se budeme zabývat procesem instalace

Jak nainstalovat a nakonfigurovat ArangoDB na CentOS 7

Jak nainstalovat a nakonfigurovat ArangoDB na CentOS 7

Používáte jiný systém? Úvod ArangoDB je open source databáze NoSQL s flexibilním datovým modelem pro dokumenty, grafy a páry klíč–hodnota. to je

Použití Etckeeper pro správu verzí /etc

Použití Etckeeper pro správu verzí /etc

Úvod Adresář /etc/ hraje kritickou roli ve způsobu fungování systému Linux. Důvodem je skutečnost, že téměř každá konfigurace systému

Proč byste měli používat SSHFS? Jak připojit vzdálený souborový systém s SSHFS na CentOS 6

Proč byste měli používat SSHFS? Jak připojit vzdálený souborový systém s SSHFS na CentOS 6

Mnoho systémových administrátorů spravuje velké množství serverů. Když je potřeba přistupovat k souborům přes různé servery, přihlaste se ke každému zvlášť ca

Nastavení serveru Half Life 2 na CentOS 6

Nastavení serveru Half Life 2 na CentOS 6

Tento návod pokryje proces instalace herního serveru Half Life 2 na systém CentOS 6. Krok 1: Instalace předpokladů Aby bylo možné nastavit ou

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.

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.

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.

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