Phabricator: una potent eina de gestió de projectes de codi obert per a Linux


Phabricator és una aplicació de codi obert que ajuda les empreses de programari a crear/construir un millor programari, que es construeix amb el llenguatge PHP i està disponible amb llicència de codi obert Apache 2.0 per a Linux, MacOSX i es pot executar en qualsevol plataforma. fins i tot es pot executar a Windows, però es basa totalment en el suport de Linux. Phabricator ja ha estat utilitzat per Facebook abans. La primera versió de phabricator la va crear Facebook amb moltes funcions com ara la revisió i l'auditoria de codis, el seguiment d'errors, etc.

Podem utilitzar phabricator com a repositori igual que git i svn. Hi ha diverses configuracions de privadesa disponibles per protegir el codi entre equips de desenvolupament concrets. Podem revisar el codi dels companys de feina abans de finalitzar el codi.

Espero que tothom conegui git, si no, feu una ullada ràpida a l'article de GIT a continuació, que explica com utilitzar-lo.

  1. Instal·leu GIT per crear els vostres propis projectes al repositori GITHub

Igual que git, phabricator també té moltes funcions i l'utilitzen la majoria de les empreses populars com Facebook, Dropbox, Groupon per desenvolupar-hi aplicacions web.

Phabricator es pot executar en un ordinador normal, amb els següents paquets necessaris. No necessitem especificacions amb recursos elevats.

  1. Apache 2.2.7 o superior
  2. MySQL i PHP 5.2 o superior
  3. Git i algunes de les extensions php.

NOTA: Phabricator només es pot instal·lar en un domini sencer (linux-console.net) o en un subdomini (phabricator.linux-console.net). No el podeu instal·lar a una ruta específica de cap domini existent, digueu linux-console.net/phabricator.

Pas 1: instal·lació dels components necessaris

Hi ha scripts disponibles per a la configuració a Ubuntu i Linux basat en Redhat, trieu aquesta opció si no esteu familiaritzat amb Linux.

  1. Derivats de RedHat: http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh
  2. Derivats d'Ubuntu: http://www.phabricator.com/rsrc/install/install_ubuntu.sh

Si sou un usuari d'Advance, només heu de configurar un servidor LAMP per executar un phabricator. D'acord, ara comencem a instal·lar Phabricator a RHEL/CentOS i Ubuntu/Debian.

Instal·leu el servidor LAMP i inclogueu algunes extensions de php durant la instal·lació.

# 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

NOTA: a les distribucions basades en Ubuntu, durant la instal·lació us demanarà que introduïu la contrasenya d'arrel per a MysQL.

Pas 2: descàrrega de fitxers Phabricator

Un cop hàgiu instal·lat totes les coses anteriors, ara trieu el directori d'instal·lació. Aquí vaig a crear un directori anomenat myprojectapp a DocumentRoot del directori Apache.

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

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

Si esteu instal·lant, com a usuari normal heu d'afegir l'usuari actual (en el meu cas 'tecmint') al grup Apache per obtenir el permís d'escriptura. Aquest pas es pot ignorar si canvieu a l'usuari root.

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

A continuació, aneu al directori que s'acaba de crear, és a dir, myprojectapp.

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

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

Ara, comenceu a treure el phabricator i les seves dependències des del dipòsit oficial de git.

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

Pas 3: configureu Apache per Phabricator

A les distribucions basades en Ubuntu, heu d'habilitar els mòduls mod_php, mod_rewrite i mod_ssl, durant la instal·lació la majoria d'aquests mòduls estan activats per defecte, però hem de confirmar.

# sudo a2enmod rewrite
# sudo a2enmod ssl

Un cop activats aquests mòduls, reinicieu el servidor web per reflectir els canvis.

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

A continuació, creeu un Virtualhost independent al vostre fitxer de configuració d'Apache.

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

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

Afegiu la següent entrada de Virtualhost a la part inferior del fitxer i canvieu la ruta de DocumentRoot perquè coincideixi amb la ubicació exacta dels fitxers 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>

