Redmine — открытое серверное веб-приложение для управления проектами и задачами, написанное на языке Ruby. Перед выполнением операций, описанных в данной статье, на сервере уже должны быть установлены и настроены Apache2 и MySQL.
В данном примере сервер Apache работает с сайтами, расположенными в папке по умолчанию /var/www/html. При необходимости далее указывайте свой путь.
Подготовка базы данных
Войти в базу данных MySQL, уже установленную на сервере командой в терминале:
mysql -u root -p
Создать базу данных, которую будет использовать Redmine. База будет назваться «redmine» (без кавычек):
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Создать пользователя «redmine» для подключения к базе:
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
где «password» — придуманный вами пароль.
Проверить изменения:
SELECT user,host,plugin FROM mysql.user;
Применить изменения:
FLUSH PRIVILEGES;
Выйти:
EXIT;
Подготовка папки с будущим содержанием Redmine
В папке /var/www/html создать папку redmine, выполнив команду:
sudo mkdir /var/www/html/redmine
Проверить, выполнив команду:
sudo ls -l /var/www/html
Созданная папка будет принадлежать пользователю root. Передать права на папку пользователю www-data, выполнив команду:
sudo chown www-data:www-data /var/www/html/redmine
Убедиться в успешном выполнении команды, повторив:
sudo ls -l /var/www/html
Теперь папка redmine принадлежит пользователю www-data и группе www-data.
Сервер приложений Passenger
Установить сервер приложений Passenger, который будет использоваться Ruby и интегрировать его с Apache:
sudo apt install apache2 libapache2-mod-passenger
Установить Redmine:
sudo apt install redmine redmine-mysql
Установить gem-пакет:
sudo gem update
sudo gem install bundler
Настроить модуль Apache Passenger:
sudo nano /etc/apache2/mods-available/passenger.conf
Содержание passenger.conf:
<IfModule mod_passenger.c>
PassengerDefaultUser www-data
PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
PassengerDefaultRuby /usr/bin/ruby
</IfModule>
Создать символическую ссылку для подключения Redmine:
sudo ln -s /usr/share/redmine/public /var/www/html/redmine
Проверить командой:
sudo ls -l /var/www/html/redmine
В выводе команды появится запись, похожая на:
lrwxrwxrwx 1 root root 25 янв 14 12:28 public -> /usr/share/redmine/public
Настройка сервера Apache
Создать файл виртуального хоста Apache для Redmine, отредактировав файл конфигурации redmine.conf командой:
sudo nano /etc/apache2/sites-available/redmine.conf
Содержание redmine.conf:
<VirtualHost *:80>
ServerAdmin admin@server.com
DocumentRoot /var/www/html/redmine
ServerName redmine.server
ServerAlias www.redmine.server
<Directory /var/www/html/redmine>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Или
<VirtualHost *:80>
ServerAdmin admin@server.com
DocumentRoot /your/path/redmine/public
ServerName redmine.server
ServerAlias www.redmine.server
<Directory /your/path/redmine/public>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory> ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Включить виртуальный хост Redmine и модуль перезаписи Apache:
sudo a2enmod rewrite
sudo a2ensite redmine.conf
Перезапустить Apache:
systemctl reload apache2
Готово, можно пользоваться. Для проверки перейдите в браузере, находящемся в вашей локальной сети, по адресу www.redmine.server.
#redmine #ubuntuserver