Как развернуть redmine ubuntu

Обновлено: 04.07.2024

Установка Redmine на Ubuntu выполняется в несколько несложных этапов, так как все нужные пакеты находятся в репозитории данного дистрибутива Linux, и в ходе установки инсталлируются все зависимости и выполняется конфигурирование системы автоматически. При написании инструкции применялась Ubuntu Server 16.04.05.

Redmine является веб-приложение, поэтому его удобнее всего публиковать с помощью веб-сервера. Мы рассмотрим вариант использования Apache, так как данный программный продукт легко интегрируется с passenger, который является связующим звеном между Ruby on rails и веб-сервером.

В данной статье я делаю упор на максимальную простоту развертывания Redmine — без ручной установки ruby, gems, и так далее. Она не даст понимания, как работает сервер, но позволит быстро развернуть сервис (буквально, за 10 минут).

Сервер баз данных

В качестве СУБД будем использовать MariaDB:

apt install mariadb-server

Разрешаем запуск, стартуем сервис:

systemctl enable mysql

systemctl start mysql

Задаем пароль для суперпользователя mariadb:

mysqladmin -u root password

Установка Redmine

Для корректной установки нужно поставить отдельно пакет — без него установка redmine будет заканчиваться ошибкой:

apt install ruby-mysql2

В Ubuntu пакет для установки Redmine есть в репозитории. Вводим команду:

apt install redmine

. в результате ее выполнения будет скачано и установлено множество зависимостей. Также система спросит, какую СУБД необходимо использовать — выбираем MySQL и вводим пароль для пользователя redmine, который будет создан в СУБД.

После завершения установки, система автоматически создаст базу и внесет необходимые настройки.

Выполняем тестовый запуск Redmine:

rails server webrick -e production -b 0.0.0.0

* первой командой мы переходим в каталог, в который устанавливается redmine; второй командой мы запускаем Ruby on Rails на 3000 порту и на всех сетевых адаптерах.

Домашняя страница Redmine

Пробуем войти в систему — логин и пароль по умолчанию admin / admin.

Настройка веб-сервера

Для автоматической публикации Redmine в качестве веб-приложения мы будем использовать apache и модуль passenger. Для их установки вводим:

apt install apache2 libapache2-mod-passenger

Создаем виртуальный домен:

* где *:80 указывает слушать на всех сетевых интерфейсах, 80 порту; ServerName — имя виртуального домена (тут нужно задать Ваш URL, который будет использоваться для Redmine); DocumentRoot — домашняя директория Redmine; RailsEnv — рабочее окружение, в котором запустится приложение.

Prerequisite: check your ubuntu version against intended Redmine version¶

If you are sure that you want to install from ubuntu-repositories, keep on reading:

Introduction¶

This tutorial walks you step-by-step through installing Redmine on a clean/fresh Ubuntu 12.04 installation. This is intended to be a complete cookbook method for getting Redmine installed and running. It makes no assumptions about other things being installed or configured. Since I have had some issues when using the graphical package managers, we will be doing this from the command line prompt to keep things as clear and clean as possible.

I recommend that you install any Ubuntu updates prior to beginning this process. There are almost always some waiting to be applied after Ubuntu is first set up.

Prerequisites: Apache, mod-passenger, and MySQL¶

There are several support packages that we will install first. The apache installation is pretty simple if you just follow the prompts and accept the defaults.

Installing mysql takes just a little more, so the details are spelled out.

The installation process for mysql is going to prompt you for a password for the "root" access for the database server, then ask you to confirm the password in a follow-up screen. This sets the database adminstration password.

Installing and configuring the Ubuntu Redmine package¶

Now it is time to install redmine itself.

You want to allow dbconfig-common to configure the database when prompted so select Yes from the prompt in the panel below.

Then you want to provide the "root" password for the database, so that the installer can create the redmine database. This is the password set when you installed mysql.

Tell the redmine installer we are using mysql for this installation by highlighting "mysql" from the list of database choices:

Now you are asked to provide a password that will be used to protect the redmine database. Redmine itself will use this when it wants to access mysql.

Now confirm the redmine password.

Ensure the bundler gem is installed

Configuring Apache¶

You need to modify two files for apache. The first is /etc/apache2/mods-available/passenger.conf which needs the text PassengerDefaultUser www-data added as seen below. Do not try to replace whole file content!

Now create a symlink to connect Redmine into the web document space:

And modify /etc/apache2/sites-available/000-default.conf (before apache 2.4 /etc/apache2/sites-available/default) to insert the following with the other <Directory> sections so that apache knows to follow the symlink into Rails:

