Kako namestiti in konfigurirati Phabricator na CentOS 7

Phabricator je napredna odprtokodna razvojna platforma programske opreme, ki se lahko uporablja za:

  • Pregledna in revizijska koda.
  • Host Git/Hg/SVN repo.
  • Sledite napakam.
  • Upravljajte projekte.
  • Komunicirajte s člani ekipe.
  • In naredite še veliko več!

Zahvaljujoč svojim bogatim funkcijam in izjemni zmogljivosti, Phabricator postaja vse bolj priljubljen v skupnosti odprtokodne programske opreme.

V tem članku vam bom pokazal, kako namestiti Phabricator na primerek strežnika Vultr CentOS 7.

Predpogoji

  • Namestite primerek strežnika Vultr CentOS 7 iz nič;
  • Prijavite se s terminala SSH z nekorenskim uporabnikom sudo.

1. korak: posodobitev sistema

Posodobite svoj sistem CentOS 7 in ga znova zaženite:

yum update -y && shutdown -r now

Ko se sistem zažene, se prijavite kot nekorenski uporabnik z dostopom sudo.

2. korak: Namestite MariaDB

Namestite strežnik MariaDB:

sudo yum install mariadb mariadb-server

Zaženite in omogočite storitev MariaDB:

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

Za varnostne namene zaženite pripomoček za varno namestitev MySQL:

sudo /usr/bin/mysql_secure_installation

Ta postopek zaključite v skladu s spodnjimi navodili:

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. korak: Namestite Apache

Namestite spletni strežnik Apache s pomočjo YUM:

sudo yum install httpd

Spremenite privzeto konfiguracijo, da povečate varnost:

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

Zaženite in omogočite storitev Apache:

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

4. korak: Namestite PHP

Namesti PHP in potrebne razširitve:

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

5. korak: Namestite git

sudo yum install git

6. korak: Prenesite in namestite 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. korak: Nastavite navideznega gostitelja za Phabricator

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

Izpolnite naslednji segment kode:

Opomba: zamenjati morate [email protected], phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, in /var/log/httpd/phabricator.example.com-access_logz lastnimi vrednostmi.

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

Shrani in zapusti:

:wq

Znova zaženite storitev Apache, da bodo vaše spremembe začele veljati:

sudo systemctl restart httpd.service

8. korak: Nastavite poverilnice MariaDB za Phabricator

Preden lahko uporabite Phabricator, morate nastaviti poverilnice 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>

Napolnite sheme Phabricator:

./bin/storage upgrade

Med tem postopkom morate dvakrat vnesti "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. korak: Spremenite pravila požarnega zidu in nastavite skrbniški račun Phabricator

Dovoliti morate vhodni promet na privzetih vratih HTTP 80:

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

Nato s spletnim brskalnikom obiščite:

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

Predstavljena vam bo spletna stran za registracijo Phabricator. Ustvarite skrbniški račun za dnevno upravljanje.

Zdaj pa si poglejmo, kako konfigurirati Phabricator.

10. korak: Odpravite nerešene težave z nastavitvijo

Preden lahko mirno uporabljate Phabricator, morate odpraviti več težav z nastavitvijo. Število težav pri nastavitvi je različno, v mojem primeru jih je bilo 16. Rešimo jih enega za drugim.

1. težava: Osnovni URI ni konfiguriran

Kliknite povezavo »Osnovni URI ni konfiguriran«, da odprete stran s podrobnostmi o težavi, na kateri lahko izveste več o tej težavi.

Če želite odpraviti to težavo, morate na terminalu SSH izvesti naslednje ukaze. Prepričajte se, da uporabljate ustrezen naslov IP.

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

Nato v spletnem brskalniku kliknite gumb »Znova naloži stran« na strani s podrobnostmi o težavi. Če je vaše popravilo uspelo, bo besedilo na strani postalo »Težava rešena«. Kliknite povezavo »Nazaj na odprt seznam težav«, da raziščete druge težave.

2. težava: ni konfiguriran noben ponudnik preverjanja pristnosti

Kliknite povezavo »Ni konfiguriranih ponudnikov preverjanja pristnosti«, da odprete stran s podrobnostmi o težavi.

