Gogs — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Первоначальная настройка)
 
(не показано 6 промежуточных версий этого же участника)
Строка 2: Строка 2:
  
 
В этой статье описано, как на ROSA Fresh/Chrome 12+ rosa2021.1 запустить Gogs — систему управление git-репозиториями и проектами.
 
В этой статье описано, как на ROSA Fresh/Chrome 12+ rosa2021.1 запустить Gogs — систему управление git-репозиториями и проектами.
 +
 +
[[File:gogs-hero.png||400px]]
  
 
== Установка ==
 
== Установка ==
Строка 24: Строка 26:
  
 
* /lib/systemd/system/gogs.service — основной файл с описанием службы;
 
* /lib/systemd/system/gogs.service — основной файл с описанием службы;
* /etc/systemd/system/gogs.service.d/port.conf — этот файл содержит по умолчанию закомментированные строки, которые нужно раскомментировать, если настраивается запуск Gogs на порту <=1024 (по умолчанию 3000);
+
* /etc/systemd/system/gogs.service.d/port.conf — этот файл содержит по умолчанию закомментированные строки, которые нужно раскомментировать, если настраивается запуск Gogs на порте <=1024 (по умолчанию 3000);
 
* /etc/systemd/system/gogs.service.d/ssh.conf — в этом файле настроен запуск службы <code>sshd.service</code> (OpenSSH) вместе с Gogs; можно закомментировать, если используется встроенные в Gogs SSH-сервер (по умолчанию используется внешний).
 
* /etc/systemd/system/gogs.service.d/ssh.conf — в этом файле настроен запуск службы <code>sshd.service</code> (OpenSSH) вместе с Gogs; можно закомментировать, если используется встроенные в Gogs SSH-сервер (по умолчанию используется внешний).
  
Строка 43: Строка 45:
 
[[File:2022-07-04_16-14.png]]
 
[[File:2022-07-04_16-14.png]]
  
Gogs сам поправит файл <code>/etc/gogs/app.ini</code> в соответствии с указанными здесь настройками. Рассмотрим предлагаемые настройки (актуально для Gogs 0.12.9).
+
Gogs сам поправит файл <code>/etc/gogs/app.ini</code> в соответствии с указанными здесь настройками. Рассмотрим предлагаемые настройки (актуально для Gogs 0.12.9). '''Можно не править предлагаемые автоматически настройки''', получится работоспособная установка Gogs.
  
 
''Тип базы данных'': SQLite3, MySQL, PostgreSQL, MSSQL
 
''Тип базы данных'': SQLite3, MySQL, PostgreSQL, MSSQL
Строка 65: Строка 67:
 
''SSH порт'': порт, на котором запущен SSH-сервис; используется для вывода команд <code>git clone ...</code> в веб-интерфейсе Gogs; оставляем значение по умолчанию 22.
 
''SSH порт'': порт, на котором запущен SSH-сервис; используется для вывода команд <code>git clone ...</code> в веб-интерфейсе Gogs; оставляем значение по умолчанию 22.
  
''URL приложения'': показываемый в веб-интерфейсе внутри команд <code>git clone ...</code> адрес приложения Gogs; если вы планируете поставить перед Gogs обратный прокси nginx и добавить TLS-шифрование, как описано далее в этой статье, то измените значение и укажите, например: <code>https://gogs.nixtux.ru</code>; если не планируете, то можно оставить значение по умолчанию.
+
''URL приложения'': показываемый в веб-интерфейсе внутри команд <code>git clone ...</code> адрес приложения Gogs; если вы планируете поставить перед Gogs обратный прокси (например, nginx) и|или добавить TLS-шифрование (что выходит за рамки этой статьи), то измените значение и укажите, например: <code>https://gogs.nixtux.ru</code>; если не планируете, то можно оставить значение по умолчанию.
  
 
''Порт HTTP'': порт, на котором работает gogs, по умолчанию 3000; оставьте значение по умолчанию; если перед gogs будет поставлен nginx, менять порт все равно не нужно (а если поменяете, то в настройках nginx нужно будет прописать соответствующий порт).
 
''Порт HTTP'': порт, на котором работает gogs, по умолчанию 3000; оставьте значение по умолчанию; если перед gogs будет поставлен nginx, менять порт все равно не нужно (а если поменяете, то в настройках nginx нужно будет прописать соответствующий порт).
Строка 79: Строка 81:
 
Снова откройте главную страницу Gogs (если не открывалась автоматически) по прежнему адресу (http://ip:3000), теперь она выглядит так:
 
Снова откройте главную страницу Gogs (если не открывалась автоматически) по прежнему адресу (http://ip:3000), теперь она выглядит так:
  
[[:File:2022-07-04_16-55.png]]
+
[[File:2022-07-04_16-55.png]]
  
 
В заголовке и подвале написано: «Гоша», что соответствует указанному при первоначальной настройке имени приложения.
 
В заголовке и подвале написано: «Гоша», что соответствует указанному при первоначальной настройке имени приложения.

Текущая версия на 19:00, 4 июля 2022

Введение

В этой статье описано, как на ROSA Fresh/Chrome 12+ rosa2021.1 запустить Gogs — систему управление git-репозиториями и проектами.

Gogs-hero.png

Установка

Выполните команду:

sudo dnf install gogs

Первоначальная настройка

Файл с настройками находится по адресу /etc/gogs/app.ini. При типовом сценарии использования его не понадобится редактировать вручную.

После установки пакета запустите службу gogs:

sudo systemctl start gogs

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

sudo systemctl status gogs

Добавьте ее в автозапуск:

sudo systemctl enable gogs

Обратите внимание, что по умолчанию используется не встроенный в Gogs SSH-сервер, а внешний — OpenSSH. Такое решение представляется надежнее и проще. У службы systemd gogs.service есть 3 следующих файла:

  • /lib/systemd/system/gogs.service — основной файл с описанием службы;
  • /etc/systemd/system/gogs.service.d/port.conf — этот файл содержит по умолчанию закомментированные строки, которые нужно раскомментировать, если настраивается запуск Gogs на порте <=1024 (по умолчанию 3000);
  • /etc/systemd/system/gogs.service.d/ssh.conf — в этом файле настроен запуск службы sshd.service (OpenSSH) вместе с Gogs; можно закомментировать, если используется встроенные в Gogs SSH-сервер (по умолчанию используется внешний).

В случае изменения этих файлов выполните:

sudo systemctl daemon-reload
sudo systemctl restart gogs
sudo systemctl status gogs

Служба gogs запускается от пользователя gogs, который автоматически создается при установке пакета gogs.

Если Gogs запускается на другой машине или в контейнере, то командой ip a посмотрите его IP-адрес. В приводимом примере IP-адресом будет 192.168.122.209.

Откройте в веб-браузере страницу первоначальной настройки в веб-интерфейсе Gogs по адресу http://ip:3000, например:

2022-07-04 16-14.png

Gogs сам поправит файл /etc/gogs/app.ini в соответствии с указанными здесь настройками. Рассмотрим предлагаемые настройки (актуально для Gogs 0.12.9). Можно не править предлагаемые автоматически настройки, получится работоспособная установка Gogs.

Тип базы данных: SQLite3, MySQL, PostgreSQL, MSSQL

  • SQLite3 — хранить всю базу данных в одном файле; самый простой вариант, не требуется отдельно запускать, настраивать и сопровождать базу данных; хорошо подойдет для небольшого количества проектов; по умолчанию предлагается SQLite БД по адресу /var/lib/gogs/data/gogs.db.
  • MySQL — использовать MySQL-совместимую базу данных (MariaDB, MySQL, Percona); БД может быть запущена как на этом, так и на другом сервере; в Росе в репозитории есть пакет mariadb, пример первоначальной настройки приведен в статье Zabbix.
  • PostgreSQL — использовать PostgreSQL-совместимую базу данных (PostgreSQL, PostgreSQL Pro и др.); БД может быть запущена как на этом, так и на другом сервере; в Росе в репозитории есть пакет postgresql.
  • MSSQL — использовать базу данных Microsft SQL Server.

В рассматриваемом варианте установки оставим значение по умолчанию: SQLIte3 и путь /var/lib/gogs/data/gogs.db.

Имя приложения: показываемый пользователям заголовок сайта. Для наглядности укажем: «Гоша».

Путь корня репозитория: каталог для размещения git-репозиториев, оставляем предлагаемый по умолчанию /var/lib/gogs/gogs-repositories.

Пользователь: пользователь Linux, от которого работает Gogs; оставляем значение по умолчанию gogs.

SSH порт: порт, на котором запущен SSH-сервис; используется для вывода команд git clone ... в веб-интерфейсе Gogs; оставляем значение по умолчанию 22.

URL приложения: показываемый в веб-интерфейсе внутри команд git clone ... адрес приложения Gogs; если вы планируете поставить перед Gogs обратный прокси (например, nginx) и|или добавить TLS-шифрование (что выходит за рамки этой статьи), то измените значение и укажите, например: https://gogs.nixtux.ru; если не планируете, то можно оставить значение по умолчанию.

Порт HTTP: порт, на котором работает gogs, по умолчанию 3000; оставьте значение по умолчанию; если перед gogs будет поставлен nginx, менять порт все равно не нужно (а если поменяете, то в настройках nginx нужно будет прописать соответствующий порт).

Путь к журналу: каталог для логов, оставляем значение по умолчанию /var/log/gogs.

Включить режим консоли: выводить логи не только в файлы, но и в syslog, что делает их доступными через journalctl -u gogs.

Разверните раздел Настройки учётной записи администратора и заполните предлагаемые настройки.

Нажмите синюю кнопку «Установить Gogs».

Снова откройте главную страницу Gogs (если не открывалась автоматически) по прежнему адресу (http://ip:3000), теперь она выглядит так:

2022-07-04 16-55.png

В заголовке и подвале написано: «Гоша», что соответствует указанному при первоначальной настройке имени приложения.

Для изменения настроек можно отредактировать конфигурационный файл:

sudo nano /etc/gogs/app.ini

И перезапустить службу:

sudo systemctl restart gogs