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
Из оболочки 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
Добавьте пользователя apache
в группу redmine
и измените /opt/redmine
доступа к redmine
/opt/redmine
чтобы Apache мог получить к нему доступ:
sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine
Установка Redmine
На момент написания последней стабильной версии Redmine была версия 4.1.0.
Прежде чем перейти к следующим шагам, посетите страницу загрузки Redmine, чтобы узнать, доступна ли более новая версия.
Установите компилятор GCC и библиотеки, необходимые для сборки Redmine:
sudo dnf group install "Development Tools"
sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel
Убедитесь, что вы выполняете следующие шаги как пользователь redmine
:
sudo su - redmine
1. Скачивание 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
2. Настройка базы данных 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
После этого сохраните файл и выйдите из редактора.
3. Установка зависимостей Ruby
Перейдите в 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
4. Сгенерируйте ключи и перенесите базу данных.
Выполните следующую команду, чтобы сгенерировать ключи и перенести базу данных:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
Настройка Apache
Вернитесь к своему пользователю sudo и создайте следующий файл Apache vhost :
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>
Перезапустите службу Apache , набрав:
sudo systemctl restart httpd
Настроить Apache с SSL
Если у вас нет доверенного сертификата SSL для вашего домена, вы можете сгенерировать бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям .
После создания сертификата отредактируйте конфигурацию Apache следующим образом:
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
Protocols h2 http/1.1
<If "%{HTTP_HOST} == 'www.example.com'">
Redirect permanent / https://example.com/
</If>
DocumentRoot /opt/redmine/redmine-4.1.0/public
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
<Directory /opt/redmine/redmine-4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
</VirtualHost>
Доступ к Redmine
Откройте браузер , введите свой домен и, если установка прошла успешно, появится экран, подобный следующему:
Учетные данные для входа в Redmine по умолчанию:
- Имя пользователя: admin
- Пароль: admin
Когда вы входите в систему в первый раз, вам будет предложено изменить пароль, как показано ниже:
После изменения пароля вы будете перенаправлены на страницу учетной записи пользователя.
Если вы не можете получить доступ к странице, возможно, ваш брандмауэр блокирует порты 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.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.