Če želite odpraviti to težavo, morate določiti ponudnika preverjanja pristnosti.

Kliknite povezavo "Avth Application" in nato gumb "+ Add Provider", da pridete na stran "Add Auth Provider". Izberite ustreznega ponudnika preverjanja pristnosti in kliknite gumb »Nadaljuj«. Tukaj sem izbral "Uporabniško ime/geslo".

Na strani »Dodaj ponudnika avtorizacije: uporabniško ime/geslo« si lahko ogledate podrobnejše nastavitve, nato pa kliknete gumb »Dodaj ponudnika«.

Na enak način lahko dodate več ponudnikov preverjanja pristnosti, vendar zaenkrat kliknite povezavo »Imate X nerešenih težav z nastavitvijo ...«, da odpravite druge težave.

3. težava: Demoni Phabricatorja ne delujejo

Kliknite povezavo »Demoni Phabricator ne delujejo«, da odprete stran s podrobnostmi.

Če želite rešiti to težavo, zaženite spodnji ukaz na vašem terminalu SSH:

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

Kliknite gumb »Ponovno naloži stran«, da potrdite rezultat.

4. težava: PHP post_max_sizeni konfiguriran

Zaženite naslednje ukaze na terminalu SSH, da odpravite to težavo:

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

Kliknite gumb »Znova naloži stran«, da potrdite svoje spremembe.

Vprašanje 5-10: Težave, povezane z MySQL

Skupno je šest težav, povezanih z MySQL:

  • Majhen MySQL "največji dovoljeni paket"
  • Način MySQL STRICT ALL TABLES ni nastavljen
  • MySQL uporablja privzeto datoteko za zaustavitev
  • MySQL uporablja privzeto najmanjšo dolžino besede
  • MySQL uporablja privzeto logično sintakso
  • MySQL lahko deluje počasi

Zaradi udobja jih popravimo v eni seriji.

Na vašem terminalu SSH uredite konfiguracijsko datoteko MySQL z vi:

sudo vi /etc/my.cnf

Pod tremi vrsticami na vrhu:

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

Dodajte naslednjih šest vrstic:

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

Opozorilo: Nastaviti morate ustrezno velikost medpomnilnika Innodb glede na velikost vašega strežnika. Običajno mora biti velikost medpomnilnika Innodb približno 40 % količine pomnilnika vašega računalnika. Na primer, če uporabljate napravo s pomnilnikom 4G, bi bila razumna velikost medpomnilnika Innodb 1600M. V primeru, da uporabljate napravo z malo pomnilnika (na primer 768M), boste morda morali dodeliti velikost, manjšo od 40 % količine pomnilnika vaše naprave (recimo 220M), da prihranite več pomnilnika za sistem.

Shrani in zapusti:

:wq

Znova zaženite storitev MariaDB:

sudo systemctl restart mariadb.service

Na koncu zaženite naslednji ukaz:

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

Kliknite gumb »Znova naloži stran«, da preverite svoja prizadevanja.

11. težava: Namestite Pygments za izboljšanje poudarjanja sintakse

V CentOS 7 je bil Pygments nameščen, vendar privzeto ni omogočen, omogočite ga morate ročno:

Kliknite povezavo: Uredi "pygments.enabled", v spustnem meniju "Vrednost baze podatkov" izberite "Uporabi Pygments", nato kliknite gumb "Shrani vnos konfiguracije".

12. težava: Časovni pas strežnika ni konfiguriran

Spremenite php.inidatoteko:

sudo vi /etc/php.ini

Zamenjaj vrstico:

;date.timezone =

z:

date.timezone = America/Los_Angeles

Shrani in zapusti:

:wq

Opomba: "Amerika / Los_Angeles" je časovni pas vrednost mojega stroja, morate najti ustrezen časovni pas vrednost za svoj strežnik na primer tukaj .

Znova zaženite storitev Apache:

sudo systemctl restart httpd.service

Kliknite gumb »Znova naloži stran«, da pregledate rezultat.

13. težava: velika shramba datotek ni konfigurirana

Razmestiti morate ustrezno rešitev za shranjevanje velikih datotek v skladu z lastnimi nastavitvami. Zaenkrat lahko kliknete gumb »Prezri težavo pri nastavitvi«, da preskočite.

