Wprowadzenie

Redmine to potężne i elastyczne narzędzie do zarządzania projektami typu open-source, które oferuje śledzenie problemów, śledzenie czasu, funkcjonalność wiki oraz integrację z systemem kontroli wersji. Zostało zbudowane na Ruby on Rails i obsługuje wiele backendów baz danych, w tym MySQL i PostgreSQL. W tym przewodniku przeprowadzimy krok po kroku proces instalacji Redmine na Ubuntu 22.04.

Wymagania wstępne

Zanim zaczniemy, upewnij się, że twój system spełnia następujące wymagania:

  • Świeża instalacja Ubuntu 22.04
  • Użytkownik niebędący rootem z uprawnieniami sudo
  • Funkcjonalne połączenie z internetem
  • Nazwa domeny (opcjonalnie, ale zalecana)

Krok 1: Zaktualizuj pakiety systemowe

Najpierw zaktualizuj listę pakietów i zaktualizuj istniejące pakiety, aby upewnić się, że twój system jest aktualny:

sudo apt update && sudo apt upgrade -y

Krok 2: Zainstaluj wymagane zależności

Redmine wymaga kilku zależności, w tym Ruby, Bundlera i serwera baz danych. Najpierw zainstalujemy te pakiety.

sudo apt install -y curl gnupg2 git-core libmysqlclient-dev imagemagick libmagickwand-dev libpq-dev build-essential libssl-dev libreadline-dev zlib1g-dev

Krok 3: Zainstaluj Ruby

Ubuntu 22.04 domyślnie nie zawiera najnowszej wersji Ruby, więc zainstalujemy Ruby przy użyciu rbenv.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Teraz zainstaluj Ruby:

rbenv install 3.2.0  # Use the latest stable version
rbenv global 3.2.0
ruby -v  # Verify installation

Krok 4: Zainstaluj serwer baz danych

Redmine obsługuje MySQL i PostgreSQL. W tym przewodniku użyjemy MySQL.

sudo apt install -y mysql-server

Zabezpiecz instalację MySQL:

sudo mysql_secure_installation

Utwórz bazę danych i użytkownika Redmine:

sudo mysql -u root -p

Wewnątrz powłoki MySQL uruchom następujące polecenia:

CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Krok 5: Zainstaluj Redmine

Pobierz i rozpakuj najnowszą stabilną wersję Redmine:

cd /var/www/
wget https://www.redmine.org/releases/redmine-5.0.0.tar.gz
sudo tar -xvf redmine-5.0.0.tar.gz
sudo mv redmine-5.0.0 redmine
cd redmine

Skonfiguruj połączenie z bazą danych:

cp config/database.yml.example config/database.yml
nano config/database.yml

Zmień sekcję MySQL w następujący sposób:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "strongpassword"
  encoding: utf8mb4

Krok 6: Zainstaluj Bundlera i zależności

Uruchom następujące polecenia, aby zainstalować Bundlera i wymagane gemy:

gem install bundler
bundle install --without development test

Krok 7: Skonfiguruj bazę danych

Uruchom następujące polecenia, aby zainicjować bazę danych:

bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:load_default_data RAILS_ENV=production

Krok 8: Skonfiguruj uprawnienia do plików

Upewnij się, że Redmine ma odpowiednie uprawnienia:

sudo mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

Krok 9: Uruchom Redmine

Możesz uruchomić Redmine za pomocą wbudowanego serwera WEBrick:

bundle exec rails server -e production

Alternatywnie skonfiguruj Redmine do działania z Passengerem i Apache lub Nginx do użytku produkcyjnego.

Krok 10: Uzyskaj dostęp do Redmine

Otwórz przeglądarkę internetową i przejdź do:

http://your-server-ip:3000

Zaloguj się za pomocą domyślnych danych logowania:

  • Nazwa użytkownika: admin
  • Hasło: admin

Podsumowanie

Pomyślnie zainstalowałeś Redmine na Ubuntu 22.04. W przypadku środowisk produkcyjnych rozważ skonfigurowanie odwrotnego proxy z Nginx lub Apache, włączenie SSL oraz skonfigurowanie automatycznych kopii zapasowych. Redmine jest teraz gotowy do skutecznego zarządzania twoimi projektami!