உபுண்டுவில் HTTP உடன் Git சேவையகத்தை உள்ளமைக்கவும்

Configure Git Server With Http Ubuntu



Git களஞ்சியங்களுடன் தனிப்பட்ட முறையில் வேலை செய்ய Git HTTP சேவையகத்தை அமைக்க விரும்பினால், இந்தக் கட்டுரை உங்களுக்கானது. இந்த கட்டுரையில், அப்பாச்சி எச்டிடிபி சேவையகத்துடன் உபுண்டுவில் ஒரு ஜிட் ஸ்மார்ட் எச்டிடிபி சேவையகத்தை எவ்வாறு கட்டமைப்பது என்பதை நான் உங்களுக்குக் காண்பிக்கப் போகிறேன். எனவே, ஆரம்பிக்கலாம்.

உபுண்டுவின் அதிகாரப்பூர்வ தொகுப்பு களஞ்சியத்தில் கிட் மற்றும் அப்பாச்சி தொகுப்புகள் கிடைக்கின்றன. எனவே, நீங்கள் அதை APT தொகுப்பு மேலாளருடன் எளிதாக நிறுவலாம்.







முதலில், பின்வரும் கட்டளையுடன் APT தொகுப்பு களஞ்சிய தற்காலிக சேமிப்பைப் புதுப்பிக்கவும்:



$சூடோபொருத்தமான மேம்படுத்தல்



APT தொகுப்பு களஞ்சிய தற்காலிக சேமிப்பு புதுப்பிக்கப்பட வேண்டும்.





இப்போது, ​​பின்வரும் கட்டளையுடன் Git மற்றும் Apache ஐ நிறுவவும்:



$சூடோபொருத்தமானநிறுவு போஅப்பாச்சி 2 அப்பாச்சி 2-பயன்பாடுகள்

இப்போது, ​​அழுத்தவும் மற்றும் பின்னர் அழுத்தவும் நிறுவலை உறுதிப்படுத்த.

கிட் மற்றும் அப்பாச்சி நிறுவப்பட வேண்டும்.

Git க்கான அப்பாச்சி HTTP சேவையகத்தை கட்டமைத்தல்:

இப்போது, ​​அப்பாச்சியை இயக்கவும் mod_env , mod_cgi , mod_ alias மற்றும் mod_rewrite பின்வரும் கட்டளை கொண்ட தொகுதிகள்:

$சூடோa2enmodபொறாமைசிஜிஐமாற்றுப்பெயர்மீண்டும் எழுது

தேவையான அப்பாச்சி தொகுதிகள் இயக்கப்பட வேண்டும்.

இப்போது, ​​ஒரு புதிய கோப்பகத்தை உருவாக்கவும் /var/www/git பின்வரும் கட்டளையுடன் அனைத்து Git களஞ்சியங்களையும் வைத்திருப்பதற்கு:

$சூடோ mkdir /எங்கே/www/போ

இப்போது, ​​ஒரு புதிய அப்பாச்சி தள கட்டமைப்பை உருவாக்கவும் /etc/apache2/sites-available/git.conf பின்வரும் கட்டளையுடன் Git க்கு:

$சூடோ நானோ /முதலியன/அப்பாச்சி 2/தளங்கள்-கிடைக்கும்/git.conf

இப்போது, ​​உள்ளமைவு கோப்பில் பின்வரும் வரிகளை உள்ளிடவும்:

<மெய்நிகர் ஹோஸ்ட்*:80>
ServerAdmin வெப்மாஸ்டர்@உள்ளூர் ஹோஸ்ட்

SetEnv GIT_PROJECT_ROOT ஐ அமைக்கவும்<வலுவான>எங்கே/www/போவலுவான>
SetEnv GIT_HTTP_EXPORT_ALL
ஸ்கிரிப்ட் அலியாஸ்/போ/ /usr/lib/git-core/git-http-backend/

மாற்றுப்பெயர்/போ /எங்கே/www/போ

<அடைவு/usr/lib/git-core>
விருப்பங்கள் +ExecCGI-பல காட்சிகள்+SymLinksIfOwnerMatch
அனுமதிக்கவும்
அனைத்தும் வழங்கப்பட வேண்டும்
அடைவு>

ஆவணம் ரூட்/எங்கே/www/html

