Kuinka asentaa ja määrittää Phabricator CentOS 7:ssä

Phabricator on edistynyt avoimen lähdekoodin ohjelmistokehitysalusta, jota voidaan käyttää:

  • Tarkista ja tarkastuskoodi.
  • Isäntä Git/Hg/SVN-varastot.
  • Seuraa bugeja.
  • Hallitse projekteja.
  • Kommunikoi tiimin jäsenten kanssa.
  • Ja tee paljon muuta!

Runsaan ominaisuuksiensa ja poikkeuksellisen suorituskykynsä ansiosta Phabricator on tulossa yhä suositummaksi avoimen lähdekoodin ohjelmistoyhteisössä.

Tässä artikkelissa näytän sinulle, kuinka Phabricator asennetaan Vultr CentOS 7 -palvelinesiintymään.

Edellytykset

  • Ota Vultr CentOS 7 -palvelinesiintymä käyttöön tyhjästä;
  • Kirjaudu sisään SSH-päätteestä käyttämällä ei-root-sudo-käyttäjää.

Vaihe 1: Järjestelmäpäivitys

Päivitä CentOS 7 -järjestelmäsi ja käynnistä sitten uudelleen:

yum update -y && shutdown -r now

Kun järjestelmä on käynnistynyt, kirjaudu sisään ei-root-käyttäjänä, jolla on sudo-käyttöoikeus.

Vaihe 2: Asenna MariaDB

Asenna MariaDB-palvelin:

sudo yum install mariadb mariadb-server

Käynnistä ja ota MariaDB-palvelu käyttöön:

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

Turvallisuussyistä aja MySQL:n suojattu asennusapuohjelma:

sudo /usr/bin/mysql_secure_installation

Viimeistele tämä prosessi alla olevien ohjeiden mukaisesti:

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

Vaihe 3: Asenna Apache

Asenna Apache-verkkopalvelin YUM:n avulla:

sudo yum install httpd

Muokkaa oletuskokoonpanoa turvallisuuden parantamiseksi:

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

Käynnistä ja ota Apache-palvelu käyttöön:

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

Vaihe 4: Asenna PHP

Asenna PHP ja tarvittavat laajennukset:

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

Vaihe 5: Asenna git

sudo yum install git

Vaihe 6: Lataa ja asenna 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

Vaihe 7: Asenna virtuaalinen isäntä Phabricatorille

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

Täytä seuraava koodisegmentti:

Huomautus: Sinun on korvattava admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, ja /var/log/httpd/phabricator.example.com-access_logjossa omat arvot.

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

Tallenna ja lopeta:

:wq

Käynnistä Apache-palvelu uudelleen, jotta muutokset tulevat voimaan:

sudo systemctl restart httpd.service

Vaihe 8: Määritä MariaDB-kirjautumistiedot Phabricatorille

Ennen kuin voit käyttää Phabricatoria, sinun on määritettävä MariaDB-tunnistetiedot:

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>

Suositut Phabricator-järjestelmät:

./bin/storage upgrade

Tämän prosessin aikana sinun on syötettävä "y" kahdesti:

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

Vaihe 9: Muokkaa palomuurisääntöjä ja määritä Phabricator-järjestelmänvalvojan tili

Sinun on sallittava saapuva liikenne HTTP-oletusportissa 80:

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

Vieraile sitten selaimellasi:

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

Sinulle esitetään Phabricator-rekisteröintisivu. Luo järjestelmänvalvojan tili päivittäistä hallintaa varten.

Katsotaanpa nyt, kuinka Phabricator määritetään.

Vaihe 10: Korjaa ratkaisemattomat asennusongelmat

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.

Muokkaa SSH-päätteessäsi MySQL-määritystiedostoa vi:

sudo vi /etc/my.cnf

Kolmen yläosan rivin alla:

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

Lisää kuusi riviä alle:

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

Varoitus: Sinun on asetettava oikea Innodb-puskurivarannon koko palvelimesi koon mukaan. Yleensä Innodb-puskurivarannon koon tulisi olla noin 40 % koneen muistin määrästä. Jos esimerkiksi käytät 4G-muistilla varustettua konetta, kohtuullinen Innodb-puskurivarannon koko olisi 1600M. Jos käytät laitetta, jossa on vähän muistia (kuten 768M), saatat joutua määrittämään koon, joka on alle 40 % koneen muistin määrästä (esim. 220M), jotta voit säästää enemmän muistia järjestelmälle.

Tallenna ja lopeta:

:wq

Käynnistä MariaDB-palvelu uudelleen:

sudo systemctl restart mariadb.service

Suorita lopuksi seuraava komento:

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

Napsauta "Lataa sivu uudelleen" -painiketta tarkastellaksesi toimiasi.

Ongelma 11: Asenna Pygments parantaaksesi syntaksin korostusta

CentOS 7:ssä Pygments on asennettu, mutta se ei ole oletuksena käytössä. Sinun on otettava se käyttöön manuaalisesti:

Napsauta linkkiä: Muokkaa "pygments.enabled", valitse "Käytä Pygments" avattavasta "Tietokannan arvo" -valikosta ja napsauta sitten "Tallenna määritysten merkintä" -painiketta.

Ongelma 12: Palvelimen aikavyöhykettä ei ole määritetty

Muokkaa php.initiedostoa:

sudo vi /etc/php.ini

Vaihda rivi:

;date.timezone =

Kanssa:

date.timezone = America/Los_Angeles

Tallenna ja lopeta:

:wq

Huomautus: "America/Los_Angeles" on koneeni aikavyöhykearvo, sinun on löydettävä sopiva aikavyöhykearvo omalle palvelinesiintymällesi täältä .

Käynnistä Apache-palvelu uudelleen:

sudo systemctl restart httpd.service

Napsauta "Lataa sivu uudelleen" -painiketta tarkastellaksesi tulosta.

Ongelma 13: Suuren tiedoston tallennustilaa ei ole määritetty

Sinun on otettava käyttöön asianmukainen suurten tiedostojen tallennusratkaisu omien asetustesi mukaan. Toistaiseksi voit ohittaa napsauttamalla "Ohita asennusongelma" -painiketta.

Ongelma 14: Vaihtoehtoista tiedostoaluetta ei ole määritetty

Oletetaan, että olet määrittänyt vaihtoehtoisen tiedostoalueen tai CDN:n ja sitten SSH-päätteeseen:

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

Napsauta "Lataa sivu uudelleen" -painiketta tarkastellaksesi tulosta.

Ongelma 15: Puuttuva arkiston paikallinen polku

Ratkaise tämä ongelma käyttämällä seuraavia komentoja:

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

Napsauta "Lataa sivu uudelleen" -painiketta tarkastellaksesi tulosta.

Ongelma 16: PHP-laajennusta "APC" ei ole asennettu

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

APC:n asennuksen aikana paina aina Enter-näppäintä käyttääksesi oletusvaihtoehtoa.

sudo vi /etc/php.ini

Lisää neljä riviä tiedoston loppuun:

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

Tallenna ja lopeta:

:wq

Käynnistä Apache-palvelu uudelleen:

sudo systemctl restart httpd.service

Napsauta "Lataa sivu uudelleen" -painiketta tarkistaaksesi tulos.

Siinä kaikki. Hyvää koodausta!

Jätä kommentti

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja