Phabricator - Ένα ισχυρό εργαλείο "Διαχείρισης Έργων" ανοιχτού κώδικα για Linux


Το Phabricator είναι μια εφαρμογή ανοιχτού κώδικα που βοηθά τις εταιρείες λογισμικού να δημιουργήσουν/δημιουργήσουν καλύτερο λογισμικό, το οποίο είναι κατασκευασμένο με χρήση γλώσσας PHP και διατίθεται με άδεια χρήσης ανοιχτού κώδικα Apache 2.0 για Linux, MacOSX και μπορεί να εκτελεστεί σε οποιαδήποτε πλατφόρμα, Μπορεί να τρέξει ακόμη και σε Windows, αλλά βασίζεται εξ ολοκλήρου στην υποστήριξη Linux. Το Phabricator έχει χρησιμοποιηθεί από το Facebook στο παρελθόν. Η πρώτη έκδοση του phabricator κατασκευάστηκε από το facebook με πολλές δυνατότητες όπως έλεγχος και έλεγχος κωδικών, παρακολούθηση σφαλμάτων κ.λπ.

Μπορούμε να χρησιμοποιήσουμε το phabricator ως αποθετήριο όπως το git και το svn. Υπάρχουν πολλές διαθέσιμες ρυθμίσεις απορρήτου για την ασφάλεια του κώδικα μεταξύ συγκεκριμένων ομάδων ανάπτυξης. Μπορούμε να ελέγξουμε τον κωδικό των συναδέλφων πριν οριστικοποιήσουμε τον κωδικό.

Ελπίζω ότι όλοι γνωρίζουν σχετικά με το git, αν όχι, ρίξτε μια γρήγορη ματιά στο παρακάτω άρθρο για το GIT, το οποίο εξηγεί πώς να το χρησιμοποιήσετε.

  1. Εγκαταστήστε το GIT για να δημιουργήσετε τα δικά σας έργα στο αποθετήριο GITHub

Όπως το git, το phabricator έχει επίσης πολλές δυνατότητες και χρησιμοποιείται από τις περισσότερες από τις δημοφιλείς εταιρείες όπως το Facebook, το Dropbox, το Groupon για την ανάπτυξη εφαρμογών ιστού εκεί.

Απαιτήσεις

Το Phabricator μπορεί να τρέξει σε έναν κανονικό υπολογιστή, με τα ακόλουθα απαιτούμενα πακέτα. Δεν χρειαζόμαστε προδιαγραφές με υψηλούς πόρους.

  1. Apache 2.2.7 ή νεότερη έκδοση
  2. MySQL και PHP 5.2 ή νεότερη έκδοση
  3. Git και μερικές από τις επεκτάσεις php.

ΣΗΜΕΙΩΣΗ: Το Phabricator μπορεί να εγκατασταθεί μόνο σε έναν ολόκληρο τομέα (linux-console.net) ή σε έναν υποτομέα (phabricator.linux-console.net). Δεν μπορείτε να το εγκαταστήσετε σε μια συγκεκριμένη διαδρομή σε οποιονδήποτε υπάρχοντα τομέα, πείτε "linux-console.net/phabricator".

Βήμα 1: Εγκατάσταση απαιτούμενων εξαρτημάτων

Υπάρχουν διαθέσιμα σενάρια για εγκατάσταση σε Linux με βάση το Ubuntu και το Redhat, επιλέξτε αυτήν την επιλογή εάν δεν είστε εξοικειωμένοι με το Linux.

  1. RedHat Παράγωγα – http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh
  2. Παράγωγα Ubuntu – http://www.phabricator.com/rsrc/install/install_ubuntu.sh

Εάν είστε χρήστης Advance, πρέπει απλώς να ρυθμίσετε έναν διακομιστή LAMP για να εκτελέσετε έναν phabricator. Εντάξει, τώρα ας ξεκινήσουμε την εγκατάσταση του Phabricator σε RHEL/CentOS και Ubuntu/Debian.

Σε RHEL/CentOS

Εγκαταστήστε τον διακομιστή LAMP και συμπεριλάβετε μερικές επεκτάσεις php κατά την εγκατάσταση.

yum install mysql-server httpd git php php-mysql php-gd php-curl php-apc php-cli -y
Στο Ubuntu/Debian
sudo apt-get install mysql-server apache2 git-core git php5 php5-mysql php5-gd php5-curl php-apc php5-cli -y

ΣΗΜΕΙΩΣΗ: Σε διανομές που βασίζονται στο Ubuntu, κατά την εγκατάσταση θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης root για το MysQL.

