Ako nainštalovať a nakonfigurovať Phabricator na CentOS 7

Phabricator je pokročilá platforma na vývoj softvéru s otvoreným zdrojovým kódom, ktorú možno použiť na:

  • Kód kontroly a auditu.
  • Hostiteľské úložiská Git/Hg/SVN.
  • Sledujte chyby.
  • Riadiť projekty.
  • Komunikujte s členmi tímu.
  • A urobte oveľa viac!

Vďaka svojim bohatým funkciám a výnimočnému výkonu sa Phabricator stáva čoraz obľúbenejším v komunite open source softvéru.

V tomto článku vám ukážem, ako nainštalovať Phabricator na inštanciu servera Vultr CentOS 7.

Predpoklady

  • Nasaďte inštanciu servera Vultr CentOS 7 od začiatku;
  • Prihláste sa z terminálu SSH pomocou sudo užívateľa, ktorý nie je root.

Krok 1: Aktualizácia systému

Aktualizujte svoj systém CentOS 7 a potom reštartujte:

yum update -y && shutdown -r now

Po spustení systému sa prihláste ako používateľ bez oprávnenia root s prístupom sudo.

Krok 2: Nainštalujte MariaDB

Nainštalujte server MariaDB:

sudo yum install mariadb mariadb-server

Spustite a povoľte službu MariaDB:

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

Z bezpečnostných dôvodov spustite pomôcku pre zabezpečenú inštaláciu MySQL:

sudo /usr/bin/mysql_secure_installation

Dokončite tento proces v súlade s nižšie uvedenými pokynmi:

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: Nainštalujte Apache

Nainštalujte webový server Apache pomocou YUM:

sudo yum install httpd

Upravte predvolenú konfiguráciu, aby ste zvýšili bezpečnosť:

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

Spustite a povoľte službu Apache:

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

Krok 4: Nainštalujte PHP

Nainštalujte PHP a potrebné rozšírenia:

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

Krok 5: Nainštalujte git

sudo yum install git

Krok 6: Stiahnite si a nainštalujte 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álneho hostiteľa pre Phabricator

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

Vyplňte nasledujúci segment kódu:

Poznámka: Je potrebné vymeniť [email protected], phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_loga /var/log/httpd/phabricator.example.com-access_logso svojimi 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žiť a ukončiť:

:wq

Reštartujte službu Apache, aby sa vaše úpravy prejavili:

sudo systemctl restart httpd.service

Krok 8: Nastavte poverenia MariaDB pre Phabricator

Predtým, ako budete môcť použiť Phabricator, musíte nastaviť poverenia 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>

Naplniť schémy Phabricator:

./bin/storage upgrade

Počas tohto procesu musíte zadať „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 pravidlá brány firewall a nastavte účet správcu Phabricator

Musíte povoliť prichádzajúci prenos na predvolenom porte HTTP 80:

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

Potom pomocou webového prehliadača navštívte:

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

Zobrazí sa vám registračná webová stránka Phabricator. Vytvorte si správcovský účet pre každodennú správu.

Teraz sa pozrime na to, ako nakonfigurovať Phabricator.

Krok 10: Opravte nevyriešené problémy s nastavením

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.

On your SSH terminal, edit the MySQL configuration file with vi:

sudo vi /etc/my.cnf

Under the three lines on the top:

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

Add the six lines below:

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

Warning: You need to set a proper Innodb buffer pool size according to your specific server size. Usually, the Innodb buffer pool size should be about 40% of the amount of your machine's memory. For example, if you are using a machine with 4G memory, the reasonable Innodb buffer pool size would be 1600M. In case that you are using a machine with little memory (such as 768M), you may need to assign a size less than 40% of the amount of your machine's memory (say 220M) in order to save more memory for the system.

Save and quit:

:wq

Restart the MariaDB service:

sudo systemctl restart mariadb.service

Finally, run the following command:

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

Click the "Reload Page" button to examine your efforts.

Problém 11: Nainštalujte Pygments na zlepšenie zvýraznenia syntaxe

Na CentOS 7 boli Pygments nainštalované, ale nie sú predvolene povolené, musíte ich povoliť manuálne:

Kliknite na odkaz: Upraviť „pygments.enabled“, z rozbaľovacej ponuky „Hodnota databázy“ vyberte „Použiť Pygments“ a potom kliknite na tlačidlo „Uložiť položku konfigurácie“.

Problém 12: Časové pásmo servera nie je nakonfigurované

Upravte php.inisúbor:

sudo vi /etc/php.ini

Vymeňte riadok:

;date.timezone =

s:

date.timezone = America/Los_Angeles

Uložiť a ukončiť:

:wq

Poznámka: "Amerika / Los_Angeles" je hodnota časové pásmo na mojom stroji, musíte nájsť príslušnú hodnotu časové pásmo pre svoj vlastný inštancie servera tu .