Create and set the ownership of a Gemfile.lock file so that apache's www-data user can access it:

Now restart apache:

You should now be able to access redmine from the local host

In the upper right corner of the browser window you should see the "Sign in" link. Click that and enter "admin" at both the Login: and Password: prompts. Note: this is not the password you set during the installation process. Click the Login button.

I recommend that the next thing you do is to click on My account in the upper right corner and change that password. In the page that is displayed there should be a Change password link in the upper right of the white area of the page. Click to change the password.

Backing up Redmine¶

You should arrange a regular backup of the Redmine database and the files that users upload/attach. The database can be dumped to a text file with:
where <password> is the one you set when installing mysql.

The attachments are stashed in /var/lib/redmine/default/files and can be backed up with something like:

You can have these commands run automatically by creating a script called /etc/cron.daily/redmine that contains:

Again, be sure to substitute the mysql root password for <password> in the mysqldump command line. The file should be protected so that only root has read permission because you are storing the root password for your mysql installation in this file. That the first line creates a new file every time the script is run. This can eventually create a large number of backups of your database files. You should have a script that purges old ones periodically.

There are some services that Redmine can use that are not absolutely necessary, but are useful. These are email and software repository/revision control systems.

Email setup¶

At some point you will probably want Redmine to be able to send email. For this you will need to install and configure email. This can be achieved by installing the postfix package. I do not recommend the exim4 package, as there have been some incompatibilities in the way the "sendmail" command line is handled between Redmine and exim4. Unless everyone has an email account on the redmine server you will want to set up external email as a full internet host. Once email service is installed, you will have to restart apache for Redmine to know that it has access to email services.

Now that you can send email, you have to tell Redmine about it. You need to create/edit the file /etc/redmine/default/configuration.yml and add the following lines:

Then restart apache so that Redmine reloads the configuration file:

Revision control repository setup¶

In order to have your software repository on the system Redmine will need the corresponding software installed.

Данная документацию по установке Redmine 1.4.0 и выше. Вы все еще можете прочитать документ для 1.3.x здесь.

Требования¶

Операционная система¶

Redmine должен работать на Unix, Linux, Mac, Mac Server и Windows поскольку Ruby доступен для этих платформ. Конкретные инструкции доступны здесь.

Ruby интерпретатор¶

Соответствие версий Ruby и версий Redmine:

Версия Redmine Поддерживаемая
версия Ruby
Необходимая
версия Rails
текущий trunk ruby 1.9.3, 2.0.0, 2.1, 2.2 Rails 4.2
3.0 ruby 1.9.3, 2.0.0, 2.1, 2.2 Rails 4.2
2.6 ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1, 2.2, jruby-1.7.6 Rails 3.2

База данных¶

Не обязательные компоненты¶

  • Бинарники системы управления исходным кодом (SCM) (например svn), для просмотра хранилища(должны быть доступны в PATH). Прочитайтехранилища Redmine для получения информации о совместимости и требованиях. (чтобы включить возможность экспорта диаграммы Ганта в png изображение) (чтобы активировать поддержку OpenID). Требуется версия 2 или выше.

Версии Redmine¶

Большинству пользователей рекомендуется устанавливать последние версии релизов Redmine. В настроящее время новые версии Redmine выпускаются каждые 6 месяцев, эти релизы считаются стабильными и пригодными к использованияю. Не рекомендуется устанавливать Redmine из trunc репозитария, пока если вы глубоко не изучите Ruby On Rails и не сможете идти в ногу с изменениями - время от времени транк ломается.

Установка¶

Шаг 1 - Redmine application¶

Получите исходный код Redmine, загрузив архив релиза или получив код из хранилища. См. Download.

Шаг 2 - Установка зависимостей¶

Redmine использует Bundler для управления зависимостями gems пакетов.

Вам необходимо вначале установить Bundler:

Затем вы можете установить все зависимости требующиеся Redmine. Для этого распаковываете полученный на первом шаге архив релиза в какую-нибудь папку. Делаете эту папку рабочей и устанавливаете зависимости с помощью следующей команды:

не обязательные зависимости¶

RMagick (позволяет использовать ImageMagick для работы с изображениями в при экспорте в PDF и PNG)¶

Если ImageMagick не установлен в вашей системе, вы должны пропустить установку gem-пакета rmagick используя команду:

Если у вас проблемы с установкой rmagick на Windows, посмотрите это HowTo.

Неиспользуемые адаптеры баз данных¶

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

Например, если вы используете MySQL, вы можете пропустить установку пакетов PostgreSQL, SQLite с помощью команды:

Дополнительные зависимости ( Gemfile.local )¶

Если вам нужно загрузить gem-пакеты, которые не требуются для ядра Redmine (например, Puma, FCGI), создайте файл Gemfile.local в корневом каталог Redmine. Данный файл будет автоматически загружаться при запуске bundle install .

Создайте пустую базу данных и сопутствующего пользователя¶

Здесь для примера база данных и пользователь базы будет назван redmine , но вы его можете заменить на что-нибудь ещё.

MySQL¶

Для версий MySQL до 5.0.2 вместо шага create user используйте:

PostgreSQL¶

Шаг 4 - Настройка подключения к базе данных¶

Скопируйте файл config/database.yml.example в config/database.yml и отредактируйте этот файл так, чтобы настроить параметры базы данных для "production" окружения(реальное окружения, используемое для работы).

Пример для базы данных MySQL, использующей ruby1.8 или jruby:

Пример для базы данных MySQL, использующей ruby1.9 (адаптер должен быть установлен в mysql2 ):

Если ваш сервер не работает со стандартным портом (3306), используйте эту конфигурацию:

Пример для PostgreSQL (порт по-умолчанию):

Шаг 5 - Генерация ключа для безопасного хранения сессий¶

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

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

Шаг 6 - Создание структуры базы данных¶

  1. Создайте структуру базы данных, выполнив следующую команду в корневом каталоге приложения:

Это создаст таблицы и учетную запись администратора с именем admin .

Если вы получите вот такую ошибку:

вам необходимо установить libopenssl-ruby1.8 , в Ubuntu выполните: apt-get install libopenssl-ruby1.8

Шаг 7 - Загрузка данных по умолчанию¶

Установите в базу данных конфигурацию по умолчанию, выполнив следующую команду:

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

Шаг 8 - Настройка разрешений¶

Пользователи Windows могут пропустить этот шаг.

  1. files (хранит вложения)
  2. log (логи приложения production.log )
  3. tmp and tmp/pdf (создайте, если их нет. Используется для создания PDF документов).

Предполагается, что вы запустили Redmine от пользователя redmine:

Шаг 9 - Тестирование установки¶

Протестируйте установку путем запуска веб-сервера WEBrick:

  • для Redmine 1.4.x:
  • для Redmine 2.x:
  • для Redmine 3.x

Примечание: Webrick не подходит для нормальной эксплуатации, пожалуйста, используйте WEBrick только для тестирования установки. Не рекомендуется использовать webrick ни для чего кроме разработки. Используйте одно из многих руководств в этой вики для настройки Passenger(также известного как mod_rails ), FCGI или Rack сервер (Unicorn, Thin, Puma, hellip;) для обслуживания вашего redmine.

Используйте учетную запись администратора по умолчанию, чтобы войти:

Теперь вы можете посетить раздел Administration (Администрирование) для изменения настроек приложения.

Настройка¶

Настройки Redmine определяются в файле config/configuration.yml .

Если вам необходимо изменить настройки по-умолчанию, просто скопируйте config/configuration.yml.example в config/configuration.yml и отредактируйте новый файл. Этот файл хорошо прокомментирован, так что смотрите его.

Эти настройки могут быть определены для каждого окружения Rails ( production / development / test ).

: Не забудьте перезапустить приложение после любого изменения.

Настройка Email / SMTP-серверов¶

Настройка email описана на отдельной странице.

Настройки SCM ¶

  • изменить имена команд по-умолчанию, если бинарники SCM в PATH используют нестандартные имена (Windows .bat/.cmd не работают)
  • определить полный путь к бинарникам

Переопределение имени команды:

Настройка хранилища вложений¶

Вы можете задать путь, где Redmine будет хранить вложения, который отличается от стандартного 'files', используя параметр attachments_storage_path .

Настройка логирования¶

По-умолчанию в Redmine уровень журналирования :info (информация). В зависимости от использования сайта, лог может сильно вырасти. Чтобы это избежать, необходимо его ротировать, либо с помощью системной утилиты logrotate , либо через файл сonfig/additional_environment.rb .

Для использования последнего, необходимо скопировать config/additional_environment.rb.example в config/additional_environment.rb и в нем добавить следующие строки. Отметим, что по умолчанию в файле установлен высокий уровень журналирования, следовательно, должен быть явно установлен в информацию.

Резервное копирование¶

  • данные (хранящиеся в базе данных Redmine)
  • вложения (хранится в директории files вашей установки Redmine, если не настроено иное местоположение этих файлов)

Вот простой скрипт, который может быть использован для создания ежедневных резервных копий (предположим вы используете базу данных MySQL):

Замечания по установке на Windows¶

После его установки, выберите Start Command Prompt with Ruby в меню Пуск.

При выполнении команд, описанных в данном руководстве, вы должны установить переменной окружения RAILS_ENV с помощью отдельной команды.

Например команды со следующим синтаксисом:

должны быть превращены в 2-е последовательные команды:

Вам может понадобиться установить gem mysql с помощью команды:

Важное замечание для Win7 и последующих

В Win7 и последующих, запись localhost закомментирована в host-файле 1 , а IPV6 является записью по умолчанию 2 . Так как gem-пакет mysql2 не поддерживает адресацию IPV6 3 , то соединение с базой данных не может быть установлено и вы получаете ошибку " Can't connect to MySQL server on 'localhost' (10061) ".
Вы можете проверить это пропинговав localhost , если будет пинговаться "::1:", значит используется адресация IPV6.

В файле database.yml заменить localhost на 127.0.0.1 .

Альтернатива ручной установке¶

Некоторые пользователи предпочитают пропустить ручную установку и использовать один из сторонних пакетов Redmine со страницы загрузки.

  • Постановка задачи
  • Отслеживание задачи
  • Баг репорт
  • Создание Wiki заметок и наработок
  • Интеграция в Active Directory
  • Русифицированный интерфейс
  • и т.д.

Все дальнейшие действия я буду делать применительно на системе Ubuntu 12.04.5 Server amd64

  • RAM = 4Gb
  • HDD = пока начальный в 25Gb
  • CPU = 2

$ sudo apt-get install ssmtp mailutils -y

$ sudo nano /etc/ssmtp/revaliases

Проверяю, что отправка работает, но не тут то было

и пусто/висит, в логах syslog Жалуется на строку: FromLineOvveride, комментировал, изменял значение результата не дает. Блин один большой огромный блин — вот если завязываешься на кого-то, то этот кто-то всегда мозжен подвести в самый не подходящий момент. Лучше чтобы все было самолично настроенно тогда винить можно только себя. Но вот что примечательно с конфигурационным файлом выше (Но ориентированным на используемый на работе почтовый сервер все отрабатывает) у меня все до сих пор работает на сервере с сервисом glpi & zoneminder и многими другими, но вот строка: FromLineOvveride=yes => где «yes» должно быть маленькими буквами, а не заглавными выше, хотя еще раз повторюсь работало ранее в заметках именно большими. А вот для «Почта для домена от Yandex» вдруг перестала. Еще раз проверив все конфигурационные файлы нашел что в файле /etc/ssmtp/revaliases у меня опечатка — нет такого ssmtp:

в другой консоли смотрю логи:

Mar 5 08:00:39 srv-mon sSMTP[2380]: Creating SSL connection to host

вместо: UseSTARTTLS нужно UseTLS, поправив проверяю:

[<-] 535 5.7.8 Error: authentication failed: Invalid user or password!

ssmtp: Authorization failed (535 5.7.8 Error: authentication failed: Invalid user or password!)

и только уже после этого отправка писем работает как надо, итоговый конфигурационный файл вот такой:

Итого: все у меня в заметках по части ssmtp было настроено правильно, просто здесь и сейчас я по своей невнимательности допустил слишком много ошибок.

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

precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 12.04.5 LTS

$ sudo tasksel install lamp-server

Преднастраиваю первоначальную безопасность mysql:

Enter current password for root (enter for none): 712mbddr@

Change the root password? [Y/n] n

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

У меня уже несколько раз в процессе установки LAMP получалась вот такая вот ошибка:

tasksel: aptitude failed (100)

$ sudo rm -Rf /var/lib/apt/lists/

$ sudo apt-get update

запускаю установку LAMP и она запустилась

$ sudo tasksel install lamp-server

$ sudo nano /etc/apache2/apache2.conf

Устанавливаю из репозитариев системы пакеты разворачиваемого сервиса Redmine:

$ sudo apt-get install redmine redmine-mysql -y

Otherwise, you should probably choose this option: Ok

Configure database for redmine/instances/default with dbconfig-common? Yes

Database type to be used by redmine/instances/default: mysql

MySQL application password for redmine/instances/default: 712mbddr@

Password confirmation: 712mbddr@

$ sudo nano /etc/apache2/mods-available/passenger.conf

<IfModule mod_passenger.c>
PassengerDefaultUser www-data
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
</IfModule>

$ sudo ln -s /usr/share/redmine/public/ /var/www/redmine

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/redmine.conf

$ sudo unlink /etc/apache2/sites-available/default

