Vine5 構築記


これは次期サーバ用途&現サーバのバックアップとして組んだ4号機のVine5の構築記録です。

vine 5構築メモ 2009/12/13(日)
・取得
	ftpでiso取得。焼き
	IDE-HDDにはWinXP領域を残したまま(C:10G E:40Gぐらい)、
	空き領域を約60G作る
・インストール
	4号機にDVD-RWとIDE-HDDをつけてインストール。
		※プライマリはDVD-RW、HDDはスレイブに付け替え
	インストールの種類は「すべて」
	パーティション設定は「自動」
	「全てのLinuxパーティション削除」
	ブートローダーはデフォルト(GRUB)
		デフォルトはVine
		Otheの方は「WinXP」に書き換える
	ネットワーク
		デバイスは自動認識されるのでそのまま
			右の編集を押して、DHCPのチェックを外し、
				起動時にアクティブにするを選び、IP=192.168.1.2 / 255.255.255.0 を設定
		ホスト名を設定を手動設定で、msa-005
		その他はいつものように設定
			ゲートウェイ=192.168.1.1
			DNS1=192.168.1.7
			DNS2=192.168.1.1
	ファイアウォール有効
			SSH/HTTP/FTP/SMTP全てチェック
	ユーザ・パスワード設定適当
	インストールパッケージ
		デフォルト
			※後でapt-get or synaptic で追加できる

・起動後
	特になにもすることなくいきなりネットも見れるし、完璧。
	VNCを使う場合は、インターネット→リモートデスクトップのビューアを利用する。
	(のちにやっぱりvncviewer & serverをインストール)

・SSH
	telnetは平文で流れるので、tcpdumpなどで見られるとヤバい(ま、ローカルだからいいんだが)。
	よって、最近はtelnetを殺し、かわりにsshを使うのが定番。
	windowsマシンからはputty をダウンロードして使う。これはなかなか良い。
	文字コードはUTF-8になっている。時代の流れ。

・apt-get update & upgrade
	おなじみ。
・apt-cache search キーワード を使ってインストールすべきアプリを検索
	※apt-get update & upgrade をやってないと、java等がみつからないです。

・apt-get install java-1.6.0-sun-devel

・tomcat6.0.20のインストール
	これはtar.gzをtomcat.apache.orgから取得
	adduser tomcat
	passwd ****** でwebmasterを設定
	/home/tomcat/6.0.20 として設置

	設定は特に変えず、
	2号機からコピーで、animeとbicycle をwebapps以下に配置

	/etc/profile に JAVA_HOME 等の環境変数を設定
	JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.15
	CATALINA_HOME=/home/tomcat/6.0.20
	設定後、起動
	jdbcを入れ忘れてたので、animeとbicycleのWEB-INF/libへコピー
	これで起動確認。
	データベースの接続先が2号機になっているため、そのまま動いてしまうw

