2011年4月4日月曜日

debian5.0.5にdanbooru1.16をインストールしてみた

danbooru1.16をdebian5.0.5にインストールしてみた



gemは1.3.1以後を使用すること
gemは1.5以前を使用すること

danbooruのバージョンごとに、指定されたバージョンのrailsを使う

2009-Mar
danboru1.6 - congi/environment.rb
RAILS_GEM_VERSION = "2.2.2"


PostgreSQLのバージョンは8.3が指定されている

loclaの仮想マシン上でテストする
dnsは使わない
本番ではserver.ip.addressのような指定をしない

server.ip.addressでも、browserのbookmarkを使用すればたいした問題ではない



1. 必要になるパッケージをインストールする

$ sudo apt-get install build-essential bison flex zlib1g zlib1g-dev libssl-dev libreadline5 libreadline5-dev libgd2-xpm libgd2-xpm-dev bzip2 memcached subversion ragel
$ sudo apt-get install xml-core libxml2 libxml2-dev libxslt1-dev


2. Ruby

$ sudo apt-get install ruby ruby1.8-dev ri irb rdoc rake libopenssl-ruby
$ ruby -v



3. Ruby - Gem


http://rubygems.org/
http://rubyforge.org/

解凍する
$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
$ tar xzvf rubygems-1.3.1.tgz
$ cd rubygems-1.3.1

インストールする
$ sudo ruby setup.rb
/usr/bin/gem1.8という名前でインストールされた

リンクを張る
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
$ gem -v
$ gem env
$ cd ../


4. Ruby - Gem - Rails


$ sudo gem install rails -v 2.2.2
$ rails -v


5. RUby - Gem - Other Gems



$ sudo gem install json_pure -v 1.4.3
$ sudo gem install rubyforge -v 2.0.4
$ sudo gem install hoe -v 2.6.1
$ sudo gem install nokogiri -v 1.4.2
$ sudo gem install archive-tar-minitar -v 0.5.2
$ sudo gem install rcov -v 0.8.0.0
$ sudo gem install mime-types -v 1.16
$ sudo gem install builder -v 2.1.2
$ sudo gem install xml-simple -v 1.0.12
$ sudo gem install aws-s3 -v 0.6.2

$ sudo gem install chardet -v 0.9.0
$ sudo gem install html5 -v 0.10.0

$ sudo gem install net-ssh -v 2.0.23
$ sudo gem install net-sftp -v 2.0.4

$ sudo gem install daemons -v 1.1.0

$ sudo gem install diff-lcs -v 1.1.2

$ sudo gem install json -v 1.4.3

$ sudo gem install mechanize -v 1.0.0

$ sudo gem install memcache-client -v 1.8.4

$ sudo gem install system_timer -v 1.0

$ sudo gem install sys-cpu -v 0.6.2


6. User Account


$ sudo adduser danbooru
(パスワードはdanbooru_passにした)

ユーザーがsudoできるようにする
$ sudo visudo


7. PostgreSQL

$ sudo apt-get install postgresql-common postgresql-client-8.3 postgresql-8.3 libpq-dev
$ sudo apt-get install pgadmin3
$ sudo apt-get install postgresql-contrib-8.3
$ sudo apt-get install postgresql-8.3-plruby libpgsql-ruby
$ sudo gem install postgres -v 0.7.9.2008.01.28


$ sudo passwd postgres
(パスワードはpostgres_passにした)


PostgreSQLでのユーザーの認証方式を設定する
$ sudo nano /etc/postgresql/8.3/main/pg_hba.conf
以下の行を
local all postgres ident sameuser
以下のように変更
local all postgres,danbooru trust


変更したら再起動する
$ sudo /etc/init.d/postgresql-8.3 restart



postgresになる
$ su postgres

postgres$ psql --version


postgres$ psql -l

List of databases
Name | Owner | Encoding
-----------+----------+----------
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(3 rows)


ユーザーdanbooruを作る
postgres$ createuser danbooru

danbooruが使うデータベースを作る
postgres$ createdb --owner=danbooru danbooru
postgres$ createdb --owner=danbooru danbooru_dev
postgres$ createdb --owner=danbooru danbooru_test


postgres$ psql -l

List of databases
Name | Owner | Encoding
---------------+----------+----------
danbooru | danbooru | UTF8
danbooru_dev | danbooru | UTF8
danbooru_test | danbooru | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(6 rows)

ユーザーのパスワードを指定
postgres$ psql template1
template1=# alter user danbooru with password 'danbooru_db_pass';
(パスワードはdanbooru_db_passにした)
template1=# alter user postgres with password 'postgres_db_pass';
(パスワードはpostgres_db_passにした)
template1=# q

postgres$ exit


8. Danbooru


chekoutする
//svn export svn://donmai.us/danbooru/trunk danbooru
$ svn export svn://donmai.us/danbooru/tags/danbooru-1.16.0 danbooru-1.16

$ cd ~/danbooru-1.16
$ mkdir -p public/data/sample

$ cd lib/danbooru_image_resizer
$ mv danbooru_image_resizer.so danbooru_image_resizer.so.old
$ ruby extconf.rb && make
$ ls -al| grep danbooru_image_resizer
$ cd ../..


