ServersMan@VPS(Ubuntu)でRubyのCGIを実行するまでのメモです。

apache2をインストールする

apt-getかaptitudeでインストールすればいいと思います。

sudo aptitude install apache2	

AddHandlerを設定する

/etc/apache2/mods-enabled/mime.confにAddHandlerを設定します。

#AddHandler cgi-script .cgiという行があるので、 見つけてコメントアウトを解除して、次のように書き換えればいいと思います。

AddHandler cgi-script .cgi .rb

Options +ExecCGIを設定する

/etc/apache2/sites-available/defaultでOptions +ExecCGIを設定します。

<Directory /var/www/html/>
	#Options Indexes FollowSymLinks MultiViews 
	Options Indexes FollowSymLinks MultiViews ExecCGI
	AllowOverride None
	Order allow,deny
	allow from all
</Directory>

apache2を再起動する

上の2つのファイルを編集したら、apacheを再起動して設定を反映させます。

sudo /etc/init.d/apache2 restart	

Ruby CGIのパーミッションを755にする

cd /var/www/html
chmod 755 test.rb

これでたぶん動くようになります。

ね?簡単でしょ?

うまくいかないときは

/var/log/apache2/error.logのエラーメッセージを見ましょう。

Read more


今回もOctopressに関する記事です。 先日、Octopressを使ってGithubPages上にブログを運営しましたが、 気が変わってレンタルしているVPS上で運営したくなりました。 Octopressではrake deployを叩くだけでRsyncを使い自分のサーバ上にコンテンツを同期することができるので、 その方法を紹介したいと思います。 Rsyncを使って同期するためには次の2つの作業をする必要があります。 公開鍵認証を使ってsshでログインできるようにする。 サーバ側の~/.ssh/authorized_keysにローカル側の公開鍵を登録する。 ここでは、serverという名前のサーバに作成済みのuserというユーザを使って、公開鍵でログインするようにするまでの手順を紹介します。 ローカル側の設定(鍵のペアの生成) まず、ローカル側で鍵のペアの生成します。 cd ~/.ssh ssh-keygen -t rsa # RSAの鍵のペアを生成する。save the keyは空白でOK。パスフレーズは任意のものを指定する。 cat id_rsa.pub # 公開鍵はサーバのauthorized_keysに後で登録するので表示しておく サーバ側の設定 公開鍵の登録 vim ~/.ssh/authorized_keys # 上で表示したローカル側のid_rsa.pubを最後の行に追加する。(ファイルがなければ作る) sshの設定 vimなどで、サーバ側の/etc/ssh/sshd_configを編集します。 間違った設定をすると最悪sshでログインできなるので注意しましょうw 私の場合はこのような感じに一部を書き換えました。 この記事を書いている私ですが、サーバの設定は初心者なので、あまり信用しないようにしましょうw あくまで参考程度で。 AllowUsers user RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys VPS上の設定が終わったら、sshdを再起動します。 /etc/init.d/ssh restart 再びローカル側の設定(sshのテスト) 以上で公開鍵を使ってsshをする準備が整ったので、テストしてみます。 cd ~/.ssh chmod 600 id_rsa # パーミションが600でないと「WARNING: UNPROTECTED PRIVATE KEY FILE!」というエラーになる。 ssh -i id_rsa user@server #これでログインできれば成功。-iで秘密鍵を指定できる。 Octopressの設定 ここまで来れば、あとはOctopressの設定だけです。Rakefileを編集します。

Read more