Установка Radiant CMS

Radiant CMS - это система управления контентом написанная на Ruby и Ruby On Rails. Хорошо подходит для сайтов визиток и достаточно гибкая в плане расширения функциональности. Домашний сайт проекта Radiant CMS - http://radiantcms.org/ (на сайте доступна живая демонстрация работы системы).

Как не сложно заметить, от CMS Radiant я отказался. Всё-таки функциональность и удобство WordPress оказались выше моих религиозно-прагматических предпочтений и технической красоты Radiant. Но пост про установку последней я решил всё-таки оставить (немного подправив и обрезав): мало ли кому пригодится.

Прежде всего хочу предостеречь. Не используйте Ruby 1.8.7 вместе с Radiant CMS. Он содержит баги, о чем говорится на странице http://www.rubyonrails.org/down :

Quote:
We recommend Ruby 1.8.6 for use with Rails. Ruby 1.8.7, 1.8.5, 1.8.4 and 1.8.2 are still usable too, but version 1.8.3 is not. Ruby 1.8.7 still has some bugs to straighten out.

Я этого не знал и две недели ковырялся с радиантом и рельсами, пытаясь выяснить, почему вместо некоторых элементов он выводит: undefined method `[]‘ for #.

Решение как откатить ruby с версии 1.8.7 до 1.8.6 в Debian я нашел на ruby-forum.com: http://www.ruby-forum.com/topic/156621#689955

Поскольку уже был установлен MySQL server, особо над выбором СУБД я не думал. Хотя, Sqlite радианту почему-то нравится больше: только с ним он сам может создавать базы данных.

Итак, создаю новый аккаунт в базе дынных MySQL для radiant:

# mysql -u root -p mysql
mysql> CREATE USER ‘radiant’@'localhost’ IDENTIFIED BY ‘password_for_user_radiant’;

Вместо password_for_user_radiant, само собой, надо ввести пароль для нового пользователя.

Теперь создаю базу данных с аналогичным названием (вообще, названия можно указать любые):

mysql> CREATE DATABASE radiant;

Вручаю новосозданному пользователю привелегии на работу с новосозданной базой данных и выхожу из mysql:

mysql> GRANT ALL PRIVILEGES ON radiant.* TO radiant@localhost IDENTIFIED BY ‘password_for_user_radiant’;
mysql> quit

Базу данных подготовил, можно установить сам radiant.
Я делал это с помощью gem:

# gem install radiant

Иду в директорию установленого пакета. У меня gem складывает всё в /var/lib/gems/1.8/gems/:

# cd /var/lib/gems/1.8/gems/radiant-0.6.9/

В директории bin находится скрипт, предназначенный для установки рабочей копии cms в директорию web-сервера. Запускать его надо с параметром –database, задающим тип используемой СУБД и путем к директории, в которую будет устанавливаться рабочая копия:

# bin/radiant –database=mysql /home/www/radiant

Перехожу в эту директорию:

# cd /home/www/radiant/

Приложения “на рельсах” использют концепцию т.н. окружений (environments) для разделения версий на “тестовые” (testing), “в разработке” (development) и как бы “готовый продукт” (production). В файле config/database.yml есть три соответствующих блока. Поскольку я планировал установку cms для использования как готового проекта, отредактировал только параметры после метки “production:”. Почему-то по-умолчанию в этом файле нет параметра “socket:”. Я добавил его сам. Без него radiant жаловался, что не может найти файл mysql.sock.

Вот что у меня получилось:

production:
 adapter: mysql
 database: radiant
 username: radiant
 password: password_for_user_radiant
 host: localhost
 socket: /var/run/mysqld/mysqld.sock

Базу данных создал, cms на её использование настроил, теперь можно заполнить её данными:

# rake production db:bootstrap

В моём случае первый параметр - production, а вообще это должно быть название окружения. Команда выполняется в интеративном режиме. То есть в процессе её выполнения задаются вопросы, на которые нужно отвечать:

This task will destroy any data in the database. Are you sure you want to continue? [yn] y
Create the admin user (press enter for defaults).
Name (Administrator): Spoofy
Username (admin): admin
Password (radiant):
Initializing configuration………OK
Select a database template:
1. Empty
2. Simple Blog
3. Styled Blog
[1-3]: 3
Creating Snippets….OK
Creating Pages….OK
Creating Layouts….OK
Creating Page parts….OK
Finished.

Radiant CMS может работать через CGI, FastCGI и через mod_rails (Phusion Passenger). Последний я посчитал более предпочтительным по ряду причин (см. google).

Устанавливливаю passenger через, опять же, gem:

# gem install passenger

Установщик модуля “пассажира” отличается особой понятностью, поэтому особо расписывать этот этап не буду, просто внимательно читайте вывод скрипта установки:

# /var/lib/gems/1.8/gems/passenger-2.0.3/bin/passenger-install-apache2-module

После выполнения указаний по конфигурированию apache удалил на всякий случай файлы public/dispatch.*cgi в рабочей директории радианта:

# rm ~www/radiant/public/dispatch.*cgi

Затем на основе уже существующего эталонного файла конфигурации виртуального хоста apach’а я создал /etc/apache2/sites-available/radiant и немного подправил его.
Получилось вот что:

<virtualhost *:80="">
       ServerAdmin webmaster@localhost
       DocumentRoot /home/www/radiant/public
       ErrorLog /var/log/apache2/error.log
       LogLevel warn
       CustomLog /var/log/apache2/access.log combined
</virtualhost>

После запускаю a2ensite radiant, чтобы apache видел новый конфиг и перезапускаю сам apache.

Вот, собственно, и всё. Установка завершена. Вход в интерфейс администратора - http://127.0.0.1/admin

Замечу, инструкции, описанные выше, не претендуют на звание эталонных, я лишь описал свои действия для реализации поставленной задачи. Обоснованная критика приветствуется.

Источник spoofy.ru

Обсуждение

Re: Установка Radiant CMS

На странице http://rubyonrails.org/download написано "We recommend Ruby 1.8.7 for use with Rails". А у Вас имеется ввиду не использовать с 1.8.7.

Re: Установка Radiant CMS

Установка Radiant - это полная Ж, господа!!!!!! Я никогда в жизни не встречал ничего более кривого и заумного. Поставить Вордпресс - пара пустяков. Тут пришлось лазить по сотням ссылок, чтоб понять, что надо поставить руби 1.8.6, переустановить RecCloth, иметь под виндой имя админа на латыни и без пробелов. В итоге встало это чудо на моей винде 7: поставил руби, потом рубигемсы, потом рельсы, потом только этот несчастный радиант. Потом поставил Mongrel, MySql, потом и rake (все через gems).

Запустил по описанию:
radiant --database mysql newsite. Повылазило куча всяких create и т.д., вроде все норм.
Запускаю rake db:bootstrap, либо как у вас: rake production db:bootstrap. Вот тут и вылезло: rake aborted! Can't activate rack <~> 1.0.0, runtime for [], already activated rack-1.1.0 for ["radiant-0.9.0"]

Пипец, придется опять гуглить, благо хоть англ. знаю, по-русски, вообще, ничего не найти. Разработчики - полные халтурщики, если не могут норм. инструкцию по установке дать. Та, что на сайте проекта Радиант - полное фуфло. Видимо, проект задумывался под принцип: если разобрался, молодец, пользуйся! :(

Не понимаю, зачем человеку, который хочет наклепать статей, фоток, новостей и т.д. надо еще знать, как заморачиваться с чем-то вроде:
production:
adapter: mysql
database: radiant
username: radiant
password: password_for_user_radiant
host: localhost
socket: /var/run/mysqld/mysqld.sock БРРР...

Re: Установка Radiant CMS

Если при выполнении "rake production db:bootstrap" возникает ошибка:

can't activate rack (~> 1.0.0, runtime) for [], already activated rack-1.1.0 for ["radiant-0.8.2"]

то просто обновите Radiant:

  rake radiant:freeze:edge
  rake radiant:update

и снова запустите

  rake production db:bootstrap

Re: Установка Radiant CMS

А если вот такая шляпа?

C:\Users\eJay\Documents\NetBeansProjects\radiant>rake production db:bootstrap --trace
(in C:/Users/eJay/Documents/NetBeansProjects/radiant)
** Invoke production (first_time)
** Execute production
** Invoke environment (first_time)
** Execute environment
** Invoke db:bootstrap (first_time)
** Invoke db:remigrate (first_time)
** Invoke environment
** Execute db:remigrate
This task will destroy any data in the database. Are you sure you want to
continue? [yn] y
rake aborted!
undefined method `each' for #
C:/Ruby/lib/ruby/gems/1.8/gems/radiant-0.9.1/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:440:in `tables'
C:/Ruby/lib/ruby/gems/1.8/gems/radiant-0.9.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb:19:in
`table_exists?'
C:/Ruby/lib/ruby/gems/1.8/gems/radiant-0.9.1/vendor/rails/activerecord/lib/active_record/migration.rb:426:in `current_version'
C:/Ruby/lib/ruby/gems/1.8/gems/radiant-0.9.1/vendor/rails/activerecord/lib/active_record/migration.rb:384:in `migrate'
C:/Ruby/lib/ruby/gems/1.8/gems/radiant-0.9.1/lib/tasks/database.rake:8
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain'
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
C:/Ruby/bin/rake:19:in `load'
C:/Ruby/bin/rake:19

Re: Установка Radiant CMS

Скачать fifa 2011 FULL / PC - лучший футбольный симулятор!

http://soccercelebrity.ru/files/fifabest.jpg

Fifa 2011 дает шанс испытать, насколько погодные условия могут влиять на ход игры. О том, что пошел дождь, вы сможете узнать не только по вымокшим игрокам, но и по их действиям, манерам.
Если вы скачали fifa, будьте уверены, вы с головой окунетесь в эту виртуальную страну, полную реализма. Меня действительно, поразило, насколько, разработчики учли и воплотили все те детали, которые не всегда удерживаются в поле внимания, но которые имеют значимость. Так, столкновения, обгон противника, дриблинг, получение травм, рукопожатия перед матчем и другие бесчисленные моменты делают игру живой!

советы игры в fifa 2011

fifa 2011 советы

лучшие голы фифа 2011

stadionu fifa 2011

Re: Установка Radiant CMS

Полная жопа - это хостить dev проект на windows )))

Разработчики не халтурщики, им просто пох на людей, которые с идеологией не знакомы, и тратят время не на создание progresbar при установке плагина, а на создание целостной системы, которой РАЗОБРАВШИЕСЯ пользуются. Вы с рельсами самими знакомы?
>> как заморачиваться с чем-то вроде:
В вордпресе надо редактировать конфиг, нет?