14. težava: nadomestna domena datoteke ni konfigurirana

Recimo, da ste nastavili nadomestno datotečno domeno ali CDN, nato v terminalu SSH:

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

Kliknite gumb »Znova naloži stran«, da pregledate rezultat.

15. težava: Manjka lokalna pot repozitorija

Za rešitev te težave uporabite naslednje ukaze:

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

Kliknite gumb »Znova naloži stran«, da pregledate rezultat.

16. težava: Razširitev PHP »APC« ni nameščena

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

Med postopkom namestitve APC vedno pritisnite Enter, da uporabite privzeto možnost.

sudo vi /etc/php.ini

Dodajte štiri vrstice na konec datoteke:

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

Shrani in zapusti:

:wq

Znova zaženite storitev Apache:

sudo systemctl restart httpd.service

Kliknite gumb »Znova naloži stran«, da preverite rezultat.

To je vse. Srečno kodiranje!


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Microweber na CentOS 7

Kako namestiti Microweber na CentOS 7

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti Mattermost 4.1 na CentOS 7

Kako namestiti Mattermost 4.1 na CentOS 7

Uporaba drugega sistema? Mattermost je odprtokodna alternativa sporočilni storitvi Slack SAAS, ki jo gosti sami. Z drugimi besedami, z Mattermostom si pribl

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Kaj potrebujete Vultr VPS z vsaj 1 GB RAM-a. SSH dostop (z root/administrativnimi pravicami). 1. korak: Namestitev BungeeCord Najprej najprej

Omogočamo šifriranje na Plesku

Omogočamo šifriranje na Plesku

Nadzorna plošča Plesk ima zelo lepo integracijo za Lets Encrypt. Lets Encrypt je eden edinih ponudnikov SSL, ki izdaja potrdila v celoti

Namestite MariaDB 10 na CentOS 6

Namestite MariaDB 10 na CentOS 6

V času pisanja je MariaDB 10.1 razvojna različica MariaDB. Temelji na MariaDB 5.5 in vključuje funkcije, prenesene nazaj iz MySQL 5.6. Ther

Omogoča šifriranje na cPanelu

Omogoča šifriranje na cPanelu

Lets Encrypt je certifikacijski organ, ki je namenjen brezplačnemu zagotavljanju certifikatov SSL. cPanel je zgradil lepo integracijo za vas in vašo stranko

Kako namestiti Concrete5 na CentOS 7

Kako namestiti Concrete5 na CentOS 7

Uporaba drugega sistema? Concrete5 je odprtokodni CMS, ki ponuja številne značilne in uporabne funkcije za pomoč urednikom pri preprosti izdelavi vsebine.

Kako namestiti pregledno ploščo na CentOS 7

Kako namestiti pregledno ploščo na CentOS 7

Uporaba drugega sistema? Review Board je brezplačno in odprtokodno orodje za pregledovanje izvorne kode, dokumentacije, slik in še veliko več. Gre za spletno programsko opremo

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

V tem priročniku se boste naučili, kako nastaviti preverjanje pristnosti HTTP za spletni strežnik Nginx, ki deluje na CentOS 7. Zahteve Za začetek boste potrebovali

Kako namestiti YOURLS na CentOS 7

Kako namestiti YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je odprtokodna aplikacija za krajšanje URL-jev in analitiko podatkov. V tem članku bomo obravnavali postopek namestitve

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Uporaba Etckeeperja za nadzor različic /etc

Uporaba Etckeeperja za nadzor različic /etc

Uvod Imenik /etc/ igra ključno vlogo pri delovanju sistema Linux. Razlog za to je skoraj vsaka sistemska konfiguracija

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Številni sistemski skrbniki upravljajo velike količine strežnikov. Ko je treba do datotek dostopati prek različnih strežnikov, se prijavite v vsakega posebej ca

Nastavitev strežnika Half Life 2 na CentOS 6

Nastavitev strežnika Half Life 2 na CentOS 6

Ta vadnica bo obravnavala postopek namestitve igralnega strežnika Half Life 2 na sistem CentOS 6. 1. korak: Namestitev predpogojev Za nastavitev ou

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več