・apache連携
	トムキャット側の設定は特に必要ない。
	$CATALINA_HOME/conf/server.xml に、
	Connector port="8009"として、AJP/1.3 がデフォルトで指定されているからだ。
	
	
	あとは、連携すると言うことは anime や bicycleが apacheの領域にないとダメなので、
	例によってディレクトリ移動&シンボリックリンクで対応
	
	↑は間違い。tomcat/conf/Catalina/localhost/*.xml 等でどうにでもなる。

	apache側は、/etc/apache2/conf/httpd.confで、proxy_moduleを読み込むように指定する。
		/etc/apace2/modules 以下に、mod_proxy_ajp.so が存在するか確認 --> 存在する。
		下記赤字を追加。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
次に、/etc/apache2/conf.d/ の下に、〜.conf を作成する。 今回は proxy.conf としたが、名前は*.confなら何でもいい。 httpd.confにその下の*.confはデフォで読み込まれるようにhttp.confで設定されているから。 内容は以下の通り
<Location /anime/>
    ProxyPass ajp://msa-005:8009/anime/
</Location>
<Location /bicycle/>
  ProxyPass ajp://msa-005:8009/bicycle/
</Location>
これでapache2を再起動すれば無事連携が取れてます。 あとはpostgresを作ってこっちを見るようにすれば終わりだな。 ・apt-get installで以下を入れる。 postgresql - PostgreSQL のクライアントプログラム群およびライブラリ postgresql-contrib - PostgreSQL と一緒に配布される、寄贈されたソースとバイナリ #postgresql-devel - PostgreSQL の開発用ヘッダファイルとライブラリ群 #postgresql-docs - PostgreSQL に関するその他の文書 postgresql-jdbc - PostgreSQL データベースにアクセスする Java プログラムのために必要なファイル群 #postgresql-libs - PostgreSQL クライアントに必要な共有ライブラリ postgresql-server - PostgreSQL サーバを構築・実行するのに必要なプログラム
# /etc/init.d/postgresql start
	データベースを初期化中:                                         [  OK  ]
	Starting postgresql service:                                    [  OK  ]

# su - postgres
$ createuser -P (メインユーザ)
	新しいロールのパスワード:
	もう一度入力してください:
	新しいロールをスーパーユーザとしますか?  (y/n)y
$ su - (メインユーザ)
$ createdb anime
$ createdb bicycle
$ psql -l
エンコードはUTF-8がデフォになっている。 問題が出るようならEUCに戻す。 だが、今後はこれの方が未来があるので、頑張りたい。。 ※4.2で出た問題はなくなってた!(〜の文字化けとか) TCP/IPの設定 /var/lib/pgsql/data/postgresql.conf に以下を追加
	listen_addresses = '*' 
/var/lib/pgsql/data/pg_hba.conf に以下を追加(md5はパスワード要求)
#host    all         all         192.168.1.0/24            md5
host    all         all         192.168.1.0     255.255.255.0        md5
後は、ファイアウォールの設定。 GUIがやり易い。 [システム]→[システム管理]→[セキュリティレベルとファイヤーウォールの設定] で、その他のポートに 5432 を追加する。 ・Windowsマシンから、cse、libpg.dll等を準備し、接続テスト。問題なし。 ・tomcatの起動スクリプトをinit.dに登録する 手順はvine2.x系と同じでいけるので、Web上で公開してるものを参考にする。 一応示しておく スクリプトは以下 /etc/init.d/tomcat の内容
#!/bin/sh
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat

# Source function library.
. /etc/rc.d/init.d/functions

# /etc/profileが読まれないのでここで書く
CATALINA_HOME=/home/tomcat/6.0.20
# 起動ユーザ
USR=tomcat

case "$1" in
'start')
    if [ -f $CATALINA_HOME/bin/startup.sh ]; then
        echo "Starting tomcat .."
        su - $USR -c "$CATALINA_HOME/bin/startup.sh"
    else
        echo "ERROR!! File not Found($CATALINA_HOME/bin/startup.sh) .."
    fi
    ;;
'stop')
    echo "Stopping tomcat .."
    su - $USR -c "$CATALINA_HOME/bin/shutdown.sh"
    ;;

'restart')
    $0 stop
    $0 start
    ;;
*)
    echo "Usage: $0 {start|stop|restart}"
    ;;
esac
exit 0 
実行権限をつけ、chkconfigで起動登録
# chmod +x /etc/init.d/tomcat
# chkconfig --add tomcat
# chkconfig --list tomcat 
・ntsysv で、apache2 と postgres も初期起動とする。 ・jdbcを更新する。2009年4月のものが入っているので、今回Updateしたものにかえる 念の為バックアップをとった上で /usr/share/pgsql/ 以下からコピー /usr/share/pgsql/postgresql-8.4-701.jdbc4.jar が最新最強っぽい ・sambaを設定 クライアントは普通に何もせずに繋がってる サーバ側はちょこっと設定するだけ smbpasswd -a でユーザ追加 /etc/init.d/smb start ntsysv で初期起動 [システム]→[システム管理]→[セキュリティレベルとファイヤーウォールの設定]でポートを開ける。 ・vncserverを設定 apt-get install vnc apt-get install vncserver その後、起動したいユーザで $ vncserver これで .vnc が出来、デフォルトの twm が起動される。 起動スクリプト変更 ~/.vnc/xstartup の代わりに、 /etc/X11/xinit/xinitrc を xstartup としてコピーする。 後は、vncserverを再起動 vncserver :1 -geometry 1280x1024 停止は vncserver -kill :1 毎回 -geometry オプションを書くのも面倒なので、スクリプトを書いておく ローカルサーバ上で試す vncviewer コマンドを実行 アプリケーション→インターネット→リモート・デスクトップのビューアでもいける [システム]→[システム管理]→[セキュリティレベルとファイヤーウォールの設定]でポートを開ける。 VNCサーバ自体のポートは5900だが、Linuxでは各ユーザ毎、というかX毎、複数起動可能なので、 59xx(xxは、vncserver起動時に指定したディスプレイ番号)がポートとなる。 ディスプレイ「:1」 が5901 にあたる。 まぁtcp:5901一個あけてれば十分 リモートから試す msa-005:1 で。 ------------------------------------ ・Firefoxのプラグイン まず最初にかならずアドビのフラッシュプレイヤーがひっかかるが、 自動ではインストールできないので、tar.gz 形式のをダウンロードして *.soを /usr/lib/mozilla/plugins に収める ------------------------------------ ・メールサーバ popはいいとして、SMTPは SSL対応のSMTPS(465/tcp)で構築したい main.cf は適当にネットをあさる。 完成版を1号機に保存しておく ポイントはMaildir形式 ・Maildir形式メールボックス Postfixのメール格納形式は共有ディレクトリ形式 (「/var/spool/mail/ユーザ名」というファイルに全てのメールが蓄積されていく形式)だが、 アクセス性能改善及びセキュリティ強化の観点からMaildir形式へ移行する。 mkdir -p /etc/skel/Maildir/{new,cur,tmp} chmod -R 700 /etc/skel/Maildir /etc/skel とは、新規ユーザ作成時にコピーされるテンプレート群が収められているdirです ・dovecot qpopperに変わるもの。これも dovecot.conf が全てとなる。 何を変えたのか、完璧に忘れた。多分、あまりいじってないと思う。 ntsysvでpostfixとdovecotを初期起動登録。 ポート空け。 --------------------------------------------------------- ・vim EUC(多分SJISも)のテキストを開くと文字化け。自動判別されない。 ・.vimrc を作成し、以下の一行を追加(※具体的には、デフォルトからeuc-jp,sjisを追加しただけ) set fileencodings=ucs-bom,utf-8,euc-jp,sjis,default,latin1 ※ちなみに、開いた後で :e ++enc=sjis のように、コマンドで開き直すことが出来る。 ・.vimrcを /etc/skel へコピーしておく --------------------------------------------------------- ・webapp以下のアプリの、環境面修正、データの登録、絵・音のコピー作業その他、詳細はここでは書かない。 --------------------------------------------------------- ※自動スクリプト整備 postgresのバックアップ等、2号機で動いているcron等を移植整備。 ・C言語のソースはバージョンアップによりそのままでは動作しないので、 書き換えが必要 ・2009/12/27 あらかた終了。但し、pqxx関連だけ未。 libpq.so.5からのシンボリックリンクで対応しただけ。 バイナリは古いが一応動くのでまぁいいかと。 --------------------------------------------------------- 2010/04/26 apt-get update/upgrade後、tomcatが動作しなくなった。 おそらく、javaのバージョンアップが原因ではないかと思い、調査。 すると、旧ヴァージョンのディレクトリがクリーンされており、 その為にlibが参照できずに落ちたと思われる。 一応、環境変数JAVA_HOMEだけの問題か?と思い、修正後再起動。 予想通り、ちゃんと元通り動作した。 なお、JAVA_HOMEは、/etc/profileに記述してあるので、その一点修正で済んだ。 --------------------------------------------------------- 2010/06/29 時刻ずれが気になっていながら、全く処理してなかったがようやくntpを設定。 /etc/ntp.conf にserverを設定するだけ。 2号機を指定すればいいだろう。念の為ログファイルも。 server 192.168.1.7 logfile /var/log/ntp.log 最後に、ntsysv でスタート時起動(ntpd) ---------------------------------------------------------