Как установить Redmine 3.2 с Nginx на Ubuntu 16.04
Redmine — это инструмент управления проектами и отслеживания проблем с открытым исходным кодом, основанный на Ruby on Rails Framework. Он основан на веб-интерфейсе, поэтому вы можете использовать его с любой клиентской платформы, которая предоставляет веб-браузер. Он хорошо подходит для многоязычных команд, поскольку содержит переводы на 42 языка. Вы можете отслеживать несколько проектов в одной установке, он имеет встроенную поддержку новостей, управление документами, управление файлами, поддержку вики. Вы можете связать его с другими приложениями с помощью аутентификации LDAP и REST API.
В этом руководстве рассматривается установка Redmine 3.2 с веб-сервером Nginx и сервером базы данных MySQL в операционной системе Ubuntu 16.04 (64-разрядная версия).
Предпосылки
- Ubuntu 16.04 — 64-разрядная версия.
- Привилегии root.
Шаг 1 — Установите зависимости
У Redmine много зависимостей, но мы можем легко установить их с помощью apt. Первый шаг — стать пользователем root, а затем обновить репозиторий Ubuntu. Все дальнейшие шаги в этом руководстве выполняются от имени пользователя root, поэтому я использую \sudo su\ вместо добавления sudo к каждой команде.
sudo su
apt-get update
Установите зависимости Redmine с помощью команды apt ниже:
apt-get install mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev git-core subversion
Установщик запросит новый корневой пароль MySQl, введите там новый и безопасный пароль MySQL.
Шаг 2 — Установите Ruby и RVM
На этом этапе мы установим последнюю версию RVM и Ruby 2.2. Стабильная версия Redmine 3.2 поддерживает Ruby версии 2.2, поэтому мы можем использовать ее здесь. RMV (Ruby Version Manager) — это удобный инструмент командной строки, который позволяет вам устанавливать, управлять и работать с несколькими средами Ruby.
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5
Теперь нам нужно перезагрузить RVM и добавить его в .bashrc для автоматической перезагрузки:
source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc
Шаг 3 — Настройте базу данных MySQL для Redmine
Мы создадим базу данных и пользователя базы данных для установки Redmine. Войдите в оболочку MySQL с пользователем root и своим паролем:
mysql -u root -p
TYPE YOUR PASSWORD
Затем создайте новую базу данных с именем \redmine\ и нового пользователя с именем redmine и паролем redmine (используйте лучший пароль при установке, это всего лишь пример), а затем предоставьте привилегии пользователю redmine для База Редмайн.
create database redmine;
create user identified by 'redmine';
flush privileges;
q\
База данных и пользователь созданы. Пожалуйста, используйте безопасный пароль на вашем сервере!
Шаг 4 — Установите Phusion Passenger и Nginx
Phusion Passenger — это веб-сервер и сервер приложений, который можно интегрировать с веб-серверами Apache и Nginx. Он поддерживает несколько языков, таких как Ruby, Python и Nodejs. Он прост в использовании, быстр и повышает безопасность установки.
В этой части мы установим Phusion Passenger и интегрируем его с Nginx. Redmine будет работать под управлением веб-сервера Nginx. Установите Passenger с помощью команды gem, а затем установите модульpassenger-nginx-module.
gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module
Команда спросит вас о поддерживаемом языке, выберите здесь Ruby и Python.
Вам будет задан вопрос об установке Nginx, выберите \Да: загрузить, скомпилировать и установить Nginx для меня (рекомендуется)\.
Наконец, вас спросят о каталоге установки Nginx, используйте по умолчанию /opt/nginx/ и нажмите \Enter\.
Шаг 5 — Настройте Nginx
Перейдите в каталог установки и отредактируйте файл nginx.conf с помощью редактора, здесь я воспользуюсь редактором vim.
cd /opt/nginx/conf/
vim nginx.conf
Вставьте строку конфигурации ниже в файл:
include vhost/*.conf;
Сохранить и выйти.
Затем создайте новый каталог vhost для конфигурации виртуального хоста.
mkdir -p /opt/nginx/conf/vhost
Перейдите в каталог vhost и создайте файл конфигурации виртуального хоста Redmine с помощью vim:
cd /opt/nginx/conf/vhost/
vim redmine.conf
Вставьте конфигурацию виртуального хоста ниже:
server {
listen 80;
server_name www.redmine.me;
root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size 10m; # Max attachemnt size
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Сохранить и выйти.
Далее мы настроим Nginx для запуска с systemd. Перейдите в каталог systemd и создайте новый служебный файл nginx.service.
cd /lib/systemd/system/
vim nginx.service
Вставьте скрипт Nginx для systemd ниже:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Сохраните файл и выйдите.
Перезагрузите службы systemd и попробуйте запустить Nginx с помощью команды systemctl:
systemctl daemon-reload
systemctl start nginx
Если вы хотите проверить Nginx, проверьте открытый порт 80 с помощью netstat:
netstat -plntu | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4871/nginx
Шаг 6 — Установите Redmine
Создайте новый каталог для установки Redmine, здесь я буду использовать каталог /var/www/.
mkdir -p /var/www/
Перейдите в каталог /var/www/ и загрузите redmine с помощью команды svn:
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine
Войдите в каталог redmine и скопируйте файл конфигурации и файл конфигурации базы данных:
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Затем отредактируйте файл database.yml с помощью vim:
vim config/database.yml
В производственной строке введите сведения о базе данных, пользователе базы данных и пароле. Используйте детали базы данных, которые вы создали в главе 3.
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
Сохраните файл и выйдите из редактора.
В каталоге redmine создайте новый каталог и измените владельца на www-data:
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets
Затем установите сборщик и зависимости gem для Redmine:
gem install bundler
bundle install --without development test
Теперь создайте секретный токен, а затем создайте базу данных:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
Перезапустите Nginx и зайдите в домен redmine с помощью веб-браузера:
systemctl restart nginx
Посетите установку redmine, в моем случае: www.redmine.me
Войдите на страницу администратора: www.redmine.me/login
Пользователь и пароль по умолчанию — admin.
Создайте новый образец проекта.
Пример страницы проекта.
Установка Redmine с Nginx и MySQL успешно завершена.
Заключение
Redmine — это веб-приложение для управления проектами и отслеживания проблем. Redmine — это кроссплатформенное приложение, поэтому мы можем запускать его в Windows, Linux и Mac OS. Он поддерживает различные базы данных, такие как MySQL, PostgreSQL, Microsoft SQL Server и SQLite. Redmine прост в установке и настройке, мы можем использовать Apache или Nginx в качестве веб-сервера. Redmine очень мощный и имеет множество функций, таких как многоязычная поддержка, управление файлами, вики и REST API. Redmine — одно из лучших решений с открытым исходным кодом для создания собственного управления проектами с отслеживанием проблем.