ഫാബ്രിക്കേറ്റർ - ലിനക്സിനുള്ള ഒരു ഓപ്പൺ സോഴ്സ് ശക്തമായ പ്രോജക്റ്റ് മാനേജ്മെന്റ് ടൂൾ


PHP ഭാഷ ഉപയോഗിച്ച് നിർമ്മിച്ചതും Linux, MacOSX-നുള്ള Apache 2.0 ഓപ്പൺ സോഴ്uസ് ലൈസൻസിന് കീഴിൽ ലഭ്യമായതും ഏത് പ്ലാറ്റ്uഫോമിലും പ്രവർത്തിപ്പിക്കാവുന്നതുമായ മികച്ച സോഫ്uറ്റ്uവെയർ സൃഷ്uടിക്കുന്നതിന്/നിർമ്മിക്കാൻ സോഫ്uറ്റ്uവെയർ കമ്പനികളെ സഹായിക്കുന്ന ഒരു ഓപ്പൺ സോഴ്uസ് ആപ്ലിക്കേഷനാണ് Phabricator. ഇതിന് വിൻഡോസിൽ പോലും പ്രവർത്തിക്കാൻ കഴിയും, പക്ഷേ ഇത് പൂർണ്ണമായും ലിനക്സ് പിന്തുണയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. ഫാബ്രിക്കേറ്റർ മുമ്പ് ഫേസ്ബുക്ക് ഉപയോഗിച്ചിട്ടുണ്ട്. കോഡുകൾ അവലോകനം ചെയ്യലും ഓഡിറ്റുചെയ്യലും, ബഗുകൾ ട്രാക്കുചെയ്യലും തുടങ്ങിയ നിരവധി സവിശേഷതകളോടെയാണ് ഫാബ്രിക്കേറ്ററിന്റെ ആദ്യ പതിപ്പ് ഫേസ്ബുക്ക് നിർമ്മിച്ചത്.

git, svn എന്നിവ പോലെ തന്നെ നമുക്ക് ഫാബ്രിക്കേറ്ററും ഒരു ശേഖരമായി ഉപയോഗിക്കാം. പ്രത്യേക വികസന ടീമുകൾക്കിടയിൽ കോഡ് സുരക്ഷിതമാക്കാൻ നിരവധി സ്വകാര്യതാ ക്രമീകരണങ്ങൾ ലഭ്യമാണ്. കോഡ് അന്തിമമാക്കുന്നതിന് മുമ്പ് ഞങ്ങൾക്ക് സഹപ്രവർത്തകരുടെ കോഡ് അവലോകനം ചെയ്യാം.

എല്ലാവർക്കും ജിറ്റിനെക്കുറിച്ച് അറിവുണ്ടെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു, ഇല്ലെങ്കിൽ, അത് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് വിശദീകരിക്കുന്ന ചുവടെയുള്ള ജിഐടി ലേഖനം ദയവായി പരിശോധിക്കുക.

  1. GITHub റിപ്പോസിറ്ററിയിൽ നിങ്ങളുടെ സ്വന്തം പ്രോജക്റ്റുകൾ സൃഷ്ടിക്കാൻ GIT ഇൻസ്റ്റാൾ ചെയ്യുക

git പോലെ തന്നെ, ഫാബ്രിക്കേറ്ററിനും ധാരാളം ഫീച്ചറുകൾ ഉണ്ട്, കൂടാതെ Facebook, Dropbox, Groupon തുടങ്ങിയ മിക്ക ജനപ്രിയ കമ്പനികളും വെബ് ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു.

ഫാബ്രിക്കേറ്ററിന് ഇനിപ്പറയുന്ന ആവശ്യമായ പാക്കേജുകൾ ഉപയോഗിച്ച് ഒരു സാധാരണ കമ്പ്യൂട്ടറിൽ പ്രവർത്തിക്കാൻ കഴിയും. ഉയർന്ന ഉറവിടങ്ങളുള്ള സ്പെസിഫിക്കേഷൻ ഞങ്ങൾക്ക് ആവശ്യമില്ല.

  1. Apache2.2.7 അല്ലെങ്കിൽ ഉയർന്നത്
  2. MySQL, PHP 5.2 അല്ലെങ്കിൽ ഉയർന്നത്
  3. Git ഉം ചില php വിപുലീകരണങ്ങളും.

ശ്രദ്ധിക്കുക: മുഴുവൻ ഡൊമെയ്uനിലോ (linux-console.net) അല്ലെങ്കിൽ ഒരു ഉപ ഡൊമെയ്uനിലോ (phabricator.linux-console.net) മാത്രമേ ഫാബ്രിക്കേറ്റർ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയൂ. linux-console.net/phabricator എന്ന് പറയുക, നിലവിലുള്ള ഏതെങ്കിലും ഡൊമെയ്uനിൽ നിങ്ങൾക്ക് ഇത് ഒരു നിർദ്ദിഷ്ട പാതയിലേക്ക് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയില്ല.

ഘട്ടം 1: ആവശ്യമായ ഘടകങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

ഉബുണ്ടുവിലും റെഡ്ഹാറ്റ് അധിഷ്ഠിത ലിനക്സിലും സജ്ജീകരിക്കുന്നതിന് സ്ക്രിപ്റ്റുകൾ ലഭ്യമാണ്, നിങ്ങൾക്ക് ലിനക്സുമായി പരിചയമില്ലെങ്കിൽ ഈ ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക.

  1. RedHat ഡെറിവേറ്റീവുകൾ – http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh
  2. ഉബുണ്ടു ഡെറിവേറ്റീവുകൾ – http://www.phabricator.com/rsrc/install/install_ubuntu.sh

നിങ്ങളൊരു അഡ്വാൻസ് ഉപയോക്താവാണെങ്കിൽ, ഫാബ്രിക്കേറ്റർ പ്രവർത്തിപ്പിക്കുന്നതിന് നിങ്ങൾ ഒരു LAMP സെർവർ സജ്ജീകരിക്കേണ്ടതുണ്ട്. ശരി, ഇപ്പോൾ നമുക്ക് RHEL/CentOS, Ubuntu/Debian എന്നിവയിൽ Phabricator ഇൻസ്റ്റാൾ ചെയ്യാൻ തുടങ്ങാം.

LAMP സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുക, ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ ചില php എക്സ്റ്റൻഷനുകൾ ഉൾപ്പെടുത്തുക.

# 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

ശ്രദ്ധിക്കുക: ഉബുണ്ടു അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിൽ, ഇൻസ്റ്റലേഷൻ സമയത്ത് MysQL-നുള്ള റൂട്ട് പാസ്uവേഡ് നൽകാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.

ഘട്ടം 2: ഫാബ്രിക്കേറ്റർ ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുന്നു

ഒരിക്കൽ, മുകളിൽ പറഞ്ഞിരിക്കുന്ന എല്ലാ കാര്യങ്ങളും നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, ഇപ്പോൾ ഇൻസ്റ്റാൾ ഡയറക്ടറി തിരഞ്ഞെടുക്കുക. ഇവിടെ ഞാൻ അപ്പാച്ചെ ഡയറക്uടറിയുടെ DocumentRoot ന് കീഴിൽ ‘myprojectapp’ എന്ന പേരിൽ ഒരു ഡയറക്uടറി സൃഷ്uടിക്കാൻ പോകുന്നു.

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

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

നിങ്ങൾ ഇൻസ്uറ്റാൾ ചെയ്യുകയാണെങ്കിൽ, ഒരു സാധാരണ ഉപയോക്താവ് എന്ന നിലയിൽ, റൈറ്റ് അനുമതി ലഭിക്കുന്നതിന്, Apache ഗ്രൂപ്പിൽ നിലവിലെ ഉപയോക്താവിനെ (എന്റെ കാര്യത്തിൽ ‘tecmint‘) ചേർക്കേണ്ടതുണ്ട്. നിങ്ങൾ റൂട്ട് ഉപയോക്താവിലേക്ക് മാറുകയാണെങ്കിൽ ഈ ഘട്ടം അവഗണിക്കാവുന്നതാണ്.

# 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: ഫാബ്രിക്കേറ്ററിനായി അപ്പാച്ചെ കോൺഫിഗർ ചെയ്യുക

ഉബുണ്ടു അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിൽ, നിങ്ങൾ mod_php, mod_rewrite, mod_ssl മൊഡ്യൂളുകൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്, ഇൻസ്റ്റാളേഷൻ സമയത്ത് ഈ മൊഡ്യൂളുകളിൽ ഭൂരിഭാഗവും സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ട്, പക്ഷേ ഞങ്ങൾ സ്ഥിരീകരിക്കേണ്ടതുണ്ട്.

# sudo a2enmod rewrite
# sudo a2enmod ssl

ഒരിക്കൽ, ഈ മൊഡ്യൂളുകൾ പ്രവർത്തനക്ഷമമാക്കിയാൽ, മാറ്റങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നതിന് അടുത്തതായി വെബ് സെർവർ പുനരാരംഭിക്കുക.

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

അടുത്തതായി, നിങ്ങളുടെ അപ്പാച്ചെ കോൺഫിഗറേഷൻ ഫയലിൽ ഒരു പ്രത്യേക വെർച്വൽഹോസ്റ്റ് സൃഷ്ടിക്കുക.

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

ഉബുണ്ടുവിൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾ പുതുതായി സൃഷ്ടിച്ച വെർച്വൽഹോസ്റ്റ് എൻട്രി പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്. RedHat അടിസ്ഥാനമാക്കിയുള്ള സിസ്റ്റങ്ങൾക്ക്, ഒന്നും പ്രവർത്തനക്ഷമമാക്കേണ്ടതില്ല.

$ sudo a2ensite phabricator.conf

അവസാനമായി, പുതിയ മാറ്റങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നതിന് അപ്പാച്ചെ സേവനം പുനരാരംഭിക്കുക.

# 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

അടുത്തതായി, ഡാറ്റാബേസ് സ്കീമ ലോഡുചെയ്യുന്നതിന് സ്റ്റോറേജ് അപ്uഗ്രേഡ് സ്uക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുക. പ്രോസസ്സ് ചെയ്യുമ്പോൾ, തുടരുന്നതിന് 'y' അമർത്താൻ ഇത് നിങ്ങളോട് ആവശ്യപ്പെടും, ഡാറ്റ സ്കീമ സജ്ജീകരിക്കുന്നതിനുള്ള സജ്ജീകരണം പൂർത്തിയാക്കാൻ ഇത് കുറച്ച് സമയമെടുക്കും.

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

mysql-ലേക്ക് സ്കീം ചേർത്തുകഴിഞ്ഞാൽ, പുതിയ ക്രമീകരണങ്ങൾ എടുക്കുന്നതിന് സേവനം പുനരാരംഭിക്കുക.

# service mysql restart

$ sudo service mysql restart

ഘട്ടം 5: ഫാബ്രിക്കേറ്റർ വെബ് യുഐ കോൺഫിഗർ ചെയ്യുന്നു

ഇപ്പോൾ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ലൊക്കേഷനുകളിൽ വെബ് യുഐ ആക്സസ് ചെയ്യാൻ കഴിയും, എന്നാൽ ഞങ്ങൾക്ക് ഒരു അഡ്മിൻ ലോഗിൻ അക്കൗണ്ട് സൃഷ്ടിക്കേണ്ടതുണ്ട്.

http://phab.tecmintlocal.com/

OR

http://ipaddress

മുകളിലെ അഡ്uമിൻ സജ്ജീകരണ പേജ് ദൃശ്യമാകുന്നില്ലെങ്കിൽ, ടെർമിനലിൽ നിന്ന് ഞങ്ങൾ സ്വമേധയാ അഡ്മിൻ ലോഗിൻ സൃഷ്ടിക്കേണ്ടതുണ്ട്. അഡ്uമിൻ അക്കൗണ്ട് നിർവചിച്ചിട്ടില്ലാത്ത പിശക് കാരണം ഈ ഘട്ടം മാത്രമേ ആവശ്യമുള്ളൂ.

# ./bin/accountadmin

അഡ്uമിൻ അക്കൗണ്ട് സൃഷ്uടിച്ചുകഴിഞ്ഞാൽ, അതേ ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് അഡ്മിൻ വിഭാഗത്തിലേക്ക് ലോഗിൻ ചെയ്യാം. ലോഗിൻ ചെയ്തതിന് ശേഷം മുകളിൽ ഇടത് കോണിൽ നിങ്ങൾക്ക് ചില സജ്ജീകരണ പ്രശ്നം കാണാൻ കഴിയും, അത് ഉപയോഗിക്കാൻ തുടങ്ങുന്നതിന് മുമ്പ് അത് പരിഹരിക്കേണ്ടതുണ്ട്.

പരിഹരിക്കാനുള്ള ചില ഘട്ടങ്ങൾ ഇതാ, ഓരോ പ്രശ്uനങ്ങളും എങ്ങനെ പരിഹരിക്കാമെന്ന് അവർ ചൂണ്ടിക്കാണിച്ചതിനാൽ വളരെ എളുപ്പത്തിൽ പരിഹരിക്കാനാകും.

