Giti ja Apache HTTP-serveri installimine:
Git ja Apache paketid on saadaval Ubuntu ametlikus paketihoidlas. Nii saate selle hõlpsalt installida APT paketihalduri abil.
Kõigepealt värskendage APT paketi hoidla vahemälu järgmise käsuga:
$ sudo apt värskendus
APT-paketi hoidla vahemälu tuleks uuendada.
Nüüd installige Git ja Apache järgmise käsuga:
$ sudo apt installige git apache2 apache2-utils
Nüüd vajutage Y ja seejärel vajutage
Git ja Apache tuleks installida.
Apache HTTP-serveri konfigureerimine Giti jaoks:
Nüüd lubage Apache mod_env, mod_cgi, mod_alias ja mod_rewrite moodulid järgmise käsuga:
$ sudo a2enmod env cgi alias kirjuta ümber
Nõutavad Apache moodulid peaksid olema lubatud.
Nüüd looge uus kataloog / var / www / git kõigi Giti hoidlate hoidmiseks järgmise käsuga:
$ sudo mkdir / var / www / git
Nüüd looge uus Apache saidi konfiguratsioon / etc / apache2 / sites-available / git.konf Giti jaoks järgmise käsuga:
$ sudo nano / etc / apache2 / sites-available / git.konf
Nüüd tippige konfiguratsioonifaili järgmised read:
ServerAdmini veebimeister @ localhost
SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias / git / / usr / lib / git-core / git-http-backend /
Alias / git / var / www / git
Valikud + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Puudub
Nõua kõik lubatud
DocumentRoot / var / www / html
Valikud Indeksid FollowSymLinks MultiViews
AllowOverride Puudub
Nõua kõik lubatud
ErrorLog $ APACHE_LOG_DIR / viga.logi
LogLevel hoiatab
CustomLog $ APACHE_LOG_DIR / juurdepääs.palk kokku
Lõplik konfiguratsioonifail näeb välja järgmine. Nüüd salvestage konfiguratsioonifail vajutades
Nüüd keelake Apache'i vaikekonfiguratsioon järgmise käsuga:
$ sudo a2dissite 000-vaikimisi.konf
Saidi vaikekonfiguratsioon tuleks keelata.
Nüüd lubage Giti saidi konfiguratsioon järgmise käsuga:
$ sudo a2ensite git.konf
Giti saidi konfiguratsioon peaks olema lubatud.
Nüüd taaskäivitage Apache HTTP-server järgmise käsuga:
$ sudo systemctl taaskäivitage apache2
Apache HTTP-serveri kaudu juurdepääsetava uue Giti hoidla käivitamiseks peate käivitama mõned käsud. Sa ei taha sama asja uuesti ja uuesti teha lihtsalt uue Giti hoidla loomiseks. Niisiis otsustasin selleks kirjutada shelliskripti.
Kõigepealt looge uus shelliskript / usr / local / bin / git-create-repo.sh järgmise käsuga:
$ sudo nano / usr / local / bin / git-create-repo.sh
Nüüd tippige shelliskripti järgmised koodiread.
#!/ bin / bashGIT_DIR = "/ var / www / git"
REPO_NAME = $ 1
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
CD "$ GIT_DIR / $ REPO_NAME.git "
git init - paljas &> / dev / null
puudutage git-daemon-export-ok
cp konksud / värskendusjärgne.proovikonksud / värskendusjärgne
git config http.Receivepack true
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
kaja "Giti hoidla" $ REPO_NAME ", mis on loodud asukohas $ GIT_DIR / $ REPO_NAME.git "
Kui olete nendele ridadele tippinud, peaks shelliskript välja nägema järgmine. Nüüd salvestage fail, vajutades
Nüüd lisage shelliskriptile käivitamisluba järgmise käsuga:
$ sudo chmod + x / usr / local / bin / git-create-repo.sh
Nüüd looge uus Giti hoidla test Giti projekti juur / var / www / git kasutades git-loo-repo.sh shelliskript järgmiselt:
$ sudo git-create-repo.sh test
Giti hoidla test tuleks luua.
Giti hoidlasse pääsemiseks vajate Giti HTTP-serveri IP-aadressi.
$ ip aNagu näete, on minu puhul IP-aadress 192.168.21.208. Teie jaoks on see erinev. Nüüdsest asendage see oma omaga.
Nüüd saate kloonida test Giti hoidla järgmiselt:
$ giti kloon http: // 192.168.21.208 / git / test.git
Giti hoidla test tuleks kloonida.
Lisame nüüd uue kohustuse test Giti hoidla.
$ cd test /$ echo "Tere maailm"> tere
$ git add .
$ git pühendus -m 'esialgne kohustus'
Nüüd laadige muudatused üles test Giti hoidla serveris järgmiselt:
$ git push päritoluNagu näete, laaditakse muudatused üles suurepäraselt.
Kasutaja autentimise seadistamine:
Selles jaotises näitan teile, kuidas konfigureerida kasutaja autentimist serveri Giti hoidlates.
Esmalt muutke git.konf saidi konfiguratsioonifail järgmiselt:
$ sudo nano / etc / apache2 / sites-available / git.konf
Nüüd lisage konfiguratsioonifaili järgmine jaotis.
AuthType Basic
AuthName "Git kinnitamine"
AuthUserFile / etc / apache2 / git.passwd
Nõua kehtivat kasutajat
Siin, / etc / apache2 / git.passwd on kasutaja andmebaasi fail.
Lõplik konfiguratsioonifail peaks välja nägema järgmine. Nüüd salvestage fail, vajutades
Nüüd looge uus kasutaja andmebaasi fail / etc / apache2 / git.passwd ja lisage uus kasutaja (oletame kühvel) andmebaasifaili järgmiselt:
$ sudo htpasswd -c / etc / apache2 / git.passwd shovon
Nüüd sisestage uue kasutaja jaoks uus parool ja vajutage
Sisestage sama parool uuesti ja vajutage
Kasutaja-parooli paar tuleks lisada andmebaasi.
Nüüd taaskäivitage Apache HTTP-server järgmise käsuga:
$ sudo systemctl taaskäivitage apache2
Kui proovite nüüd kloonida test uuesti, palutakse teil autentida, nagu näete alloleval ekraanipildil.
Kui olete kasutajanime ja parooli abil autentinud, pääsete juurde Giti hoidlasse.
Isegi kui proovite Giti hoidlast tõugata või sealt tõmmata, küsitakse teilt ka kasutajanime ja parooli.
Kui olete autentinud, töötab push / pull.
Samuti saate seada erinevatele Giti hoidlatele erineva kasutajate andmebaasi. See võib olla kasulik projektide jaoks, kus paljud inimesed töötavad koos ühes Giti hoidlas.
Giti hoidlas asuva autentimise määramiseks muutke kõigepealt git.konf saidi konfiguratsioonifail järgmiselt:
$ sudo nano / etc / apache2 / sites-available / git.konfNüüd lisage konfiguratsioonifaili järgmised read.
AuthType Basic
AuthName "Git kinnitamine"
AuthUserFile / etc / apache2 / git.test.passwd
Nõua kehtivat kasutajat
AuthType Basic
AuthName "Git kinnitamine"
AuthUserFile / etc / apache2 / git.test2.passwd
Nõua kehtivat kasutajat
Iga Giti hoidla jaoks test ja test2, a
Lõplik konfiguratsioonifail peaks välja nägema järgmine. Nüüd salvestage konfiguratsioonifail vajutades
Nüüd saate luua vajalikud kasutajate andmebaasid järgmiselt:
$ sudo htpasswd -c / etc / apache2 / git.test.parool USERNAME$ sudo htpasswd -c / etc / apache2 / git.test2.parool USERNAME
Kui olete lõpetanud, taaskäivitage Apache HTTP server järgmise käsuga:
$ sudo systemctl taaskäivitage apache2
Nüüd peaks igal Giti repositooriumil olema oma kasutajate komplekt, kellel on sellele juurdepääs.
Nii konfigureerite Git Serveri Ubuntu Apache HTTP-serveriga. Täname selle artikli lugemise eest.