Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Bitbucket на Ubuntu Server.

Bitbucket — это веб-сервис для хостинга проектов и их совместной разработки, основанный на системе контроля версий Mercurial и Git.

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 18.04 LTS.

Подробно о том, как установить Ubuntu Server 18.04 LTS, вы можете прочитать в моем руководстве «Установка Ubuntu Server 18.04 LTS».

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

Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.

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

sudo apt-get install openssh-server

Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY — свободно распространяемым клиентом для различных протоколов удаленного доступа, включая SSH, Telnet, rlogin.

В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.

Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к вашему серверу:

  • 80 — для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
  • 443 — для доступа к веб-интерфейсу Bitbucket.
  • 7990 — для доступа к веб-интерфейсу Bitbucket.

Подключаемся к серверу, на который планируется установить Bitbucket.

В данном руководстве рассматривается получение бесплатного криптографического сертификата через центр сертификации Let’s Encrypt. Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.

Добавим репозиторий Certbot с помощью команды:

sudo add-apt-repository ppa:certbot/certbot

Нажимаем на кнопку «Enter», чтобы подтвердить добавление нового репозитория.

Теперь установим пакеты, необходимые для работы Bitbucket, с помощью команды:

sudo apt-get install -y postgresql apache2 git perl fontconfig certbot python-certbot-apache

Обратите внимание, в данном руководстве в качестве системы для управления базами данных будет использоваться PostgreSQL, а в качестве веб-сервера — Apache.

Настроим Apache для последующей работы с Bitbucket.

Включаем модуль веб-сервера Apache под названием «proxy_http» с помощью команды:

sudo a2enmod proxy_http

Обратите внимание, модуль «proxy_http» выполняет функции прокси-сервера для протоколов HTTP и HTTPS.

Включаем модуль веб-сервера Apache под названием «rewrite» с помощью команды:

sudo a2enmod rewrite

Обратите внимание, модуль «rewrite» является одним из самых часто используемых модулей веб-сервера Apache и предоставляет гибкий и мощный способ манипулирования URL-адресами.

Теперь нужно создать два файла виртуальных хостов (в Nginx называется блок), с которыми в дальнейшем будет работать Bitbucket.

Два файла виртуальных хостов потребуются для обеспечения доступа к Bitbucket по HTTPS, а также для реализации возможности использования Bitbucket по адресу https://bitbucket.heyvaldemar.net, без указания порта 7990 в адресной строке браузера.

В данном руководстве для доступа к Bitbucket из сети Интернет будет использоваться субдомен bitbucket.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Bitbucket будет доступен из сети Интернет.

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

sudo vim /etc/apache2/sites-available/bitbucket.heyvaldemar.net.conf

Нажимаем на кнопку «i», чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера:

В данном руководстве для доступа к Bitbucket из сети Интернет будет использоваться субдомен bitbucket.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Bitbucket будет доступен из сети Интернет.

Теперь нажмите на кнопку «Esc», чтобы выйти из режима редактирования, а затем введите «:x» и нажмите на кнопку «Enter», чтобы сохранить изменения и выйти из редактора.

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

sudo vim /etc/apache2/sites-available/bitbucket.heyvaldemar.net-ssl.conf

Нажимаем на кнопку «i», чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера:

В данном руководстве для доступа к Bitbucket из сети Интернет будет использоваться субдомен bitbucket.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Bitbucket будет доступен из сети Интернет.

Теперь нажмите на кнопку «Esc», чтобы выйти из режима редактирования, а затем введите «:x» и нажмите на кнопку «Enter», чтобы сохранить изменения и выйти из редактора.

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

sudo a2ensite bitbucket.heyvaldemar.net.conf

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

sudo a2ensite bitbucket.heyvaldemar.net-ssl.conf

Деактивируем виртуальный хост, созданный по умолчанию, с помощью команды:

sudo a2dissite 000-default.conf

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

sudo apache2ctl configtest

Перезапустим Apache, чтобы применить внесенные изменения, с помощью команды:

sudo systemctl restart apache2

Проверим, что Apache успешно запустился, с помощью команды:

sudo systemctl status apache2

Теперь, чтобы повысить уровень безопасности веб-сервера, необходимо получить криптографический сертификат для домена или субдомена, по которому панель управления Bitbucket будет доступна из сети Интернет.

Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.

В данном руководстве для доступа к Bitbucket из сети Интернет будет использоваться субдомен bitbucket.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Bitbucket будет доступен из сети Интернет.

Запросим криптографический сертификат с помощью команды:

sudo certbot --apache -d bitbucket.heyvaldemar.net

Далее указываем адрес электронной почты, на который Let’s Encrypt будет присылать уведомления об истечении срока криптографического сертификата, и нажимаем на кнопку «Enter».