Reštartujte službu Apache:

sudo systemctl restart httpd.service

Kliknutím na tlačidlo „Znova načítať stránku“ skontrolujte výsledok.

Problém 13: Ukladanie veľkých súborov nie je nakonfigurované

Musíte nasadiť správne riešenie na ukladanie veľkých súborov podľa vlastného nastavenia. Zatiaľ môžete preskočiť kliknutím na tlačidlo „Ignorovať problém s nastavením“.

Problém 14: Alternatívna doména súboru nie je nakonfigurovaná

Povedzme, že ste nastavili alternatívnu doménu súboru alebo CDN, potom v termináli SSH:

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

Kliknutím na tlačidlo „Znova načítať stránku“ skontrolujte výsledok.

Vydanie 15: Chýba miestna cesta k úložisku

Na vyriešenie tohto problému použite nasledujúce príkazy:

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

Kliknutím na tlačidlo „Znova načítať stránku“ skontrolujte výsledok.

Problém 16: PHP rozšírenie 'APC' nie je nainštalované

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

Počas procesu inštalácie APC vždy stlačte kláves Enter, aby ste použili predvolenú možnosť.

sudo vi /etc/php.ini

Pridajte štyri riadky na koniec súboru:

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

Uložiť a ukončiť:

:wq

Reštartujte službu Apache:

sudo systemctl restart httpd.service

Kliknutím na tlačidlo „Znova načítať stránku“ skontrolujte výsledok.

To je všetko. Šťastné kódovanie!


Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Microweber na CentOS 7

Ako nainštalovať Microweber na CentOS 7

Používate iný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je umiestnený na GitHub. Tento návod vám to ukáže

Ako nainštalovať Mattermost 4.1 na CentOS 7

Ako nainštalovať Mattermost 4.1 na CentOS 7

Používate iný systém? Mattermost je open source, samostatne hosťovaná alternatíva k službe posielania správ Slack SAAS. Inými slovami, s Mattermostom môžete cca

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Umožňuje šifrovanie na Plesku

Umožňuje šifrovanie na Plesku

Ovládací panel Plesk obsahuje veľmi peknú integráciu pre Lets Encrypt. Lets Encrypt je jedným z mála poskytovateľov SSL, ktorí rozdávajú kompletné certifikáty

Umožňuje šifrovanie na cPanel

Umožňuje šifrovanie na cPanel

Lets Encrypt je certifikačná autorita, ktorá sa venuje bezplatnému poskytovaniu certifikátov SSL. cPanel vytvoril úhľadnú integráciu, takže vy a váš klient

Ako nainštalovať Concrete5 na CentOS 7

Ako nainštalovať Concrete5 na CentOS 7

Používate iný systém? Concrete5 je open source CMS, ktorý ponúka mnoho charakteristických a užitočných funkcií, ktoré pomáhajú redaktorom jednoducho vytvárať obsah

Ako nainštalovať revíznu tabuľu na CentOS 7

Ako nainštalovať revíznu tabuľu na CentOS 7

Používate iný systém? Review Board je bezplatný a otvorený zdrojový nástroj na kontrolu zdrojového kódu, dokumentácie, obrázkov a mnohých ďalších. Je to webový softvér

Nastavte overenie HTTP pomocou Nginx na CentOS 7

Nastavte overenie HTTP pomocou Nginx na CentOS 7

V tejto príručke sa dozviete, ako nastaviť HTTP autentifikáciu pre webový server Nginx spustený na CentOS 7. Požiadavky Na začiatok budete potrebovať

Ako nainštalovať YOURLS na CentOS 7

Ako nainštalovať YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je open source aplikácia na skrátenie adresy URL a analýzu údajov. V tomto článku sa budeme zaoberať procesom inštalácie

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je

Použitie Etckeeper na kontrolu verzií /etc

Použitie Etckeeper na kontrolu verzií /etc

Úvod Adresár /etc/ hrá rozhodujúcu úlohu v spôsobe fungovania systému Linux. Dôvodom je skutočnosť, že takmer každá konfigurácia systému

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Mnoho systémových administrátorov spravuje veľké množstvo serverov. Keď je potrebné pristupovať k súborom cez rôzne servery, prihlásenie do každého z nich samostatne ca

Nastavenie servera Half Life 2 na CentOS 6

Nastavenie servera Half Life 2 na CentOS 6

Tento tutoriál sa bude zaoberať procesom inštalácie herného servera Half Life 2 na systém CentOS 6. Krok 1: Inštalácia predpokladov Aby ste mohli nastaviť ou

Ako nainštalovať Laravel GitScrum na CentOS 7

Ako nainštalovať Laravel GitScrum na CentOS 7

Laravel GitScrum alebo GitScrum je nástroj na zvýšenie produktivity s otvoreným zdrojom určený na pomoc vývojovým tímom implementovať metodiku Scrum podobným spôsobom.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac