Поиск по сайту:

Как установить GitBucket с Nginx на Ubuntu 18.04 LTS


Это руководство существует для этих версий ОС

  • Ubuntu 20.04 (Focal Fossa)
  • Ubuntu 18.04 (Bionic Beaver)

На этой странице

  1. Требования
  2. Начало работы
  3. Установить Java
  4. Установите GitBucket
  5. Создайте файл службы Systemd для GitBucket.
  6. Настройка подключения к базе данных для GitBucket
  7. Настройка Nginx в качестве обратного прокси-сервера
  8. Доступ к веб-интерфейсу GitBucket

GitBucket — это бесплатная платформа Git с открытым исходным кодом на базе Scala, совместимая с Github API. Он простой, легкий и является альтернативой Github или BitBucket. Он поставляется с широким набором функций, включая поддержку GitLFS, проблемы, запрос на вытягивание, уведомления, систему подключаемых модулей, общедоступные и частные репозитории Git. Его можно легко интегрировать с LDAP для управления учетными записями и группами.

В этом руководстве мы узнаем, как установить и настроить GitBucket на сервере Ubuntu 18.04.

Требования

  • Новый сервер с Ubuntu 18.04.
  • В вашем экземпляре настроен пароль root.

Начиная

Перед запуском обновите свою систему до последней стабильной версии. Вы можете сделать это с помощью следующей команды:

apt-get update -y
apt-get upgrade -y

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

Установить Java

GitBucket требует, чтобы на вашем сервере была установлена Java 8 или новее. Итак, вам нужно будет установить Java на свой сервер.

Чтобы установить Java, выполните следующую команду:

apt-get install default-jdk -y

После установки Java вы можете проверить версию Java с помощью следующей команды:

java -version

Вы должны увидеть следующий вывод:

openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)

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

Установить Гитбакет

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

Выполните следующую команду, чтобы создать системного пользователя с именем gitbucket.

groupadd -g 555 gitbucket
useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket

Затем загрузите GitBucket из репозитория Git с помощью следующей команды:

wget https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war

После завершения загрузки создайте каталог для GitBucket внутри /opt.

mkdir /opt/gitbucket

Затем переместите загруженный файл в каталог gitbucket:

mv gitbucket.war /opt/gitbucket

Затем дайте правильное разрешение каталогу gitbucket с помощью следующей команды:

chown -R gitbucket:gitbucket /opt/gitbucket

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

Создайте файл службы Systemd для GitBucket

Затем вам нужно будет создать файл службы Systemd для GitBucket, чтобы управлять службой GitBucket. Вы можете создать его с помощью следующей команды:

nano /etc/systemd/system/gitbucket.service

Добавьте следующие строки:

# GitBucket Service
[Unit]
Description=Manage Java service

[Service]
WorkingDirectory=/opt/gitbucket
ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war
User=gitbucket
Group=gitbucket
Type=simple
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Сохраните и закройте файл. Затем перезагрузите Systemd с помощью следующей команды:

systemctl daemon-reload

Затем запустите службу gitbucket и включите ее запуск во время загрузки с помощью следующей команды:

systemctl enable gitbucket
systemctl start gitbucket

Теперь вы можете проверить статус gitbucket с помощью следующей команды:

systemctl status gitbucket

Вы должны увидеть следующий вывод:

? gitbucket.service - Manage Java service
   Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-08-09 09:43:42 UTC; 5s ago
 Main PID: 17835 (java)
    Tasks: 18 (limit: 1113)
   CGroup: /system.slice/gitbucket.service
           ??17835 /usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war

Aug 09 09:43:42 ubuntu1804 systemd[1]: Started Manage Java service.
Aug 09 09:43:45 ubuntu1804 java[17835]: 2019-07-09 09:43:45.102:INFO::main: Logging initialized @2700ms to org.eclipse.jetty.util.log.StdErrLog
Aug 09 09:43:46 ubuntu1804 java[17835]: 2019-07-09 09:43:46.134:INFO:oejs.Server:main: jetty-9.4.z-SNAPSHOT; built: 2018-11-14T21:20:31.478Z; g
lines 1-11/11 (END)

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

Настройка подключения к базе данных для GitBucket

GitBucket поставляется со встроенной базой данных H2. Чтобы настроить подключение к базе данных, откройте файл database.conf в вашем любимом текстовом редакторе:

nano /opt/gitbucket/database.conf

Добавьте следующие строки:

db {
  url = "jdbc:h2:${DatabaseHome};MVCC=true"
  user = "sa"
  password = "sa"
}

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

Настройте Nginx в качестве обратного прокси

По умолчанию GitBucket работает на порту 8080. Поэтому вам нужно будет настроить Nginx в качестве обратного прокси-сервера, чтобы повысить производительность и включить другие функции, такие как шифрование HTTP/2 и TLS.

Для этого сначала установите Nginx с помощью следующей команды:

apt-get install nginx -y

Затем создайте обратный прокси для GitBucket, создав следующий файл:

nano /etc/nginx/sites-available/gitbucket.conf

Добавьте следующие строки:

upstream gitbucket {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     your-domain.com;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://gitbucket/;
  }
}

Сохраните и закройте файл. Затем включите виртуальный хост Nginx с помощью следующей команды:

ln -s /etc/nginx/sites-available/gitbucket.conf /etc/nginx/sites-enabled/

Затем проверьте Nginx на наличие синтаксических ошибок и перезапустите службу Nginx с помощью следующей команды:

nginx -t

Вы должны увидеть следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl restart nginx

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

Доступ к веб-интерфейсу GitBucket

Теперь GitBucket установлен и настроен. Откройте веб-браузер и введите URL-адрес http://ваш-домен.com. Вы будете перенаправлены на следующую страницу:

Теперь нажмите на кнопку Войти. Вы будете перенаправлены на страницу входа, как показано ниже:

Теперь укажите имя пользователя и пароль по умолчанию как root/root и нажмите кнопку «Войти». Вы должны увидеть панель инструментов GitBucket на следующей странице:

Затем перейдите к настройкам учетной записи, чтобы изменить пароль root по умолчанию, как показано на следующей странице:

Поздравляем! вы успешно установили и настроили GitBucket на сервере Ubuntu 18.04 LTS. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.