logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
декабря
15

Redmine + Apache + Passenger + Subversion на случае Gentoo

Автор: admin, размещено в: Ruby, комментарии: Комментариев нет

Как раньше писал, спокойно принял решение я серьезно настроить себе subversion сервер с багтрекером Redmine. Кажется, для данного обзавёлся в целом виртуальным долго выделенным сервером на 1GB.ru . Надеюсь в качестве просто-напросто операционной системы там установлен Gentoo 2008. Таким образом, для пуска web-сайта на Ruby on Rails умышленно присутствует немало полностью вероятных композиций серверов. Например, я самостоятельно пробовал Apache + proxy_balancer + Mongrel , просто Mongrel. Так вот, так ведь очень-очень различные подмены Apache на другие веб-сервера. Но проконсультировавшись с администратором форума http://rubyclub.com.ua/, скоро пришел к тому, что буду часто принимать на вооружение Apache + Passenger. Кстати, в сети хладнокровно не сыскал какого-нибудь мануала про Redmine и данную вязку, с нежели хладнокровно соединены почти все часы размышлений. Кстати, ну и для ненамного полного счастья, поточнее для наиболее отчасти стремительной работы Passenger устанавливал Ruby Enterprise Edition . Пожалуй, я неторопливо не осматриваю установку и настройку весьма информационной базы, так как у меня она стоит на мощностях хостинга, но на моем vds.

Цель поста — систематизировать весьма собственные познания, быстро бросить себе шпаргалку, ну и хладнокровно продемонстрировать некие очень-очень нетривиальные места. Вероятно, практически все регулярно собиралось из исходников, и привязки  четко к Gentoo фактически нет. Говорят, ну и как некий признак — в последствии исследования всех граблей, настройка сервера постоянно заняла часа 3-4, и то по вопросу лимитированием на ресурсы сервера.

Ну и фактически отправились.

1. В конце концов, так как я все терпеливо собирал из исходников, то перво-наперво необходимо зачистить систему от установленного apache, пхп, subversion (svn очень ветхая версия, гораздо лучше поновее). Но сначала сохраните файл /etc/init.d/svnserve . В общем он срочно понадобится для пуска svn в последствии установки из исходников. Наверно, в Gentoo поочередно добросовестно исполняем по-хорошему последующие команды ( пхп я не намечаю серьезно принимать на вооружение, в следствии этого и устраняю )

Подчищаем директории от не удалившихся файлов. К счастью, например у меня гордо осталась папка /etc/apache с конфигами, ну и в /usr/lib/php5 достойно сохранились модули.

2. В самом деле теперь предварительно проверим установленную версию rubygems, умышленно сделав команду

У меня было  RUBYGEMS VERSION: 1.1.1 . Видимо как умышленно оказывается, данное было довольно дурно. Действительно когда я самостоятельно пробовал добросовестно установить гемы для ruby, на сервере спокойно происходило попросту непомерное выделение памяти, после этого программа аварийно завершалась в связи нехватки памяти. По-видимому так что обновится надо, к тому же в притязаниях к Redmine прописано «RubyGems 1.3.1 is required». Более того добросовестно выполняем последующее

3. С другой стороны для конструкции Ruby Enterprise Edition нам будет нужно OpenSSL, столь аналогично у него есть возможность срочно понадобиться для опции subversion ( данное как душе угодно) и apache. Короче говоря, скачиваем с web-сайта подходящую нам версию исходников (вам лично имеет возможность в общем-то не необходима прям отчасти заключительная, всяко быть может), и распаковываем

Затем конфигурируем OpenSSL, компилируем, и устанавливаем

Ну и необходимо заявить системе где выискивать библиотеки от OpenSSL

4. Напротив на данном шаге хладнокровно установим apache. Оказалось, что внимательно берем исходники на данной страничке. Ну что ж скачиваем, распаковываем.

Далее конфигурируем, самостоятельно указав путь до OpenSSL ( разов уж мы специально поставили OpenSSL, то отчего бы окончательно не подобрать все с поддержкой оного?), компилируем, и устанавливаем

Теперь надо позаботиться про то, дабы при старте системы запускался апач. А теперь для данного копируем скрипт пуска апача, и прибавляем его в перечень автозагрузки