На следующем этапе необходимо прочитать и принять условия использования предоставляемых сервисов.

Нажимаем на кнопку «a», затем «Enter», если вы согласны с условиями использования предоставляемых сервисов.

На следующем этапе необходимо выбрать: хотите ли вы поделиться указанным ранее адресом электронной почты с Electronic Frontier Foundation для получения информационных рассылок.

Нажимаем на кнопку «n», затем «Enter».

На следующем этапе необходимо выбрать: хотите ли вы, чтобы в конфигурационный файл Apache были автоматически добавлены параметры для автоматического перенаправления HTTP-трафика на HTTPS.

Нажимаем на кнопку «2», затем «Enter».

Обратите внимание, криптографические сертификаты, полученные через центр сертификации Let’s Encrypt, действительны в течение девяноста дней. Certbot автоматически добавляет скрипт для обновления сертификата в планировщик задач, и скрипт запускается два раза в день, автоматически обновляя любой криптографический сертификат, срок действия которого истекает в течение тридцати дней.

Проверить работоспособность процесса обновления криптографического сертификата можно с помощью команды:

sudo certbot renew --dry-run

Теперь необходимо создать базу данных, которую в дальнейшем будет использовать Bitbucket, а также пользователя с необходимыми правами в этой базе данных.

Переключаемся на пользователя «postgres», который обладает правами администратора в PostgreSQL, с помощью команды:

sudo su - postgres

Далее переключаемся на командную строку PostgreSQL с помощью команды:

psql

Создаем нового пользователя с помощью команды:

CREATE USER bitbucketdbuser WITH PASSWORD 'mU%g673b=6])?8E6R9M3T';

В данном руководстве в качестве имени пользователя будет использоваться «bitbucketdbuser», с паролем «mU%g673b=6])?8E6R9M3T».

Создаем новую базу данных и выдаем на нее права ранее созданному пользователю с помощью команды:

CREATE DATABASE bitbucketdb WITH OWNER "bitbucketdbuser" ENCODING='UTF8' CONNECTION LIMIT=-1;

В данном руководстве в качестве имени для базы данных будет использоваться «bitbucketdb».

Выходим из командной строки «PostgreSQL» с помощью команды:

\q

Выходим из-под пользователя «postgres» с помощью команды:

exit

Теперь необходимо загрузить установщик Bitbucket с помощью команды:

wget https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-7.1.1-x64.bin

Обратите внимание, актуальную версию Bitbucket можно найти на официальном сайте Atlassian https://www.atlassian.com/software/bitbucket/download

В данном руководстве рассматривается установка Bitbucket 7.7.1.

Разрешим исполнение файла «atlassian-bitbucket-7.1.1-x64.bin» с помощью команды:

sudo chmod +x atlassian-bitbucket-7.1.1-x64.bin

Запустим установку Bitbucket с помощью команды:

sudo ./atlassian-bitbucket-7.1.1-x64.bin

Обратите внимание, ваша команда будет отличаться от указанной в этой статье, так как вы будете устанавливать актуальную на момент прочтения версию Bitbucket.

На первом этапе можно выбрать: требуется ли установка нового сервера Bitbucket или обновление уже имеющегося.

В данном руководстве рассматривается установка нового сервера Bitbucket.

Нажимаем на кнопку «Enter».

На следующем этапе необходимо выбрать редакцию Bitbucket.

Указываем желаемую для установки редакцию Bitbucket и нажимаем на кнопку «Enter».

Нажимаем на кнопку «Enter».

На следующем шаге можно выбрать, куда установить Bitbucket.

В данном руководстве рассматривается установка Bitbucket в «/opt/atlassian/bitbucket/7.1.1».

Нажимаем на кнопку «Enter».

Далее можно выбрать, где хранить данные Bitbucket.

В данном руководстве рассматривается установка Bitbucket в «/var/atlassian/application-data/bitbucket».

Нажимаем на кнопку «Enter».

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

В данном руководстве рассматривается установка Bitbucket с использованием порта 7990 для HTTP.

Нажимаем на кнопку «Enter».

Далее будет предложена возможность установить Bitbucket, как сервис.

Нажимаем на кнопку «Enter».

Нажимаем на кнопку «Enter», чтобы начать установку Bitbucket.

Установка Bitbucket успешно завершена.

Обратите внимание, запускать Bitbucket не нужно.

Указываем «n» и нажимаем на кнопку «Enter».

Теперь необходимо создать конфигурационный файл Bitbucket с помощью команды:

sudo vim /var/atlassian/application-data/bitbucket/shared/bitbucket.properties

Нажимаем на кнопку «i», чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы Bitbucket:

В данном руководстве для доступа к Bitbucket из сети Интернет будет использоваться субдомен bitbucket.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Bitbucket будет доступен из сети Интернет.

Теперь нажмите на кнопку «Esc», чтобы выйти из режима редактирования, а затем введите «:x» и нажмите на кнопку «Enter», чтобы сохранить изменения и выйти из редактора.

Запускаем Bitbucket с помощью команды:

sudo service atlbitbucket start

Открываем лог Bitbucket, чтобы проверить корректность запуска Bitbucket, с помощью команды:

sudo less /var/atlassian/application-data/bitbucket/log/atlassian-bitbucket.log

На клавиатуре нажимаем сочетание клавиш «Shift» и «f», чтобы начать следить за изменениями в логе Bitbucket в реальном времени.

На клавиатуре нажимаем сочетание клавиш «Ctrl» и «c», затем «q», чтобы закрыть лог Bitbucket.

Для продолжения процесса установки Bitbucket необходимо с рабочей станции перейти по ссылке https://bitbucket.heyvaldemar.net, где bitbucket.heyvaldemar.net — имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера Bitbucket.

В данном руководстве рассматривается установка Bitbucket для продуктивной среды.

В поле «Language» выбираем язык, на котором вы планируете использовать Bitbucket.

В поле «Database» выбираем «External».

Теперь необходимо указать систему для управления базами данных и ранее созданную базу данных, которая будет использоваться для работы Bitbucket.

В поле «Database Type» выбираем «PostgreSQL».

В данном руководстве база данных для работы Bitbucket находится на одном сервере с Bitbucket.

В поле «Hostname» указываем «localhost».

В поле «Port» указываем значение «5432».

В данном руководстве в качестве имени базы данных для работы Bitbucket используется «bitbucketdb».

В поле «Database name» указываем «bitbucketdb».

В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы Bitbucket, используется «bitbucketdbuser».

В поле «Database username» указываем «bitbucketdbuser».

В поле «Database password» указываем пароль, присвоенный пользователю «bitbucketdbuser».

Нажимаем на кнопку «Test».

Сообщение «Successfully established database connection.» означает, что все данные были указаны корректно.

Нажимаем на кнопку «Next».

Теперь необходимо указать базовый URL и лицензионный ключ для Bitbucket.

В поле «Base URL» должен быть указан домен или субдомен, по которому ваш Bitbucket доступен из сети Интернет.

В данном руководстве для доступа к Bitbucket из сети Интернет будет использоваться субдомен bitbucket.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Bitbucket будет доступен из сети Интернет.

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

В данном руководстве рассматривается установка Bitbucket с временным лицензионным ключом.

В разделе «License key» выбираем «I need an evaluation key» и нажимаем на кнопку «Create an account».

На следующем шаге необходимо указать: адрес электронной почты, имя, фамилию и пароль для создания учетной Atlassian.

Нажимаем на кнопку «Sign up».

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

Если у вас уже есть учетная запись Atlassian, то в поле «Enter email» указываем адрес электронной почты, привязанной к учетной записи Atlassian, и нажимаем на кнопку «Continue».

Указываем пароль от учетной записи Atlassian и нажимаем на кнопку «Log in».

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

Нажимаем на кнопку «Generate License» для генерации временного лицензионного ключа для Bitbucket.

Далее нужно подтвердить, что временный лицензионный ключ для Bitbucket будет установлен на ваш сервер.

Нажимаем на кнопку «Yes».

В поле «Your License Key» вставляем ранее полученный временный лицензионный ключ и нажимаем на кнопку «Next».

На следующем шаге необходимо указать: логин, имя, адрес электронной почты и пароль для создания учетной записи администратора Bitbucket.

Нажимаем на кнопку «Go to Bitbucket».

Теперь можно войти в панель управления Bitbucket под ранее созданой учетной записью администратора Bitbucket.

Указываем имя пользователя и пароль учетной записи, обладающей правами администратора Bitbucket, и нажимаем на кнопку «Log in».

Добро пожаловать в панель управления Bitbucket.

Теперь можно создать новый проект и репозиторий.

Нажимаем на кнопку «Git on with it».

Нажимаем на «Create project», чтобы начать создание нового проекта.

В поле «Project name» указываем имя для проекта и нажимаем на кнопку «Create project».

Нажимаем на «Create repository», чтобы начать создание нового репозитория.

В поле «Name» указываем имя для репозитрия и нажимаем на кнопку «Create repository».

Все готово для использования Bitbucket.

Author

Привет, я Владимир Михалев, но друзья зовут меня Вальдемарыч. Я обладаю практическим опытом проектирования и сопровождения различных информационных систем. На моем веб-сайте ты найдешь подробные и понятные руководства по настройке ИТ-решений. Окунись в океан, полный позитива и технологий! По вопросам сотрудничества: callvaldemar@gmail.com

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.