ఉబుంటులో HTTP తో Git సర్వర్‌ని కాన్ఫిగర్ చేయండి

Configure Git Server With Http Ubuntu



మీరు Git రిపోజిటరీలతో ప్రైవేట్‌గా పని చేయడం కోసం Git HTTP సర్వర్‌ని సెటప్ చేయాలనుకుంటే, ఈ కథనం మీ కోసం. ఈ వ్యాసంలో, అపాచీ HTTP సర్వర్‌తో ఉబుంటులో Git Smart HTTP సర్వర్‌ను ఎలా కాన్ఫిగర్ చేయాలో నేను మీకు చూపించబోతున్నాను. కాబట్టి, ప్రారంభిద్దాం.

Git మరియు Apache ప్యాకేజీలు ఉబుంటు యొక్క అధికారిక ప్యాకేజీ రిపోజిటరీలో అందుబాటులో ఉన్నాయి. కాబట్టి, మీరు దీన్ని APT ప్యాకేజీ మేనేజర్‌తో సులభంగా ఇన్‌స్టాల్ చేయవచ్చు.







ముందుగా, కింది ఆదేశంతో APT ప్యాకేజీ రిపోజిటరీ కాష్‌ను అప్‌డేట్ చేయండి:



$సుడోసముచితమైన నవీకరణ



APT ప్యాకేజీ రిపోజిటరీ కాష్ అప్‌డేట్ చేయాలి.





ఇప్పుడు, కింది ఆదేశంతో Git మరియు Apache ని ఇన్‌స్టాల్ చేయండి:



$సుడోసముచితమైనదిఇన్స్టాల్ వెళ్ళండిఅపాచీ 2 అపాచీ 2-యుటిల్స్

ఇప్పుడు, నొక్కండి మరియు ఆపై నొక్కండి సంస్థాపన నిర్ధారించడానికి.

Git మరియు Apache ఇన్‌స్టాల్ చేయాలి.

Git కోసం Apache HTTP సర్వర్‌ని కాన్ఫిగర్ చేస్తోంది:

ఇప్పుడు, అపాచీని ప్రారంభించండి mod_env , mod_cgi , mod_alias మరియు mod_rewrite కింది ఆదేశంతో మాడ్యూల్స్:

$సుడోa2enmodఎన్విcgiమారుపేరుతిరిగి వ్రాయండి

అవసరమైన అపాచీ మాడ్యూల్స్ ఎనేబుల్ చేయాలి.

ఇప్పుడు, కొత్త డైరెక్టరీని సృష్టించండి /var/www/git కింది ఆదేశంతో అన్ని Git రిపోజిటరీలను ఉంచడం కోసం:

$సుడో mkdir /ఎక్కడ/www/వెళ్ళండి

ఇప్పుడు, కొత్త అపాచీ సైట్ కాన్ఫిగరేషన్‌ను సృష్టించండి /etc/apache2/sites-available/git.conf కింది ఆదేశంతో Git కోసం:

$సుడో నానో /మొదలైనవి/అపాచీ 2/సైట్లు-అందుబాటులో ఉన్నాయి/git.conf

ఇప్పుడు, కాన్ఫిగరేషన్ ఫైల్‌లో కింది లైన్‌లను టైప్ చేయండి:

<వర్చువల్ హోస్ట్*:80>
సర్వర్ అడ్మిన్ వెబ్‌మాస్టర్@స్థానిక హోస్ట్

SetEnv GIT_PROJECT_ROOT<బలమైన> /ఎక్కడ/www/వెళ్ళండిబలమైన>
SetEnv GIT_HTTP_EXPORT_ALL
స్క్రిప్ట్ అలియాస్/వెళ్ళండి/ /usr/lib/గిట్-కోర్/git-http-బ్యాకెండ్/

అలియాస్/వెళ్ళండి /ఎక్కడ/www/వెళ్ళండి

<డైరెక్టరీ/usr/lib/గిట్-కోర్>
ఎంపికలు +ExecCGI-మల్టీ వ్యూస్+SymLinksIfOwnerMatch
ఓవర్‌రైడ్ ఏదీ అనుమతించవద్దు
మంజూరు చేసినవన్నీ అవసరం
డైరెక్టరీ>

డాక్యుమెంట్ రూట్/ఎక్కడ/www/html