Βήμα 2: Λήψη αρχείων Phabricator

Μόλις εγκαταστήσετε όλα τα παραπάνω στοιχεία, επιλέξτε τώρα τον κατάλογο εγκατάστασης. Εδώ θα δημιουργήσω έναν κατάλογο με το όνομα "myprojectapp" κάτω από το DocumentRoot του καταλόγου Apache.

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

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

Εάν κάνετε εγκατάσταση, ως κανονικός χρήστης πρέπει να προσθέσετε τον τρέχοντα χρήστη (στην περίπτωσή μου "tecmint") στην ομάδα Apache για να λάβετε την άδεια εγγραφής. Αυτό το βήμα μπορεί να αγνοηθεί εάν μεταβείτε σε χρήστη root.

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

Στη συνέχεια, μεταβείτε στον κατάλογο που δημιουργήθηκε πρόσφατα, π.χ. myprojectapp.

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

cd /var/www/myprojectapp			[On Ubuntu]

Τώρα, ξεκινήστε να τραβάτε τον phabricator και τις εξαρτήσεις του από εκεί το επίσημο αποθετήριο 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

Βήμα 3: Ρυθμίστε τις παραμέτρους του Apache για Phabricator

Σε διανομές που βασίζονται στο Ubuntu, πρέπει να ενεργοποιήσετε τις ενότητες mod_php, mod_rewrite και mod_ssl, κατά την εγκατάσταση οι περισσότερες από αυτές τις λειτουργικές μονάδες είναι ενεργοποιημένες από προεπιλογή, αλλά πρέπει να επιβεβαιώσουμε.

sudo a2enmod rewrite
sudo a2enmod ssl

Μόλις ενεργοποιηθούν αυτές οι μονάδες, κάντε επανεκκίνηση του διακομιστή web για να αντικατοπτρίζονται οι αλλαγές.

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

Στη συνέχεια, δημιουργήστε ένα ξεχωριστό Virtualhost στο αρχείο ρυθμίσεων του Apache.

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

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

Προσθέστε την ακόλουθη καταχώριση Virtualhost στο κάτω μέρος του αρχείου και αλλάξτε τη διαδρομή DocumentRoot για να ταιριάζει με την ακριβή τοποθεσία των αρχείων 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>

Στο Ubuntu, πρέπει να ενεργοποιήσετε τη νέα καταχώρηση virtualhost χρησιμοποιώντας την ακόλουθη εντολή. Για συστήματα που βασίζονται στο RedHat, δεν χρειάζεται να ενεργοποιήσετε τίποτα.

sudo a2ensite phabricator.conf

Τέλος, επανεκκινήστε την υπηρεσία Apache για να αντικατοπτρίζονται οι νέες αλλαγές.

service httpd restart				[On RedHat]

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

Βήμα 4: Διαμόρφωση της MySQL για Phabricator

Τώρα, ήρθε η ώρα να ρυθμίσετε τις παραμέτρους της MySQL, αλλά πριν ξεκινήσετε για εγκατάσταση, βεβαιωθείτε ότι η MySQL σας εκτελείται και μπορείτε να συνδεθείτε σε αυτήν. Έτσι, για να μπορείτε να φορτώσετε τις ρυθμίσεις 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

Στη συνέχεια, εκτελέστε το σενάριο αναβάθμισης αποθήκευσης για να φορτώσετε το σχήμα της βάσης δεδομένων σε αυτό. Κατά την επεξεργασία, θα σας ζητηθεί να πατήσετε "y" για να συνεχίσετε. Αυτό θα πάρει λίγο χρόνο για να ολοκληρωθεί η ρύθμιση για τη ρύθμιση του σχήματος δεδομένων.

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

Μόλις προστεθεί το σχήμα στο mysql, επανεκκινήστε την υπηρεσία για να πραγματοποιήσετε νέες ρυθμίσεις.

service mysql restart

sudo service mysql restart

Βήμα 5: Διαμόρφωση του Phabricator Web UI

Τώρα μπορείτε να αποκτήσετε πρόσβαση στη διεπαφή ιστού στις ακόλουθες τοποθεσίες, αλλά πρέπει να δημιουργήσουμε έναν λογαριασμό σύνδεσης διαχειριστή.

http://phab.tecmintlocal.com/

OR

http://ipaddress

