Развертывание Chiliproject на Dreamhost
Возникли некоторые проблемы при развертывании этого. Я пытался развернуть его дважды сейчас. Вот что я сделал до сих пор....
Установленные гемы и версии, необходимые на странице установки:
gem install -v=2.3.5 rails
gem install -v=1.0.1 rack
gem install -v=0.8.7 rake
gem install -v=0.4.2 i18n
Скачал пакет:
git clone git://github.com/chiliproject/chiliproject.git
cd chiliproject
git checkout stable
Пришлось найти и установить комплект, так как его не было на моем пути:
BUNDLE="/usr/lib/ruby/gems/1.8/bin/bundle"
Поместите информацию о моей базе данных в database.yml:
И тут начался комплектация вещей:
$BUNDLE install --without=postgres rmagick
$BUNDLE exec rake generate_session_store
Последняя команда получила ошибку:
rake aborted!
can't activate rails (= 2.3.5, runtime), already activated rails-2.3.12. Make sure all dependencies are added to Gemfile.
Поэтому я изменил 2.3.12 на 2.3.5 в Gemfile и продолжил:
RAIL_ENV=production $BUNDLE exec rake db:migrate
Тогда я тоже получил ошибку по этой команде:
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
undefined method `autoload_paths' for #<Rails::Configuration:0x68a68dbb82c0>
/home/USERNAME/DOMAIN/public/config/environment.rb:44
Я попытался закомментировать строку 44 там, но потом она выдала еще одну ошибку undefined method
convert_to_without_fallback_on_iso_8859_1'для класса Class'
поэтому я не хотел играть с этим дальше. Обратите внимание, что это произошло только во второй раз, когда я попытался развернуть его. В первый раз, когда я попытался выполнить db:migrate, все прошло успешно (и я проверил, что в БД уже нет данных).
*Так что со второй попытки я застрял здесь:-( *
Но это то, что произошло в первый раз после того, как db:migrate удалось...
RAILS_ENV=production $BUNDLE exec rake redmine:load_default_data
С последней командой, однако, не удалось сказать, что в mysql 'user'@'173.236.128.0/255.255.128.0' отказано в разрешении, и я был как WTF, он пытается подключиться к сети, как если бы это был хост?
Поэтому я перешел, скопировал мой файл конфигурации и файлы среды. Изменил / добавил эти строки:
# Uncomment below to force Rails into production mode when
# you don't control web/app server and can't set it the proper way
ENV['RAILS_ENV'] ||= 'production'
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.5'# unless defined? RAILS_GEM_VERSION
if ENV['RAILS_ENV'] == 'production' # don't bother on dev
ENV['GEM_PATH'] = '/home/USERNAME/.gems' + ':/usr/lib/ruby/gems/1.8'
end
Затем сделал этот материал доступным для записи и перезапустил Passenger:
chmod -R 777 files log tmp public/plugin_assets/
touch tmp/restart.txt
Извините за стену текста, кто-нибудь может пролить свет на то, что я сделал неправильно?
Заранее спасибо.
РЕДАКТИРОВАТЬ: Так что это все неправильно, вот как я получил это работает
rm ~/.gem*
gem install bundler
PATH=$PATH:/usr/lib/ruby/gems/1.8/bin
cd ~
git clone git://github.com/chiliproject/chiliproject.git
cd chiliproject
git checkout stable
cp * ../example.com/ -R
cd ../example.com
# Make sure database is working
bundle install --without postgres rmagick test
bundle exec rake generate_session_store
RAILS_ENV=production bundle exec rake db:migrate
# No output is no good, check database.yml
RAILS_ENV=production bundle exec rake redmine:load_default_data
Или посмотрите это: https://gist.github.com/1127306
2 ответа
Текущие стабильные выпуски ChiliProject (2.x) требуют использования пакета. Таким образом, ответ Slotos здесь неверен. gen install больше не работает, нам нужен пакет.
Также нам сейчас нужен Rails 2.3.12. Вы не получите никаких рабочих результатов, если будете произвольно редактировать файлы. На определенных платформах вам нужно адаптировать Gemfile (например, при использовании Ruby 1.8.6 или для определенных версий ImageMagick). Для предлагаемой в настоящее время установки с использованием Ruby 1.8.7 или REE вам не нужно ничего адаптировать.
Для установки зависимостей стабильных на данный момент выпусков ChiliProject 2.x вам необходимо сделать следующее:
Сначала вам нужно убедиться, что каталог, в который переустанавливается gem binaries, находится в вашем $PATH
, Это может быть временно достигнуто путем запуска этого (в вашем случае)
export PATH=/usr/lib/ruby/gems/1.8/bin:$PATH
Затем вам нужно установить гем компоновщика и дать ему указание установить все зависимости
gem install bundler
bundle install --without rmagick postgres test # in your case
Что действительно странно в вашем случае, так это то, что rake пытается включить Rails 2.3.5. Это не должно делать это (и не делает, если вы не изменили определенные файлы). Я настоятельно рекомендую начать с нового чистого исходного кода и не изменять произвольные файлы.
Не перепутай gem install
Команды с управлением пакетами пакетов. Вы получите неожиданные результаты от этого.
Если вы действительно хотите использовать bundler - добавьте все драгоценные камни в Gemfile. В противном случае просто опустите его.
Быстрый поиск по запросу "chiliproject" приводит меня к https://github.com/finnlabs/chiliproject-gemfile. По-видимому, это уже слилось с нестабильным.