<அடைவு/எங்கே/www>
விருப்பங்கள் குறியீடுகள் பின்பற்றவும் சிம்லிங்க்ஸ் பல பார்வை
அனுமதிக்கவும்
அனைத்தும் வழங்கப்பட வேண்டும்
அடைவு>


ErrorLog$ {APACHE_LOG_DIR}/error.log
LogLevel எச்சரிக்கிறது
கஸ்டம்லாக்$ {APACHE_LOG_DIR}/access.log இணைந்தது
மெய்நிகர் ஹோஸ்ட்>

இறுதி கட்டமைப்பு கோப்பு பின்வருமாறு தெரிகிறது. இப்போது, ​​உள்ளமைவு கோப்பை அழுத்துவதன் மூலம் சேமிக்கவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் .

இப்போது, ​​பின்வரும் கட்டளையுடன் இயல்புநிலை அப்பாச்சி தள கட்டமைப்பை முடக்கவும்:

$சூடோa2dissite 000-default.conf

இயல்புநிலை தள கட்டமைப்பு முடக்கப்பட வேண்டும்.

இப்போது, ​​பின்வரும் கட்டளையுடன் Git தள கட்டமைப்பை இயக்கவும்:

$சூடோa2ensite git.conf

Git தள கட்டமைப்பு இயக்கப்பட்டிருக்க வேண்டும்.

இப்போது, ​​பின்வரும் கட்டளையுடன் அப்பாச்சி HTTP சேவையகத்தை மறுதொடக்கம் செய்யுங்கள்:

$சூடோsystemctl மறுதொடக்கம் அப்பாச்சி 2

அப்பாச்சி HTTP சேவையகத்தில் அணுகக்கூடிய புதிய Git களஞ்சியத்தை பூட்ஸ்ட்ராப் செய்ய, நீங்கள் சில கட்டளைகளை இயக்க வேண்டும். ஒரு புதிய Git களஞ்சியத்தை உருவாக்க நீங்கள் மீண்டும் மீண்டும் அதே காரியத்தைச் செய்ய விரும்பவில்லை. எனவே, அந்த நோக்கத்திற்காக ஷெல் ஸ்கிரிப்டை எழுத முடிவு செய்தேன்.

முதலில், ஒரு புதிய ஷெல் ஸ்கிரிப்டை உருவாக்கவும் /usr/local/bin/git-create-repo.sh பின்வரும் கட்டளையுடன்:

$சூடோ நானோ /usr/உள்ளூர்/நான்/git-create-repo.sh

இப்போது, ​​ஷெல் ஸ்கிரிப்டில் பின்வரும் வரிகளின் குறியீடுகளை உள்ளிடவும்.

#!/பின்/பேஷ்

GIT_DIR='/var/www/git'
REPO_NAME=$ 1

mkdir -பி '$ {GIT_DIR}/$ {REPO_NAME}.போ'
குறுவட்டு '$ {GIT_DIR}/$ {REPO_NAME}.போ'

git init -வெறும் &> /தேவ்/ஏதுமில்லை
தொடுதல்git-deemon-export-ok
cpகொக்கிகள்/பிந்தைய புதுப்பிப்பு. மாதிரி கொக்கிகள்/பிந்தைய புதுப்பிப்பு
git confighttp.receivepackஉண்மை
git update-server-info
சோன் -ஆர்.எஃப்www-data: www-data'$ {GIT_DIR}/$ {REPO_NAME}.போ'
வெளியே எறிந்தார் 'கிட் களஞ்சியம்'$ {REPO_NAME}'இல் உருவாக்கப்பட்டது$ {GIT_DIR}/$ {REPO_NAME}.போ'

இந்த வரிகளை நீங்கள் தட்டச்சு செய்தவுடன், ஷெல் ஸ்கிரிப்ட் பின்வருமாறு இருக்க வேண்டும். இப்போது, ​​கோப்பை அழுத்துவதன் மூலம் சேமிக்கவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் .

இப்போது, ​​பின்வரும் கட்டளையுடன் ஷெல் ஸ்கிரிப்டுக்கு இயக்க அனுமதியைச் சேர்க்கவும்:

$சூடோ chmod+ x/usr/உள்ளூர்/நான்/git-create-repo.sh

இப்போது, ​​ஒரு புதிய Git களஞ்சியத்தை உருவாக்கவும் சோதனை Git திட்டத்தின் மூலத்தில் /var/www/git பயன்படுத்தி git-create-repo.sh ஷெல் ஸ்கிரிப்ட் பின்வருமாறு:

$சூடோgit-create-repo.shசோதனை

கிட் களஞ்சியம் சோதனை உருவாக்கப்பட வேண்டும்.

Git களஞ்சியத்தை அணுக, உங்களுக்கு Git HTTP சேவையகத்தின் IP முகவரி தேவை.

$ipக்கு

நீங்கள் பார்க்க முடியும் என, என் வழக்கில் ஐபி முகவரி 192.168.21.208 . இது உங்களுக்கு வித்தியாசமாக இருக்கும். இனிமேல் அதை உங்களுடன் மாற்றவும்.

இப்போது, ​​நீங்கள் குளோன் செய்யலாம் சோதனை கிட் களஞ்சியம் பின்வருமாறு:

$git குளோன்http://192.168.21.208/போ/test.go

கிட் களஞ்சியம் சோதனை குளோன் செய்யப்பட வேண்டும்.

இப்போது, ​​ஒரு புதிய உறுதிப்பாட்டை சேர்க்கலாம் சோதனை கிட் களஞ்சியம்.

$குறுவட்டுசோதனை/
$வெளியே எறிந்தார் 'வணக்கம் உலகம்' >வணக்கம்
$git சேர்.
$git உறுதி -எம் 'ஆரம்ப உறுதி'

இப்போது, ​​மாற்றங்களை பதிவேற்றவும் சோதனை சர்வரில் Git களஞ்சியம் பின்வருமாறு:

$git மிகுதிதோற்றம்

நீங்கள் பார்க்க முடியும் என, மாற்றங்கள் நன்றாக பதிவேற்றப்படுகின்றன.

பயனர் அங்கீகாரத்தை உள்ளமைத்தல்:

இந்த பிரிவில், சேவையகத்தில் உள்ள கிட் களஞ்சியங்களில் பயனர் அங்கீகாரத்தை எவ்வாறு கட்டமைப்பது என்பதை நான் உங்களுக்குக் காண்பிக்கப் போகிறேன்.

முதலில், திருத்தவும் git.conf தள கட்டமைப்பு கோப்பு பின்வருமாறு:

$சூடோ நானோ /முதலியன/அப்பாச்சி 2/தளங்கள்-கிடைக்கும்/git.conf

இப்போது, ​​கட்டமைப்பு கோப்பில் பின்வரும் பகுதியைச் சேர்க்கவும்.

<LocationMatch/போ/.*.போ>
AuthType அடிப்படை
பெயர் பெயர்'கிட் சரிபார்ப்பு'
AuthUserFile/முதலியன/அப்பாச்சி 2/git.passwd
சரியான பயனர் தேவை
LocationMatch>

இங்கே, /etc/apache2/git.passwd பயனர் தரவுத்தளக் கோப்பாகும்.

இறுதி கட்டமைப்பு கோப்பு பின்வருமாறு இருக்க வேண்டும். இப்போது, ​​கோப்பை அழுத்துவதன் மூலம் சேமிக்கவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் .

இப்போது, ​​ஒரு புதிய பயனர் தரவுத்தளக் கோப்பை உருவாக்கவும் /etc/apache2/git.passwd ஒரு புதிய பயனரைச் சேர்க்கவும் (சொல்லலாம் ஷோவன் ) தரவுத்தள கோப்பில் பின்வருமாறு:

$சூடோhtpasswd-சி /முதலியன/அப்பாச்சி 2/git.passwd ஷோவன்

இப்போது, ​​புதிய பயனருக்கான புதிய கடவுச்சொல்லை தட்டச்சு செய்து அழுத்தவும் .

அதே கடவுச்சொல்லை மீண்டும் தட்டச்சு செய்து அழுத்தவும் .

பயனர்-கடவுச்சொல் ஜோடி தரவுத்தளத்தில் சேர்க்கப்பட வேண்டும்.

இப்போது, ​​பின்வரும் கட்டளையுடன் அப்பாச்சி HTTP சேவையகத்தை மறுதொடக்கம் செய்யுங்கள்:

$சூடோsystemctl மறுதொடக்கம் அப்பாச்சி 2

இப்போது, ​​நீங்கள் குளோன் செய்ய முயற்சித்தால் சோதனை களஞ்சியம் மீண்டும், கீழே உள்ள ஸ்கிரீன்ஷாட்டில் நீங்கள் பார்க்க முடியும் என நீங்கள் அங்கீகரிக்கும்படி கேட்கப்படுவீர்கள்.

பயனர்பெயர் மற்றும் கடவுச்சொல்லைப் பயன்படுத்தி நீங்கள் அங்கீகரித்தவுடன், நீங்கள் Git களஞ்சியத்தை அணுக முடியும்.

நீங்கள் Git களஞ்சியத்திலிருந்து தள்ள அல்லது இழுக்க முயற்சிக்கும்போது கூட, பயனர்பெயர் மற்றும் கடவுச்சொல் கேட்கப்படும்.

நீங்கள் அங்கீகரித்தவுடன், புஷ்/புல் வேலை செய்யும்.

வெவ்வேறு Git களஞ்சியங்களுக்கு வெவ்வேறு பயனர் தரவுத்தளத்தையும் நீங்கள் அமைக்கலாம். ஒரே Git களஞ்சியத்தில் நிறைய பேர் ஒன்றாக வேலை செய்யும் திட்டங்களுக்கு இது பயனுள்ளதாக இருக்கும்.

Git களஞ்சிய வாரியான அங்கீகாரத்தை அமைக்க, முதலில், திருத்தவும் git.conf தள கட்டமைப்பு கோப்பு பின்வருமாறு:

$சூடோ நானோ /முதலியன/அப்பாச்சி 2/தளங்கள்-கிடைக்கும்/git.conf

இப்போது, ​​உள்ளமைவு கோப்பில் பின்வரும் வரிகளைச் சேர்க்கவும்.

<இடம்/போ/test.go>
AuthType அடிப்படை
பெயர் பெயர்'கிட் சரிபார்ப்பு'
AuthUserFile/முதலியன/அப்பாச்சி 2/git.test.passwd
சரியான பயனர் தேவை
இடம்>

<இடம்/போ/test2.git>
AuthType அடிப்படை
பெயர் பெயர்'கிட் சரிபார்ப்பு'
AuthUserFile/முதலியன/அப்பாச்சி 2/git.test2.passwd
சரியான பயனர் தேவை
இடம்>

ஒவ்வொரு Git களஞ்சியத்திற்கும் சோதனை மற்றும் சோதனை 2 , க்கு பிரிவு வரையறுக்கப்பட்டுள்ளது. ஒவ்வொரு Git களஞ்சியத்திற்கும் வெவ்வேறு பயனர் தரவுத்தள கோப்பு பயன்படுத்தப்படுகிறது.

இறுதி கட்டமைப்பு கோப்பு பின்வருமாறு இருக்க வேண்டும். இப்போது, ​​உள்ளமைவு கோப்பை அழுத்துவதன் மூலம் சேமிக்கவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் .

இப்போது, ​​நீங்கள் தேவையான பயனர் தரவுத்தளங்களை பின்வருமாறு உருவாக்கலாம்:

$சூடோhtpasswd-சி /முதலியன/அப்பாச்சி 2/git.test.passwd USERNAME
$சூடோhtpasswd-சி /முதலியன/அப்பாச்சி 2/git.test2.passwd USERNAME

நீங்கள் முடித்தவுடன், பின்வரும் கட்டளையுடன் அப்பாச்சி HTTP சேவையகத்தை மறுதொடக்கம் செய்யுங்கள்:

$சூடோsystemctl மறுதொடக்கம் அப்பாச்சி 2

இப்போது, ​​ஒவ்வொரு Git களஞ்சியமும் அதை அணுகக்கூடிய சொந்த பயனர்களைக் கொண்டிருக்க வேண்டும்.

எனவே, உபுண்டுவில் அப்பாச்சி எச்டிடிபி சேவையகத்துடன் நீங்கள் கிட் சேவையகத்தை எவ்வாறு கட்டமைப்பது. இந்தக் கட்டுரையைப் படித்ததற்கு நன்றி.