ค้นหาเว็บไซต์

Phabricator - เครื่องมือ "การจัดการโครงการ" อันทรงพลังแบบโอเพ่นซอร์สสำหรับ Linux


ฟาบริเคเตอร์เป็นแอปพลิเคชันโอเพ่นซอร์สที่ช่วยให้บริษัทซอฟต์แวร์สามารถสร้าง/สร้างซอฟต์แวร์ที่ดีขึ้น ซึ่งสร้างขึ้นโดยใช้ภาษา PHP และพร้อมใช้งานภายใต้ใบอนุญาตโอเพ่นซอร์ส Apache 2.0 สำหรับ Linux, MacOSX และสามารถทำงานได้ในทุกแพลตฟอร์ม มันสามารถทำงานใน windows ได้ แต่มันขึ้นอยู่กับการรองรับ Linux ทั้งหมด Facebook เคยใช้ฟาบริเคเตอร์มาก่อน ฟาบริเคเตอร์เวอร์ชันแรกถูกสร้างขึ้นโดย Facebook พร้อมฟีเจอร์มากมาย เช่น การตรวจสอบและการตรวจสอบรหัส การติดตามข้อบกพร่อง ฯลฯ

เราสามารถใช้ฟาบริเคเตอร์เป็นที่เก็บข้อมูลเช่นเดียวกับ git และ svn มีการตั้งค่าความเป็นส่วนตัวหลายประการเพื่อรักษาโค้ดให้ปลอดภัยสำหรับทีมพัฒนาโดยเฉพาะ เราสามารถตรวจสอบโค้ดของเพื่อนร่วมงานก่อนที่จะสรุปโค้ดได้

ฉันหวังว่าทุกคนจะทราบเกี่ยวกับ git หากไม่ โปรดดูบทความ GIT ด้านล่างนี้ซึ่งจะอธิบายวิธีใช้งาน

  1. ติดตั้ง GIT เพื่อสร้างโปรเจ็กต์ของคุณเองบน GITHub Repository

เช่นเดียวกับ git ฟาบริเคเตอร์ยังมีฟีเจอร์มากมายและถูกใช้โดยบริษัทยอดนิยมส่วนใหญ่ เช่น Facebook, Dropbox, Groupon เพื่อพัฒนาเว็บแอปพลิเคชันที่นั่น

ความต้องการ

ฟาบริเคเตอร์สามารถทำงานได้ในคอมพิวเตอร์ปกติ โดยมีแพ็คเกจที่จำเป็นดังต่อไปนี้ เราไม่ต้องการข้อกำหนดที่มีทรัพยากรสูง

  1. Apache2.2.7 หรือสูงกว่า
  2. MySQL และ PHP 5.2 หรือสูงกว่า
  3. Git และส่วนขยาย php บางส่วน

หมายเหตุ: สามารถติดตั้งฟาบริเคเตอร์ได้บนทั้งโดเมน (linux-console.net) หรือบนโดเมนย่อย (phabricator.linux-console.net) เท่านั้น คุณไม่สามารถติดตั้งลงในเส้นทางเฉพาะบนโดเมนที่มีอยู่ได้ เช่น “linux-console.net/phabricator”

ขั้นตอนที่ 1: การติดตั้งส่วนประกอบที่จำเป็น

มีสคริปต์สำหรับการตั้งค่าใน Ubuntu และ Linux ที่ใช้ 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

หากคุณเป็นผู้ใช้ขั้นสูง คุณเพียงแค่ต้องตั้งค่าเซิร์ฟเวอร์ LAMP เพื่อเรียกใช้ฟาบริเคเตอร์ เอาล่ะ เรามาเริ่มการติดตั้งฟาบริเคเตอร์บน 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 ระหว่างการติดตั้ง ระบบจะขอให้คุณป้อนรหัสผ่านรูทสำหรับ MysQL

ขั้นตอนที่ 2: การดาวน์โหลดไฟล์ฟาบริเคเตอร์

เมื่อคุณติดตั้งทุกสิ่งข้างต้นแล้ว ให้เลือกไดเร็กทอรีการติดตั้ง ที่นี่ฉันจะสร้างไดเรกทอรีชื่อ 'myprojectapp' ใต้ DocumentRoot ของไดเรกทอรี Apache

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

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

หากคุณกำลังติดตั้ง ในฐานะผู้ใช้ปกติ คุณจะต้องเพิ่มผู้ใช้ปัจจุบัน (ในกรณีของฉัน 'tecmint') ในกลุ่ม Apache เพื่อขอรับสิทธิ์ในการเขียน ขั้นตอนนี้สามารถละเว้นได้หากคุณเปลี่ยนเป็นผู้ใช้รูท

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]

ตอนนี้ให้เริ่มดึงฟาบริเคเตอร์และการพึ่งพาจากที่เก็บคอมไพล์อย่างเป็นทางการ

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 สำหรับฟาบริเคเตอร์

บนการกระจายบน Ubuntu คุณต้องเปิดใช้งานโมดูล mod_php, mod_rewrite และ mod_ssl ในระหว่างการติดตั้งโมดูลเหล่านี้ส่วนใหญ่เปิดใช้งานตามค่าเริ่มต้น แต่เราต้องยืนยัน

sudo a2enmod rewrite
sudo a2enmod ssl

เมื่อเปิดใช้งานโมดูลเหล่านี้แล้ว ให้รีสตาร์ทเว็บเซิร์ฟเวอร์ครั้งถัดไปเพื่อแสดงการเปลี่ยนแปลง

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 เพื่อให้ตรงกับตำแหน่งที่แน่นอนของไฟล์ฟาบริเคเตอร์

<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 สำหรับฟาบริเคเตอร์

ตอนนี้ถึงเวลากำหนดค่า 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

ตอนนี้คุณสามารถเข้าถึง UI ของเว็บได้ที่ตำแหน่งต่อไปนี้ แต่เราจำเป็นต้องสร้างบัญชีเข้าสู่ระบบของผู้ดูแลระบบ

http://phab.tecmintlocal.com/

OR

http://ipaddress

หากหน้าการตั้งค่าผู้ดูแลระบบด้านบนไม่แสดงขึ้นมา เราจำเป็นต้องสร้างการเข้าสู่ระบบของผู้ดูแลระบบด้วยตนเองจากเทอร์มินัล ขั้นตอนนี้จำเป็นเท่านั้น หากในกรณีที่เราได้รับข้อผิดพลาด เนื่องจากไม่ได้กำหนดบัญชีผู้ดูแลระบบ

./bin/accountadmin

เมื่อสร้างบัญชีผู้ดูแลระบบแล้ว คุณสามารถเข้าสู่ระบบในส่วนผู้ดูแลระบบได้โดยใช้ข้อมูลประจำตัวเดียวกัน หลังจากเข้าสู่ระบบ คุณจะเห็นปัญหาการตั้งค่าบางอย่างที่มุมซ้ายบน ซึ่งจะต้องแก้ไขก่อนเริ่มใช้งาน

ต่อไปนี้เป็นขั้นตอนในการแก้ไขปัญหา แต่ละปัญหาสามารถแก้ไขได้อย่างง่ายดายตามที่พวกเขาได้ชี้วิธีการแก้ไข

โดยรวมแล้วมีปัญหาการตั้งค่า 10 ข้อที่กล่าวถึงดังที่แสดงในภาพด้านล่าง

ในที่นี้ ฉันไม่สามารถแสดงวิธีแก้ปัญหาแต่ละปัญหาได้ แต่จะพยายามแสดงวิธีแก้ปัญหาอย่างใดอย่างหนึ่งตามที่กล่าวไว้ในหน้าข้อผิดพลาด เรามาเริ่มประเด็นแรกกันเลย MYSQL STRICT_ALL_TABLES Mode Not Set การคลิกลิงก์จะได้รับคำแนะนำในการแก้ปัญหา

ดังนั้น ให้ทำตามคำแนะนำตามที่อธิบายไว้ในหน้านี้ เปิดและแก้ไขไฟล์การกำหนดค่า mysql

/etc/my.cnf		[On RedHat]

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

จากนั้น ให้เพิ่มโค้ดต่อท้ายส่วน mysqld ของไฟล์ conf ซึ่งเป็นสิ่งที่เราได้รับจากการคลิกที่ “MYSQL STRICT_ALL_TABLES Mode Not Set

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: การเรียกดูคุณสมบัติฟาบริเคเตอร์

คุณสามารถดูคุณสมบัติบางอย่างที่ผู้ใช้สามารถใช้ได้ตามที่แสดงในภาพด้านล่าง

สำหรับการสร้างบัญชีผู้ใช้ปกติ ให้คลิกที่ไอคอนมุมซ้ายบน จากนั้นเลื่อนหน้าลง จากนั้นคลิกที่ “บุคคล“ ตอนนี้เพื่อสร้างผู้ใช้ใหม่ เราต้องคลิกที่ “สร้างผู้ใช้ใหม่

ขั้นตอนที่ 7: กู้คืนรหัสผ่านผู้ดูแลระบบฟาบริเคเตอร์

หากในกรณีที่คุณลืมรหัสผ่านผู้ดูแลระบบและต้องการกู้คืน เพียงทำตามคำสั่งด้านล่าง

./bin/auth recover tecmint

จากนั้น คัดลอกรหัสการเข้าถึงที่กำหนดและเข้าถึง URL เพื่อกู้คืน ดังที่แสดงในภาพด้านล่าง

เพียงเท่านี้ เราได้ติดตั้งและกำหนดค่า “ฟาบริเคเตอร์” ซึ่งเป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สเรียบร้อยแล้ว โดยไม่มีข้อบกพร่องใดๆ ฉันหวังว่าคุณจะตั้งค่าให้มีข้อผิดพลาดเช่นกัน หากมีแจ้งให้เราทราบผ่านความคิดเห็น ฉันยินดีที่จะช่วยเหลือคุณ

http://phabricator.org/