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ť 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_logso svojimi 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ž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!

Zanechať komentár

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.

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.

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.

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