$ cd config
$ cp local_config.rb.example local_config.rb


$ sed -i -e "s/DAN_HOSTNAME/server.ip.address/g" local_config.rb
$ sed -i -e "s/DAN_SITENAME/Danbooru/g" local_config.rb



$ nano database.yml


development:
  adapter: postgresql
  database: danbooru
  username: danbooru
  password: danbooru_db_pass
  host: localhost


test:
  adapter: postgresql
  database: danbooru_test
  username: danbooru
  password: danbooru_db_pass
  host: localhost


production:
  adapter: postgresql
  database: danbooru
  username: danbooru
  password: danbooru_db_pass
  host: localhost




$ cd ../..

$ sudo mkdir /var/www
$ sudo cp -R danbooru-1.16 /var/www/danbooru
$ cd /var/www
$ sudo chown -R danbooru:danbooru danbooru
$ cd danbooru



$ su danbooru


danbooruに適合したrailsなのか確認する
$ script/about

sys-cpu error

Missing these required gems:
sys-cpu

ファイルの位置情報が間違っている
original
/usr/lib/ruby/gems/1.8/gems/sys-cpu-0.6.2/lib/linux/sys/cpu.rb

$ sudo mkdir /usr/lib/ruby/gems/1.8/gems/sys-cpu-0.6.2/lib/sys
$ sudo ln -s /usr/lib/ruby/gems/1.8/gems/sys-cpu-0.6.2/lib/linux/sys/cpu.rb /usr/lib/ruby/gems/1.8/gems/sys-cpu-0.6.2/lib/sys/cpu.rb
$ sudo gem install sys-cpu -v 0.6.2

$ psql danbooru < db/postgres.sql

$ rake test:functionals

$ rake RAILS_ENV=development db:migrate --trace


$ RAILS_ENV=development app/daemons/job_task_processor_ctl.rb start
$ RAILS_ENV=development app/daemons/job_task_processor_ctl.rb stop


9. Apacheのインストール

$ sudo apt-get install apache2 apache2.2-common apache2-prefork-dev apache2-mpm-worker apache2-utils

mod_rewriteを導入する
$ sudo a2enmod rewrite


10. Passengerのインストール

$ sudo apt-get install libcurl4-gnutls-dev libssl-dev apache2-prefork-dev libapr1-dev libaprutil1-dev libopenssl-ruby


$ sudo gem install passenger
$ sudo passenger-install-apache2-module

Apacheに設定する内容が表示されるのでメモする
Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.5/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.5
PassengerRuby /usr/bin/ruby1.8

<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
<Directory /somewhere/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>


11. Apacheの設定を変更する

$ sudo nano /etc/apache2/conf.d/danbooru.conf


   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.5/ext/apache2/mod_passenger.so
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.5
   PassengerRuby /usr/bin/ruby1.8

   <VirtualHost *:80>
      ServerName server.ip.address
      DocumentRoot /var/www/danbooru/public
      <Directory /var/www/danbooru/public>
         AllowOverride all
         Options -MultiViews
      </Directory>
   </VirtualHost>



$ sudo /etc/init.d/apache2 restart





[その他]


http://rubyforge.org/frs/?group_id=126

2010-05-13
http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
2010-02-20
http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
2009-07-21
http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
2009-05-30
http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz

2008-10-28
http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz

November 20, 2008
//$ sudo gem install -v=2.2.2 rails
March 15, 2009
//$ sudo gem install -v=2.3.2 rails
September 3, 2009
//$ sudo gem install -v=2.3.4 rails


2009-Mar
danboru1.6 - congi/environment.rb
RAILS_GEM_VERSION = "2.2.2"

2009-May
danboru1.7 - congi/environment.rb
RAILS_GEM_VERSION = "2.3.2"

2010-Oct
danboru1.8 - congi/environment.rb
RAILS_GEM_VERSION = "2.3.4"

[注意]

エラー1
uninitialized constant ActiveSupport::Dependencies::Mutex
gemのバージョンが適切ではない
gemを適切なバージョンにする

エラー2
Missing these required gems:
sys-cpu
ファイルの位置情報が間違っている
ファイルが有るべき場所に、リンクを張る

エラー3
Something broke. Either there's a bug or the database timed out. An email has been sent to the developers.
http://danbooru.donmai.us/forum/show/32943

RAILS_ENV=productionなのが問題
RAILS_ENV=developmentにして
rake RAILS_ENV=development db:migrate --trace
からやり直す

RAILS_ENV=production
関数 : 0
シーケンス : 27
テーブル : 29
トリガー関数 : 4

RAILS_ENV=development
関数 : 4
シーケンス : 28
テーブル : 30
トリガー関数 : 4



[参考]


Danbooru - Community Ubuntu Documentation
https://help.ubuntu.com/community/Danbooru

Installing Danbooru
http://rrbits.com/epb/2010/01/02/installing-danbooru/

Redmineをバージョンアップしようとしてrake db:migrateしたら、rake aborted! (uninitialized constant ActiveSupport::Dependencies::Mutex) - id:rx7(@namikawa)の技術メモ - 技術日記
http://tech.g.hatena.ne.jp/rx7/20110323/p1

0 コメント: