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 [email protected], 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 [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>

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!


Leave a Comment

Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

Az Apache Cassandra 3.11.x telepítése CentOS 7 rendszeren

Az Apache Cassandra 3.11.x telepítése CentOS 7 rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

A Microweber telepítése CentOS 7 rendszeren

A Microweber telepítése CentOS 7 rendszeren

Más rendszert használ? A Microweber egy nyílt forráskódú drag and drop CMS és online bolt. A Microweber forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A Vanilla Forum telepítése a CentOS 7 rendszeren

A Vanilla Forum telepítése a CentOS 7 rendszeren

Más rendszert használ? A Vanilla forum egy nyílt forráskódú, PHP-ben írt fórumalkalmazás. Ez egy teljesen testreszabható, könnyen használható, és támogatja a külsőt

A Mattermost 4.1 telepítése CentOS 7 rendszeren

A Mattermost 4.1 telepítése CentOS 7 rendszeren

Más rendszert használ? A Mattermost egy nyílt forráskódú, saját üzemeltetésű alternatívája a Slack SAAS üzenetküldő szolgáltatásnak. Más szóval, a Mattermost segítségével kb

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Mire lesz szüksége Egy Vultr VPS legalább 1 GB RAM-mal. SSH hozzáférés (root/adminisztrátori jogosultságokkal). 1. lépés: A BungeeCord telepítése Először is

Encrypt on Plesk

Encrypt on Plesk

A Plesk vezérlőpult nagyon szép integrációt kínál a Lets Encrypt számára. A Lets Encrypt egyike az egyetlen SSL-szolgáltatónak, amely teljes tanúsítványt ad ki

Lehetővé teszi a titkosítást a cPanel-en

Lehetővé teszi a titkosítást a cPanel-en

A Lets Encrypt egy tanúsító hatóság, amely ingyenes SSL-tanúsítványokat biztosít. A cPanel ügyes integrációt épített ki, így Ön és ügyfele

A Concrete5 telepítése CentOS 7 rendszeren

A Concrete5 telepítése CentOS 7 rendszeren

Más rendszert használ? A Concrete5 egy nyílt forráskódú CMS, amely számos megkülönböztető és hasznos funkciót kínál, hogy segítse a szerkesztőket a tartalom egyszerű létrehozásában.

Hogyan telepítsük az értékelő táblát a CentOS 7 rendszeren

Hogyan telepítsük az értékelő táblát a CentOS 7 rendszeren

Más rendszert használ? A Review Board egy ingyenes és nyílt forráskódú eszköz a forráskód, a dokumentáció, a képek és még sok más áttekintésére. Ez egy web alapú szoftver

Állítsa be a HTTP-hitelesítést az Nginx segítségével a CentOS 7 rendszeren

Állítsa be a HTTP-hitelesítést az Nginx segítségével a CentOS 7 rendszeren

Ebből az útmutatóból megtudhatja, hogyan állíthat be HTTP-hitelesítést egy CentOS 7 rendszeren futó Nginx webszerverhez. Követelmények A kezdéshez szüksége lesz a következőre:

A GoAccess telepítése a CentOS 7 rendszeren

A GoAccess telepítése a CentOS 7 rendszeren

Más rendszert használ? A GoAccess egy nyílt forráskódú webnapló-elemző. Használhatja naplók valós idejű elemzésére akár a terminálon, akár a

A YOURLS telepítése a CentOS 7 rendszeren

A YOURLS telepítése a CentOS 7 rendszeren

A YOURLS (Your Own URL Shortener) egy nyílt forráskódú URL-rövidítő és adatelemző alkalmazás. Ebben a cikkben a telepítés folyamatával foglalkozunk

Az ArangoDB telepítése és konfigurálása a CentOS 7 rendszeren

Az ArangoDB telepítése és konfigurálása a CentOS 7 rendszeren

Más rendszert használ? Bevezetés Az ArangoDB egy nyílt forráskódú NoSQL adatbázis, amely rugalmas adatmodellt kínál dokumentumokhoz, grafikonokhoz és kulcsértékekhez. Ez

Az Etckeeper használata az /etc verziókezeléshez

Az Etckeeper használata az /etc verziókezeléshez

Bevezetés Az /etc/ könyvtár kritikus szerepet játszik a Linux rendszer működésében. Ennek az az oka, hogy szinte minden rendszerkonfiguráció

Miért érdemes SSHFS-t használni? Távoli fájlrendszer csatlakoztatása SSHFS-sel a CentOS 6 rendszeren

Miért érdemes SSHFS-t használni? Távoli fájlrendszer csatlakoztatása SSHFS-sel a CentOS 6 rendszeren

Sok rendszergazda nagy mennyiségű kiszolgálót kezel. Ha a fájlokhoz különböző szervereken keresztül kell hozzáférni, mindegyikbe külön-külön kell bejelentkezni kb

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 <<strong>>Windows ISO<<strong>> 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.

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.

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