備忘録としてですら怪しいような殴り書きなので、適当に見て下さいませ。
&
「rubyは、1.9系にすると楽」って話が。yumで普通に入れると1.8系でした。
もしかすると、下記がとても楽になる、かも、なので、一応念のため。
&
試行錯誤しながらかなり「雑に」やってるので、手順が色々と滅茶苦茶なのは気にせずにw
yum install mysql
yum install mysql-devel
yum install mysql-server
yum install nginx
yum install ruby
su - gallu
sudo yum install rdoc
wget http://production.cf.rubygems.org/rubygems/rubygems-2.2.2.tgz
tar zvxf rubygems-2.2.2.tgz
sudo ruby ./setup.rb
# rootに戻って
gem uninstall -v 2.2.2 rubygems-update
gem install -v 1.8.17 rubygems-update
update_rubygems
gem -v
# なんかバージョンが駄目ぽいのでソースからinstall
su - gallu
wget http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p547.tar.gz
./configure
make
sudo make install
gem install rails -v 3.2.3
# 気づいたのでバージョン上げておく
gem install -v 1.8.29 rubygems-update
update_rubygems
# redmine用各種
gem install bundler
exit
# 以下、galluアカウント
cd
mkdir redmine
cd redmine
wget http://www.redmine.org/releases/redmine-2.5.1.tar.gz
tar zvxf redmine-2.5.1.tar.gz
cd redmine-2.5.1
#
sudo vi /etc/my.cnf
(default-character-set=utf8)
sudo /etc/rc.d/init.d/mysqld start
create database redmine default character set utf8; grant ALTER, CREATE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, SELECT, UPDATE on redmine.* to redmine@localhost identified by 'ぱすわぁど'; flush privileges ;
# redmineのinstallカレントディレクトリにて
cp -p config/database.yml.example config/database.yml
vi config/database.yml
# 3箇所ほど接続情報があるぽいので、書き換える
sudo gem install mysql2
bundle install --without development test postgresql rmagick
# ----
sudo RAILS_ENV=production bundle exec rake db:migrate
めも
rake aborted!
cannot load such file -- bundler/setup
って出てきた時、コマンドにsudo付けてなかったので。
なんか、rootがいるのかもしれない…よぉわからん。
めも終わり
sudo RAILS_ENV=production bundle exec rake redmine:load_default_data
sudo bundle exec rake generate_secret_token
# テスト用。http://IPアドレス:3000/ でアクセス確認
sudo ruby script/rails server webrick -e production
#----------------------------
sudo gem install unicorn
vi config/unicorn.rb
# あちこち未検証。あとで修正する可能性
worker_processes 2
#working_directory /home/www/rails/charaglisten File.expand_path("tmp/unicorn.sock", ENV['RAILS_ROOT'])
pid File.expand_path("tmp/unicorn.pid", ENV['RAILS_ROOT'])timeout 60
preload_app true # ダウンタイムをなくす
stdout_path File.expand_path("log/unicorn.stdout.log", ENV['RAILS_ROOT'])
stderr_path File.expand_path("log/unicorn.stderr.log", ENV['RAILS_ROOT'])GC.respond_to?(:copy_on_write_friendly=) and GC.copy_on_write_friendly = true
before_fork do |server, worker|
defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!old_pid = "#{server.config[:pid]}.oldbin"
if old_pid != server.pid
begin
sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
Process.kill(sig, File.read(old_pid).to_i)
rescue Errno::ENOENT, Errno::ESRCH
end
endsleep 1
endafter_fork do |server, worker|
defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end
vi Gemfile
# add
gem "unicorn"
# 起動&テスト
sudo bundle exec unicorn_rails -c config/unicorn.rb -E production -D -p 5001
#
sudo vi /etc/nginx/nginx.conf
sudo vi /etc/nginx/conf.d/virtual.conf
server {
listen 80;
server_name redmine.m-fr.net;access_log /var/log/nginx/redmine.access.log;
error_log /var/log/nginx/redmine.error.log;location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }### Reverse Proxy for Redmine on Unicorn
location / {
rewrite ^/(.*)$ /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:5001;
}
}
# サーバ起動
sudo /etc/rc.d/init.d/nginx start
# mail関連の設定を変更:内容は公式サイトあたりを確認して
cp config/configuration.yml.example config/configuration.yml
vi config/configuration.yml
感想:
うん…バージョン依存がしんどい orz
Rubyistな人達が「バージョン管理は自動でtoolで」って言っている気持ちがよくわかる…けど、それって「まず"シンプルに疎結合で作る"っていう第一歩でしくじってる」ような気もするんだけどどうなんだろう?
「新しいのだと困らない」って話もあるので、カイゼンされていると信じたい…
あと、redmine、最新に対応していただけるとありがたいんだが。
ruby2.1系とかで動くのかしらん?
&
RubyGemsの2.2.2入れた時、railsが上手いこと入らないような感じがしたのだけど…なんかあるのかしらん?
現状さほど興味ないので、ざっくりと疑問だけ書いてみる B-p
この辺が落ち着いて「スムーズに動く」ようになってから試すかなぁ…現状だと、なんか「環境に対するTips」が結構なコストかけてしまいそうで、若干、躊躇(苦笑