A Phabricator telepítése és konfigurálása CentOS 7 rendszeren

A Phabricator egy fejlett nyílt forráskódú szoftverfejlesztő platform, amely a következőkre használható:

  • Áttekintés és ellenőrzési kód.
  • Host Git/Hg/SVN repók.
  • Kövesse nyomon a hibákat.
  • Projektek kezelése.
  • Kommunikáljon a csapat tagjaival.
  • És még sok minden mást!

Bőséges szolgáltatásainak és kivételes teljesítményének köszönhetően a Phabricator egyre népszerűbb a nyílt forráskódú szoftverek közösségében.

Ebben a cikkben megmutatom, hogyan telepítheti a Phabricator-t Vultr CentOS 7 kiszolgálópéldányra.

Előfeltételek

  • Telepítsen egy Vultr CentOS 7 kiszolgálópéldányt a semmiből;
  • Jelentkezzen be az SSH terminálból egy nem root sudo felhasználóval.

1. lépés: Rendszerfrissítés

Frissítse CentOS 7 rendszerét, majd indítsa újra:

yum update -y && shutdown -r now

A rendszerindítás után jelentkezzen be nem root felhasználóként sudo hozzáféréssel.

2. lépés: Telepítse a MariaDB-t

Telepítse a MariaDB szervert:

sudo yum install mariadb mariadb-server

Indítsa el és engedélyezze a MariaDB szolgáltatást:

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

Biztonsági okokból futtassa a MySQL biztonságos telepítő segédprogramját:

sudo /usr/bin/mysql_secure_installation

Fejezze be ezt a folyamatot az alábbi utasítások szerint:

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. lépés: Telepítse az Apache-t

Telepítse az Apache webszervert a YUM használatával:

sudo yum install httpd

Módosítsa az alapértelmezett konfigurációt a biztonság fokozása érdekében:

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

Indítsa el és engedélyezze az Apache szolgáltatást:

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

4. lépés: Telepítse a PHP-t

Telepítse a PHP-t és a szükséges bővítményeket:

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

5. lépés: Telepítse a git-et

sudo yum install git

6. lépés: Töltse le és telepítse a Phabricator programot

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. lépés: Állítson be egy virtuális gazdagépet a Phabricator számára

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

Töltse ki a következő kódszegmenst:

Megjegyzés: Ki kell cserélni admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, és /var/log/httpd/phabricator.example.com-access_loga saját értékeit.

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

Mentés és kilépés:

:wq

A módosítások életbe léptetéséhez indítsa újra az Apache szolgáltatást:

sudo systemctl restart httpd.service

8. lépés: Állítsa be a MariaDB hitelesítő adatait a Phabricatorhoz

A Phabricator használata előtt be kell állítania a MariaDB hitelesítő adatait:

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>

Népszerű Phabricator sémák:

./bin/storage upgrade

A folyamat során kétszer kell beírnia az „y”-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

9. lépés: Módosítsa a tűzfalszabályokat, és állítson be egy Phabricator rendszergazdai fiókot

Engedélyeznie kell a bejövő forgalmat az alapértelmezett 80-as HTTP-porton:

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

Ezután a webböngészővel keresse fel:

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

Megjelenik a Phabricator regisztrációs weboldala. Hozzon létre egy rendszergazdai fiókot a napi kezeléshez.

Most pedig nézzük meg, hogyan kell konfigurálni a Phabricatort.

10. lépés: Javítsa ki a megoldatlan beállítási problémákat

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.

Az SSH terminálon szerkessze a MySQL konfigurációs fájlt a következővel vi:

sudo vi /etc/my.cnf

A felső három sor alatt:

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

Adja hozzá az alábbi hat sort:

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

Figyelmeztetés: Megfelelő Innodb puffertárméretet kell beállítania az adott szerver méretének megfelelően. Az Innodb puffertárának mérete általában a gép memóriájának körülbelül 40%-a. Például, ha 4G memóriával rendelkező gépet használ, az Innodb puffertárának ésszerű mérete 1600 MB. Ha kevés memóriával rendelkező gépet használ (például 768M), előfordulhat, hogy a gép memóriájának 40%-ánál kisebb méretet kell hozzárendelnie (mondjuk 220M), hogy több memóriát takarítson meg a rendszer számára.

Mentés és kilépés:

:wq

Indítsa újra a MariaDB szolgáltatást:

sudo systemctl restart mariadb.service

Végül futtassa a következő parancsot:

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

Kattintson az "Oldal újratöltése" gombra, hogy megvizsgálja erőfeszítéseit.

11. probléma: Telepítse a Pygments-et a szintaxiskiemelés javítása érdekében

A CentOS 7 rendszeren a Pygments telepítve van, de alapértelmezés szerint nincs engedélyezve, manuálisan kell engedélyeznie:

Kattintson a hivatkozásra: A "pygments.enabled" szerkesztése, az "Adatbázisérték" legördülő menüből válassza a "Pygments használata" lehetőséget, majd kattintson a "Konfigurációs bejegyzés mentése" gombra.

12. probléma: A szerver időzóna nincs konfigurálva

Módosítsa a php.inifájlt:

sudo vi /etc/php.ini

Cserélje ki a sort:

;date.timezone =

Val vel:

date.timezone = America/Los_Angeles

Mentés és kilépés:

:wq

Megjegyzés: „America / Los_Angeles” az időzóna értéke gépem, meg kell találni a megfelelő időzóna értéke a saját szerver példány van .

Indítsa újra az Apache szolgáltatást:

sudo systemctl restart httpd.service

Kattintson az "Oldal újratöltése" gombra az eredmény megvizsgálásához.

13. probléma: A nagy fájltároló nincs konfigurálva

Megfelelő nagyméretű fájl tárolási megoldást kell telepítenie a saját beállításainak megfelelően. Egyelőre a "Beállítási probléma figyelmen kívül hagyása" gombra kattintva kihagyhatja.

14. probléma: Az alternatív fájltartomány nincs konfigurálva

Tegyük fel, hogy beállított egy alternatív fájltartományt vagy CDN-t, majd az SSH terminálban:

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

Kattintson az "Oldal újratöltése" gombra az eredmény megvizsgálásához.

15. probléma: Hiányzó adattár helyi elérési útja

A probléma megoldásához használja a következő parancsokat:

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

Kattintson az "Oldal újratöltése" gombra az eredmény megvizsgálásához.

16. probléma: Az „APC” PHP-bővítmény nincs telepítve

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

Az APC telepítése során mindig nyomja meg az Enter billentyűt az alapértelmezett beállítás használatához.

sudo vi /etc/php.ini

Adja hozzá a négy sort a fájl végéhez:

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

Mentés és kilépés:

:wq

Indítsa újra az Apache szolgáltatást:

sudo systemctl restart httpd.service

Kattintson az "Oldal újratöltése" gombra az eredmény ellenőrzéséhez.

Ez minden. Boldog kódolást!

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.