Инсталиране на Git и Apache HTTP сървър:
Пакетите Git и Apache се предлагат в официалното хранилище на пакети на Ubuntu. Така че можете лесно да го инсталирате с APT мениджъра на пакети.
Първо актуализирайте кеша на хранилището на APT пакета със следната команда:
$ sudo apt актуализация
Кешът на хранилището на APT пакети трябва да бъде актуализиран.
Сега инсталирайте Git и Apache със следната команда:
$ sudo apt install git apache2 apache2-utils
Сега натиснете Y и след това натиснете
Git и Apache трябва да бъдат инсталирани.
Конфигуриране на Apache HTTP сървър за Git:
Сега активирайте Apache mod_env, mod_cgi, mod_alias и mod_rewrite модули със следната команда:
$ sudo a2enmod env cgi псевдоним пренаписване
Необходимите модули Apache трябва да бъдат активирани.
Сега създайте нова директория / var / www / git за запазване на всички хранилища на Git със следната команда:
$ sudo mkdir / var / www / git
Сега създайте нова конфигурация на сайта на Apache / etc / apache2 / sites-available / git.конф за Git със следната команда:
$ sudo nano / etc / apache2 / sites-available / git.конф
Сега въведете следните редове в конфигурационния файл:
ServerAdmin уеб администратор @ localhost
SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias / git / / usr / lib / git-core / git-http-backend /
Псевдоним / git / var / www / git
Опции + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Няма
Изискване на всички предоставени
DocumentRoot / var / www / html
Опции Индекси FollowSymLinks MultiViews
AllowOverride Няма
Изискване на всички предоставени
ErrorLog $ APACHE_LOG_DIR / грешка.дневник
LogLevel предупреждава
CustomLog $ APACHE_LOG_DIR / достъп.дневник комбиниран
Окончателният конфигурационен файл изглежда както следва. Сега запазете конфигурационния файл, като натиснете
Сега деактивирайте конфигурацията на сайта по подразбиране на Apache със следната команда:
$ sudo a2dissite 000-по подразбиране.конф
Конфигурацията на сайта по подразбиране трябва да бъде деактивирана.
Сега активирайте конфигурацията на сайта на Git със следната команда:
$ sudo a2ensite git.конф
Конфигурацията на сайта на Git трябва да бъде активирана.
Сега рестартирайте Apache HTTP сървъра със следната команда:
$ sudo systemctl рестартирайте apache2
За да стартирате ново хранилище на Git, достъпно през Apache HTTP сървъра, ще трябва да изпълните няколко команди. Не искате да правите едно и също нещо отново и отново, само за да създадете ново хранилище на Git. И така, реших да напиша скрипт за тази цел.
Първо, създайте нов скрипт на черупката / usr / local / bin / git-create-repo.ш със следната команда:
$ sudo nano / usr / local / bin / git-create-repo.ш
Сега въведете следните редове кодове в скрипта на черупката.
#!/ bin / bashGIT_DIR = "/ var / www / git"
REPO_NAME = $ 1
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
git init --bare &> / dev / null
докоснете git-daemon-export-ok
cp куки / след актуализация.примерни куки / след актуализация
git config http.getpack true
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
echo "Git хранилище '$ REPO_NAME' създадено в $ GIT_DIR / $ REPO_NAME.git "
След като въведете тези редове, скриптът на черупката трябва да изглежда както следва. Сега запазете файла, като натиснете
Сега добавете разрешение за изпълнение към скрипта на черупката със следната команда:
$ sudo chmod + x / usr / local / bin / git-create-repo.ш
Сега създайте ново хранилище на Git тест в корен на проекта Git / var / www / git използвайки git-create-repo.ш скрипт на черупката, както следва:
$ sudo git-create-repo.ш тест
Хранилището на Git тест трябва да се създаде.
За достъп до хранилището на Git ви е необходим IP адресът на Git HTTP сървъра.
$ ip aКакто можете да видите, IP адресът в моя случай е 192.168.21.208. За вас ще е различно. Заменете го с вашия отсега нататък.
Сега можете да клонирате тест Git хранилище, както следва:
$ git clone http: // 192.168.21.208 / git / тест.git
Хранилището на Git тест трябва да се клонира.
Сега, нека добавим нов ангажимент към тест Git хранилище.
$ cd тест /$ echo "Hello World"> здравей
$ git add .
$ git commit -m 'първоначален ангажимент'
Сега качете промените в тест Git хранилище на сървъра, както следва:
$ git push originКакто можете да видите, промените се качват добре.
Конфигуриране на удостоверяване на потребителя:
В този раздел ще ви покажа как да конфигурирате удостоверяване на потребителя в хранилищата Git на сървъра.
Първо редактирайте git.конф файл за конфигурация на сайта, както следва:
$ sudo nano / etc / apache2 / sites-available / git.конф
Сега добавете следния раздел в конфигурационния файл.
AuthType Basic
AuthName "Git Verification"
AuthUserFile / etc / apache2 / git.passwd
Изисквайте валиден потребител
Тук, / etc / apache2 / git.passwd е файлът на потребителската база данни.
Окончателният конфигурационен файл трябва да изглежда както следва. Сега запазете файла, като натиснете
Сега създайте нов файл с потребителска база данни / etc / apache2 / git.passwd и добавете нов потребител (да речем шовон) към файла на базата данни, както следва:
$ sudo htpasswd -c / etc / apache2 / git.passwd shovon
Сега въведете нова парола за новия потребител и натиснете
Повторно въведете същата парола и натиснете
Двойката потребител-парола трябва да бъде добавена към базата данни.
Сега рестартирайте Apache HTTP сървъра със следната команда:
$ sudo systemctl рестартирайте apache2
Сега, ако се опитате да клонирате тест хранилище отново, ще бъдете помолени да се удостоверите, както можете да видите на екранната снимка по-долу.
След като се удостоверите с помощта на потребителското име и паролата, ще имате достъп до хранилището на Git.
Дори когато се опитате да натиснете или издърпате от хранилището на Git, ще бъдете помолени да въведете потребителското име и паролата.
След като удостоверите, push / pull ще работи.
Можете също така да зададете различна потребителска база данни за различни хранилища на Git. Това може да е полезно за проекти, при които много хора работят заедно в едно и също хранилище на Git.
За да зададете удостоверяване на хранилището в Git, първо редактирайте git.конф файл за конфигурация на сайта, както следва:
$ sudo nano / etc / apache2 / sites-available / git.конфСега добавете следните редове в конфигурационния файл.
AuthType Basic
AuthName "Git Verification"
AuthUserFile / etc / apache2 / git.тест.passwd
Изисквайте валиден потребител
AuthType Basic
AuthName "Git Verification"
AuthUserFile / etc / apache2 / git.тест2.passwd
Изисквайте валиден потребител
За всяко хранилище на Git тест и тест2, а
Окончателният конфигурационен файл трябва да изглежда както следва. Сега запазете конфигурационния файл, като натиснете
Сега можете да създадете необходимите потребителски бази данни, както следва:
$ sudo htpasswd -c / etc / apache2 / git.тест.passwd ИМЕ НА ПОТРЕБИТЕЛЯ$ sudo htpasswd -c / etc / apache2 / git.тест2.passwd ИМЕ НА ПОТРЕБИТЕЛЯ
След като приключите, рестартирайте Apache HTTP сървъра със следната команда:
$ sudo systemctl рестартирайте apache2
Сега всяко хранилище на Git трябва да има собствен набор от потребители, които имат достъп до него.
И така, вие конфигурирате Git Server с Apache HTTP Server на Ubuntu. Благодаря, че прочетохте тази статия.