当前位置: 首页 > Linux

centos下搭建git服务&根据git服务配置自动部署&遇到linux知识补充

时间:2023-04-06 04:41:37 Linux

installgitsurootyuminstall-ygitaddgituser鐢ㄤ簬绠$悊/浣跨敤git鏈嶅姟/warehouse鍒涘缓鐢ㄦ埛git#addnamedgituser,and榛樿浼氬垱寤轰竴涓悕涓篻it鐨勭敤鎴风粍useraddgit#鎴栬€呭垱寤轰竴涓敤鎴风粍#groupaddgroup-git#鍦ㄥ垱寤篻it鐢ㄦ埛鐨勫悓鏃跺皢git鎷夊叆group-git鐢ㄦ埛缁勶紝姝ゆ椂鍒涘缓涓€鈥嬧€嬩釜鐢ㄦ埛缁勫悕涓篻it#useradd-Ggroup-gitgit#浣跨敤passwd鍛戒护涓烘柊鍒涘缓鐨勭敤鎴疯缃瘑鐮併€傛病鏈夊瘑鐮佺殑鐢ㄦ埛涓嶈兘浣跨敤passwdgit銆傜幇鍦ㄧ敤鎴峰凡缁忓垱寤哄ソ浜嗭紝鍦?home涓嬩篃鍙互鐪嬪埌鏂板缓鐨刧it鏂囦欢鏂囦欢澶逛笓闂ㄤ緵git鐢ㄦ埛鐧诲綍鍒涘缓涓€涓猤it绌轰粨搴?杩涘叆git鐢ㄦ埛鐨勬枃浠跺すcd/home/git#鍒涘缓涓€涓牴鐩綍涓嬬殑blog.git鏂囦欢澶筸kdirblog.gitcdblog.git#鍒濆鍖栦竴涓┖浠撳簱gitinit--baregitinit--bare鏄湪褰撳墠鐩綍涓嬪垱寤轰竴涓8浠撳簱锛屼篃灏辨槸璇撮噷闈㈡病鏈夋枃浠跺伐浣滃尯锛屼互鍙奼it浠撳簱鐨勯殣钘忔枃浠剁洿鎺ユ斁鍦ㄥ綋鍓嶇洰褰曚笅銆傝鐩綍浠呯敤浜庡瓨鏀句粨搴撶殑鍘嗗彶鐗堟湰绛夋暟鎹€傛枃浠?鏂囦欢澶规搷浣滄潈闄愰厤缃鎴风閫氳繃remote/clone杩炴帴杩滅▼浠撳簱test銆俫itclonegit@ipAddress:blog.git杈撳叆git鐢ㄦ埛瀵嗙爜鍚庯紝鍙互姝e父鍏嬮殕锛屼絾鏄痯ush鐨勬椂鍊欏嚭鐜伴敊璇€俽emote:error:insufficientpermissionforaddinganobjecttorepositorydatabase./objects琛ㄧずgit/blog.git鏂囦欢澶规病鏈夊啓鍏ユ潈闄愩€傝繖鏃跺€欏洖鏈嶅姟鍣ㄨ繘鍏it鏂囦欢澶癸紝鏌ョ湅鏂囦欢锛堟枃浠跺す锛夎鎯咅煈噇s-l鍙戠幇blog鐨勫睘涓汇€傛彁浜ょ殑鏄痝it鐢ㄦ埛銆傛牴鎹埅鍥炬樉绀猴紝鏂囦欢鎷ユ湁鑰呬互澶栫殑鐢ㄦ埛锛堣繖閲屾槸root鐢ㄦ埛锛夋病鏈夊啓鏉冮檺銆傜劧鍚庢垜浠彲浠ヨ缃枃浠舵墍灞炵殑缁勪负git缁勶紙git鐢ㄦ埛鎵€灞炵殑缁勶級锛屽鍔犺缁勭殑鎿嶄綔鏉冮檺涓簑锛涙垨鑰呯洿鎺ュ皢鎵€鏈夎€呮洿鏀逛负git鐢ㄦ埛銆俢hgrp-Rgitblog.gitchmod-R770blog.git#or#chown-Rgitblog.git椤轰究鐪嬬湅鎴浘鏄剧ず鐨勪俊鎭煈噇s-l璇︾粏淇℃伅鏍?锛歞rwxr-xr-x鏂囦欢绗竴涓瓧绗浠h〃鏂囦欢绫诲瀷锛屾枃浠剁被鍨嬪垎涓轰互涓嬪嚑绫籨:鐩綍-:鏂囦欢l:閾炬帴s:濂楁帴瀛梡:鍛藉悕绠¢亾b:鍧楄澶嘽:瀛楃璁惧鍏朵綑9缁?涓瓧绗︿唬琛ㄦ枃浠舵墍鏈夎€?鏂囦欢鎵€灞炵粍/鏂囦欢鎵€鏈夎€呬互澶栫殑鐢ㄦ埛鐨勬搷浣滄潈闄愩€俽:readable-浠h〃杩欎釜鏉冮檺鐨勬暟瀛楁槸4w:writable-浠h〃杩欎釜鏉冮檺鐨勬暟瀛楁槸2x:Executable-浠h〃杩欎釜鏉冮檺鐨勬暟瀛楁槸1-:nosuch(read/write/execute)permission-浠h〃0鐨勬暟瀛楁槸鎵€鏈夎€呯粍鍏朵粬鐢ㄦ埛鏉冮檺rwxr-xr-x755rwxrwxrwx777鏇存敼鏂囦欢鏉冮檺chmod鏉冮檺number鏂囦欢鍚?鐩綍鍚嶆洿鏀规枃浠舵墍鍦ㄧ粍chgrp缁勫悕鏂囦欢鍚?鐩綍鍚嶆洿鏀规枃浠舵墍鏈夎€卌hown璐︽埛鍚嶆枃浠跺悕/directoryname鍚屾椂鏀瑰彉鏂囦欢鐨勫睘涓诲拰鎵€灞炵粍chown璐︽埛鍚?缁勫悕鏂囦欢鍚?鐩綍鍚嶅鏋滈渶瑕佹敼鍙樼洰褰曚笅鎵€鏈夋枃浠剁殑灞炰富/鎵€灞炵粍锛屽彲浠ヤ娇鐢?R鍙傛暟(閫掑綊閫掑綊寰幆锛夈€傜2鍒楋細7鎸囧悜鏂囦欢鐨勭‖閾炬帴鏁版垨鐩綍涓殑瀛愮洰褰曟暟銆備紶閫侀棬锛歭inux纭摼鎺ュ拰杞摼鎺ャ€傝瀛楁涓?琛ㄧず涓虹┖鐩綍锛岃〃绀鸿鐩綍涓嬫湁涓や釜瀛愮洰褰曪紝鍥犱负姣忎釜鐩綍閮芥湁涓€涓寚鍚戣嚜宸卞瓙鐩綍鐨勨€?鈥濆拰瀛愮洰褰曗€?.鈥濇寚鍚戝叾涓婄骇鐩綍锛屽叾浣?-7鍒梤ootroot119Aug518:33blog.git鏂囦欢灞炰富鏂囦欢缁勬枃浠跺ぇ灏忚鏂囦欢鏈€鍚庢洿鏂帮紙淇敼锛夋椂闂存枃浠秐ame绂佹git鐢ㄦ埛閫氳繃shell鐧诲綍銆俫it鐢ㄦ埛鍒涘缓濂戒箣鍚庯紝鍏跺疄鏄彲浠ュ湪瀹㈡埛绔€氳繃shell鐧诲綍Linux鐨勶紝杩欐牱灏卞彲浠ラ€氳繃bash鍛戒护瀵规湇鍔″櫒杩涜鎿嶄綔浜嗐€傛垜浠笉闇€瑕乬it鐢ㄦ埛鏈夎繖鏍风殑鏉冮檺銆傜劧鍚庝綘闇€瑕佷慨鏀筭it鐢ㄦ埛鐨勭櫥褰晄hell銆備互涓嬫憳鑷猤it瀹樼綉銆傞渶瑕佹敞鎰忕殑鏄紝鎵€鏈夛紙鎺堟潈鐨勶級寮€鍙戣€呯敤鎴烽兘鍙互浠ョ郴缁熺敤鎴穏it鐧诲綍鏈嶅姟鍣ㄨ幏鍙栨甯哥殑shell銆傚鏋滆闄愬埗杩欎釜锛岄渶瑕佷慨鏀筽asswd鏂囦欢涓殑shell鍊硷紙瀵瑰簲git鐢ㄦ埛锛夈€傚€熷姪涓€涓悕涓篻it-shell鐨勫彈闄恠hell宸ュ叿锛屾偍鍙互鏂逛究鍦板皢鐢ㄦ埛git鐨勬椿鍔ㄩ檺鍒朵负涓嶨it鐩稿叧鐨勬椿鍔ㄣ€傝宸ュ叿闅廏it鍖呬竴璧锋彁渚涖€傚鏋滃皢git-shell璁剧疆涓虹敤鎴穏it鐨勭櫥褰晄hell锛坙oginshell锛夛紝閭d箞鐢ㄦ埛git灏辨棤娉曡幏寰楀璇ユ湇鍔″櫒鐨勬甯竤hell璁块棶銆傝浣跨敤git-shell锛屾偍闇€瑕佺敤瀹冩浛鎹ash鎴朿sh锛屼娇鍏舵垚涓虹郴缁熺敤鎴风殑鐧诲綍shell銆備负浜嗘墽琛屼笂杩版搷浣滐紝棣栧厛鎮ㄥ繀椤荤‘淇漡it-shell瀛樺湪浜?etc/shells鏂囦欢涓€傦紙涓€鑸儏鍐典笅锛岃繖涓伐鍏锋槸Git鍖呰嚜甯︾殑锛夊湪root鐢ㄦ埛涓嬭緭鍏ワ細vim/etc/passwd淇敼git鐢ㄦ埛鐨勭櫥褰晄hellgit1001:1002::/home/git:/bin/bash->git1001:1002::/home/git:/bin/git-shell鐒跺悗鎴戜滑鍒囨崲鍒癵it鐢ㄦ埛锛屼細鎶ラ敊銆傚鏋済it鐢ㄦ埛鐧诲綍shell锛岀粓绔細鑷姩鍏抽棴fatal:Interactivegitshellisnotenabled銆傛彁绀猴細~/git-shell-commands搴旇瀛樺湪骞朵笖鍏锋湁璇诲彇鍜屾墽琛屾潈闄愩€傛剰鎬濆氨鏄湪home鐩綍涓嬪簲璇ユ湁涓€涓彨git-shell-commands鐨勬枃浠跺す锛実it鐢ㄦ埛闇€瑕佹湁璇诲彇鍜屾墽琛屾潈闄愩€傝鏂囦欢澶圭敤浜庡瓨鏀緂it鐢ㄦ埛鐧诲綍鍚庢墽琛岀殑鍛戒护锛坓it-shell鍛戒护锛塯it-shell-commands鎺ヤ笅鏉ユ垜浠娇鐢╮oot鐢ㄦ埛鍒涘缓涓€涓猤it-shell-commands鏂囦欢澶癸紝骞剁紪鍐欎竴涓彲鎵ц鑴氭湰testcd/home/gitmkdirgit-shell-commandscdgit-shell-commandstouchtestvimtesttest鍐呭濡備笅#!/bin/shecho'test'鐒跺悗鍒囨崲git鐢ㄦ埛鎴栬€呯敤git鐢ㄦ埛鐧诲綍锛屾病鏈夊紓甯革紝鏄剧ずgit>杩涘叆娴嬭瘯杩涜娴嬭瘯銆傝繖灏辨槸git-shell鐨勪氦浜掓搷浣溿€傚鏋滆绂佺敤浜や簰妯″紡杩愯锛岃鍙傝€凁煈囧鏋渵/git-shell-commands鐩綍瀛樺湪锛実itshell涔熷彲浠ヤ氦浜掕繍琛岋紙涓嶅甫鍙傛暟锛夈€傚鏋済it-shell-commands鐩綍涓瓨鍦ㄥ懡浠ゅ府鍔╋紝鍒欎細鍚戠敤鎴锋彁渚涘厑璁告搷浣滅殑姒傝堪銆傜劧鍚庡嚭鐜扳€済it>鈥濇彁绀虹锛岀敤鎴峰彲浠ュ湪git-shell-commands鐩綍涓緭鍏ヤ换浣曞懡浠ゆ垨閫€鍑轰互鍏抽棴杩炴帴銆傞€氬父锛屾妯″紡鐢ㄤ綔绠$悊鐣岄潰锛屼互鍏佽鐢ㄦ埛鍒楀嚭浠栦滑鏈夋潈璁块棶鐨勫瓨鍌ㄥ簱锛屽垱寤恒€佸垹闄ゆ垨閲嶅懡鍚嶅瓨鍌ㄥ簱锛屾垨鏇存敼瀛樺偍搴撴弿杩板拰鏉冮檺銆傚鏋滃瓨鍦╪o-interactive-login鍛戒护锛屽垯杩愯瀹冨苟缁堟浜や簰寮弒hell銆俿sh閫氳繃ssh鍗忚瀹炵幇鍏挜鐧诲綍閫氳繃password瀵嗙爜鐧诲綍鏈嶅姟鍣紝涓昏杩囩▼鏄細1銆佸鎴风杩炴帴鍒版湇鍔″櫒鍚庯紝鏈嶅姟鍣ㄥ皢鑷繁鐨勫叕閽ュ彂閫佺粰瀹㈡埛绔?銆佸鎴风杈撳叆鏈嶅姟鍣ㄥ瘑鐮侊紝鐢ㄥ叕閽ュ姞瀵嗗悗锛屼紶缁欐湇鍔″櫒銆?銆佹湇鍔″櫒鏍规嵁鑷繁鐨勭閽ヨВ瀵嗙櫥褰曞瘑鐮併€傚鏋滄纭紝鍒欒瀹㈡埛绔娇鐢ㄥ叕閽ョ櫥褰曘€傚叕閽ョ櫥褰曟槸涓轰簡瑙e喅姣忔鐧诲綍鏈嶅姟鍣ㄩ兘瑕佽緭鍏ュ瘑鐮佺殑闂銆俁SA鍔犲瘑鏂规锛屼富瑕佽繃绋嬪寘鎷細1.瀹㈡埛绔敓鎴怰SA鍏挜鍜岀閽?.瀹㈡埛绔皢鑷繁鐨勫叕閽ュ瓨鍌ㄥ埌鏈嶅姟鍣?.瀹㈡埛绔姹傝繛鎺ユ湇鍔″櫒锛屾湇鍔″櫒闅忔満鍙戦€佷竴涓猻tringtotheclient41.瀹㈡埛绔牴鎹嚜宸辩殑绉侀挜瀵归殢鏈哄瓧绗︿覆杩涜鍔犲瘑锛岀劧鍚庡彂閫佺粰鏈嶅姟鍣ㄣ€?.鏈嶅姟鍣ㄦ敹鍒板姞瀵嗗悗鐨勫瓧绗︿覆锛岀敤鍏挜瑙e瘑銆傚鏋滄纭紝鍒欏厑璁稿鎴风鐧诲綍锛屽惁鍒欐嫆缁濄€傝繖鏍峰氨涓嶉渶瑕佷娇鐢ㄥ瘑鐮佷簡銆傛垜浠互鍓嶉兘鏄湪瀹㈡埛绔€氳繃password瀵嗙爜鐧诲綍鏈嶅姟鍣ㄧ殑銆傛帴涓嬫潵璇翠竴涓嬪叕閽ョ櫥褰曟柟寮忋€備笉鐒舵瘡娆¢兘瑕佽緭鍏ュ瘑鐮乸assword锛屼細寰堥夯鐑︺€傚鎴风锛堜互windows涓轰緥锛夌敓鎴愬叕閽ュ拰绉侀挜骞跺皢鍏挜涓婁紶鍒版湇鍔″櫒1锛岀敓鎴愬叕閽ュ拰绉侀挜ssh-keygen-trsa-C"workingplace"涓€璺洖杞﹀嵆鍙湪涓荤洰褰曚腑鐢熸垚瀹冦€俿sh鏂囦欢澶癸紝閲岄潰鐨刬d_rsa.pub灏辨槸瑕佷笂浼犲埌鏈嶅姟鍣ㄧ殑鍏挜銆?.涓婁紶鍏挜鍒版湇鍔″櫒浣跨敤scp灏嗗叕閽ヤ笂浼犲埌鏈嶅姟鍣╯cpid_rsa.pubusername@server.com:~/sshPub/workPub瀹屾垚瀹㈡埛绔殑鎿嶄綔銆傛湇鍔$鐢熸垚鍏挜鍜岀閽ワ紝灏嗗鎴风鐨勫叕閽ュ姞鍏ユ巿鏉?authorized_keys)1.鐢熸垚鍏閽?浠it鐢ㄦ埛鎵ц鐢熸垚sudo-ugitssh-keygen-trsa-C"hans-server"2.灏嗗鎴风鐨勫叕閽ュ姞鍏uthorized_keys#灏嗗乏杈规枃浠跺唴瀹瑰啓鍏ュ彸杈规枃浠讹紝浠庡彸杈规枃浠舵渶鍚庝竴琛屽紑濮嬪姞鍏ワ紝濡傛灉鍙宠竟鏂囦欢涓嶅瓨鍦紝鍏堝垱寤篶at/home/涓婁紶鐢ㄦ埛鍚?sshPub/workPub>>/home/git/.ssh/authorized_keys3.瀹屾垚銆傚湪瀹㈡埛绔祴璇曞疄鐜板叕閽ュ厤瀵嗙爜鐧诲綍銆傚熀浜巊it鏈嶅姟閰嶇疆鐨勮嚜鍔ㄩ儴缃蹭娇鐢╣it鏈嶅姟绔挬瀛恜ost-receivepost-receive閽╁瓙鍦ㄥ鎴风鏁翠釜鎺ㄩ€佽繃绋嬪畬鎴愬悗杩愯锛屽彲鐢ㄤ簬鏇存柊鍏朵粬绯荤粺鏈嶅姟鎴栭€氱煡鐢ㄦ埛銆傛敞鎰忥細鎴戠殑git鏈嶅姟鍣ㄦ槸闇€瑕侀儴缃茬殑鐩爣鏈嶅姟鍣ㄣ€傚厛鍦ㄦ湇鍔″櫒涓婃媺鍙栭渶瑕佺殑git浠撳簱cd/home/git/repo/bloggitclone/home/git/blog.git鐒跺悗淇敼浠撳簱瀵瑰簲鐨刧it鏈嶅姟鐨刪ookcd/home/git/blog.git/hooksvim鎺ユ敹鍚庢枃浠跺唴瀹瑰涓嬸煈嘽d/home/git/repo/blogunsetGIT_DIRprintf"\033[40;36m寮€濮嬫媺鍙?..\033[0m\n"gitpullprintf"\033[40;36m寮€濮嬬敓鎴?..\033[0m\n"hexocleanhexogprintf"\033[40;36m寮€濮嬮儴缃?..\033[0m\n"rm-rf/home/git/server/blog/publicmvpublic/home/git/server/blogprintf"\033[40;32mAlldone!\033[0m\n"璁╂湇鍔″櫒鐨勪粨搴撴媺鍙栧拰鏇存柊锛岀劧鍚庡仛涓€绯诲垪鐨勯儴缃叉椿鍔ㄣ€傝繖閲屾垜浣跨敤hexo鐢熸垚闈欐€佺綉绔欑劧鍚庨儴缃层€?/p>