<డైరెక్టరీ/ఎక్కడ/www>
ఐచ్ఛికాల సూచికలు సిమ్‌లింక్స్ మల్టీ వ్యూలను అనుసరిస్తాయి
ఓవర్‌రైడ్ ఏదీ అనుమతించవద్దు
మంజూరు చేసినవన్నీ అవసరం
డైరెక్టరీ>


ఎర్రర్‌లాగ్$ {APACHE_LOG_DIR}/లోపం. లాగ్
లాగ్‌లెవల్ హెచ్చరిస్తుంది
కస్టమ్‌లాగ్$ {APACHE_LOG_DIR}/access.log కలిపి
వర్చువల్ హోస్ట్>

తుది కాన్ఫిగరేషన్ ఫైల్ క్రింది విధంగా కనిపిస్తుంది. ఇప్పుడు, కాన్ఫిగరేషన్ ఫైల్‌ను నొక్కడం ద్వారా సేవ్ చేయండి + X తరువాత మరియు మరియు .

ఇప్పుడు, కింది ఆదేశంతో డిఫాల్ట్ అపాచీ సైట్ ఆకృతీకరణను నిలిపివేయండి:

$సుడోa2dissite 000-default.conf

డిఫాల్ట్ సైట్ కాన్ఫిగరేషన్ నిలిపివేయబడాలి.

ఇప్పుడు, కింది ఆదేశంతో Git సైట్ ఆకృతీకరణను ప్రారంభించండి:

$సుడోa2ensite git.conf

Git సైట్ కాన్ఫిగరేషన్ ఎనేబుల్ చేయాలి.

ఇప్పుడు, కింది ఆదేశంతో Apache HTTP సర్వర్‌ని పునartప్రారంభించండి:

$సుడోsystemctl apache2 ని పున restప్రారంభించండి

అపాచీ HTTP సర్వర్ ద్వారా యాక్సెస్ చేయగల కొత్త Git రిపోజిటరీని బూట్ స్ట్రాప్ చేయడానికి, మీరు కొన్ని ఆదేశాలను అమలు చేయాలి. కొత్త Git రిపోజిటరీని సృష్టించడం కోసం మీరు అదే పనిని పదేపదే చేయాలనుకోవడం లేదు. కాబట్టి, ఆ ప్రయోజనం కోసం షెల్ స్క్రిప్ట్ రాయాలని నిర్ణయించుకున్నాను.

ముందుగా, కొత్త షెల్ స్క్రిప్ట్‌ను సృష్టించండి /usr/local/bin/git-create-repo.sh కింది ఆదేశంతో:

$సుడో నానో /usr/స్థానిక/am/git-create-repo.sh

ఇప్పుడు, షెల్ స్క్రిప్ట్‌లో కింది పంక్తుల కోడ్‌లను టైప్ చేయండి.

#!/బిన్/బాష్

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

mkdir -పి '$ {GIT_DIR}/$ {REPO_NAME}.వెళ్ళండి'
CD '$ {GIT_DIR}/$ {REPO_NAME}.వెళ్ళండి'

git init -కేవలం &> /దేవ్/శూన్య
స్పర్శgit-deemon-export-ok
cpహుక్స్/post-update. నమూనా హుక్స్/పోస్ట్-అప్‌డేట్
git confighttp.receivepackనిజం
git నవీకరణ-సర్వర్-సమాచారం
చౌన్ -ఆర్ఎఫ్www- డేటా: www- డేటా'$ {GIT_DIR}/$ {REPO_NAME}.వెళ్ళండి'
బయటకు విసిరారు 'గిట్ రిపోజిటరీ'$ {REPO_NAME}'లో సృష్టించబడింది$ {GIT_DIR}/$ {REPO_NAME}.వెళ్ళండి'

మీరు ఈ పంక్తులను టైప్ చేసిన తర్వాత, షెల్ స్క్రిప్ట్ క్రింది విధంగా ఉండాలి. ఇప్పుడు, నొక్కడం ద్వారా ఫైల్‌ను సేవ్ చేయండి + X తరువాత మరియు మరియు .

ఇప్పుడు, కింది ఆదేశంతో షెల్ స్క్రిప్ట్‌కు అమలు అనుమతిని జోడించండి:

$సుడో chmod+ x/usr/స్థానిక/am/git-create-repo.sh

ఇప్పుడు, కొత్త Git రిపోజిటరీని సృష్టించండి పరీక్ష Git ప్రాజెక్ట్ రూట్‌లో /var/www/git ఉపయోగించి git-create-repo.sh షెల్ స్క్రిప్ట్ క్రింది విధంగా ఉంది:

$సుడోgit-create-repo.shపరీక్ష

ది గిట్ రిపోజిటరీ పరీక్ష సృష్టించాలి.

Git రిపోజిటరీని యాక్సెస్ చేయడానికి, మీకు Git HTTP సర్వర్ యొక్క IP చిరునామా అవసరం.

$ipకు

మీరు గమనిస్తే, నా విషయంలో IP చిరునామా 192.168.21.208 . ఇది మీకు భిన్నంగా ఉంటుంది. ఇప్పటి నుండి దాన్ని మీతో భర్తీ చేయండి.

ఇప్పుడు, మీరు క్లోన్ చేయవచ్చు పరీక్ష కింది విధంగా Git రిపోజిటరీ:

$git క్లోన్http://192.168.21.208/వెళ్ళండి/test.go

ది గిట్ రిపోజిటరీ పరీక్ష క్లోన్ చేయాలి.

ఇప్పుడు, ఒక కొత్త కమిట్‌ను చేర్చుదాం పరీక్ష Git రిపోజిటరీ.

$CDపరీక్ష/
$బయటకు విసిరారు 'హలో వరల్డ్' >హలో
$git జోడించండి.
$git కమిట్ -m 'ప్రారంభ నిబద్ధత'

ఇప్పుడు, మార్పులను అప్‌లోడ్ చేయండి పరీక్ష సర్వర్‌లో Git రిపోజిటరీ ఈ విధంగా ఉంది:

$git పుష్మూలం

మీరు గమనిస్తే, మార్పులు చక్కగా అప్‌లోడ్ చేయబడతాయి.

వినియోగదారు ప్రామాణీకరణను కాన్ఫిగర్ చేస్తోంది:

ఈ విభాగంలో, సర్వర్‌లోని Git రిపోజిటరీలలో యూజర్ ప్రామాణీకరణను ఎలా కాన్ఫిగర్ చేయాలో నేను మీకు చూపించబోతున్నాను.

మొదట, సవరించండి git.conf సైట్ కాన్ఫిగరేషన్ ఫైల్ క్రింది విధంగా ఉంది:

$సుడో నానో /మొదలైనవి/అపాచీ 2/సైట్లు-అందుబాటులో ఉన్నాయి/git.conf

ఇప్పుడు, కాన్ఫిగరేషన్ ఫైల్‌లో కింది విభాగాన్ని జోడించండి.

<లొకేషన్ మ్యాచ్/వెళ్ళండి/.*.వెళ్ళండి>
AuthType ప్రాథమిక
AuthName'Git ధృవీకరణ'
AuthUserFile/మొదలైనవి/అపాచీ 2/git.passwd
చెల్లుబాటు అయ్యే వినియోగదారు అవసరం
లొకేషన్ మ్యాచ్>

ఇక్కడ, /etc/apache2/git.passwd యూజర్ డేటాబేస్ ఫైల్.

తుది కాన్ఫిగరేషన్ ఫైల్ క్రింది విధంగా ఉండాలి. ఇప్పుడు, నొక్కడం ద్వారా ఫైల్‌ను సేవ్ చేయండి + X తరువాత మరియు మరియు .

ఇప్పుడు, కొత్త వినియోగదారు డేటాబేస్ ఫైల్‌ని సృష్టించండి /etc/apache2/git.passwd మరియు కొత్త వినియోగదారుని జోడించండి (చెప్పండి షోవన్ ) కింది విధంగా డేటాబేస్ ఫైల్‌కు:

$సుడోhtpasswd-సి /మొదలైనవి/అపాచీ 2/git.passwd షోవోన్

ఇప్పుడు, కొత్త వినియోగదారు కోసం కొత్త పాస్‌వర్డ్‌ను టైప్ చేసి, నొక్కండి .

అదే పాస్‌వర్డ్‌ని మళ్లీ టైప్ చేసి నొక్కండి .

వినియోగదారు-పాస్‌వర్డ్ జత డేటాబేస్‌కు జోడించబడాలి.

ఇప్పుడు, కింది ఆదేశంతో Apache HTTP సర్వర్‌ని పునartప్రారంభించండి:

$సుడోsystemctl apache2 ని పున restప్రారంభించండి

ఇప్పుడు, మీరు క్లోన్ చేయడానికి ప్రయత్నిస్తే పరీక్ష రిపోజిటరీ మళ్లీ, దిగువ స్క్రీన్‌షాట్‌లో మీరు చూడవచ్చు కాబట్టి మీరు ప్రామాణీకరించమని అడుగుతారు.

మీరు యూజర్ పేరు మరియు పాస్‌వర్డ్‌ని ఉపయోగించి ప్రామాణీకరించిన తర్వాత, మీరు Git రిపోజిటరీని యాక్సెస్ చేయగలరు.

మీరు Git రిపోజిటరీ నుండి నెట్టడానికి లేదా లాగడానికి ప్రయత్నించినప్పుడు కూడా, మీరు యూజర్ పేరు మరియు పాస్‌వర్డ్ కోసం కూడా అడుగుతారు.

మీరు ప్రమాణీకరించిన తర్వాత, పుష్/పుల్ పని చేస్తుంది.

విభిన్న Git రిపోజిటరీల కోసం మీరు వేర్వేరు యూజర్ డేటాబేస్‌ను కూడా సెట్ చేయవచ్చు. ఒకే Git రిపోజిటరీలో చాలా మంది వ్యక్తులు కలిసి పనిచేస్తున్న ప్రాజెక్ట్‌లకు ఇది ఉపయోగకరంగా ఉండవచ్చు.

Git రిపోజిటరీ వారీగా ధృవీకరణను సెట్ చేయడానికి, ముందుగా, సవరించండి git.conf సైట్ కాన్ఫిగరేషన్ ఫైల్ క్రింది విధంగా ఉంది:

$సుడో నానో /మొదలైనవి/అపాచీ 2/సైట్లు-అందుబాటులో ఉన్నాయి/git.conf

ఇప్పుడు, కాన్ఫిగరేషన్ ఫైల్‌లో కింది పంక్తులను జోడించండి.

<స్థానం/వెళ్ళండి/test.go>
AuthType ప్రాథమిక
AuthName'Git ధృవీకరణ'
AuthUserFile/మొదలైనవి/అపాచీ 2/git.test.passwd
చెల్లుబాటు అయ్యే వినియోగదారు అవసరం
స్థానం>

<స్థానం/వెళ్ళండి/test2.git>
AuthType ప్రాథమిక
AuthName'Git ధృవీకరణ'
AuthUserFile/మొదలైనవి/అపాచీ 2/git.test2.passwd
చెల్లుబాటు అయ్యే వినియోగదారు అవసరం
స్థానం>

ప్రతి Git రిపోజిటరీ కోసం పరీక్ష మరియు పరీక్ష 2 , కు విభాగం నిర్వచించబడింది. ప్రతి Git రిపోజిటరీకి వేరే యూజర్ డేటాబేస్ ఫైల్ ఉపయోగించబడుతుంది.

తుది కాన్ఫిగరేషన్ ఫైల్ క్రింది విధంగా ఉండాలి. ఇప్పుడు, కాన్ఫిగరేషన్ ఫైల్‌ను నొక్కడం ద్వారా సేవ్ చేయండి + X తరువాత మరియు మరియు .

ఇప్పుడు, మీరు ఈ క్రింది విధంగా అవసరమైన యూజర్ డేటాబేస్‌లను సృష్టించవచ్చు:

$సుడోhtpasswd-సి /మొదలైనవి/అపాచీ 2/git.test.passwd USERNAME
$సుడోhtpasswd-సి /మొదలైనవి/అపాచీ 2/git.test2.passwd USERNAME

మీరు పూర్తి చేసిన తర్వాత, కింది ఆదేశంతో Apache HTTP సర్వర్‌ని పునartప్రారంభించండి:

$సుడోsystemctl apache2 ని పున restప్రారంభించండి

ఇప్పుడు, ప్రతి Git రిపోజిటరీకి దాని స్వంత యూజర్‌లు ఉండాలి, దానిని యాక్సెస్ చేయవచ్చు.

కాబట్టి, మీరు ఉబుంటులో అపాచీ HTTP సర్వర్‌తో Git సర్వర్‌ను ఎలా కాన్ఫిగర్ చేస్తారు. ఈ కథనాన్ని చదివినందుకు ధన్యవాదాలు.