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

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!


Leave a Comment

Instaloni Plesk në CentOS 7

Instaloni Plesk në CentOS 7

Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave

Si të instaloni Squid Proxy në CentOS

Si të instaloni Squid Proxy në CentOS

Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Microweber në CentOS 7

Si të instaloni Microweber në CentOS 7

Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni Mattermost 4.1 në CentOS 7

Si të instaloni Mattermost 4.1 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth

Le të enkriptojmë në Plesk

Le të enkriptojmë në Plesk

Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata

Lejon enkriptimin në cPanel

Lejon enkriptimin në cPanel

Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj

Si të instaloni Concrete5 në CentOS 7

Si të instaloni Concrete5 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe

How to Install Review Board on CentOS 7

How to Install Review Board on CentOS 7

Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet

Si të instaloni YOURLS në CentOS 7

Si të instaloni YOURLS në CentOS 7

YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth

Vendosja e një serveri Half Life 2 në CentOS 6

Vendosja e një serveri Half Life 2 në CentOS 6

Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou

Si të instaloni Laravel GitScrum në CentOS 7

Si të instaloni Laravel GitScrum në CentOS 7

Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.

Si të instaloni PowerDNS në CentOS

Si të instaloni PowerDNS në CentOS

Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur

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.

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.

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

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ë