മൊത്തത്തിൽ, ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ 10 സജ്ജീകരണ പ്രശ്uനങ്ങൾ സൂചിപ്പിച്ചിരിക്കുന്നു.

ഇവിടെ, ഓരോ പ്രശ്uനവും എങ്ങനെ പരിഹരിക്കാമെന്ന് എനിക്ക് കാണിക്കാൻ കഴിയില്ല, പക്ഷേ പിശക് പേജിൽ സൂചിപ്പിച്ചിരിക്കുന്നതുപോലെ പ്രശ്uനങ്ങളിലൊന്ന് എങ്ങനെ പരിഹരിക്കാമെന്ന് കാണിക്കാൻ ശ്രമിക്കും. നമുക്ക് ആദ്യ ലക്കം എടുക്കാം, MYSQL STRICT_ALL_TABLES മോഡ് സജ്ജീകരിച്ചിട്ടില്ല, ലിങ്കിൽ ക്ലിക്ക് ചെയ്താൽ പ്രശ്നം എങ്ങനെ പരിഹരിക്കാം എന്നതിനെക്കുറിച്ചുള്ള നിർദ്ദേശങ്ങൾ ലഭിക്കും.

അതിനാൽ, പേജിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ ആ നിർദ്ദേശങ്ങൾ പാലിക്കാം. mysql കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് എഡിറ്റ് ചെയ്യുക.

# /etc/my.cnf		[On RedHat]

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

അടുത്തതായി, MYSQL STRICT_ALL_TABLES മോഡ് സജ്ജമാക്കിയിട്ടില്ല എന്നതിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ നമുക്ക് ലഭിക്കുന്നത്, conf ഫയലിന്റെ mysqld വിഭാഗത്തിന് കീഴിൽ കോഡ് ചേർക്കുക.

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: ബ്രൗസിംഗ് ഫാബ്രിക്കേറ്ററിന്റെ സവിശേഷതകൾ

ചുവടെയുള്ള ചിത്രങ്ങളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഉപയോക്തൃ ലഭ്യമായ ചില സവിശേഷതകൾ നിങ്ങൾക്ക് കാണാൻ കഴിയും.

ഒരു സാധാരണ ഉപയോക്തൃ അക്കൗണ്ട് സൃഷ്uടിക്കുന്നതിന്, മുകളിൽ ഇടത് കോണിലുള്ള ഐക്കണിൽ ക്ലിക്കുചെയ്യുക, തുടർന്ന് പേജ് താഴേക്ക് സ്ക്രോൾ ചെയ്യുക, തുടർന്ന് ആളുകൾ എന്നതിൽ ക്ലിക്കുചെയ്യുക. ഇപ്പോൾ ഒരു പുതിയ ഉപയോക്താവിനെ സൃഷ്ടിക്കാൻ നമ്മൾ പുതിയ ഉപയോക്താവിനെ സൃഷ്ടിക്കുക എന്നതിൽ ക്ലിക്ക് ചെയ്യണം.

ഘട്ടം 7: ഫാബ്രിക്കേറ്റർ അഡ്മിൻ പാസ്uവേഡ് വീണ്ടെടുക്കുക

നിങ്ങൾ അഡ്uമിൻ പാസ്uവേഡ് മറന്നുപോയാൽ, അത് വീണ്ടെടുക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ചുവടെയുള്ള കമാൻഡ് പിന്തുടരുക.

# ./bin/auth recover tecmint

അടുത്തതായി, നൽകിയിരിക്കുന്ന ആക്uസസ് കോഡ് പകർത്തി, ചുവടെയുള്ള ചിത്രങ്ങളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ വീണ്ടെടുക്കുന്നതിന് URL ആക്uസസ് ചെയ്യുക.

തൽക്കാലം അത്രമാത്രം, ഞങ്ങൾ ഫാബ്രിക്കേറ്റർ ഒരു ഓപ്പൺ സോഴ്uസ് പ്രോജക്ട് മാനേജ്uമെന്റ് ടൂൾ വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്തു. നിങ്ങളും എന്തെങ്കിലും പിശകുകളോടെ സജ്ജീകരിക്കുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു, എന്തെങ്കിലും അഭിപ്രായങ്ങൾ വഴി എന്നെ അറിയിക്കുക, നിങ്ങളെ സഹായിക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു.