Android

Как установить и настроить gogs на Ubuntu 18.04

#07 Jenkins Configuration | Jenkins Tutorial For Beginners | Jenkins in Hindi

#07 Jenkins Configuration | Jenkins Tutorial For Beginners | Jenkins in Hindi

Оглавление:

Anonim

Gogs - это git-сервер с открытым исходным кодом, написанный на Go. Он включает в себя редактор файлов репозитория, отслеживание проблем проекта и встроенную вики.

Gogs является легким приложением и может быть установлен на маломощных системах. Если вы ищете альтернативу Gitlab с гораздо меньшим объемом памяти и вам не нужны все навороты, которые предлагает Gitlab, то вам обязательно стоит попробовать Gogs.

В этом руководстве рассматриваются шаги по установке и настройке Gogs в Ubuntu 18.04. Те же инструкции применимы для Ubuntu 16.04 и любого другого дистрибутива на основе Ubuntu.

Прежде чем вы начнете

Gogs может использовать базу данных SQLite, PostgreSQL или MySQL / MariaDB для хранения всех своих данных.

В этом руководстве мы будем использовать SQLite в качестве базы данных. Если SQLite не установлен в вашей системе, вы можете установить его, набрав:

sudo apt install sqlite3

Для дополнительного уровня безопасности рекомендуется настроить базовый брандмауэр. Вы можете выполнить действия, описанные в нашем руководстве «Как настроить брандмауэр с UFW в Ubuntu 18.04».

Установка Гогов

Мы установим Gogs из двоичного файла. Установка довольно простой процесс.

Установить Git

Первым шагом является установка Git на ваш сервер. Для этого обновите локальный индекс пакета и установите пакет git, выполнив следующие команды от имени пользователя sudo:

sudo apt update sudo apt install git

Проверьте установку, отобразив версию Git:

git --version

git version 2.17.1

Создать пользователя Git

Создайте нового системного пользователя для запуска службы Gogs, введя:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

Команда создаст пользователя и установит домашний каталог в /home/git . Вывод будет выглядеть примерно так:

Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…

Скачать Gogs бинарный

Посетите страницу загрузки Gogs и загрузите последний бинарный файл для вашей архитектуры. На момент написания последней версии 0.11.86, если есть новая версия, измените переменную VERSION в приведенной ниже команде.

Загрузите архив Gogs в каталог /tmp используя следующую команду wget:

VERSION=0.11.86

После завершения загрузки извлеките файл Gogs tar.gz и переместите его в каталог /home/git :

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Выполните следующую команду, чтобы изменить владельца каталога установки Gogs на пользователя и группу git:

sudo chown -R git: /home/git/gogs

Создать системный файл модуля

Gogs поставляется с модульным файлом Systemd, который уже настроен в соответствии с нашими настройками.

Скопируйте файл в каталог /etc/systemd/system/ , введя:

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

После этого запустите и включите службу Gogs:

sudo systemctl start gogs sudo systemctl enable gogs

Убедитесь, что служба запущена успешно:

* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web

Установите Gogs с помощью веб-установщика

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

Откройте браузер, введите http://YOUR_DOMAIN_IR_IP:3000 и появится экран, подобный следующему:

Первый зарегистрированный пользователь автоматически добавляется в группу администраторов.

Вот и все. Gogs был установлен на вашем компьютере с Ubuntu.

Настройка Nginx в качестве прокси-сервера завершения SSL

Этот шаг не является обязательным, но он настоятельно рекомендуется. Чтобы использовать Nginx в качестве обратного прокси-сервера, вам нужен домен или поддомен, указывающий на публичный IP-адрес вашего сервера. В этом уроке мы будем использовать gogs.example.com .

Сначала установите Nginx и создайте бесплатный SSL-сертификат Let's Encrypt, следуя приведенным ниже инструкциям:

После этого откройте текстовый редактор и отредактируйте файл блока сервера домена:

sudo nano /etc/nginx/sites-enabled/gogs.example.com /etc/nginx/sites-enabled/gogs.example.com

server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }

Не забудьте заменить gogs.example.com доменом Gogs и указать правильный путь к файлам SSL-сертификатов. Все HTTP-запросы будут перенаправлены на Перезапустите службу Nginx, чтобы изменения вступили в силу:

sudo systemctl restart nginx

Далее нам нужно изменить домен Gogs и корневой URL. Для этого откройте файл конфигурации и отредактируйте следующие строки:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

DOMAIN = gogs.example.com ROOT_URL =

Перезапустите службу Gogs, набрав:

sudo systemctl restart gogs

На этом этапе Gogs настроен, и вы можете получить к нему доступ по адресу: https://gogs.example.com

Настройка почтовых уведомлений

Чтобы Gogs мог отправлять уведомления по электронной почте, вы можете либо установить Postfix, либо использовать какой-нибудь транзакционный почтовый сервис, такой как SendGrid, MailChimp, MailGun или SES.

Чтобы включить уведомления по электронной почте, откройте файл конфигурации и отредактируйте следующие строки:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD

Убедитесь, что вы указали правильную информацию о SMTP-сервере.

Перезапустите службу Gogs, чтобы изменения вступили в силу:

sudo systemctl restart gogs

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

Обновление Gogs

Чтобы обновить Gogs, необходимо выполнить несколько шагов вручную.

  1. Сначала остановите службу Gogs:

    sudo systemctl stop gogs

    Переименуйте каталог установки Gogs.

    sudo mv /home/git/gogs{, _old}

    Загрузите последнюю версию Gogs и переместите ее в каталог /home/git :

    VERSION= wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

    Убедитесь, что вы изменили VERSION на актуальную версию Gogs.

    Скопируйте каталоги custom , data , log в извлеченный каталог с помощью следующей команды rsync:

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    Наконец, запустите сервис Gogs:

    sudo systemctl restart gogs

Вот и все.

Вывод

Из этого туториала вы узнаете, как установить и настроить Gogs в Ubuntu 18.04. Теперь вы можете создать свой первый проект и начать использовать свой новый сервер Gogs.

убунту гогс