Si të instaloni dhe konfiguroni Phabricator në CentOS 7

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!

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë