Phabricator - Usa ka Bukas nga Tinubdan nga Gamhanan nga Pagdumala sa Proyekto nga Himan alang sa Linux


Ang Phabricator usa ka open source nga aplikasyon nga nagtabang sa mga kompanya sa software sa paghimo/pagtukod og mas maayong software, nga gitukod gamit ang PHP nga pinulongan ug anaa ubos sa Apache 2.0 open source nga lisensya para sa Linux, MacOSX ug mahimong ipadagan sa bisan unsang plataporma, mahimo pa gani kini nga modagan sa mga bintana apan kini hingpit nga gibase sa suporta sa Linux. Ang Phabricator gigamit na sa Facebook kaniadto. Ang una nga bersyon sa phabricator gitukod sa facebook nga adunay daghang mga bahin sama sa pagrepaso ug pag-awdit sa mga code, pagsubay sa mga bug ug uban pa.

Mahimo natong gamiton ang phabricator isip repositoryo sama sa git ug svn. Adunay daghang mga setting sa pagkapribado nga magamit aron ma-secure ang code taliwala sa mga partikular nga team sa pag-uswag. Mahimo natong repasohon ang code sa mga kauban sa trabaho sa dili pa mahuman ang code.

Nanghinaut ko nga ang tanan nahibal-an bahin sa git, kung dili palihug tan-awa dayon ang artikulo sa GIT sa ubos, nga nagpatin-aw kung giunsa kini gamiton.

  1. I-install ang GIT aron Makahimo sa Imong Kaugalingong Proyekto sa GITHub Repository

Sama sa git, ang phabricator usab adunay daghang mga bahin ug gigamit sa kadaghanan sa mga sikat nga kompanya sama sa Facebook, Dropbox, Groupon aron mapalambo didto ang mga aplikasyon sa web.

Phabricator mahimong modagan sa usa ka normal nga computer, uban sa pagsunod sa gikinahanglan nga mga pakete. Wala kami magkinahanglan og detalye nga adunay taas nga mga kapanguhaan.

  1. Apache2.2.7 o mas taas pa
  2. MySQL ug PHP 5.2 o mas taas pa
  3. Git ug pipila sa mga php extensions.

PAHINUMDOM: Ang Phabricator ma-install lang sa tibuok domain (linux-console.net) o sa sub domain (phabricator.linux-console.net). Dili nimo kini ma-install sa usa ka piho nga agianan sa bisan unsang naa na nga domain, isulti ang linux-console.net/phabricator.

Lakang 1: Pag-instalar sa Gikinahanglan nga mga Bahagi

Adunay mga script nga magamit alang sa pag-set-up sa Ubuntu ug Redhat nga nakabase sa Linux, pilia kini nga kapilian kung dili ka pamilyar sa Linux.

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

Kung ikaw usa ka Advance nga tiggamit, kinahanglan nimo nga i-setup ang usa ka LAMP server aron makadagan ang usa ka phabricator. Okay, karon magsugod kita sa pag-instalar sa Phabricator sa RHEL/CentOS ug Ubuntu/Debian.

I-install ang LAMP server ug ilakip ang pipila ka mga extension sa php, samtang nag-install.

# 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

PAHINUMDOM: Sa mga distribusyon nga nakabase sa Ubuntu, sa panahon sa pag-instalar kini mangutana kanimo sa pagsulod sa root password alang sa MysQL.

Lakang 2: Pag-download sa Phabricator Files

Sa higayon nga, na-install na nimo ang tanan nga mga butang sa ibabaw, karon pilia ang direktoryo sa pag-install. Dinhi maghimo ko og direktoryo nga gitawag og 'myprojectapp' ubos sa DocumentRoot sa direktoryo sa Apache.

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

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

Kung nag-install ka, isip usa ka normal nga tiggamit kinahanglan nimo nga idugang ang karon nga tiggamit (sa akong kaso 'tecmint') sa grupo nga Apache aron makuha ang pagtugot sa pagsulat. Kini nga lakang mahimong mabalewala kung ikaw gibalhin sa root user.

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

Unya navigate sa bag-ong gibuhat nga direktoryo ie myprojectapp.

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

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

Karon, pagsugod sa pagbira sa phabricator ug sa mga dependency niini gikan didto opisyal nga git repository.

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

Lakang 3: I-configure ang Apache para sa Phabricator

Sa mga pag-apod-apod nga nakabase sa Ubuntu, kinahanglan nimo nga ma-enable ang mod_php, mod_rewrite ug mod_ssl modules, sa panahon sa pag-instalar kadaghanan niini nga mga modulo gipaandar pinaagi sa default, apan kinahanglan namon nga kumpirmahon.

# sudo a2enmod rewrite
# sudo a2enmod ssl

Sa higayon nga, kini nga mga modules nakahimo, sunod i-restart ang web server aron mapakita ang mga pagbag-o.

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

Sunod, paghimo og lahi nga Virtualhost sa imong Apache configuration file.

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

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

Idugang ang mosunod nga entry sa Virtualhost sa ubos sa file ug usba ang DocumentRoot nga agianan aron ipares ang eksaktong lokasyon sa mga file sa phabricator.

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

Sa Ubuntu, kinahanglan nimo nga i-enable ang bag-ong gimugna nga virtualhost entry gamit ang mosunod nga sugo. Alang sa mga sistema nga nakabase sa RedHat, dili kinahanglan nga i-enable ang bisan unsa.

$ sudo a2ensite phabricator.conf

Sa katapusan, i-restart ang serbisyo sa Apache aron ipakita ang mga bag-ong pagbag-o.

# service httpd restart				[On RedHat]

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

Lakang 4: I-configure ang MySQL para sa Phabricator

Karon, panahon na aron ma-configure ang MySQL, apan sa wala pa moadto alang sa pag-setup, siguroha nga ang imong MySQL nagdagan ug ikaw makakonektar niini. Mao nga, mahimo nimong i-load ang mga setting sa mysql niini.

# 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

Sunod, padagana ang storage upgrade script aron ma-load ang database schema niini. Samtang nagproseso, kini mag-aghat kanimo sa pagpindot sa 'y' aron magpadayon, kini magkinahanglan og gamay nga panahon aron makompleto ang setup alang sa pag-set up sa data schema.

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

Sa higayon nga, ang laraw gidugang sa mysql, i-restart ang serbisyo aron makakuha mga bag-ong setting.

# service mysql restart

$ sudo service mysql restart

Lakang 5: Pag-configure sa Phabricator Web UI

Karon mahimo nimong ma-access ang web UI sa mosunod nga mga lokasyon, apan kinahanglan namong maghimo ug admin login account.

http://phab.tecmintlocal.com/

OR

http://ipaddress

Kung ang panid sa pag-setup sa admin sa ibabaw wala gipakita kinahanglan namon nga maghimo nga mano-mano nga pag-login sa admin gikan sa terminal. Gikinahanglan lamang kini nga lakang, kung makuha namon ang sayup hinungdan nga wala gipasabut ang account sa admin.

# ./bin/accountadmin

Kung nahimo na ang admin account, mahimo ka mag-login sa seksyon sa admin gamit ang parehas nga mga kredensyal. Human sa pag-login imong makita ang pipila ka isyu sa pag-setup sa ibabaw nga wala nga suok, nga kinahanglan nga masulbad sa dili pa magsugod sa paggamit niini.

Ania ang pipila sa mga lakang sa pag-ayo, ang matag usa ug ang matag isyu dali nga masulbad ingon nga ilang gitudlo kung giunsa kini pagsulbad.

Total, adunay 10 ka isyu sa pag-setup nga gihisgotan sama sa gipakita sa hulagway sa ubos.

Dinhi, dili nako mapakita kung giunsa pagsulbad ang matag isyu, apan sulayan nako nga ipakita kung giunsa pagsulbad ang usa sa isyu sama sa gihisgutan sa panid sa sayup. Atong kuhaon ang unang isyu, MYSQL STRICT_ALL_TABLES Mode Not Set, ang pag-klik sa link makakuha og mga instruksyon kon unsaon pagsulbad ang isyu.

Busa, atong sundon ang mga instruksyon nga gihulagway sa panid. Ablihi ug usba ang mysql configuration file.

# /etc/my.cnf		[On RedHat]

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

Sunod, idugang ang code sa ilawom sa mysqld nga seksyon sa conf file, kung unsa ang among makuha samtang gi-klik ang MYSQL STRICT_ALL_TABLES Mode Not Set.

sql_mode	= STRICT_ALL_TABLES
ft_min_word_len	= 3

Human masulbad ang matag kasaypanan, kinahanglan nimong i-restart ang serbisyo sa MySQL ug Apache aron mapakita ang bag-ong mga pagbag-o.

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


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

Pagkahuman, pagsulbad sa tanan nga mga isyu, mahimo ka mag-login sa panel pag-usab ug susihon ang kahimtang, imong makita ang mensahe nga Andam nga Gamiton.

Lakang 6: Pag-browse sa Mga Feature sa Phabricator

Imong makita ang pipila sa mga magamit nga mga bahin sa user sama sa gipakita sa mga litrato sa ubos.

Alang sa Paghimo og normal nga user account, i-klik ang ibabaw sa wala nga suok nga icon unya I-scroll sa ubos ang panid, dayon i-klik ang Mga Tawo. Karon aron makahimo usa ka bag-ong tiggamit kinahanglan namon nga Pag-klik sa Paghimo Bag-ong Gumagamit.

Lakang 7: Kuhaa ang Phabricator Admin Password

Kung incase, nakalimtan nimo ang imong admin password ug gusto nimo nga mabawi kini, sunda lang ang sugo sa ubos.

# ./bin/auth recover tecmint

Sunod, kopyaha ang gihatag nga access code ug i-access ang URL aron mabawi, ingon sa gipakita sa mga imahe sa ubos.

Mao ra kana sa karon, malampuson namon nga na-install ug gi-configure ang Phabricatorusa ka bukas nga gigikanan nga himan sa pagdumala sa proyekto nga wala’y bisan unsang mga glitches. Nanghinaut ko nga nag-setup ka usab sa bisan unsang mga kasaypanan, kung adunay ipahibalo kanako pinaagi sa mga komento, ganahan ko nga matabangan ka.