CentOS5.7をVirtualBoxにインストール
サーバ環境を再現するために、ちょっと必要になったのでメモ。
今回はネットワークインストールするため、
ブートディスクをダウンロードして、VirtualBoxのドライブに指定。
ftp://ftp.iij.ad.jp/pub/linux/centos/5.7/os/x86_64/images/boot.iso
VirtualBoxの設定でネットワークにホストオンリーアダプタを追加。
インストール元はFTPを指定。
Server: ftp.iij.ad.jp
Directory: pub/linux/centos/5.7/os/x86_64
なんか追加リポジトリを指定しようとすると落ちるのでインストール時は
何も指定せずServerモジュールをインストール。
「インストールプロセスを開始しています。数分かかる事があります...」
が、数分どころでなく待たされるので気長に待つ。
herokuを使う時のメモ
基本はherokuのドキュメントに全部書いてある
http://docs.heroku.com/
環境変数
http://docs.heroku.com/config-vars
# 設定 % heroku config:add KEY=VALUE # 使う % ENV['KEY'] # 確認 % heroku config
sequel使いたい
http://docs.heroku.com/rack#using-datamapper-or-sequel
Sequel.connect(ENV['DATABASE_URL'] || 'sqlite://my.db')
DATABASE_URL='mysql://user:pass@localhost/mydb' thin start --rackup config.ru
コマンド
# アプリ作成 % heroku create # 名前変更 % heroku rename <newname> # デプロイ % git push heroku master # migrate % heroku rake db:migrate # DBをサーバにプッシュ % heroku db:push # サーバリスタート % heroku restart
.htaccessで指定パスだけBASIC認証かけたい
http://mydomain/admin 以下にだけBASIC認証をかける。
前回のを利用してもいいけど、普通にやってみる。
Satisfy Any AuthUserFile /var/www/railsapps/mintame/current/public/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic Order Deny,Allow Allow from all <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> <Files ~ "^admin"> deny from all require valid-user </Files>
以下の辺りを正規表現で好きなように指定すればいい。
<Files ~ "^admin">
Passengerのログをlogrotateさせる
deploy.rbに以下のように書かれているアプリケーションだと思いねえ。
set :deploy_to, "/var/www/railsapps/#{application}"
CentOSだとlogrotateは「/etc/logrotate.conf.d/」ディレクトリの中にそれぞれのアプリケーションごとに記述する。
/var/www/railsapps/#{application}/shared/log/production.log { daily missingok rotate 7 compress delaycompress sharedscripts postrotate touch /var/www/railsapps/#{application}/current/tmp/restart.txt endscript }
/etc/logrotate/conf.d/passenger
動作確認は
% logrotate -f /etc/logrotate/conf.d/passenger
参考先(というかまるパクリ)
指定URIだけBASIC認証させ"ない"htaccessの書き方
まだ公開してないからBASIC認証かけてるんだけど、
LBがヘルスチェックするから、そこだけBASIC認証外せって言われたので。
Satisfy Any AuthUserFile /var/www/htdocs/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> SetEnvIf Request_URI "/healthcheck" healthcheck Order Deny,Allow Deny from all Allow from env=healthcheck
SetEnvIfで環境変数にURIを指定してallowしてやればいい。
反対に指定URIだけBASIC認証させたければ、deny from env=healthcheckすればいいんじゃないかな。
検索エンジンなどのショートカット
Chromeではアドレスバー右クリックで「検索エンジンの編集」、Firefoxでは「ブックマークの管理」ー「スマートキーワード」で設定。
deliciousは自分のアカウント指定になってるので注意。
ActiveResourceで特殊なフォーマットのXMLを処理する
試しに全体がくくられていないSJISのXMLを処理してみた。
module ActiveResource::Formats::SampleXmlFormat include ActiveResource::Formats::XmlFormat def decode(xml) super("<content>#{xml}</content>".toutf8) end extend self end class Sample < ActiveResource::Base self.format = :sample_xml end
「SampleXmlFormat」が「:sample_xml」になるのがわかりずらいとおもいました。