Parakushtet
Hapi 1: Përditësimi i sistemit
Hapi 2: Instaloni MariaDB
Hapi 3: Instaloni Apache
Hapi 4: Instaloni PHP
Hapi 5: Instaloni git
Hapi 6: Shkarkoni dhe instaloni Phabricator
Hapi 7: Vendosni një host virtual për Phabricator
Hapi 8: Vendosni kredencialet MariaDB për Phabricator
Hapi 9: Ndryshoni rregullat e murit të zjarrit dhe konfiguroni një llogari administratori Phabricator
Hapi 10: Rregulloni çështjet e pazgjidhura të konfigurimit
Phabricator është një platformë e avancuar e zhvillimit të softuerit me burim të hapur e cila mund të përdoret për:
- Kodi i rishikimit dhe auditimit.
- Depot e hostit Git/Hg/SVN.
- Gjurmo defektet.
- Menaxhoni projekte.
- Komunikoni me anëtarët e ekipit.
- Dhe bëni shumë më tepër!
Falë veçorive të tij të bollshme dhe performancës së jashtëzakonshme, Phabricator po bëhet gjithnjë e më i popullarizuar në komunitetin e softuerit me burim të hapur.
Në këtë artikull, unë do t'ju tregoj se si të instaloni Phabricator në një shembull të serverit Vultr CentOS 7.
Parakushtet
- Vendosni një shembull të serverit Vultr CentOS 7 nga e para;
- Identifikohu nga terminali SSH duke përdorur një përdorues sudo jo-root.
Hapi 1: Përditësimi i sistemit
Përditësoni sistemin tuaj CentOS 7, më pas rindizni:
yum update -y && shutdown -r now
Pas nisjes së sistemit, identifikohuni si përdorues jo-root me akses sudo.
Hapi 2: Instaloni MariaDB
Instaloni serverin MariaDB:
sudo yum install mariadb mariadb-server
Filloni dhe aktivizoni shërbimin MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Për qëllime sigurie, ekzekutoni programin e instalimit të sigurt MySQL:
sudo /usr/bin/mysql_secure_installation
Përfundoni këtë proces në përputhje me udhëzimet e mëposhtme:
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
Hapi 3: Instaloni Apache
Instaloni serverin në internet Apache duke përdorur YUM:
sudo yum install httpd
Ndryshoni konfigurimin e paracaktuar për të rritur sigurinë:
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
Filloni dhe aktivizoni shërbimin Apache:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Hapi 4: Instaloni PHP
Instaloni PHP dhe shtesat e nevojshme:
sudo yum install php php-mysqli php-mbstring php-gd php-curl php-cli php-common php-process
Hapi 5: Instaloni git
sudo yum install git
Hapi 6: Shkarkoni dhe instaloni 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
Hapi 7: Vendosni një host virtual për Phabricator
sudo vi /etc/httpd/conf.d/phabricator.conf
Plotësoni segmentin e mëposhtëm të kodit:
Shënim: Ju duhet të zëvendësojë admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, dhe /var/log/httpd/phabricator.example.com-access_logme vlerat tuaja.
<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>
Ruani dhe hiqni dorë:
:wq
Rinisni shërbimin Apache për të vënë në fuqi modifikimet tuaja:
sudo systemctl restart httpd.service
Hapi 8: Vendosni kredencialet MariaDB për Phabricator
Përpara se të përdorni Phabricator, duhet të konfiguroni kredencialet e 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>
Plotësoni skemat e Phabricator:
./bin/storage upgrade
Gjatë këtij procesi, duhet të futni "y" dy herë:
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
Hapi 9: Ndryshoni rregullat e murit të zjarrit dhe konfiguroni një llogari administratori Phabricator
Duhet të lejosh trafikun hyrës në portën e paracaktuar HTTP 80:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Më pas përdorni shfletuesin tuaj të internetit për të vizituar:
http://<your-Vultr-server-IP>
Do t'ju prezantohet uebfaqja e regjistrimit të Phabricator. Krijoni një llogari administratori për menaxhimin e përditshëm.
Tani, le të hedhim një vështrim se si të konfigurojmë Phabricator.
Hapi 10: Rregulloni çështjet e pazgjidhura të konfigurimit
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.
Në terminalin tuaj SSH, modifikoni skedarin e konfigurimit MySQL me vi:
sudo vi /etc/my.cnf
Nën tre rreshtat në krye:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
Shtoni gjashtë rreshtat më poshtë:
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
Paralajmërim: Duhet të vendosni një madhësi të duhur të grupit të tamponit Innodb sipas madhësisë specifike të serverit tuaj. Zakonisht, madhësia e grupit të tamponit Innodb duhet të jetë rreth 40% e sasisë së memories së pajisjes suaj. Për shembull, nëse jeni duke përdorur një makinë me memorie 4G, madhësia e arsyeshme e grupit të tamponit Innodb do të ishte 1600M. Në rast se jeni duke përdorur një makinë me pak memorie (si p.sh. 768M), mund t'ju duhet të caktoni një madhësi më të vogël se 40% të sasisë së memories së pajisjes tuaj (të themi 220M) në mënyrë që të kurseni më shumë memorie për sistemin.
Ruani dhe hiqni dorë:
:wq
Rinisni shërbimin MariaDB:
sudo systemctl restart mariadb.service
Më në fund, ekzekutoni komandën e mëposhtme:
mysql -u root -p -e "REPAIR TABLE phabricator_search.search_documentfield"
Klikoni butonin "Ringarkoni faqen" për të shqyrtuar përpjekjet tuaja.
Çështja 11: Instaloni Pygments për të përmirësuar theksimin e sintaksës
Në CentOS 7, Pygments është instaluar, por nuk është aktivizuar si parazgjedhje, duhet ta aktivizoni manualisht:
Klikoni lidhjen: Ndryshoni "pygments.enabled", zgjidhni "Përdorni Pygments" nga menyja rënëse "Vlera e bazës së të dhënave", më pas kliko butonin "Ruaj hyrjen e konfigurimit".
Çështja 12: Zona kohore e serverit nuk është konfiguruar
Ndrysho php.iniskedarin:
sudo vi /etc/php.ini
Zëvendësoni rreshtin:
;date.timezone =
Me:
date.timezone = America/Los_Angeles
Ruani dhe hiqni dorë:
:wq
Shënim: "America/Los_Angeles" është vlera e zonës kohore të makinës sime, ju duhet të gjeni vlerën e duhur të zonës kohore për shembullin e serverit tuaj këtu .
Rinisni shërbimin Apache:
sudo systemctl restart httpd.service
Klikoni butonin "Ringarkoni faqen" për të ekzaminuar rezultatin.
Çështja 13: Ruajtja e skedarëve të mëdhenj nuk është konfiguruar
Ju duhet të vendosni një zgjidhje të duhur të ruajtjes së skedarëve të mëdhenj sipas cilësimeve tuaja. Tani për tani, mund të klikoni butonin "Injoro problemin e konfigurimit" për ta kapërcyer.
Çështja 14: Domeni i skedarit alternativ nuk është konfiguruar
Thuaj se keni vendosur një domen alternativ skedari ose një CDN, më pas në terminalin SSH:
cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set security.alternate-file-domain <https://files.example.com>
Klikoni butonin "Ringarkoni faqen" për të ekzaminuar rezultatin.
Çështja 15: Mungon shtegu lokal i depove
Përdorni komandat e mëposhtme për të zgjidhur këtë problem:
sudo mkdir /var/repo
sudo chown apache: /var/repo
Klikoni butonin "Ringarkoni faqen" për të ekzaminuar rezultatin.
Çështja 16: Shtesa PHP 'APC' nuk është instaluar
sudo yum install php-pear php-devel httpd-devel pcre-devel gcc make
sudo pecl install apc
Gjatë procesit të instalimit të APC, gjithmonë shtypni Enter për të përdorur opsionin e paracaktuar.
sudo vi /etc/php.ini
Shtoni katër rreshtat në fund të skedarit:
extension=apc.so
apc.write_lock = On
apc.slam_defense = Off
apc.stat = Off
Ruani dhe hiqni dorë:
:wq
Rinisni shërbimin Apache:
sudo systemctl restart httpd.service
Klikoni butonin "Ringarko faqen" për të kontrolluar rezultatin.
Kjo eshte e gjitha. Gëzuar kodimin!