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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Первоначальная настройка)
 
(не показано 9 промежуточных версий этого же участника)
Строка 1: Строка 1:
= Введение =
+
== Введение ==
  
 
В этой статье описано, как на ROSA Fresh/Chrome 12+ rosa2021.1 запустить Gogs — систему управление git-репозиториями и проектами.
 
В этой статье описано, как на ROSA Fresh/Chrome 12+ rosa2021.1 запустить Gogs — систему управление git-репозиториями и проектами.
  
= Установка =
+
[[File:gogs-hero.png||400px]]
 +
 
 +
== Установка ==
  
 
Выполните команду:
 
Выполните команду:
 
  sudo dnf install gogs
 
  sudo dnf install gogs
  
= Первоначальная настройка =
+
== Первоначальная настройка ==
  
 
Файл с настройками находится по адресу <code>/etc/gogs/app.ini</code>. При типовом сценарии использования его не понадобится редактировать вручную.
 
Файл с настройками находится по адресу <code>/etc/gogs/app.ini</code>. При типовом сценарии использования его не понадобится редактировать вручную.
Строка 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-сервер (по умолчанию используется внешний).
  
Строка 31: Строка 33:
 
  sudo systemctl restart gogs
 
  sudo systemctl restart gogs
 
  sudo systemctl status gogs
 
  sudo systemctl status gogs
 +
 +
Служба gogs запускается от пользователя gogs, который автоматически создается при установке пакета gogs.
  
 
Если Gogs запускается на другой машине или в контейнере, то командой <code>ip a</code> посмотрите его IP-адрес. В приводимом примере IP-адресом будет <code>192.168.122.209</code>.
 
Если Gogs запускается на другой машине или в контейнере, то командой <code>ip a</code> посмотрите его IP-адрес. В приводимом примере IP-адресом будет <code>192.168.122.209</code>.
Строка 41: Строка 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 — хранить всю базу данных в одном файле; самый простой вариант, не требуется отдельно запускать, настраивать и сопровождать базу данных; хорошо подойдет для небольшого количества проектов; по умолчанию предлагается SQLite БД по адресу <code>/var/lib/gogs/data/gogs.db</code>.
 +
 
 +
* MySQL — использовать MySQL-совместимую базу данных (MariaDB, MySQL, Percona); БД может быть запущена как на этом, так и на другом сервере; в Росе в репозитории есть пакет <code>mariadb</code>, пример первоначальной настройки приведен в статье [[Zabbix]].
 +
 
 +
* PostgreSQL — использовать PostgreSQL-совместимую базу данных (PostgreSQL, PostgreSQL Pro и др.); БД может быть запущена как на этом, так и на другом сервере; в Росе в репозитории есть пакет <code>postgresql</code>.
 +
 
 +
* MSSQL — использовать базу данных Microsft SQL Server.
 +
 
 +
В рассматриваемом варианте установки оставим значение по умолчанию: SQLIte3 и путь <code>/var/lib/gogs/data/gogs.db</code>.
 +
 
 +
''Имя приложения'': показываемый пользователям заголовок сайта. Для наглядности укажем: «Гоша».
 +
 
 +
''Путь корня репозитория'': каталог для размещения git-репозиториев, оставляем предлагаемый по умолчанию <code>/var/lib/gogs/gogs-repositories</code>.
 +
 
 +
''Пользователь'': пользователь Linux, от которого работает Gogs; оставляем значение по умолчанию <code>gogs</code>.
 +
 
 +
''SSH порт'': порт, на котором запущен SSH-сервис; используется для вывода команд <code>git clone ...</code> в веб-интерфейсе Gogs; оставляем значение по умолчанию 22.
 +
 
 +
''URL приложения'': показываемый в веб-интерфейсе внутри команд <code>git clone ...</code> адрес приложения Gogs; если вы планируете поставить перед Gogs обратный прокси (например, nginx) и|или добавить TLS-шифрование (что выходит за рамки этой статьи), то измените значение и укажите, например: <code>https://gogs.nixtux.ru</code>; если не планируете, то можно оставить значение по умолчанию.
 +
 
 +
''Порт HTTP'': порт, на котором работает gogs, по умолчанию 3000; оставьте значение по умолчанию; если перед gogs будет поставлен nginx, менять порт все равно не нужно (а если поменяете, то в настройках nginx нужно будет прописать соответствующий порт).
 +
 
 +
''Путь к журналу'': каталог для логов, оставляем значение по умолчанию <code>/var/log/gogs</code>.
 +
 
 +
''Включить режим консоли'': выводить логи не только в файлы, но и в syslog, что делает их доступными через <code>journalctl -u gogs</code>.
 +
 
 +
Разверните раздел ''Настройки учётной записи администратора'' и заполните предлагаемые настройки.
 +
 
 +
Нажмите синюю кнопку «Установить Gogs».
 +
 
 +
Снова откройте главную страницу Gogs (если не открывалась автоматически) по прежнему адресу (http://ip:3000), теперь она выглядит так:
 +
 
 +
[[File:2022-07-04_16-55.png]]
 +
 
 +
В заголовке и подвале написано: «Гоша», что соответствует указанному при первоначальной настройке имени приложения.
 +
 
 +
Для изменения настроек можно отредактировать конфигурационный файл:
 +
sudo nano /etc/gogs/app.ini
 +
И перезапустить службу:
 +
sudo systemctl restart gogs
 +
 
  
 
[[Категория:ROSA Server]]
 
[[Категория:ROSA Server]]

Текущая версия на 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