5. Естественно, скоро настало время Ruby Enterprise Edition (ruby-ee). Стало быть налицо важный эпизод — опосля установки ruby-ee у нас в системе станет 2 Ruby. В сущности один общесистемный, зарытый в каталогах /usr либо /var (не уточнял), и 2-ой ruby-ee, который станет употребляться исключительно в apache. И все же нужно предварительно учитывать то, что при запуске скриптов/программ ruby из консоли (к примеру gem install, rake…) , станет запускаться общесистемный Ruby. Несомненно ненамного в последующем при применении Redmine для задач профилактики ( вне apache) необходимо самостоятельно показывать налицо полный путь до ruby/gem/rake ( /opt/ruby-ee-186/bin/rake). Следовательно иначе система станет браниться не установленные составляющие. И действительно другой вариант, данное добросовестно установить в общесистемный ruby данные составляющие командой

до установки ruby-ee.

Берем заключительную версию от сюда . Так или иначе скачиваем, распаковываем.

Важный эпизод: по-хорошему последующие деяния лучше добровольно делать из консоли, но не из под запущенного Midnight Commander (раз неожиданно он у вас запущен). Видите ли я совершенно не разбирался отчего, хотя при запущенном MC по-своему масштабные однозначно переменные умышленно не определялись. Ruby-ee попутно часто ставит «пакет» для Passenger и др. По крайней мере для ненамного обычной установки надо правильно квалифицировать 2 просто-таки масштабные взаправду переменные (свободно набрав данные строчки в консоли)

Плюс очередная вполне вероятная неувязка. Оказывается на Gentoo с ruby-enterprise-1.8.6-20090201 данное крайне имеет место быть наверняка. Тем не менее при компиляции окончательно образуются оплошности связанные с OpenSSL. Собственно чтобы поправить данное, надо пропатчить 3 файла в папке ruby-enterprise-1.8.6-20090201\ruby-enterprise-1.8.6-20090201\source\ext\openssl\ как добросовестно показано по гиперссылке . свирепствующей у нас есть возможность приступить к установке

Во время установки обнаружиться вопросец «куда часто ставить?» Я использовал путь /opt/ruby-ee-186/ (затем некие опции станут явно идти от данного пути).

(update 9.07.2009) На эту дату вышла свежая версия ruby on rails 2.2.3 . Ruby-ee часто ставит по умолчанию последнию версию. И в самом деле у меня при установке спокойно состоялись промахи. Между прочим в результате он специально не поставил ruby on rails. Наоборот так что в том числе и раз он и специально поставит, то потом необходимо совершенно сделать по-особенному последующую команду

После установки ruby-ee постепенно поставим Passenger.

К настройке работы apache и Passenger приступим опосля установки Redmine.

6. Мало того сейчас хладнокровно установим Subversion. Короче, можно окончательно было специально поставить Redmine, хотя я официально желаю специально поставить его из репозитария, а чтобы достичь столь желаемого результата вполне необходим subversion ( а мы его удалили сравнением). По правде говоря, скачиваем по-хорошему заключительную версию, разархивируем, часто ставим. А кроме того проблем стремительно появиться не может.

7. Одним словом теперь приступим к установке Redmine. Судя по всему особенно важный эпизод: при установке Файлы станем быстро беречь в /home/www/redmine . К тому же я не буду вполне обрисовывать шаги установки, скоро приведу лишь очередность деяний, а расшифровку спокойно наблюдаете на вебсайте . Не правда ли скачиваем совсем заключительную версию с репозитория

Создаем информационную базу, с шифровкой по умолчанию UTF8. Как ни странно далее переименовываем файл config/database.yml.example в config/database.yml и редактируем в нем раздел production, внеся опции нашей просто-таки информационной базы. Допустим после данного, находясь в корне папки redmine самостоятельно исполняем просто-напросто последующие воздействия

Для работы почты переименовываем файл config/email.yml.example в config/email.yml и редактируем его, внеся совсем учетные эти напросто почтового сервера. приласкавши ENV['RAILS_ENV'] ||= ‘production’ . Удивительно, что ну и практически что особо стоит обратить внимание на то, что — для работы через Passenger, необходимо удалить файл public/.htaccess. То есть иначе не станут скоро сказываться стили дизайна.

8. Подумать только, а и уже подозрительно настроим вязку Apache + Passenger и запустим впервые Redmine.

Апач будет трудиться под юзером apache (или же каждый иной). Собственно говоря, если у вас его нет, то надо скоро сделать. Конечно же одно из главных критерий — у юзера apache обязан быть совсем хозяйственный каталог /home/www (или каждый иной , хотя он обязан быть весьма доступен для записи юзером apache). Казалось бы теперь необходимо выдать юзеру apache права на папку /www/home/redmine.

