Введение
Redmine — это бесплатное приложение с открытым исходным кодом для управления проектами и отслеживания проблем. Это кросс-платформенная и кросс-база данных, построенная на платформе Ruby on Rails.
Redmine включает поддержку нескольких проектов, вики, систему отслеживания проблем, форумы, календари, уведомления по электронной почте и многое другое.
В этом руководстве объясняется, как установить и настроить последнюю версию Redmine на CentOS 8. Мы будем использовать MariaDB в качестве базы данных и Passenger + Apache в качестве сервера приложений Ruby.
Предпосылки
Убедитесь, что выполнены следующие предварительные условия:
- Доменное имя, указывающее на общедоступный IP-адрес сервера.
- Пользователь root или пользователь с привилегиями sudo.
Создать базу данных MySQL
Redmine поддерживает MySQL /MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL. Мы будем использовать MariaDB в качестве базы данных.
Если на вашем сервере CentOS не установлены MariaDB или MySQL, вы можете установить их, следуя этим инструкциям.
Войдите в оболочку MySQL, введя следующую команду:
sudo mysql
Или, если вы следовали нашему руководству и установили пароль для пользователя root, используйте следующую команду:
sudo mysql -u root -p
В оболочке MySQL выполните следующие операторы SQL, чтобы создать новую базу данных, нового пользователя и предоставить пользователю доступ к базе данных:
CREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Убедитесь, что вы изменили « change-with-strong-password
» на надежный пароль.
После этого выйдите из оболочки MySQL:
EXIT;
Установите Passenger, Apache и Ruby
Passenger — это быстрый и легкий сервер веб-приложений для Ruby, Node.js и Python, который можно интегрировать с Apache и Nginx. Мы установим Passenger как модуль Apache.
Включите репозиторий EPEL:
sudo dnf install epel-release
sudo dnf config-manager --enable epel
После включения репозитория обновите список пакетов и установите Ruby, Apache и Passenger:
sudo dnf install httpd mod_passenger passenger passenger-devel ruby
Запустите службу Apache и включите ее запуск при запуске:
sudo systemctl enable httpd --now
Создайте нового системного пользователя
Создайте нового пользователя и группу с домашним каталогом /opt/redmine
, который будет запускать экземпляр Redmine:
sudo useradd -m -U -r -d /opt/redmine redmine
Добавьте пользователя redmine
в группу apache
и измените права доступа к /opt/redmine
, чтобы Apache мог получить к нему доступ:
sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine
Установить Redmine
На момент написания этой статьи последней стабильной версией Redmine была версия 4.1.0.
Прежде чем перейти к следующим шагам, посетите страницу загрузки Redmine, чтобы узнать, доступна ли более новая версия.
Установите компилятор GCC и библиотеки, необходимые для компиляции Redmine:
sudo dnf install make automake curl-devel glibc-devel git bzip2 nano wget tar gettext-devel openssl-devel zlib-devel gcc autoconf mariadb-devel redhat-rpm-config ruby-devel
Убедитесь, что вы выполняете следующие шаги как пользователь redmine
:
sudo su - redmine
Redmine скачать
Скачайте архив Redmine с curl
:
curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz
После завершения загрузки распакуйте архив:
tar -xvf redmine.tar.gz
Настройка базы данных Redmine
Скопируйте файл конфигурации образца базы данных Redmine:
cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml
Откройте файл в текстовом редакторе:
nano /opt/redmine/redmine-4.1.0/config/database.yml
Найдите раздел production
и введите базу данных MySQL и информацию о пользователе, которую мы создали ранее:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "change-with-strong-password"
encoding: utf8mb4
Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.
Установите Ruby-зависимости
Перейдите в каталог redmine redmine-4.1.0
и установите зависимости Ruby:
cd ~/redmine-4.1.0
gem install bundler --no-rdoc --no-ri
bundle install --without development test postgresql sqlite --path vendor/bundle
Сгенерируйте ключи и перенесите базу данных
Выполните следующую команду, чтобы сгенерировать ключи и перенести базу данных:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
Настроить Apache
Вернитесь к своему пользователю sudo и создайте следующий vhost-файл Apache:
exit
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /opt/redmine/redmine-4.1.0/public
<Directory /opt/redmine/redmine-4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
example.com
Перезапустите службу Apache, набрав:
sudo systemctl restart httpd
Настройте Apache с SSL
Если у вас нет доверенного SSL-сертификата для вашего домена, вы можете создать бесплатный SSL-сертификат Let's Encrypt. Следуя этим инструкциям, вы сможете автоматически установить и настроить бесплатный SSL-сертификат Let's Encrypt.
После создания сертификата ранее созданный файл конфигурации должен был быть автоматически изменен следующим образом:
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /opt/redmine/redmine-4.1.0/public
<Directory /opt/redmine/redmine-4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
HTTP-запросы будут перенаправлены на HTTPS
Войдите в Redmine
Откройте браузер и введите свой домен https://DOMINIO/login
.
Учетные данные для входа в Redmine по умолчанию:
- Имя пользователя: админ
- Пароль: админ
При первом входе в систему вам будет предложено изменить пароль.
После смены пароля вы будете перенаправлены на страницу учетной записи пользователя.
Если вы не можете получить доступ к странице, возможно, ваш брандмауэр блокирует порты Apache.
Используйте следующие команды, чтобы открыть нужную дверь:
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload
Вывод
Redmine был успешно установлен в системе CentOS. Теперь вам следует ознакомиться с документацией Redmine и узнать больше о том, как настроить и использовать Redmine.