WD5 - разработка сайтов

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