Redmine + MySQL + Apache + Passenger + Ubuntu
Установка Redmine 3.3 на ubuntu server
Шаг 1. Установка Ruby
curl -L https://get.rvm.io | bash -s stable --ruby
Если получили ошибку,
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
то скачиваем файл
https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer и загружаем вручную на сервер
cat rvm-installer | bash -s stable --ruby
применяем источник
source /usr/local/rvm/scripts/rvm
проверяем список доступных версий ruby
rvm list
Шаг 2. Установка библиотек для сборки gem
Устанавливаем дополнения необходимые для успешной установки зависимостей
apt-get install libmysqlclient-dev imagemagick libmagickcore-dev libmagickwand-dev
Установить редактор если не хотим использовать стандартный
apt-get install nano
Шаг 3. Загрузка Redmine 3.3 и настройка
скачиваем с сайта
wget http://www.redmine.org/releases/redmine-3.3.0.zip
распаковываем
unzip -x redmine-3.3.0.zip
перходим к настройкам
cd /redmine-3.3.0/config
Переименовываем файл
mv database.yml.example database.yml
Редактируем
nano database.yml
или используем системный редактор
editor database.yml
Прописываем параметры подключения для production версии, базу и пользователя создаем любым удобным способом
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: my_password
Сохраняем изменения control + o, control + x (для редактора nano)
Возвращаемся в папку с redmine
cd ..
Шаг 4. Установка зависимостей
gem install bundler
bundle install --without development test
Шаг 5. Установка redmine
Секретный ключ
bundle exec rake generate_secret_token
Миграция базы данных
RAILS_ENV=production bundle exec rake db:migrate
Загрузка данных, будет предложено выбрать язык, набираем ru, нажимаем enter
RAILS_ENV=production bundle exec rake redmine:load_default_data
Шаг 6. Настройка файловой системы
Создаем папки для временных файлов
mkdir -p tmp tmp/pdf public/plugin_assets
Меняем пользователя, www-data - пользователь apache 2, если есть специально созданный, устанавливаете его
chown -R www-data:www-data files log tmp public/plugin_assets
Меняем разрешение на запись
chmod -R 755 files log tmp public/plugin_assets
Шаг 7. Проверка работы скрипта
bundle exec rails server webrick -e production -b 0.0.0.0
Redmine запустится на 3000 порту сервера, проверить его можно введя название сайта на сервере или по ip адресу, если доменов еще нет.
http://81.82.83.84:3000/
пароль по умолчанию admin, admin
После входа необходимо сменить пароль, минимальная длина 8 знаков. В верхнее поле текущий пароль admin, ниже свой новый и его же в поле подтверждения.
Шаг 8. Настройка почты
По желанию, документация http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
Шаг 9. Запуск с помощью Apache и mod_cgi
Переходим в папку с публичными данными
cd public/
Переименовываем файл настроек запуска
mv dispatch.fcgi.example dispatch.fcgi
chmod 755 dispatch.fcgi
При необходимости могут потребоваться следующие модули
a2enmod cgi cgid headers deflate expires
Устанавливаем passenger
gem install passenger
Зависимости для компиляции
apt-get install libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
Установка для апача
passenger-install-apache2-module
Выбираем 1, если только для ruby выбираем только его, можно выбрать другия языки программирования
1
Ruby
Enter
Enter
Добавляем в конфигурационные файлы апача
cd /etc/apache2/conf-available/
/etc/apache2/conf-available/passenger.conf
Текст может отличаться, его видим после компеляции passenger
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.0/wrappers/ruby
</IfModule>
Активируем
a2enconf passenger
Далее стандартная настройка хоста для apache 2.4
Путь к файлам redmine /var/www/redmine-3.3.0/public/
Предположим что хотим заменить хост по умолчанию, доступ будет по ip
editor /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
DocumentRoot /var/www/redmine-3.3.0/public
<Directory /var/www/redmine-3.3.0/public>
Order allow,deny
Allow from all
AllowOverride all
Options +FollowSymLinks +ExecCGI
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Возможные проблемы
Нет прав на запись в лог файл
log/production.log
нет прав на запись в папку
files