$ sudo unlink /etc/apache2/sites-enabled/000-default

Создаю сайт Redmine:

$ sudo nano /etc/apache2/sites-available/redmine.conf

$ sudo a2ensite redmine.conf

Enabling site redmine.conf.

To activate the new configuration, you need to run:

service apache2 reload

$ sudo service apache2 reload

Warning: DocumentRoot [/var/www/remine] does not exist

Syntax error on line 6 of /etc/apache2/sites-enabled/redmine.conf:

The Apache error log may have more information.

$ sudo a2enmod passenger

ERROR: Module passenger does not exist!

Инсталлирую в систему пакет недостающего модуля:

$ sudo apt-get install libapache2-mod-passenger -y

*** passenger.conf (Y/I/N/O/D/Z) [default=N] ? Y

$ sudo a2enmod passenger

Module passenger already enabled

$ sudo service apache2 reload

default via 192.168.1.9 dev eth0 metric 100

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.180

Нажимаю “Войти”, авторизуюсь:

странно меня не пускает, говорит: Неправильное имя пользователя или пароль (Invalid user or password)

Ладно, тогда сброшу пароль на свой дефолтно административный.

Все пользователи Redmine хранятся в базе данных в таблице users. Пароль формируется следующим принципом: 'SHA1\(salt + SHA1)'

Сам пароль хранится в поле hashed_password, соль в поле salt.

Необходимо сбросить соль и обновить значение поля hashed_password. Для начала получим новое значение hashed_password:

$ echo -n 712mbddr@ | sha1sum | awk ''

202c31e6e1773bfbae218996cf491f76913f909e

$ echo -n 202c31e6e1773bfbae218996cf491f76913f909e | sha1sum | awk ''

Теперь подключаемся к mysql и изменяем пароль пользователя admin (или другого пользователя)

$ mysql -u root -p712mbddr@;

mysql> show databases;

4 rows in set (0.00 sec)

mysql> use redmine_default;

mysql> update users set hashed_password=' 539ba8c66ebe5bfad877b8ca97f814c0c1836922 ' where login='admin';

mysql> update users set salt='' where login='admin';

, где salt='' (две одинарные кавычки)

mysql> quit;

Теперь возвращаюсь к странице авторизации и ввожу логин и изменный выше пароль (admin:712mbddr@) и я успешно авторизован:

Авторизовавшись в Redmine я у административном окружении

Перехожу в My account и настраиваю:

и нажимаю Save (Учетная запись успешно обновлена.)

Теперь можно создать свой первый проект: Проекты – Новый проект

  • Имя: Ubuntu Precise
  • Описание: Особенности работы с релизом Ubuntu 12.04.5 Server/Dekstop
  • Уникальный идентификатор: precise

Так выглядит созданный проект

Перехожу в созданный проект: Ubuntu Precise и внутри него создаю задачу, вкладка “Новая задача”.

Поднятие АТС для связки телефонов беспроводных телефонов Cisco

* Как сбросить настройки на телефонах

* Как зайти на Web-интерфейс телефона

* Как развернуть Asterisk+FreePBX

* Как развернуть tftpd

* Как обновить телефоны через tftpd

По окончании заполнения необходимых параметров постановки задачи нажимаю “Создать и продолжить”.

Это так можно создавать задачи, назначать их (в Redmine потребуется завести учетные записи для сотрудников кому будет делегирована задача), отслеживать за статусом их выполнения.

Что еще интересно в Redmine есть возможность создания собственной Wiki, для этого следует в основном интерфейсе перейти на вкладку Wiki, так можно закачивать файлы чтобы были всегда под рукой.

Создам первую заметку в Wiki: вкладка Wiki, после делаю следующее:

Создаю первую заметку в Wiki Redmine

Нельзя взять просто и скопировать Ваши наработки из odt,doc,docx документов в “Новый документ”, их нужно посредством встроенного редактора оформить (ну все тоже что Вы видите при просмотре сайта wikipedia или любого другого ресурса в интернете), но поверьте несколько раз поднатаскавшись Вы будете довольны результатом.

А пока я завершу повествование по Redmine чтобы не засорять заметку всеми описания работы с данной системой. Чуть позже когда оформлю дальнейшие заметки я познакомлю Вас и себя в том числе с тем функционалом который обычно остается за кадром при работе с данной системой. По большинству найденного в интернете все описано как-то не очень внятно и понятно, повторив которое оно не работает, но только не у меня. Я же стараюсь сделать на совесть и последующее использование. До встречи на заметках моего блога уважаемый читатель, с уважением автор блога – ekzorchik.

Читайте также: