Nie raz przekonałem się, jak ważne jest posiadanie własnego poligonu doświadczalnego, na którym bezkarnie mógłbym przetestować nowy plugin, sprawdzić działanie ustawień serwerowych, czy też wykonać skrypt obarczony ryzykiem znaczącego wpływu na instancję. Użytkownicy Jira Cloud mają ten luksus, że mogą utworzyć takie środowisko testowe za pomocą kilku kliknięć. W przypadku wersji serwerowej jest to nieco bardziej skomplikowane, ale nadal w zasięgu średniozaawansowanego użytkownika.
W poniższym wpisie i filmie przedstawię sposób instalacji Jira Software w środowisku Ubuntu 22.04, które zostanie zainstalowane na wirtualnej maszynie VMware. Jako silnik bazy danych wybrałem popularny i bardzo często stosowany serwer PostgreSQL w wersji 14.
Instalacja VMware w środowisku Windows
Instalacja VMware w Windowsie jest stosunkowo prosta i sprowadza się do pobrania instalatora i przejścia kolejnych, intuicyjnych kroków instalacji.
Instalacja VMware w środowisku Debian / Ubuntu
Ostatnimi czasy można było zaobserwować pewne kłopoty przy instalacji VMware w środowiskach bazujących na Debianie (być może na innych też). Problemy dotyczyły braku niektórych modułów kernela i konieczności stosowania łatek napisanych przez kilku autorów na GitHubie. Aktualnie za każdym razem, gdy instaluję VMware moduły instalują się bezproblemowo za pomocą vmware-modconfig. Poniżej przedstawiam kolejne kroki instalacji.
###### 1. Pobranie instalatora
cd /home/{katalog domowy}
wget https://www.vmware.com/go/getworkstation-linux
###### 2. Instalacja wymaganych komponentów, w tym g++
sudo apt install -y build-essential
###### 3. Instalacja VMware
sudo ./VMware-Workstation-Full-17.0.0-20800274.x86_64.bundle
###### 4. Instalacja dodatkowym modułów kernela
sudo vmware-modconfig --console --install-all
W przypadku problemów z modułami kernela można posiłkować się wspomnianymi łatkami z GitHuba, np. mkubecek / vmware-host-modules.
Instalacja Ubuntu 22.04 w VMware
Po pobraniu obrazu instalacyjnego ze strony Ubuntu należy uruchomić VMware i przejść do opcji Create a New Virtual Machine. Po ustawieniu parametrów serwera i przejściu kolejnych ekranów instalatora Ubuntu system powinien być dostępny pod adresem IP serwera wirtualnego. Osoby, które nie miały do tej pory styczności z serwerami wirtualnymi mogą prześledzić cały proces instalacji w załączonym filmie.
Instalacja PostgreSQL
Po uruchomieniu serwera Ubuntu można przejść do instalacji silnika bazy danych.
##### 1. Dodanie repozytorium PostgreSQL
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
##### 2. Import klucza repozytorium
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
##### 3. [opcja w przypadku nieważnego klucza do repozytorium]
# 3.1 Wyświetlenie listy kluczy
sudo apt-key list
# 3.2 Wpis dla PostgreSQL
#/etc/apt/trusted.gpg
#--------------------
#pub rsa4096 2011-10-13 [SC]
# B97B 0AFC AA1A 47F0 44F2 44A0 7FCC 7D46 ACCC 4CF8
#uid [ unknown] PostgreSQL Debian Repository
# 3.3 Eksport klucza (8 ostatnich znaków)
sudo apt-key export ACCC4CF8 | sudo gpg --dearmour -o /usr/share/keyrings/postgresql.gpg
# 3.4 Dopisanie klucza w sources.list
sudo vim /etc/apt/sources.list.d/pgdg.list
deb [arch=amd64 signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt jammy-pgdg main
# 3.5 Aktualizacja repozytoriów
sudo apt update
##### 4. Instalacja PostgreSQL
sudo apt-get -y install postgresql-14
##### 5. Konfiguracja adresów nasłuchujących (opcja * oznacza wszystkie)
sudo vim /etc/postgresql/14/main/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_address = '*'
##### 6. Ustawienie dozwolonych hostów (0/0 maska dla wszystkich)
# Ustawienie należy skonsultować w przypadku użytku firmowego.
sudo vim /etc/postgresql/14/main/pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 0/0 md5
##### 7. Restart PostgreSQL
sudo /etc/init.d/postgresql restart
Utworzenie bazy danych
Na potrzeby Jiry należy utworzyć bazę danych i użytkownika z pełnymi uprawnieniami do wszystkich tabel.
##### 1. Nadanie hasła użytkownikowi postgres
sudo passwd postgres
##### 2. Przełączenie na użytkownika postgres
sudo -i -u postgres
##### 3. Przejście do konsoli psql
psql
##### 4. Utworzenie bazy danych o nazwie 'jiradb'
CREATE DATABASE jiradb WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;
##### 5. Utworzenie użytkownika i nadanie mu pełnych uprawnień do bazy jiradb
CREATE USER jiradb WITH PASSWORD 'haselko';
GRANT ALL PRIVILEGES ON DATABASE jiradb TO jiradb;
##### 6. Wyjście z konsoli
exit
##### 7. Przełączenie na pierwotnego użytkownika
su <nazwa użytkownika>
Instalacja Jiry
Po wyborze wersji Jiry pakiet instalacyjny można pobrać ze strony Atlassian. Na stronie z wymaganiami systemowymi i sprzętowymi można zapoznać się m.in. z aktualnie wspieraną wersją PostgreSQL. Nie jest to może krytyczny problem w przypadku testowej instancji (nowsze wersje PostgreSQL na ogół działają ze starszymi wersjami Jiry), ale w przypadku systemów z produkcyjną instalacją nierekomendowanej wersji bazy danych może powodować problem z suportem Atlassian.
Na instalację Jiry składają się następujące operacje.
##### 1. Pobranie instalatora linuksowego.
wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-9.4.2-x64.bin
##### 2. Nadanie uprawnień do wykonywania
sudo chmod a+x atlassian-jira-software-9.4.2-x64.bin
##### 3. Uruchomienie instalatora
sudo ./atlassian-jira-software-8.20.10-x64.bin
Po zakończeniu instalacji w konsoli należy kontynuować instalację w przeglądarce pod adresem http://<ip serwera>:8080 (domyślny adres). W kolejnych krokach należy podać dane bazy danych do połączenia, skonfigurować licencję i użytkownika administracyjnego.
Start / stop Jiry
W przypadku zainstalowania Jiry jako serwis, można ją w łatwy sposób włączać i wyłączać, podobnie jak serwer PostgreSQL.
// Start
sudo service jira start
// Stop
sudo service jira stop
// Status
sudo service jira status