Як встановити HTTP Git Server на Ubuntu 24.04 LTS Ubuntu 22.04
У цьому посібнику ми покажемо вам, як встановити HTTP Git Server на Ubuntu 24.04 LTS.Для тих, хто не знав, HTTP Git Server — це проект з відкритим вихідним кодом, який використовує веб-сервер Nginx для обслуговування репозиторіїв Git через вашу локальну мережу (LAN).HTTP Git Server на диво простий у налаштуванні та керуванні.
У цій статті передбачається, що у вас є хоча б базові знання про Linux, ви знаєте, як використовувати оболонку, і найголовніше, ви розміщуєте свій сайт на власному VPS.Установка досить проста і передбачає, що ви працюєте з обліковим записом root, в іншому випадку вам може знадобитися додати ‘sudo’ до команд, щоб отримати привілеї root.Я покажу вам покрокову установку HTTP Git Server на Ubuntu 24.04 (Focal Fossa).Ви можете дотримуватися інструкцій для Ubuntu 22.04, 120.04 та будь-якого іншого дистрибутива на основі Debian, такого як Linux Mint.
Встановіть HTTP Git Server на Ubuntu 24.04 LTS Focal Fossa
Крок 1. Спочатку переконайтеся, що всі ваші системні пакети оновлені, виконавши наступні аapt команди в терміналі.
sudo apt update sudo apt upgrade sudo apt install fcgiwrap apache2-utils unzip
Крок 2. Встановлення Nginx на Ubuntu 24.04.
Nginx доступний у стандартних репозиторіях Ubuntu.Щоб встановити його, виконайте таку команду:
sudo apt install nginx
Після завершення інсталяції запустіть команди, щоб Nginx автоматично запускався при запуску вашого сервера:
sudo systemctl stop nginx sudo systemctl start nginx sudo systemctl enable nginx
Настроювання брандмауера.
Тим часом, необхідно переконатися, що ваш брандмауер налаштований на дозвіл трафіку через порти HTTP (80) та HTTPS (443).Nginx реєструє себе як службу за допомогою ufw:
sudo ufw allow in "Nginx Full"
Крок 3. Встановлення Git на Ubuntu 24.04.
Виконайте наступну команду нижче, щоб встановити Git у вашій системі Ubuntu:
sudo apt install git
Підтвердьте встановлення Git:
git --version
Крок 4. Створіть репозиторій Git.
Тепер ми створюємо каталог для зберігання репозиторію Git:
mkdir /var/www/html/infoit-repo
Потім змініть каталог на і створіть інший каталог для користувачів:infoit-repo
cd /var/www/html/myrepo mkdir user.git
Тепер ініціалізуємо репозиторій командою:
cd user.git git --bare init
Потім оновіть Git Server за допомогою команди:
git update-server-info
Дайте репозиторію правильне право власності за допомогою команди:
chown -R www-data:www-data /var/www/html/infoit-repo chmod -R 755 /var/www/html/infoit-repo
Після цього створіть користувача з ім’ям user та встановіть пароль для обмеження доступу до репозиторію git з використанням базової автентифікації HTTP:
htpasswd -c /var/www/html/infoit-repo/htpasswd user
Крок 5. Налаштуйте Nginx для обслуговування репозиторію Git.
Тепер ми створюємо файл конфігурації віртуального хоста Nginx для обслуговування репозиторію Git:
nano /etc/nginx/conf.d/git.conf
Додайте наступні рядки:
server { listen 80; root /var/www/html/infoit-repo; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name git.your-domain.com; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location ~ (/.*) { client_max_body_size 0; auth_basic "Git Login"; auth_basic_user_file "/var/www/html/infoit-repo/htpasswd"; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT /var/www/html/infoit-repo; fastcgi_param REMOTE_USER $remote_user; fastcgi_param PATH_INFO $1; fastcgi_pass unix:/var/run/fcgiwrap.socket; } }
Збережіть і закрийте файл, а потім перезапустіть службу Nginx, щоб застосувати зміни.
nginx -t sudo systemctl restart nginx
Крок 6. Підключіться до репозиторію Git із клієнта.
Спочатку створіть каталог для вашого проекту за допомогою наступної команди:
mkdir my-project
Потім перейдіть в каталог вашого проекту та ініціалізуйте Git за допомогою команди:
cd my-project git init
Ми рекомендуємо налаштувати ваш Git для фіксації електронної пошти та імені користувача.Для цього виконайте такі команди:
git config --global user.email "user@your-domain.com" git config --global user.name "user"
Після цього додайте свій віддалений репозиторій Git за допомогою наступної команди:
git remote add origin http://user@git.your-domain.com/user.git
Потім створіть каталог з ім’ям dev і додайте до нього файл:
mkdir dev echo "This is my first my application" > dev/file
Тепер ми можемо додати ці файли до git за допомогою команди:
git add .
Зафіксуйте зміни командою:
git commit -a -m "Add files and directories"
Потім надішліть всі наші новостворені каталоги та файли на сервер за допомогою команди:
git push origin master
После подключения вы получите следующий вывод:
Counting objects: 8, done. Writing objects: 100% (4/4), 512 bytes | 346.00 KiB/s, done. Total 8 (delta 0), reused 0 (delta 0) To http://git.your-domain.com/user.git * [new branch] master -> master
Ви також можете завантажити свій репозиторій безпосередньо з сервера Git, використовуючи наступну команду:
git clone http://user@git.your-domain.com/user.git
Вітаємо!Ви успішно встановили HTTP Git Server.Дякуємо за використання цього посібника з встановлення HTTP Git Server у вашій системі Ubuntu 24.04 LTS Focal Fossa.Для отримання додаткової допомоги або корисної інформації ми рекомендуємо вам відвідати офіційний сайт Git.