Phabricator - Linux üçin açyk çeşme güýçli Taslamany dolandyrmak guraly


Phabricator programma üpjünçilik kompaniýalaryna has gowy programma üpjünçiligini döretmäge/gurmaga kömek edýän, PHP dili bilen gurlan we Linux, MacOSX üçin Apache 2.0 açyk çeşme ygtyýarnamasy esasynda elýeterli we islendik platformada işledilip bilinýän açyk çeşme programmasydyr, hatda Windows-da işledip biler, ýöne doly Linux goldawyna esaslanýar. “Phabricator” öň “Facebook” tarapyndan ulanylypdy. Fabrikatoryň birinji wersiýasy, kodlary gözden geçirmek we barlamak, näsazlyklary yzarlamak we ş.m. ýaly köp aýratynlyklary bolan facebook tarapyndan guruldy.

Fabrikatory git we svn ýaly ammar hökmünde ulanyp bileris. Belli bir ösüş toparlarynyň arasynda kody goramak üçin birnäçe gizlinlik sazlamalary bar. Kod gutarmazdan ozal işdeşlerimiziň koduny gözden geçirip bileris.

Git hakda hemmeleriň habarlydygyna umyt edýärin, eger ulanmagyňyzy düşündirýän aşakdaky GIT makalasyna gysgaça göz aýlaň.

  1. GITHub ammarynda öz taslamalaryňyzy döretmek üçin GIT guruň

Git ýaly, fhabricator-da köp aýratynlyklary bar we Facebook, Dropbox, Groupon ýaly meşhur kompaniýalaryň köpüsi tarapyndan web programmalaryny döretmek üçin ulanylýar.

“Phabricator” aşakdaky zerur paketler bilen adaty kompýuterde işledip biler. Bize ýokary çeşmeler bilen spesifikasiýa gerek däl.

  1. Apache2.2.7 ýa-da has ýokary
  2. MySQL we PHP 5.2 ýa-da has ýokary
  3. Git we php giňeltmeleriniň käbiri.

BELLIK: Phabricator diňe bir domende (linux-console.net) ýa-da kiçi domende (phabricator.linux-console.net) gurnalyp bilner. “linux-console.net/phabricator” diýiň, bar bolan domeniň belli bir ýoluna gurup bilmersiňiz.

1-nji ädim: Gerekli komponentleri gurmak

Ubuntu we Redhat esasly Linux-da gurnamak üçin skriptler bar, Linux bilen tanyş däl bolsaňyz, bu opsiýany saýlaň.

  1. RedHat emele gelenler - http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh
  2. Ubuntu Derivatives - http://www.phabricator.com/rsrc/install/install_ubuntu.sh

“Advance” ulanyjysy bolsaňyz, “fabrika” işletmek üçin diňe LAMP serwerini gurmaly. Bolýar, indi RHEL/CentOS we Ubuntu/Debian-da Phabricator gurup başlalyň.

LAMP serwerini guruň we gurnanyňyzda käbir php giňeltmelerini goşuň.

# yum install mysql-server httpd git php php-mysql php-gd php-curl php-apc php-cli -y
$ sudo apt-get install mysql-server apache2 git-core git php5 php5-mysql php5-gd php5-curl php-apc php5-cli -y

BELLIK: Ubuntu esasly paýlamalarda, gurnama wagtynda MysQL üçin kök paroly girizmegiňizi sorar.

2-nji ädim: Phabricator faýllaryny göçürip almak

Bir gezek ýokardaky zatlaryň hemmesini gurnadyňyz, indi gurnama katalogyny saýlaň. Ine, men Apache katalogynyň DocumentRoot aşagynda ' myprojectapp ' atly katalog dörederin.

# mkdir /var/www/html/myprojectapp		[On RedHat]

$ sudo mkdir /var/www/myprojectapp		[On Ubuntu]

