Előfeltételek
1. lépés: Rendszerfrissítés
2. lépés: Telepítse a MariaDB-t
3. lépés: Telepítse az Apache-t
4. lépés: Telepítse a PHP-t
5. lépés: Telepítse a git-et
6. lépés: Töltse le és telepítse a Phabricator programot
7. lépés: Állítson be egy virtuális gazdagépet a Phabricator számára
8. lépés: Állítsa be a MariaDB hitelesítő adatait a Phabricatorhoz
9. lépés: Módosítsa a tűzfalszabályokat, és állítson be egy Phabricator rendszergazdai fiókot
10. lépés: Javítsa ki a megoldatlan beállítási problémákat
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!