Εάν η παραπάνω σελίδα ρύθμισης διαχειριστή δεν εμφανίζεται, πρέπει να δημιουργήσουμε τη σύνδεση διαχειριστή με μη αυτόματο τρόπο από το τερματικό. Αυτό το βήμα απαιτείται μόνο, εάν λάβουμε το σφάλμα γιατί ο λογαριασμός διαχειριστή δεν ορίστηκε.

./bin/accountadmin

Μόλις δημιουργηθεί ο λογαριασμός διαχειριστή, μπορείτε να συνδεθείτε στην ενότητα διαχειριστή χρησιμοποιώντας τα ίδια διαπιστευτήρια. Μετά τη σύνδεση, μπορείτε να δείτε κάποιο πρόβλημα εγκατάστασης στην επάνω αριστερή γωνία, το οποίο πρέπει να επιλυθεί πριν ξεκινήσετε τη χρήση του.

Ακολουθούν μερικά από τα βήματα για να διορθώσετε, κάθε ζήτημα μπορεί να επιλυθεί πολύ εύκολα, καθώς έχουν υποδείξει πώς να το επιλύσετε.

Συνολικά, αναφέρονται 10 προβλήματα εγκατάστασης όπως φαίνεται στην παρακάτω εικόνα.

Εδώ, δεν μπορώ να δείξω πώς να επιλύσω κάθε ζήτημα, αλλά θα προσπαθήσω να δείξω πώς να επιλύσω ένα από τα ζητήματα όπως αναφέρεται στη σελίδα σφάλματος. Ας πάρουμε το πρώτο ζήτημα, MYSQL STRICT_ALL_TABLES Η λειτουργία δεν έχει οριστεί, κάνοντας κλικ στον σύνδεσμο θα λάβετε οδηγίες σχετικά με τον τρόπο επίλυσης του προβλήματος.

Λοιπόν, ας ακολουθήσουμε αυτές τις οδηγίες όπως περιγράφονται στη σελίδα. Ανοίξτε και επεξεργαστείτε το αρχείο διαμόρφωσης mysql.

/etc/my.cnf		[On RedHat]

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

Στη συνέχεια, προσθέστε τον κώδικα κάτω από την ενότητα mysqld του αρχείου conf, από το οποίο λαμβάνουμε κάνοντας κλικ στο "MYSQL STRICT_ALL_TABLES Η λειτουργία δεν έχει οριστεί".

sql_mode	= STRICT_ALL_TABLES
ft_min_word_len	= 3

Μετά την επίλυση κάθε σφάλματος, πρέπει να επανεκκινήσετε την υπηρεσία MySQL και Apache για να αντικατοπτρίζονται οι νέες αλλαγές.

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


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

Αφού επιλύσετε όλα τα προβλήματα, μπορείτε να συνδεθείτε ξανά στον πίνακα και να ελέγξετε την κατάσταση, θα δείτε το μήνυμα "Έτοιμο για χρήση".

Βήμα 6: Περιήγηση στα χαρακτηριστικά του Phabricator

Μπορείτε να δείτε μερικές από τις διαθέσιμες λειτουργίες του χρήστη όπως φαίνεται στις παρακάτω εικόνες.

Για τη Δημιουργία ενός κανονικού λογαριασμού χρήστη, κάντε κλικ στο εικονίδιο στην επάνω αριστερή γωνία, κάντε κύλιση προς τα κάτω στη σελίδα και, στη συνέχεια, κάντε κλικ στο "Άτομα". Τώρα για να δημιουργήσουμε έναν νέο χρήστη πρέπει να κάνουμε κλικ στο "Δημιουργία νέου χρήστη".

Βήμα 7: Ανάκτηση κωδικού πρόσβασης διαχειριστή Phabricator

Εάν υπάρχει, ξεχάσετε τον κωδικό πρόσβασης διαχειριστή και θέλετε να τον ανακτήσετε, απλώς ακολουθήστε την παρακάτω εντολή.

./bin/auth recover tecmint

Στη συνέχεια, αντιγράψτε τον δεδομένο κωδικό πρόσβασης και αποκτήστε πρόσβαση στη διεύθυνση URL για ανάκτηση, όπως φαίνεται στις παρακάτω εικόνες.

Αυτό είναι όλο προς το παρόν, εγκαταστήσαμε και διαμορφώσαμε με επιτυχία το "Phabricator"ένα εργαλείο διαχείρισης έργου ανοιχτού κώδικα χωρίς προβλήματα. Ελπίζω να ρυθμίσετε και εσείς με τυχόν σφάλματα, εάν υπάρχουν, ενημερώστε με μέσω σχολίων, θα ήθελα πολύ να σας βοηθήσω.

http://phabricator.org/