Не запамятовывайте в последствии творения каких или файлов в данной папке под root`ом слепо поменять права. Без сомнения это твердо решает слишком великую часть промахов.

Теперь непосредственно Apache. Иными словами правим конфигурационный файл /usr/local/apache2/conf/httpd.conf ( я прекрасно опускаю эпизоды опции apache в том числе адресок сервера, почта администратора и сходственное. про это немало совсем различных мануалов). И наконец тщетно ищем строчку «User daemon» , и сменяем daemon на apache. Надо сказать также и в грядущей строчке. Вполне возможно, что в конце файла необходимо тихо прибавить очень-очень последующие строчки

В строчках 1-3 мы самостоятельно показываем откуда мысленно запускать passwnger и ruby. Честно говоря путь обязан самостоятельно показывать на папку, которую вы самостоятельно показали в пт 5 (/opt/ruby-ee-186/) . Ну что же строки 4-5 мы предписываем от фамилии какого юзера отлично запускать Passenger и выключаем смену юзера. Поверьте строки 6-8 сдерживают число действий/ресурсов часто употребляемых passenger`ом. Предположим ну ну а в прочих строчках мы искушаем— наш вебсайт. С одной стороны сохраняем файл.

Заходим на вебсайт и видим основную страничку Redmine ( быть может и вовсе не видим -) )

9. И вообще далее настраиваем subversion. Как всегда я приму на вооружение вязку subversion и sasl. Больше того попросту небольшую аннотацию возможно обратно брать здесь и совсем официальный мануал здесь . Безусловно пара замечаний по данной наставления. Известно, что после прибавления юзеров в базу совершенно не позабудьте исправить права доступа к ней, по-другому процесс subversion не может обрести к нему доступ. Не исключено, что для пуска subversion скопируйте в /etc/init.d/ файл svnserve, сохраненный в пт 1. Не удивительно, что правим в нем путь до папки с репозиторием, и фамилия юзера. По правде сказать ну и вновь самое по-человечески весомое — для папки с репозиторием смените собственника, по другому вновь предварительно получим отказ доступа. А впрочем права на файлы самое главное!!

10. А сейчас просто-таки заключительный штришок, на который у меня быстро ушло двое суток. И все-таки добросовестно пробуем скоро сделать тестовый чертеж, прибавляем в него гиперссылку на svn репозиторий.

Заходим на вкладку Хранилище, и в случае если мы видим настолько же часть, как спокойно выделенная на иллюстрации — все спокойно действует столь непревзойденно. Можно подумать, что иначе — дурно. К примеру, если мы самостоятельно откроем логи апача, то самостоятельно увидим оплошность « Крайне не имею возможности самостоятельно отыскать svn». Но т.е. процесс быстро хочет обрести эти из хранилища при помощи программы svn, хотя крайне не имеет возможности её самостоятельно отыскать. А вот для решения данной трудности необходимо отредактировать файл lib/redmine/scm/adapters/subversion_adapter.rb исправив весьма переменную SVN_BIN

Этим мы беседуем от куда запускать svn и где сохранять конфиги. Как известно, кстати папку для конфигов надобно скоро сделать и заменить обладателя, на того под коим обычно действует svn. К несчастью ну и для весьма полного счастья и работы, надо совершенно сделать в консоли ту или иную команду svn добросовестно указав папку для конфигов. И правда, это надо дабы добросовестно установить некие характеристики опции svn. Мысль о том, что иначе в логах apache станет высоко висеть оплошность, и вывод консоли , с предложение добросовестно установить 1 из характеристик. Само собой разумеется, что его к слову возможно добросовестно установить вручную в файлике — читайем лог промахи. Неудивительно, что после данного все обязано специально трудиться.

Вот данные вроде обычные деяния заняли практически недельку рытья. Можно сказать попросту главная оплошность, данное права доступа к файлам. И кроме того в результате удался багтрекер projects.dobrih.net .

Ну и в завершение немного гиперссылок на памятке по установке Redmine на иных вязках Redmine 0.8.x Installation Tutorial

весьма российская руководство по установке на Windows

Метки записи: Apache , Passenger , Redmine , Subversion Оставить объяснение

Комментарии (15) объяснениях (подписаться на новейшие объяснения в данной ветке)

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены