- Простая установка Redmine на Ubuntu + Apache
- Сервер баз данных
- Установка Redmine
- Настройка веб-сервера
- Как установить и настроить Redmine на Debian 9
- Подготовка
- Создание базы данных MySQL
- Установка Ruby
- Установка Passenger и Nginx
- Установка Redmine на Debian
- 1. Скачивание Redmine
- 2. Настройка базы данных Redmine.
- 3. Установка зависимостей Ruby
- 4. Сгенерируйте ключи и перенесите базу данных.
- 5. Установите правильные разрешения.
- Настроить Nginx
- Доступ к Redmine
- Выводы
Простая установка Redmine на Ubuntu + Apache
Обновлено: 08.04.2021 Опубликовано: 30.05.2019
Установка Redmine на Ubuntu выполняется в несколько несложных этапов, так как все нужные пакеты находятся в репозитории данного дистрибутива Linux, и в ходе установки инсталлируются все зависимости и выполняется конфигурирование системы автоматически. При написании инструкции применялась Ubuntu Server 16.04.05.
Redmine является веб-приложение, поэтому его удобнее всего публиковать с помощью веб-сервера. Мы рассмотрим вариант использования Apache, так как данный программный продукт легко интегрируется с passenger, который является связующим звеном между Ruby on rails и веб-сервером.
В данной статье я делаю упор на максимальную простоту развертывания Redmine — без ручной установки ruby, gems, и так далее. Она не даст понимания, как работает сервер, но позволит быстро развернуть сервис (буквально, за 10 минут).
Сервер баз данных
В качестве СУБД будем использовать MariaDB:
apt install mariadb-server
Разрешаем запуск, стартуем сервис:
Задаем пароль для суперпользователя mariadb:
mysqladmin -u root password
Установка Redmine
Для корректной установки нужно поставить отдельно пакет — без него установка redmine будет заканчиваться ошибкой:
В Ubuntu пакет для установки Redmine есть в репозитории. Вводим команду:
. в результате ее выполнения будет скачано и установлено множество зависимостей. Также система спросит, какую СУБД необходимо использовать — выбираем MySQL и вводим пароль для пользователя redmine, который будет создан в СУБД.
После завершения установки, система автоматически создаст базу и внесет необходимые настройки.
Выполняем тестовый запуск Redmine:
rails server webrick -e production -b 0.0.0.0
* первой командой мы переходим в каталог, в который устанавливается redmine; второй командой мы запускаем Ruby on Rails на 3000 порту и на всех сетевых адаптерах.
Открываем браузер и переходим по адресу http://:3000 — мы должны увидеть домашнюю страницу Redmine:
Пробуем войти в систему — логин и пароль по умолчанию admin / admin.
Настройка веб-сервера
Для автоматической публикации Redmine в качестве веб-приложения мы будем использовать apache и модуль passenger. Для их установки вводим:
apt install apache2 libapache2-mod-passenger
Создаем виртуальный домен:
ServerAdmin admin@company.ru
ServerName redmine.srv.local
DocumentRoot /usr/share/redmine/public
RailsEnv production
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
* где *:80 указывает слушать на всех сетевых интерфейсах, 80 порту; ServerName — имя виртуального домена (тут нужно задать Ваш URL, который будет использоваться для Redmine); DocumentRoot — домашняя директория Redmine; RailsEnv — рабочее окружение, в котором запустится приложение.
Внесем настройки в модуль passenger:
PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
PassengerDefaultRuby /usr/bin/ruby
PassengerRuby /usr/bin/ruby
PassengerDefaultUser www-data
Задаем владельца для каталогов:
chown -R www-data:www-data /usr/share/redmine
chown -R www-data:www-data /var/cache/redmine/default
Разрешаем автозапуск apache и перезапускаем сервис:
systemctl restart apache2
Как установить и настроить Redmine на Debian 9
Redmine — это бесплатное приложение с открытым исходным кодом для управления проектами и отслеживания проблем. Это кроссплатформенная и кросс-база данных, построенная на основе Ruby on Rails.
Redmine включает поддержку нескольких проектов, вики, систему отслеживания проблем, форумы, календари, уведомления по электронной почте и многое другое.
В этом руководстве мы покажем вам, как установить и настроить последнюю версию Redmine на сервере Debian 9, используя MySQL в качестве серверной части базы данных и Passenger + Nginx в качестве сервера приложений Ruby.
Подготовка
Прежде чем продолжить работу с этим руководством, убедитесь, что вы выполнили следующие предварительные требования:
- Имейте доменное имя, указывающее на общедоступный IP-адрес вашего сервера. Мы будем использовать example.com .
- Вы вошли в систему как пользователь с привилегиями sudo .
- Установите Nginx .
- Установите сертификат SSL для вашего домена.
Создание базы данных MySQL
Redmine поддерживает MySQL / MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL . Мы будем использовать MariaDB в качестве серверной части базы данных. Убедитесь, что на вашем компьютере установлена как минимум MySQL 5.7 или MariaDB 10.3.
Если MariaDB или MySQL не установлены на вашем сервере Debian, вы можете установить их, следуя этим инструкциям .
Начните с входа в консоль MySQL, набрав:
Выполните следующий оператор SQL, чтобы создать новую базу данных :
CREATE DATABASE redmine CHARACTER SET utf8mb4;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
После этого выйдите из консоли MariaDB, набрав:
Установка Ruby
Самый простой способ установить Ruby в Debian — использовать менеджер пакетов apt :
sudo apt install ruby-full
На момент написания в репозиториях Debian стоит 2.3.3p222 которая поддерживается последней версией Redmine.
Если вы хотите установить Ruby через Rbenv или RVM, посетите это руководство .
Установка Passenger и Nginx
Passenger — это быстрый и легкий сервер веб-приложений для Ruby, Node.js и Python, который можно интегрировать с Apache и Nginx. Мы установим Passenger как модуль Nginx.
Убедитесь, что Nginx установлен, прежде чем продолжить следующие шаги.
Установка необходимых пакетов для включения репозитория https:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
Импортируйте ключ GPG репозитория и включите репозиторий Phusionpassenger :
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7
sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger stretch main'
Обновите список пакетов и установите модуль Passenger Nginx с помощью:
sudo apt update
sudo apt install libnginx-mod-http-passenger
Установка Redmine на Debian
Начните с установки зависимостей, необходимых для сборки Redmine:
sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev
На момент написания этой статьи последней стабильной версией Redmine была версия 4.0.4.
Перед тем, как перейти к следующему шагу, вам следует проверить страницу загрузки Redmine, чтобы найти более новую версию.
1. Скачивание Redmine
Загрузите архив Redmine с помощью следующей команды curl :
sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz
После завершения загрузки извлеките архив и переместите его в каталог /opt :
cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.0.4 /opt/redmine
2. Настройка базы данных Redmine.
Скопируйте пример файла конфигурации Redmine:
sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
Откройте файл в текстовом редакторе:
sudo nano /opt/redmine/config/database.yml
Найдите production раздел и введите базу данных MySQL и информацию о пользователе, которую мы создали ранее:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8
После этого сохраните файл и выйдите из редактора.
3. Установка зависимостей Ruby
Перейдите в каталог redmine и установите бандлер и другие зависимости Ruby:
cd /opt/redmine/
sudo gem install bundler --no-rdoc --no-ri
sudo bundle install --without development test postgresql sqlite
4. Сгенерируйте ключи и перенесите базу данных.
Выполните следующую команду, чтобы сгенерировать ключи и перенести базу данных:
cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate
5. Установите правильные разрешения.
Nginx работает как пользователь и группа www-data . Установите правильные разрешения, выполнив следующую команду chown :
sudo chown -R www-data: /opt/redmine/
Настроить Nginx
К настоящему времени у вас уже должен быть установлен Nginx с сертификатом SSL в вашей системе, если нет, проверьте предварительные требования для этого руководства.
Откройте текстовый редактор и создайте следующий файл блока сервера Nginx :
sudo nano /etc/nginx/sites-available/example.com
# Redirect HTTP -> HTTPS server listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; > # Redirect WWW -> NON WWW server listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; > server listen 443 ssl http2; server_name example.com; root /opt/redmine/public; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; >
Не забудьте заменить example.com своим доменом Redmine и указать правильный путь к файлам сертификатов SSL. Все HTTP-запросы будут перенаправлены на HTTPS . Фрагменты, используемые в этой конфигурации, созданы в этом руководстве .
Включите блокировку сервера, создав символическую ссылку на каталог sites-enabled :
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Перед перезапуском сервиса Nginx проверьте, нет ли синтаксических ошибок:
Если ошибок нет, результат должен выглядеть так:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo systemctl restart nginx
Доступ к Redmine
Откройте браузер , введите свой домен и, если установка прошла успешно, появится экран, подобный следующему:
Учетные данные для входа в Redmine по умолчанию:
При первом входе в систему вам будет предложено изменить пароль, как показано ниже:
После изменения пароля вы будете перенаправлены на страницу учетной записи пользователя.
Выводы
Вы успешно установили Redmine в своей системе Debian. Теперь вам следует проверить документацию Redmine и узнать больше о том, как настроить и использовать Redmine.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.