「 サーバー構築 」一覧

ADとSamba


WindowsServer2003でActiveDirectory

今まで、ドメインって何?って状態でしたが、そろそろ重い腰を上げてチャレンジ中。
そして、ユーザー認証もこのWin2003に任せて各マシンの認証を一元管理しようと思います。
これで、ログイン関係は楽が出来るかなぁ。

Sambaの設定

いきなり、globalセクションに security=adsってかいて、メンバー登録しようとしたら、失敗に。
悩んで検索するも、情報は出てこない。

設定ファイルを見直していたら、実はデフォルトで、userと記述されている箇所があって、
そちらのほうが後方に書かれているために、自分の設定が出来ていなかったという結論に。
しょうもないことで時間と費やしてしまった・・・。

Host is not configured as a member server.
Invalid configuration. Exiting….

なんて出たら、security = ads が他の値で上書きされて無効化されていないかチェックしよう。


メールサーバーのWebMail機能


メールサーバーのWebMail機能

やはり自分でサーバーを立てたのだから、使い勝手はよくしたい。

また、最近だったらAjaxなんかいれてリッチな画面にしたい。

という要求を満たしてくれる何かを探してました。

AtMail

Webブラウザによるメーラーという感じです。

サーバー指定することからみて、メールサーバーと独立しての使用ですね。

外部のメールサーバーにつなぐ用途ならこれでしょう。

サーバー設定をアクセスごとにしなきゃいけないとしたら、大変なので見送りました

http://atmail.org/

RoundCube

こちらは、設定は管理者のみ。ユーザーはログインのみで使用できます。

Outlookのような画面になるので使い勝手はよさそうです。

http://oss.poyo.jp/roundcube-ja/

これらのことから、Roundcubeを導入してみることにしました。

ブログツールとか

http://www.blogn.org/

複数ユーザーに対応しているらしい。非営利で使用OK

MovableType

もう既に説明するまでもなくメジャーなブログ

PwBlog

ビジネス使用用途っぽい。ちょっと殺風景な感じがした。
http://www.pwblog.com/

tDiary

今自分が使ってるツール。今風?って聞かれるとちょっと困るけど使っていて特に問題はない。
http://www.tdiary.org/


delegate


サーバー方針

VMごとに同じサービスを提供することもあるのでDelegate導入を決定。

  • httpとかftpとかはリバースプロキシで運用することにする。
  • pop/smtpはリバースプロキシとはならないので、代替案にて対応

振り分けはDelegateに任せるか(専用VM)、ルーターで何とかするか、の2つの方法でがんばってみることにする。

Delegate導入

本家サイトより delegate*.tar.gz をダウンロードしてくる。
そして、中身を展開する。

wget http://www.delegate.org/anonftp/DeleGate/delegate9.9.2.tar.gz
tar xvzf delegate9.9.2.tar.gz

cd delegate9.9.2
make

展開後makeしようとしたら、gccなどのコンパイル環境入ってなかったため、
yum install gcc などでインストール。

また、cc1plusがないと言われて yum install gcc-c++ も追加

各種ディレクトリを作ってdelegateを動かす準備.

mkdir -p /usr/local/delegate/bin,conf
cp src/delegated /usr/local/delegate/bin

mkdir /var/log/delegate
chown -R nobody:nobody /var/log/delegate

これで動かす準備が整った

SMTPについて

リバースプロキシとしては無理そうだったので、
プライマリメールサーバーとセカンダリというような感じで1つが代表して受信、その後リレーをするということでなんとかしようと考えた。

きちんとしたDNS立ててMXレコード設定出来る状況だったら、delegateでうまく出来ると思います。

セカンダリという位置づけながらも、それを利用するユーザーにとっては最初のSMTPサーバとならなくてはいけない。

また、自由にSMTPサーバーを使われては困るが、ポート変更とかは許容できない。

そこで、ユーザーに向けSubmissionポートはこのセカンダリに転送することにする。

ルーターのポート転送でやってしまったが、Delegateのtcprelayでも出来るかも知れない。

Postfix側設定

設定には、main.cfに

relay_domains = リレー対象のドメイン名
transport_maps = hash:/etc/postfix/transport

を記述し、transportファイルに下記を追記
ドメイン名 smtp:ローカルIP:25

その後、
# postmap hash:/etc/postfix/transport
として、ハッシュを作った後でサーバー再起動.

pop3対応

外部からpop3も使えるようにしようと思う。これはDelegate使って何とかしてみた。

/usr/local/delegate/bin/delegated -P110 SERVER=pop MOUNT=”/* pop://DefaultServer/*” REACHABLE=”192.168.0.0/24″ REALIABLE=”*”

これでローカルIPな範囲にのみの pop3のプロキシとして働くはず。

POPのユーザー名に、
ユーザー名@処理対象サーバーIP(ローカルの)
としてあげれば、外部から指定されたローカルなメールサーバーへ接続しにいくようになる。

ちょっと格好がわるいけど、これで運用してみようと思う。


メールサーバー構築あとの設定


VMにサーバー構築 -メールサーバー

Postfixをつかってサーバーを構築。

手順とかに詳しいページはたくさんあるのでSMTP-AUTHにするときに自分が問題になった部分をメモしておきます。
誰かの役に立てば、あるいは、再度構築するときのメモとなるか。

ローカルでは問題ないものの、外部から使おうとすると問題になった。
ログを確認してみると、次のようなエラーが出ていた。

warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory

そこで、sasldb2を変更することにした。

postfixから読めるように属性を変更。
chown postfix.postfix /etc/sasldb2

認証を通過させるためにユーザー情報をセット

saslpasswd2 -u ドメイン名 -c ユーザー名
パスワードを設定させる。

これで準備は整ったので、telnetからテストを試みる。

telnetによるテスト SMTH-AUTH(PLAIN編)

認証に使う文字列を確認しておく。
生成のために下記のコマンドを実行してみる。

perl -MMIME::Base64 -e ‘print encode_base64(“usernameusernameuserpassword”);’

NULL終端でユーザー名いれてパスワード。これで文字列ができあがるのでコピーでもしておく。

テストのためにコマンドを打ち込んでいく。ここではSubmissionポートで実験。

telnet localhost 587
EHLO localhost
(ここで、PLAIN方式をサポートしていることが条件)
AUTH PLAIN 上記で取得した認証文字列

うまくいけばここで、Successfulと出てくるはず。

mail from: <メールアドレス>
rcpt to: <メールアドレス>
data
testmail.

.

でメール送信テストが出来る。

saslのメモ

ユーザーのパスワードを変更したい時は、

# saslpasswd2 -u ドメイン名 ユーザー名

ユーザーの削除

# saslpasswd2 -u ドメイン名 -d ユーザー名

ユーザー一覧表示

# sasldblistusers2


サーバー設定作業中


ユーザー認証をLDAP使う

仮想サーバーを複数用意しつつも、認証は1つにしておきたいなぁということで、
認証サーバーにLDAP入れることにしました。

そして、ユーザーが、user1, user2,user3 がいるとして、

  • サーバーAには、user3 をログインさせたくない
  • サーバーBには、user1 をログインさせたくない

ということが出来ないとまずいなーと思い、調べ&テストしてみました。

LDAPの設定

既にladpによるユーザー認証は出来ているとします。

まず、クライアント側の、/etc/ldap.conf を編集します.

エントリの修正

LDAPのユーザーエントリに下記を追加します。

user1

host: serverA.mydomains.jp

user2

host: serverA.mydomains.jp
host: serverB.mydomains.jp

user3

host: serverB.mydomains.jp

このように許可するホスト名を書いておくことでOKとなります。

その他

CentOSで authconfig に手こずりました。

# LANG=C authconfig-tui

これで見慣れたCUIの設定画面が出てきます。


サーバー設定


友人が持ってきたノートPCをFTP使用可能にする目的で設定。
ちょっと躓いたので、メモっておきます。

サーバーにはProftpd

*OSは CentOS 5.2
*GUIは使わずに、CUIのみ

インストールした状態で持ってきてもらい設定。
下記の色々と予想外が起こりました。

FTP接続できるもののユーザー認証後?ログイン不可
設定がまずいのかと思い、デフォルトに戻してみてもNG。

悪さの原因は、SELinuxが有効になっていたことだったのでそれを無効化して終了

起動時にエラーが発生

IPとホスト名が一致してないよ?ってエラーを出して起動しない症状が。
インストール後に、ホスト名らを設定ファイル変更で対処したためだと考えられる。

次の2ファイルを整合性がとれるように編集したら解決した。

/etc/hosts
/etc/sysconfing/network

ローカルのホスト名が、片方のみ設定して、もう片方がlocalhostのままだったから…。
この辺は検索して出てきたので、症状に出会った人は多そうです。

しかし、これを初心者が設定するのは辛いなぁと思う。
サーバーを以前から構築したことがあって、ある程度理解してないとどこが同問題かを突き止められないと思う。

とはいいつつも、まずは見よう見まねでやってみることからスタートだと思っているし、余裕が出てきた頃には試しで色々とやってみるといいなと思う。

 


xen on vmware


Vista上でVMwareを使ってCentOSを入れ、さらにその中でxenの構築練習をしようとして失敗。

Domain-0はうまく出来るものの、Domain-Uをインストール時に失敗。
どうやら、外のftpをみることが出来ていない。vmwareのNATやらBridgeとか変更してみたが、xenのxenbr0との理解をしていないためか、それでもうまくいかない。

どこかでだれか、Windows上のVMwareを使ってxenのDom0&Uを構築してみた人はいないだろうか。

ようやくゲストインストール開始

色々と試行錯誤した結果、VMware Workstation6 for Windows上でCentOSをインストールし、その中のxenを使用して、CentOSをゲストとしてインストールできた。

VMwareの設定

割り当てたメモリ量 512M. これではゲストインストール時にちょっと厳しい
ネットワークはブリッジタイプ

Domain0用のCentOSを入れる際

httpdをインストール
IPv4で、事前にローカルの固定IPを割り振っておく

 

インストール後、Dom0用のカーネルパラメータに、

noapic devider=10 dom0_mem=192M

を追記しておく。このdom0_memが256Mだと、ゲストのインストール用でメモリを確保できない
そして、ゲストインストール時にはDom0でWebサーバーを起動し、ディスクイメージをwww配下にマウントさせて、ゲストから読むようにした。従来までは直接ネットワークを見に行ってインストールしようとしていたが、これをあきらめたのがよかったのかもしれない。

mount /dev/cdrom /var/www/html/os

一応、http:///os にアクセスして、cdromの中身がみれるか確認しておく。確認できたら、virt-install でゲストのインストールを開始。今回は次のような感じで設定してみました。改行してますが、1行で.


CentOS


VMware Workstation6にインストールするにあたって、諸注意のメモ。

!!追加のカーネルパラメータ設定

noapic nolapic divider=10

これは、仮想PC上の時刻ずれを軽減させるための措置

vmxファイルの修正

ethernet0.virtualDev = “e1000”

を追記しておく。

 

VMware用のツールインストール

VMwareToolsはバージョンのところは適切に設定すること。VMWをアップグレードしたら変更になるだろうし。

# cd vmware-tools-distrib
# ./vmware-install.pl

基本デフォルトで回答していく。注意がいるとすればネットワーク関係か。

 


このツールをインストールして、ディスクイメージのシュリンクができるらしい。

# vmshrink

試してみたら 200Mくらいは減った。

 


Tomcat


jreのインストール

Sunのサイトより jre-1_5_0_17-linux-i586.bin をダウンロード。
このファイルを、/usr/localにおいて、
/bin/sh jre-1_5_0_17-linux-i586.bin

yesとタイプして展開。
処理が完了すると、/usr/local/jre1.5.0_17 にjreが展開&配置されます。

tomcatのインストール

結局Tomcatのために上記のjreインストールも削除. rpm版入れました。
そのときのパスが、/usr/java にインストールされたので、ここにCLASSPATHとJAVA_HOMEらを設定しておきます。
/etc/profile あたりにでも、環境変数らを設定しておきます。

末尾あたりでも

ポート8080とかつけるのも避けたいので、JKをインストール
取得してきてmakeとインストール

vi /etc/httpd/conf/workers.properties

下記の箇所を適時書き換える

workers.tomcat_home=/opt/tomcat6

今回は、workers.tomcat_home=/usr/local/tomcat

workers.java_home=/opt/IBMJava2-13

今回は、workers.java_home==/usr/java/jdk1.5.0_17

 

設定ファイルを作る

vi /etc/httpd/conf.d/jk.conf

中身は、

LoadModule jk_module modules/mod_jk.so

さっきの、workers.propertiesを編集する。ファイル末尾に

[uri:/servlets-examples/*]

[uri:/jsp-examples/*]

 


smbclient


WindowsPCのほうにデータをコピー(バックアップ)したくて、久々にLinuxからWindowsの共有をマウントする、ということをしてみました。

そこで驚いたのが、いつの間にかコマンドやオプションが無くなっていること。
mount -t smbfsではそんなタイプ知らないといわれるし、 smbmountコマンドやろうとしたらそれも無いと言われる。

一方、smbclientは入っていたりするので謎でした。
結果は最近のものは、mount -t cifsとしてマウントさせるとのこと。
さらにこの状態では日本語フォルダをコピーしたり出来ないので、適切にオプションを設定してやることが必要

 

これで何とか出来るようになりました。ちなみにWindowsはVista, LinuxはEUCで保存するようにしているのでこんな感じに。