вторник, 8 мая 2012 г.

Установка Редмайн (Redmine) в ОС Ubuntu 12.04


Установка Редмайн (Redmine) в ОС Ubuntu 12.04

Подготовка инфраструктуры для установки редмайн

$ sudo mkdir -p /opt
$ wget -O - http://rubyforge.org/frs/download.php/76033/redmine-1.4.1.tar.gz | sudo tar -C /opt/ -xzvf -
$ sudo ln -s /opt/redmine-1.4.1 /opt/redmine
$ sudo adduser --system --home=/opt/redmine redmine

Установка сервера mysql

$ sudo aptitude install mysql-server mysql-client
$ mysql -u root
mysql> create user redmine identified by '***************';
mysql> create database redmine character set utf8 collate utf8_general_ci;
mysql> grant all privileges on redmine.* to redmine@localhost;

$ sudo cp -vi /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Установка Руби

$ sudo aptitude install rails rubygems mongrel ruby
$ sudo gem install bundler
$ sudo apt-get install libmagickwand-dev
$ sudo bundle install --without development test

/opt/redmine/config/environment.rb
config.action_controller.session = { :key => "session_name", :secret => "secret value min 30 chars" }

/opt/redmine/config/database.yml
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password:
encoding: utf8
$ sudo rake --trace db:migrate RAILS_ENV="production"
$ sudo chown -R root.root /opt/redmine-1.4.1/
$ sudo chown -R redmine files/ log/ tmp/

Тестирование и запуск в продакшн


$ sudo -u redmine ruby script/server -e production
$ sudo chsh -s /bin/sh redmine

/etc/init.d/redmine
#ruby script/server ${server} -e production -p ${port} ${other_opts}
su -c "ruby script/server ${server} -e production -p ${port} ${other_opts}" redmine

#nginx/default
upstream mongrel {
   server 127.0.0.1:3000;
}
server {
   listen 80;
   server_name redmine;
   location / {
     proxy_pass http://mongrel;
     proxy_set_header Host $http_host;
   }
}

Кстати, если установка вам показалась сложной, а вы хотите для своих проектов использовать не только редмайн, но и другие веб-приложения для разработки, то рекомендую отличный хостинг исходного кода для программистов от моих друзей: javacation.ru. Напишите, что вы узнали о хостинге из моего блога и вам предоставят хорошую скидку. Предоставляют хостинг проектов Git с интеграцией редмайн, а также Jenkins CI и SonarQube (хостинг в самом начале своего пути, но весь функционал уже работает, хостят в Германии на высокоскоростном канале).








19 комментариев:

  1. перед sudo bundle install --without development test может понадобится сделать apt-get install libmysqlclient-dev libpq-dev libsqlite3-dev

    ОтветитьУдалить
    Ответы
    1. Да, возможно. Сейчас проверил у себя - libmysqlclient-dev установлен. Возможно был установлен в качестве зависимости.

      Удалить
  2. а что же ни слова про nginx или apache, как я понял они нужны же

    ОтветитьУдалить
    Ответы
    1. Ну, вообще-то не обязательно нужны, но и про nginx как раз описание последнего конфигурационного файла.

      Удалить
  3. Команда apt-get install ruby установит ruby версии 1.8.7, хотя Redmine 1.4+ поддерживает ruby 1.9.3

    ОтветитьУдалить
    Ответы
    1. Ну и?... Не вижу противоречий.

      redmine-1.4.1/doc/INSTALL

      == Requirements

      * Ruby 1.8.7, 1.9.2 or 1.9.3
      * RubyGems
      * Bundler >= 1.0.21

      Удалить
  4. Кстати, apt-get rails можно не запускать bundle сам установит нужную версию rails

    ОтветитьУдалить
    Ответы
    1. Может быть... Мне проще сделать так, на однозначность не претендую.

      Удалить
  5. ppa@ppa-dns:/opt$ sudo aptitude install mysql-server mysql-client
    Следующие НОВЫЕ пакеты будут установлены:
    mysql-client mysql-server
    0 пакетов обновлено, 2 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
    Необходимо получить 23,2 kБ архивов. После распаковки 229 kБ будет занято.
    Получить: 1 http://ru.archive.ubuntu.com/ubuntu/ precise-updates/main mysql-client all 5.5.24-0ubuntu0.12.04.1 [11,5 kB]
    Получить: 2 http://ru.archive.ubuntu.com/ubuntu/ precise-updates/main mysql-server all 5.5.24-0ubuntu0.12.04.1 [11,7 kB]
    Получено 23,2 kБ в 0с (143 kБ/с)
    Выбор ранее не выбранного пакета mysql-client.
    (Чтение базы данных ... на данный момент установлено 297905 файлов и каталогов.)
    Распаковывается пакет mysql-client (из файла .../mysql-client_5.5.24-0ubuntu0.12.04.1_all.deb)...
    Выбор ранее не выбранного пакета mysql-server.
    Распаковывается пакет mysql-server (из файла .../mysql-server_5.5.24-0ubuntu0.12.04.1_all.deb)...
    Настраивается пакет mysql-client (5.5.24-0ubuntu0.12.04.1) ...
    Настраивается пакет mysql-server (5.5.24-0ubuntu0.12.04.1) ...

    ppa@ppa-dns:/opt$ mysql -u root
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

    Это значит не поднялся mySQL ?
    подскажешь куда смотреть - никогда его не ставил

    ОтветитьУдалить
    Ответы
    1. Процесс mysqld виден?

      $ ps ax | grep mysqld

      Если нет, то запусти mysql

      $ sudo /etc/init.d/mysql start

      Удалить
  6. C mssql разобрался - полной перестановкой
    В доке опечатка - нужно вместо mysql -u root
    вводить mysql -u root -p ?

    Теперь заткнулся тут:
    ppa@ppa-dns:~$ sudo bundle install --without development test
    Could not locate Gemfile

    ОтветитьУдалить
    Ответы
    1. > В доке опечатка - нужно вместо mysql -u root вводить mysql -u root -p ?

      Ну с локального хоста доступ обычно без пароля, поэтому не обычно не нужен

      > sudo bundle install --without development test

      )))

      https://www.google.ru/search?client=ubuntu&channel=fs&q=Could+not+locate+Gemfile&ie=utf-8&oe=utf-8&redir_esc=&ei=Wp1hUJPhL4j_4QSt5oGICw

      Удалить
    2. Минут 10 втыкания в гугл не помогло решить подобную проблему. К яндексу не отправляйте =)

      Может быть Вы подскажите, как все-таки решить подобную проблему?
      Я так и не въехал, почему она возникает, если я по пунктам Вашей статье все делал - ни одного шага в сторону.

      Спасибо!

      Удалить
    3. Это о какой проблеме речь? "Could not locate Gemfile"? В какой директории запускаете bundle install? Проверьте вашу текущую директорию.

      Удалить
    4. Просто не понятно, где он должен находится?
      и что там исправить?
      почему bundler его не находит?

      Удалить
    5. > почему bundler его не находит?

      Вообще я ранее спрашивал "В какой директории запускаете bundle install?" видимо отвечать на вопросы становится уже не модно... Выполняйте все в каталоге где распакован редмайн.

      Удалить
    6. Запускал в своем home.
      а как он называться должен? Я его просто на диске поищу.

      Удалить