A Ubuntu, heu d'habilitar l'entrada virtualhost acabada de crear mitjançant l'ordre següent. Per als sistemes basats en RedHat, no cal habilitar res.

$ sudo a2ensite phabricator.conf

Finalment, reinicieu el servei Apache per reflectir els nous canvis.

# service httpd restart				[On RedHat]

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

Pas 4: configureu MySQL per Phabricator

Ara és el moment de configurar MySQL, però abans d'anar a la configuració, assegureu-vos que el vostre MySQL s'està executant i que us podeu connectar. Per tant, podeu carregar-hi la configuració de mysql.

# 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

A continuació, executeu l'script d'actualització d'emmagatzematge per carregar-hi l'esquema de la base de dades. Durant el processament, us demanarà que premeu y per continuar, això trigarà poc a completar la configuració de l'esquema de dades.

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

Un cop afegit l'esquema a mysql, reinicieu el servei per prendre noves configuracions.

# service mysql restart

$ sudo service mysql restart

Pas 5: Configuració de la interfície d'usuari web de Phabricator

Ara podeu accedir a la interfície d'usuari web a les ubicacions següents, però hem de crear un compte d'inici de sessió d'administrador.

http://phab.tecmintlocal.com/

OR

http://ipaddress

Si la pàgina de configuració de l'administració anterior no es mostra, hem de crear un inici de sessió d'administrador manualment des del terminal. Aquest pas només cal, si en cas que rebem l'error perquè no s'ha definit el compte d'administrador.

# ./bin/accountadmin

Un cop creat el compte d'administrador, podeu iniciar sessió a la secció d'administració amb les mateixes credencials. Després d'iniciar sessió, podeu veure algun problema de configuració a la cantonada superior esquerra, que cal resoldre'l abans de començar a utilitzar-lo.

Aquests són alguns dels passos per solucionar-ho, tots i cadascun dels problemes es poden resoldre molt fàcilment, ja que han indicat com resoldre'ls.

En total, hi ha 10 problemes de configuració esmentats tal com es mostra a la imatge següent.

Aquí, no puc mostrar com resoldre cada problema, però intentaré mostrar com resoldre un dels problemes tal com s'esmenta a la pàgina d'error. Prenem el primer problema, Mode MYSQL STRICT_ALL_TABLES no definit, fent clic a l'enllaç obtindreu les instruccions sobre com resoldre el problema.

Per tant, seguim aquestes instruccions tal com es descriu a la pàgina. Obriu i editeu el fitxer de configuració de mysql.

# /etc/my.cnf		[On RedHat]

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

A continuació, afegiu el codi a la secció mysqld del fitxer conf, del que obtenim mentre feu clic a MYSQL STRICT_ALL_TABLES Mode Not Set.

sql_mode	= STRICT_ALL_TABLES
ft_min_word_len	= 3

Després de resoldre cada error, heu de reiniciar el servei MySQL i Apache per reflectir els nous canvis.

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


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

Després d'haver resolt tots els problemes, podeu tornar a iniciar sessió al tauler i comprovar l'estat, veureu el missatge A punt per utilitzar.

Pas 6: navegació de les funcions de Phabricator

Podeu veure algunes de les funcions disponibles per a l'usuari, tal com es mostra a les imatges següents.

Per crear un compte d'usuari normal, feu clic a la icona de la cantonada superior esquerra, desplaceu-vos cap avall per la pàgina i feu clic a Persones. Ara per crear un nou usuari hem de fer clic a Crea un usuari nou.

Pas 7: recupera la contrasenya d'administrador de Phabricator

Si, per si, oblideu la vostra contrasenya d'administrador i voleu recuperar-la, només heu de seguir l'ordre següent.

# ./bin/auth recover tecmint

A continuació, copieu el codi d'accés donat i accediu a l'URL per recuperar-lo, tal com es mostra a les imatges següents.

Això és tot per ara, hem instal·lat i configurat amb èxit Phabricator, una eina de gestió de projectes de codi obert sense cap problema. Espero que tu també hagis configurat qualsevol error, si n'hi ha que m'ho facis saber mitjançant comentaris, m'encantaria ajudar-te.