Preduvjeti
1. korak: ažuriranje sustava
Korak 2: Instalirajte MariaDB
Korak 3: Instalirajte Apache
Korak 4: Instalirajte PHP
Korak 5: Instalirajte git
Korak 6: Preuzmite i instalirajte Phabricator
Korak 7: Postavite virtualni host za Phabricator
Korak 8: Postavite vjerodajnice MariaDB za Phabricator
Korak 9: Izmijenite pravila vatrozida i postavite Phabricator administratorski račun
Korak 10: popravite neriješene probleme s postavljanjem
Phabricator je napredna platforma za razvoj softvera otvorenog koda koja se može koristiti za:
- Kod za reviziju i reviziju.
- Host repozitorija Git/Hg/SVN.
- Pratiti greške.
- Upravljajte projektima.
- Komunicirajte s članovima tima.
- I učinite mnogo više!
Zahvaljujući svojim obilnim značajkama i iznimnim performansama, Phabricator postaje sve popularniji u zajednici softvera otvorenog koda.
U ovom članku pokazat ću vam kako instalirati Phabricator na instancu poslužitelja Vultr CentOS 7.
Preduvjeti
- Implementirajte instancu poslužitelja Vultr CentOS 7 od nule;
- Prijavite se sa SSH terminala koristeći sudo korisnika koji nije root.
1. korak: ažuriranje sustava
Ažurirajte svoj CentOS 7 sustav, a zatim ga ponovno pokrenite:
yum update -y && shutdown -r now
Nakon pokretanja sustava, prijavite se kao nekorijenski korisnik sa sudo pristupom.
Korak 2: Instalirajte MariaDB
Instalirajte MariaDB poslužitelj:
sudo yum install mariadb mariadb-server
Pokrenite i omogućite uslugu MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Iz sigurnosnih razloga pokrenite uslužni program za sigurnu instalaciju MySQL:
sudo /usr/bin/mysql_secure_installation
Završite ovaj postupak u skladu s uputama u nastavku:
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
Korak 3: Instalirajte Apache
Instalirajte Apache web poslužitelj koristeći YUM:
sudo yum install httpd
Izmijenite zadanu konfiguraciju kako biste poboljšali sigurnost:
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
Pokrenite i omogućite uslugu Apache:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Korak 4: Instalirajte PHP
Instalirajte PHP i potrebna proširenja:
sudo yum install php php-mysqli php-mbstring php-gd php-curl php-cli php-common php-process
Korak 5: Instalirajte git
sudo yum install git
Korak 6: Preuzmite i instalirajte 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
Korak 7: Postavite virtualni host za Phabricator
sudo vi /etc/httpd/conf.d/phabricator.conf
Popunite sljedeći segment koda:
Napomena: trebate zamijeniti admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, i /var/log/httpd/phabricator.example.com-access_logsvojim vlastitim vrijednostima.
<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>
Spremi i zatvori:
:wq
Ponovno pokrenite Apache uslugu kako biste svoje izmjene stavili na snagu:
sudo systemctl restart httpd.service
Korak 8: Postavite vjerodajnice MariaDB za Phabricator
Prije nego što možete koristiti Phabricator, morate postaviti vjerodajnice 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>
Napunite Phabricator sheme:
./bin/storage upgrade
Tijekom ovog procesa trebate dvaput unijeti "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
Korak 9: Izmijenite pravila vatrozida i postavite Phabricator administratorski račun
Morate dopustiti ulazni promet na zadanom HTTP portu 80:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Zatim upotrijebite svoj web preglednik da posjetite:
http://<your-Vultr-server-IP>
Bit će vam predstavljena web stranica za registraciju Phabricatora. Stvorite administratorski račun za svakodnevno upravljanje.
Sada, pogledajmo kako konfigurirati Phabricator.
Korak 10: popravite neriješene probleme s postavljanjem
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.
Na vašem SSH terminalu uredite MySQL konfiguracijsku datoteku pomoću vi:
sudo vi /etc/my.cnf
Ispod tri reda na vrhu:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
Dodajte šest redaka ispod:
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
Upozorenje: Morate postaviti ispravnu veličinu međuspremnika Innodb prema veličini vašeg poslužitelja. Obično bi veličina međuspremnika Innodb trebala biti oko 40% količine memorije vašeg računala. Na primjer, ako koristite stroj s 4G memorijom, razumna veličina međuspremnika Innodb bila bi 1600M. U slučaju da koristite stroj s malo memorije (kao što je 768M), možda ćete morati dodijeliti veličinu manju od 40% količine memorije vašeg stroja (recimo 220M) kako biste uštedjeli više memorije za sustav.
Spremi i zatvori:
:wq
Ponovno pokrenite uslugu MariaDB:
sudo systemctl restart mariadb.service
Konačno, pokrenite sljedeću naredbu:
mysql -u root -p -e "REPAIR TABLE phabricator_search.search_documentfield"
Kliknite gumb "Ponovo učitaj stranicu" da biste provjerili svoje napore.
11. problem: Instalirajte Pygments za poboljšanje isticanja sintakse
Na CentOS 7, Pygments je instaliran, ali nije omogućen prema zadanim postavkama, morate ga omogućiti ručno:
Kliknite vezu: Uredite "pygments.enabled", odaberite "Upotrijebi Pygments" s padajućeg izbornika "Vrijednost baze podataka", a zatim kliknite gumb "Spremi unos konfiguracije".
Problem 12: Vremenska zona poslužitelja nije konfigurirana
Izmijenite php.inidatoteku:
sudo vi /etc/php.ini
Zamijenite redak:
;date.timezone =
S:
date.timezone = America/Los_Angeles
Spremi i zatvori:
:wq
Napomena: „Amerika / Los_Angeles” je zona vrijednost mog stroja, potrebno je pronaći odgovarajući vremenske zone vrijednost za svoj vlastiti server primjer ovdje .
Ponovno pokrenite Apache uslugu:
sudo systemctl restart httpd.service
Kliknite gumb "Ponovo učitaj stranicu" da biste pregledali rezultat.
Problem 13: Velika pohrana datoteka nije konfigurirana
Morate implementirati odgovarajuće rješenje za pohranu velikih datoteka u skladu s vlastitim postavkama. Za sada možete kliknuti gumb "Ignore Setup Issue" da biste preskočili.
14. problem: alternativna domena datoteke nije konfigurirana
Recimo da ste postavili zamjensku domenu datoteke ili CDN, a zatim u SSH terminalu:
cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set security.alternate-file-domain <https://files.example.com>
Kliknite gumb "Ponovo učitaj stranicu" da biste pregledali rezultat.
Problem 15: Nedostaje lokalni put spremišta
Koristite sljedeće naredbe za rješavanje ovog problema:
sudo mkdir /var/repo
sudo chown apache: /var/repo
Kliknite gumb "Ponovo učitaj stranicu" da biste pregledali rezultat.
Problem 16: PHP proširenje 'APC' nije instalirano
sudo yum install php-pear php-devel httpd-devel pcre-devel gcc make
sudo pecl install apc
Tijekom procesa instalacije APC-a, uvijek pritisnite Enter za korištenje zadane opcije.
sudo vi /etc/php.ini
Dodajte četiri retka na kraj datoteke:
extension=apc.so
apc.write_lock = On
apc.slam_defense = Off
apc.stat = Off
Spremi i zatvori:
:wq
Ponovno pokrenite Apache uslugu:
sudo systemctl restart httpd.service
Kliknite gumb "Ponovo učitaj stranicu" da biste provjerili rezultat.
To je sve. Sretno kodiranje!