さくらのVPS
で、sinatraを動くようにするまでの個人的なメモ。

sinatra以外にも、perlなCGIやphpも動く環境を作る。

 

初期設定

下記を元に初期設定など。

CentOS5初期設定 – CentOSで自宅サーバー構築

ちなみに、

  • yum-updatesdは始めから止まってた
  • yum-fastestmirrorは始めから入ってた
  • yum-cronのインストールは止めておいた
  • SELinuxは始めから無効になってる

 

【2012年3月28日追記】

CeotOS6の標準なのか、
さくらのVPSの標準なのかは分からないけど、
logwatchが初期状態では入っていないようなので、
logwatchを別途入れる。

 

ホスト名の変更

デフォルトのままでもいいんだけど、
今自分が何のサーバーを触っているのかを知りたいので。

再起動で反映。

 

SSHの設定変更

sshd_configを編集する。

ちなみに、ssh_configっていうファイルもあるので、間違えないように。
僕はこれで小一時間はまった。。。

 

日本語設定

下記を参考に。

UTF-8日本語設定(CentOS・putty・Emacs) – qnzm.log(クニジマログ)

 

chrootユーザー作成スクリプト

下記の「chrootユーザー作成スクリプト作成」を参考に。

SSHサーバー構築(OpenSSH) – CentOSで自宅サーバー構築

さくらのVPSはx64環境なので、
そのままだとエラーになるので、
スクリプトの一部を修正

# 修正前:
cp /lib/libnss_compat.so.2 lib/
cp /lib/libnsl.so.1 lib/
cp /lib/libnss_files.so.2 lib/
cp /lib/ld-linux.so.2 ./lib/
cp /lib/libc.so.6 lib/
cp /lib/libm.so.6 lib/
cp /lib/libpthread.so.0 lib/
cp /lib/librt.so.1 lib/
cp /lib/libthread_db.so.1 lib/

# 修正後:
cp /lib64/libnss_compat.so.2 lib64/
cp /lib64/libnsl.so.1 lib64/
cp /lib64/libnss_files.so.2 lib64/
cp /lib64/ld-linux-x86-64.so.2 lib64/
cp /lib64/libc.so.6 lib64/
cp /lib64/libm.so.6 lib64/
cp /lib64/libpthread.so.0 lib64/
cp /lib64/librt.so.1 lib64/
cp /lib64/libthread_db.so.1 lib64/

№891 x86_64でOpenSSH+Chroot できません – Web Patio – CentOSで自宅サーバー構築

 

ファイアウォール構築

下記を参考に。

ファイアウォール構築(iptables) – CentOSで自宅サーバー構築

 

NTPサーバー構築

NTPサーバーは始めから動いてて、
「server ntp1.sakura.ad.jp」が設定されていた。

 

Apacheの設定

下記を参考に。

Webサーバー構築(Apache) – CentOSで自宅サーバー構築
ユーザーディレクトリ作成(/~ユーザー名/) – CentOSで自宅サーバー構築
バーチャルホスト設定 – CentOSで自宅サーバー構築
Webサーバー間通信内容圧縮(mod_deflate) – CentOSで自宅サーバー構築

ただ現時点だとPHPのバージョンが5.1.6なので、
5.2.xをyumでインストールしたい場合は下記参照。

#10 PHPのインストール・設定::VMWare×CentOS5 Windowsでカンタン開発環境 – 肉とご飯と甘いもの @ sotarok

GPGキーのインポート。

yumリポジトリの追加。
(ファイルの新規作成)

そしてアップデート。

phpのバージョン確認。

 

あとついでに、後でpassengerをインストールときに必要になるので、
関連するライブラリをインストールしておく。

 

FTPサーバーの構築

下記を参考に。

FTPサーバー構築(vsftpd) – CentOSで自宅サーバー構築

 

サーバー監視

下記サービスで、外部からサーバーを監視する。

サーバー監視【無料】

 

rubyとRubyGemsとsinatraのインストール

【2011年4月2日 追記】
ruby 1.8.7 を入れると、hpricotの問題は解決します。
ruby をソースから RPM パッケージを作ってインストールする方法は、
下記参照。

どうのこうの » さくらのVPSにソースな ruby から RPM パッケージを作ってインストールするメモ

 

まずは ruby と関連ライブラリを yum でインストール。

最新のrubygems(1.3.7)はruby 1.8.6以上じゃないとダメらしいので、
rubygems 1.3.5を入れる。
(rubygems 1.3.6以上からruby 1.8.6以上が必要らしい。)

あとは、sinatraと必要なライブラリをインストール。

hpricotは0.8.2がうまくインストールできないので、
0.7をインストールする。

Hpricot をインストールしようとしてエラー – snbhsmt_log

 

memcachedとmemcache-clientのインストール

yumの標準リポジトリではmemcachedが見つからないので、
下記を参考にRPMforgeリポジトリを導入。

RPMforgeリポジトリ導入(RPMforge) – CentOSで自宅サーバー構築
№1849 RPMforgeリポジトリ導入エラー インポート不可 – Web Patio – CentOSで自宅サーバー構築

libeventってのが必要らしいので、
インストール。

memcachedをインストール。

とすると、いろいろと依存関係があるらしく、
インストールされない。
–skip-brokenオプションを試してみろってことだったので、
試してみる。

無事インストールできた。
他にもいろいろインストールされたけど、
まぁいいや。

そして、下記でmemcachedの設定変更。

そして、memcachedを起動。

rubyからmemcachedを扱いたいので、
memcache-clientをインストール。

 

passengerのインストールとsinatraの動作テスト

下記を参考に。

Sinatraで鼻歌まじりのWeb開発

httpd-develとapr-develをインストールしろと言われたので、
インストールする。

上記でapr-develもインストールされた。

もう一回、passengerのインストール。

httpd.confに3行追加しろと言われるので、
追加する。

sinatraを動かすDocumentRootをpublicに修正。

httpdをリロード。

あとは、FTPで接続して、
public_htmlの下にpublicディレクトリ(空)とtmpディレクトリ(空)を作成。
public_htmlの下にconfig.ruとhello.rbを配置。

こんな感じ。

public_html/
+ config.ru
+ hello.rb
+ public/
+ tmp/

で、動かんし。

いろいろ検索したら、
rack 1.2.1で動かない事例を発見。

Just installed sproutcore and getting error running sc-init – SproutCore | Google グループ

上記を参考に、
rack 1.2.1をアンインストールして、
rack 1.2.0を入れ直す。

で、ようやく動いた。

 

不要なデーモンとコンソールの停止

下記を参考に。

CentOSをサーバーとして活用するための基本的な設定 (さくらインターネット創業日記)

まずは不要なデーモンの停止。

サーバーを再起動して、設定を反映。

ちなみに、不要なコンソールは、
始めからコメントアウトされてた。

 

これで、一通り準備完了。

関連コンテンツ

スポンサーリンク