minimize

とりあえず、まずはOSのインストールから。

OpenSUSE は完全に日本語化されていて、インストーラもかなり使いやすい。
初心者にもオススメ。

最初にインストールする人はデフォルト設定のままでも良いが、今回は
以前に使ってたハードディスクに追加インストールする形なので
以下のようにデフォルトから変更した。

すんなりインストールは完了。

まずはSSHの設定から。
基本的にテキストベースのサーバでは
そのマシンで直接作業するということはしない。
他のマシン(うちの場合はWindowsクライアント)からSSH経由で作業するので、SSH導入は最初にやる。

SSH

デフォルトだとプロトコルが2になっていて、これだとWindowsのSSHクライアントから
ログインできないこともある。
なので以下のように変更。設定ファイルは /etc/ssh/ssh_config

Protocol 1
PasswordAuthentication yes

これは平文でパスワードを管理するプロトコル1のモード。Unixユーザのユーザ名とパスワードをそのまま使う。
外部にSSHポートを公開しないのなら、これで充分。
うちの場合はルータでポート遮断してるので、SSHで侵入される危険は無い。

外からSSH接続したい人は、プロトコルを2にして暗号ファイルを使うこと。
SSHは外部公開するポートの中で最も危険なもの。作業は慎重に。

Apache

次はWebサーバ。w3m は標準で入ってるので、HTTP経由でソースをダウンロード。

http://httpd.apache.org/
Linux version : OpenSUSE 11.2
Apache : 2.0.63

しかしSuSEのデフォルトインストールには開発環境が入っていないようだ。
なので make と gcc を追加インストール。

Linux version : OpenSUSE 11.2
make : 3.81
gcc : 4.4

sudo zypper install make
sudo zypper install gcc

SUSE のインストールは zypper というパッケージを使うらしい。
見ての通り、非常に簡単。
しかも、make と打ってコマンドが見つからないとき
make をインストールするための上記コマンドがメッセージに出て教えてくれる。なんて便利なんだ。

./configure
make
sudo make install

以上であっさりインストール成功。

cd /usr/local/apache2/bin
./apachectl start

これで Apache が起動。80番のポートを使うので root で起動する必要がある。
TODO: 自動起動は、また今度。

Apache も zypper で入れればいいじゃないかという意見もあるかと思うが
一応自分のポリシーとしては

というようにしている。
例えば同時に異なるバージョンのApacheを入れたいような場合、インストーラでやっていると対応できない。

cronolog

Apache のログローテート管理に。

http://cronolog.org/
Linux version : OpenSUSE 11.2
eRuby : 1.6.2

zypper のリポジトリには無いので、ソースから。

./configure.rb
make
sudo make install

httpd.conf は、こんな感じにする。

CustomLog "|/usr/local/sbin/cronolog /var/log/apache/access_log.%Y%m" combined env=!dontlog

上の例だと、月毎にログファイルがローテートされる。
Apache のログファイルは結構巨大になる(もちろん閲覧者数による)ので、古いログは圧縮したり別へ移しておく運用も必要。

Ruby

とりあえず Ruby は必要。

Linux version : OpenSUSE 11.2
Ruby : 1.8.7.p72

sudo zypper install ruby
sudo zypper install ruby-devel

devel の方も入れておく(後続の mod_ruby で必要となる)。

mod_ruby

http://www.modruby.net/ja/index.rbx/mod_ruby/download.html
Linux version : OpenSUSE 11.2
mod_ruby : 1.3.0

Apache から Ruby を使えるようにするモジュール。
自分のサイトはトップページが rhtml なので、これが必要。

./configure.rb --with-apxs=/usr/local/apache2/bin/apxs

で、Makefile が作成される。

make
sudo make install

これで、/usr/local/apache2/modules/mod_ruby.so がインストールされた。

eRuby

http://www.modruby.net/ja/index.rbx/eruby/download.html
Linux version : OpenSUSE 11.2
eRuby : 1.0.5

HTML に Ruby スクリプトを埋め込むためのライブラリ。JSPみたいなものだ。
なんか configure でエラーになったので、configure.rb をちょっと修正。309行目あたり。

$XLDFLAGS = "" # CONFIG["XLDFLAGS"]

あとは通常通りインストール。

./configure.rb
make
sudo make install

Apache http.conf

ここまで準備できたら、Apache の設定ファイルに以下を記述する。

LoadModule ruby_module /usr/local/apache2/modules/mod_ruby.so
<IfModule mod_ruby.c>
  RubyRequire apache/ruby-run
  RubyRequire apache/eruby-run

  <Files *.rhtml>
    SetHandler ruby-object
    RubyHandler Apache::ERubyRun.instance
  </Files>

</IfModule>

これで、拡張子 rhtml のファイルは mod_ruby 経由で eRuby が使えるようになった。

sntp

昔は時間合わせには ntpdate を使っていたのだけど
今このコマンドは deprecated となっているらしい。理由は知らんが。

sntp -P no -r pool.ntp.org

代わりに上記コマンドでOK。
毎日一回時間合わせをするが、その方法はあとでまとめて紹介する。

[コメント(0)]