Gurýan bolsaňyz, adaty ulanyjy hökmünde ýazmak üçin rugsat almak üçin häzirki ulanyjyny (meniň ýagdaýymda tekmint ) Apache toparyna goşmaly. Kök ulanyja geçen bolsaňyz, bu ädim äsgermezlik edip bolar.

# chown -R tecmint:apache /var/www/html		[On RedHat]
$ sudo chown -R tecmint:www-data /var/www	[On Ubuntu]	

Soňra täze döredilen kataloga geçiň, ýagny myprojectapp .

# cd /var/www/html/myprojectapp			[On RedHat]

$ cd /var/www/myprojectapp			[On Ubuntu]

Indi, fabrikatory we oňa baglylyklary resmi git ammaryndan çekip başlaň.

git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git

3-nji ädim: “Phabricator” üçin “Apache” -ni sazlaň

Ubuntu esasly paýlamalarda, modullaryň köpüsi gurnama wagtynda mod_php, mod_rewrite we mod_ssl modullaryny işletmeli, ýöne tassyklamaly.

# sudo a2enmod rewrite
# sudo a2enmod ssl

Bu modullar işledilenden soň, üýtgeşmeleri görkezmek üçin web serwerini täzeden açyň.

$ sudo /etc/init.d/apache2 restart		[On Ubuntu]

Ondan soň, Apache konfigurasiýa faýlyňyzda aýratyn Wirtualhost dörediň.

# vi /etc/httpd/conf/httpd.conf			[On RedHat]

$ sudo nano /etc/apache2/sites-available/phabricator.conf	[On Ubuntu]	

Faýlyň aşagyndaky aşakdaky Wirtualhost ýazgyny goşuň we dokma faýllarynyň takyk ýerleşýän ýerine gabat gelýän DocumentRoot ýoluny üýtgediň.

<VirtualHost *:80>
        ServerAdmin [email 
        ServerName phab.tecmintlocal.com
        DocumentRoot /var/www/html/myprojectapp/phabricator/webroot
        RewriteEngine on
        RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
        RewriteRule ^/favicon.ico   -                       [L,QSA]
        RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]
<Directory "/var/www/html/myprojectapp/phabricator/webroot">
        Order allow,deny
        Allow from all
</Directory>
</VirtualHost>

Ubuntu-da aşakdaky buýrugy ulanyp, täze döredilen wirtualhost ýazgyny işjeňleşdirmeli. RedHat esasly ulgamlar üçin hiç zady işletmegiň zerurlygy ýok.

$ sudo a2ensite phabricator.conf

Netijede, täze üýtgeşmeleri görkezmek üçin Apache hyzmatyny täzeden açyň.

# service httpd restart				[On RedHat]

$ sudo /etc/init.d/apache2 restart		[On Ubuntu]

4-nji ädim: Phabricator üçin MySQL-i sazlaň

Indi, MySQL-y sazlamagyň wagty geldi, ýöne gurnama başlamazdan ozal MySQL-iňiziň işleýändigine we oňa birigip biljekdigiňize göz ýetiriň. Şeýlelik bilen, mysql sazlamalaryny oňa ýükläp bilersiňiz.

# cd /var/www/html/myprojectapp/phabricator/		[On RedHat]

# cd /var/www/myprojectapp/phabricator/			[On Ubuntu]

# ./bin/config set mysql.host localhost
# ./bin/config set mysql.user root
# ./bin/config set mysql.pass mjackson

Ondan soň, maglumatlar bazasynyň shemasyny ýüklemek üçin ammary täzeleme skriptini işlediň. Işlenip düzülende, dowam etmek üçin y basmagyňyzy haýyş eder, maglumat shemasyny gurmak üçin gurnamany tamamlamak üçin az wagt gerek bolar.

# ./bin/storage upgrade --user root --password mjackson

Mysql-a goşulan shema, täze sazlamalary almak üçin hyzmaty täzeden açyň.

# service mysql restart

$ sudo service mysql restart

5-nji ädim: Phabricator Web UI-i sazlamak

Indi web UI-e aşakdaky ýerlerde girip bilersiňiz, ýöne administrator giriş hasaby döretmeli.

http://phab.tecmintlocal.com/

OR

http://ipaddress

Aboveokardaky administrator gurnama sahypasy görkezilmese, terminaldan el bilen administrator girişini döretmeli. Bu ädim diňe talap edilýär, eger ýalňyşlyk ýüze çyksa, administrator hasaby kesgitlenmedi.

# ./bin/accountadmin

Admin hasaby döredilenden soň, şol bir şahsyýet maglumatlaryny ulanyp, administrasiýa bölümine girip bilersiňiz. Girişden soň çep ýokarky burçda käbir gurnama meselesini görüp bilersiňiz, ony ulanmazdan ozal çözmeli.

Ine, düzetmek üçin käbir ädimler, her meseläni aňsatlyk bilen çözüp bolar, sebäbi muny nädip çözmelidigini görkezdiler.

Jemi, aşakdaky suratda görkezilişi ýaly 10 sany gurnama meselesi bar.

Bu ýerde, her meseläni nädip çözmelidigini görkezip bilemok, ýöne ýalňyşlyk sahypasynda aýdylyşy ýaly meseläniň birini nädip çözmelidigini görkezmäge synanyşaryn. Ilki bilen geliň, MYSQL STRICT_ALL_TABLES tertibi düzülmedi , baglanyşyga bassaňyz, meseläni nädip çözmelidigi barada görkezmeler alar.

Şeýlelik bilen, sahypada görkezilişi ýaly şol görkezmelere eýereliň. Mysql konfigurasiýa faýlyny açyň we redaktirläň.

# /etc/my.cnf		[On RedHat]

# sudo vim /etc/mysql/my.conf	[On Ubuntu]

Ondan soň, “MYSQL STRICT_ALL_TABLES tertibi düzülmedi” düwmesine basylanda alýan zatlarymyzy konf faýlyň mysqld bölüminiň aşagyna goşuň.

sql_mode	= STRICT_ALL_TABLES
ft_min_word_len	= 3

Her ýalňyşlygy çözeniňizden soň, täze üýtgeşmeleri görkezmek üçin MySQL we Apache hyzmatyny täzeden açmaly.

------------ On Red Hat Systems  ------------
# service mysqld restart
# service apache restart


------------ On Ubuntu Systems  ------------
$ sudo service mysql restart
$ sudo service apache2 restart

Issueshli meseleleri çözeniňizden soň, panele täzeden girip, ýagdaýyny barlap bilersiňiz, “Ulanylmaga taýýar” habaryny görersiňiz.

6-njy ädim: Phabricator aýratynlyklaryna göz aýlamak

Aşakdaky suratlarda görkezilişi ýaly ulanyjynyň käbir aýratynlyklaryny görüp bilersiňiz.

Adaty ulanyjy hasaby döretmek üçin çep ýokarky burç nyşanyna basyň, sahypany aşak aýlaň we Adamlar -a basyň. Indi täze ulanyjy döretmek üçin “Täze ulanyjy döretmek” düwmesine basmaly.

7-nji ädim: Phabricator Admin parolyny dikeldiň

Şeýle bolsa, administratoryňyzyň parolyny ýatdan çykarýarsyňyz we ony dikeltmek isleýärsiňiz, aşakdaky buýrugy ýerine ýetiriň.

# ./bin/auth recover tecmint

Ondan soň, berlen giriş koduny göçüriň we aşakdaky suratlarda görkezilişi ýaly dikeltmek üçin URL-e giriň.

Bularyň hemmesi häzirlikçe, “Phabricator” -y hiç hili päsgelçiliksiz açyk çeşme taslamasyny dolandyrmak guralyny üstünlikli gurduk we düzdük. Sizem haýsydyr bir ýalňyşlyklar bilen gurnarsyňyz diýip umyt edýärin, teswirler arkaly maňa habar berseňiz, size kömek etmek isleýärin.