Linuxoid.pro

Сообщество разработчиков программного обеспечения и IT-специалистов

Как установить и настроить Gogs Git Service в Ubuntu Linux

Gogs — это компактная и удобная автономная служба Git, которую вы можете установить на свой сервер и дистрибутив Ubuntu Linux, чтобы пользоваться возможностями Git. Сервисы Gogs легкие, но мощные; вы можете установить сервисы Gogs на Docker, облачный сервер и даже в систему Raspberry Pi. Даже старые ПК и аппаратные системы могут обрабатывать сервисы Gogs.

Gogs написан на языке го. Простая панель управления, поддержка пользовательского домена, безопасность HTTP и поддержка нескольких баз данных службы Gogs Git предоставят вам удобные настройки для использования службы Git в вашей системе Ubuntu.

Служба Gogs Git в Ubuntu Linux

Установка Gogs Git Service в Ubuntu Linux — не сложная процедура, но и не быстрый процесс. Вы можете установить его на свой компьютер и использовать сервисы Gogs через домен или локальный сервер. Чтобы получить сервисы Gogs на вашем компьютере с Ubuntu, вам необходимо установить ядро ​​базы данных, HTTP-сервер и сервисы Git в вашей системе.

В этом посте вы узнаете, как установить, настроить и начать работу со службами Gogs в системе Ubuntu Linux. Если у вас есть сервер Linux, в основном сервер Ubuntu, работающий на вашем компьютере, установка Gogs может быть намного проще.

Шаг 1. Установите базу данных в Ubuntu Linux

Поскольку сервису Gogs требуется ядро ​​базы данных, вы можете выбрать свой любимый движок БД среди баз данных MySQL, PostgreSQL, TiDB и SQLite3. Здесь я установлю PostgreSQL в свою систему Ubuntu Linux. Вы можете запустить следующую командную строку, указанную ниже, чтобы установить PostgreSQL в вашей системе Ubuntu с привилегиями root.

sudo apt install -y postgresql postgresql-client libpq-dev

После установки PostgreSQL в вашей системе вы можете запустить следующие команды управления системой, чтобы запустить и включить базу данных в вашей системе Ubuntu. Если вы не можете найти пароль по умолчанию для вашего PostgreSQL или какие-либо проблемы, вы можете просмотреть этот пост, чтобы узнать, как настроить и начать работу с PostgreSQL в Linux.

systemctl start postgresql
systemctl enable postgresql

Теперь нам нужно создать базу данных для службы Gogs в нашей системе Ubuntu. Теперь вы можете выполнить следующие команды, чтобы войти в свой механизм БД.

su - postgres 
psql

После входа в систему создайте пользователя и установите новый пароль для базы данных. Я должен отметить, что вы должны записать имя базы данных и пароль; эта информация понадобится вам позже, чтобы войти в личный кабинет Gogs.

CREATE USER git CREATEDB;
\password git

Если ваш вход в систему прошел успешно, теперь вы можете запустить следующие команды SQL в оболочке терминала, чтобы создать базу данных для служб Gogs git в вашей системе Ubuntu.

CREATE DATABASE gogs_production OWNER git;

Шаг 2. Установите Gogs в Ubuntu Linux

На этом этапе мы увидим процесс установки службы Gogs в нашей Ubuntu Linux. Теперь мы загрузим сжатую версию службы Gogs в нашу файловую систему Linux. Вам необходимо установить службу Wget в вашей системе Ubuntu, чтобы получить файл Gogs. Если у вас уже установлен wget, вы можете просто запустить экспорт, и командная строка wget приведена ниже.

sudo apt install wget 
export VER = 0.11.86 
wget https://github.com/gogs/gogs/releases/download/v${VER}/linux_amd64.tar.gz
После завершения загрузки вы можете запустить следующую команду tar в терминальной оболочке Ubuntu, чтобы извлечь сжатый файл.

tar xvf linux_amd64.tar.gz

Шаг 3. Настройте службу GIT Git в Ubuntu Linux

После успешной установки службы Gogs git в нашей системе Ubuntu мы теперь установим службу Git в нашей системе. Если на вашем компьютере уже установлен Git, вам не нужно устанавливать его снова.

sudo apt install git

Теперь добавьте нового пользователя в службу Git и назначьте новый пароль. Предоставьте всю необходимую информацию и завершите процесс создания нового пользователя Git в вашей системе Ubuntu.

$ sudo adduser git

После создания нового пользователя Git мы создадим новый каталог и предоставим ему root-доступ. Затем мы скопируем файлы Gogs в каталог / etc / systemd / system. Выполните следующую команду make directory и команды смены владельца, указанные ниже, в оболочке вашего терминала с правами root.

sudo mkdir / var / log / gogs 
sudo chown -R git: git / var / log / gogs /

Теперь запустите команду copy (cp) на своем терминале, чтобы скопировать файл Gogs в каталог / etc / systemd / system.

sudo cp gogs/scripts/systemd/gogs.service /etc/systemd/system

Теперь мы отредактируем и настроим параметры конфигурации службы Gogs в нашей системе Ubuntu. Вы можете выполнить следующую команду, указанную ниже, чтобы отредактировать сценарий конфигурации Gogs. Здесь я использую редактор нано-скриптов; вы также можете использовать любой другой редактор сценариев.

sudo nano /etc/systemd/system/gogs.service

Теперь скопируйте следующий сценарий, приведенный ниже, и замените им сценарий по умолчанию. При необходимости вы можете внести изменения в сценарий.

[Unit]
Description=Gogs self-hosted Git service
After=syslog.target
After=network.target
After=mysql.service

[Service]
# Измените эти два значения и раскомментируйте их, если у вас
# репозиторий с большим количеством файлов и вы получили ошибку HTTP 500,
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git
ExecStart=/home/git/gogs web
Restart=always
Environment=USER=git HOME=/home/git

# Некоторые дистрибутивы могут не поддерживать эти директивы усиления. Если вы не можете запустить службу из-за
# неизвестной опции, закомментируйте те, которые не поддерживаются вашей версией systemd.

ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Я должен упомянуть, что сервисы Gogs используют сетевой порт 3000; если порт 3000 уже используется другой службой на вашем компьютере, вы можете назначить любой другой сетевой порт для службы Gogs. Чтобы назначить новый порт, вы можете найти следующую строку и заменить порт.

ExecStart=/home/git/gogs web -port 3001

Теперь мы скопируем каталог Gogs в каталог home / git и изменим владельца. Запустите следующие командные строки в оболочке терминала Ubuntu, чтобы внести изменения.

sudo rsync -avz gogs/* /home/git/
sudo chown -R git:git /home/git/

Шаг 4. Проверьте статус Gogs в Ubuntu Linux

После установки и настройки базы данных и службы Gogs в Ubuntu Linux теперь вы можете выполнить следующие команды управления системой, приведенные ниже, чтобы перезагрузить, запустить и включить службы Gogs в вашей системе Ubuntu.

sudo systemctl daemon-reload 
sudo systemctl start gogs 
sudo systemctl enable gogs

Наконец, вы можете запустить следующую команду управления системой, чтобы проверить статус служб Gogs в вашем Ubuntu Linux. Если все пойдет правильно, вы увидите статус активации, основной PID, задачи и использование памяти для службы Gogs в оболочке вашего терминала.

sudo systemctl status gogs

Теперь вы можете переключиться на пользователя git от текущего пользователя и просмотреть руководство Gogs.

su — git
Password:
git@ubuntupit:~$ ./gogs

Шаг 5. Настройте службу Gogs Git в Ubuntu Linux

К настоящему времени мы успешно установили сервис Gogs и создали пользователя Git в нашей системе Ubuntu. Теперь мы найдем IP-адрес нашей машины и используем IP-адрес для загрузки страницы настроек Gogs. Вы можете запустить следующую командную строку в оболочке терминала, чтобы узнать свой IP-адрес.

ip address

Использование статического IP-адреса лучше, если вам нужно регулярно запускать сервер или веб-сайт на вашем компьютере. Если в вашей системе установлен сервер localhost, вы также можете использовать IP-адрес localhost для загрузки страницы установки Gogs в Ubuntu Linux.

http://192.168.0.1:3000/install

Теперь выберите свою базу данных, введите правильный адрес хостинга и укажите имя пользователя и пароль для ранее созданной базы данных. Вы также можете найти возможность установить учетную запись администратора в нижней части страницы настроек. Когда настройка репозитория Gogs будет завершена, нажмите кнопку «Установить», чтобы завершить процесс установки.

Когда установка будет завершена, вы будете перенаправлены на страницу входа. Вы можете создать новую учетную запись для Gogs или вместо этого войти в систему.

После входа в службу Gogs git в Ubuntu Linux вы увидите простую панель инструментов системы Gogs.

Шаг 6: настройте сервер Nginx

Вы можете использовать обратный прокси-сервер Nginx на своем компьютере с Ubuntu, чтобы использовать собственный домен для службы Gogs. Сначала выполните следующую команду, указанную ниже, чтобы установить сервер Nginx в вашей системе Ubuntu.

sudo apt install nginx

Теперь, чтобы настроить адрес своего домена и перенаправить текущую службу Gogs в свой домен, выполните следующую команду в оболочке терминала.

sudo nano /etc/nginx/conf.d/gogs.conf

После открытия сценария конфигурации Nginx скопируйте и вставьте следующие строки в сценарий конфигурации Nginx. Вы должны заменить домен example.com своим собственным доменом.

server {
listen 80;
server_name git.example.com;

location / {
proxy_pass http://localhost:3000;
}
}

Выводы

Служба Gogs полезна и удобна для новых и старых пользователей Linux, позволяющих оставаться на связи со службой Git. Во всем посте я описал метод установки службы Gogs в Ubuntu Linux. Я также показал, как вы можете настроить личный домен для службы Gogs через сервер Nginx в вашей системе Ubuntu.

Хотя Gogs — легкий инструмент, он не прерывает вашу другую работу на вашем компьютере с Ubuntu. Однако, если вы обычный пользователь Ubuntu, вы должны обновить ядро ​​Linux; последнее ядро ​​Ubuntu невероятно.

Пожалуйста, поделитесь им со своими друзьями и сообществом Linux, если вы найдете этот пост полезным и информативным. Мы также рекомендуем вам записывать свое мнение в разделе комментариев.