ラベル CentOS の投稿を表示しています。 すべての投稿を表示
ラベル CentOS の投稿を表示しています。 すべての投稿を表示

2011年4月4日月曜日

ServersMan@VPS で stone を試してみる

stone とは、TCP、UDP を中継してくれる便利なアプリケーションです。
今回は、CentOS 5.5 にインストールしてみました。

ソースをダウンロード、展開、make します。

$ wget http://www.gcd.org/sengoku/stone/stone-2.3e.tar.gz
$ tar xzf stone-2.3e.tar.gz
$ cd stone-2.3d-2.3.2.7
$ make linux
$ sudo install -m 755 stone /usr/local/bin
使い方

[Client]---->1025[CentOS]---->25[smtp.example.com]

$ stone -nr -f 10 \
smtp.example.com:25 10025 Client -- \
proxy 18080 Client &


IPv6 に対応していない Web サイトに、IPv6 で接続する。

[Client]--(IPv6)-->80[CentOS]--(IPv4)-->80[www.example.com]

$ sudo stone -nr -f 10 www.example.com:80 80/v6only &


2010年10月31日日曜日

ffmpeg を使ってみる

ffmpeg について調べています。

CentOS にインストールしてみました。

ffmpeg をインストールする前に、必要なコーデックをインストールしておきます。
$ wget http://www.ffmpeg.org/releases/ffmpeg-0.6.1.tar.bz2
$ tar xjf ffmpeg-0.6.1.tar.bz2
$ cd ffmpeg-0.6.1
$ ./configure --help
$ make
$ cp -p ffmpeg ~/bin

(作成中...)

2010年10月16日土曜日

ServersMan@VPS の初期設定

ServersMan@VPS の初期設定をします。


ログイン ユーザの環境設定

初期状態では、LANG 環境変数が日本語になっておらず、日本語メッセージが表示されるコマンドでも英語表示になります。

$ vi ~/.bashrc

[追加]
---- ---- ---- ----
export LANG=ja_JP.UTF-8
---- ---- ---- ----

~/.bashrc を変更後、再度ログインします。
ssh クライアントの文字コード設定が UTF-8 になっていないと文字化けします。
英語メッセージにもどしたいときは、

LANG=C

と入力した後、コマンドを実行すればOKです。


NTP (時刻同期) について

サーバの時刻は何もしないとすぐにずれてきてしまいます。
ntpdate を cron で定期的に実行するか ntpd を動かすのが普通です。
ServersMan@VPS では、VPS サーバで時刻同期する必要はなさそうでした。
私の VPS サーバでは正確な時刻を示しています。


DNS サーバ

DNS サーバの設定をして、ドメイン名で VPS サーバにアクセスできるようにしましょう。
ドメインを取得して、VPS サーバで Bind を動作させるのが一番良いと思いますが、ドメインの取得には費用が別途必要になります。
そこで、無料で使用できる Dynamic DNS を利用するのが良いかと思います。
Dynamic DNS でカバーできるのは正引きだけです。逆引きはカバーできないです。
ドメインを持っていないと、ServersMan@VPS では逆引き設定ができないようです。

Dynamic DNS で、私のお勧めは yi.org です。
管理画面が重いのが欠点です。画面の遷移が遅いのは我慢です。
yi.org のサブドメインを登録でき、
A レコードのみでなく、MX、AAAA レコードの登録もできます。
ServersMan@VPS は、IPv4 及び IPv6 の固定アドレスが手に入るので、早速 A、AAAA レコードを登録して、ドメイン名でアクセスしてみましょう。

Web サイトのトップ画面を作成します。

$ sudo vi /var/www/html/index.html

[新規作成]
---- ---- ---- ----
<html>
<head><title>○○.yi.org</title></head>
<body>
<h1>Welcome to ○○.yi.org</h1>
</body>
</html>
---- ---- ---- ----

ブラウザで、http://○○.yi.org にアクセスして確認してみましょう。
なお、クライアントの OS で IPv6 が有効なのに、IPv6 でインターネットにアクセスできるようになっていないと、接続に時間がかかるかもしれません。
これは、AAAA レコードが解決できると、まず IPv6 での接続を試し、タイムアウト後、IPv4 でのアクセスに切り替る実装になっているからです。


参考

2010年10月14日木曜日

ServersMan@VPS を申し込む

ServersMan@VPS とは


ServersMan@VPS とは、仮想専用サーバーサービスです。
サーバ構築、運用を勉強する人にはぴったりのサービスだと思います。
なんと初期費用0円、月額490円という超激安価格です。
この価格でスペックは、メモリ 512MB、HDD 10GB、IPv4×1、IPv6×1 です。
自宅に常時稼動するPCを用意することと比較して、手軽に準備でき、
コストも十分納得できるレベルだと思います。
root 権限で触ることができる CentOS5 が手に入ります。
IPv4 と IPv6 固定アドレス1つずつ手に入ります。
これから IPv6 を試してみることが増えてくると思います。
今から、IPv6 が使える環境を手に入れる意義は大きいと思います。
値段により3つのプランがありますが、勉強用途には Entry プランが最適でしょう。

注意点としては、スワップが使えないこと。

仮想化技術として、Open VZベースの「SiLK VM」というものを使っているらしいです。

VMware や Xen よりも動作させられる環境数が多いようで、これが低価格の秘密かもしれません。

ただ、スワップが使えないことが欠点です。メモリを使用すぎないように注意しましょう。





ServersMan@VPS を申し込む


申し込みは、こちら (http://dream.jp/vps/) からです。
申し込んですぐに使えるようになります。
申し込むときに最初からインストールされているアプリケーションを選択するために、
パッケージを選択できます。
勉強用途には、インストールから試せる「シンプルセット」が良いでしょう。



申し込んで10分程度したら、ServersMan のコントロールパネルにログインして ServersMan を有効にします。
こちら (http://dream.jp/vps/manual/mnl_file_updown.html) に書いてある手順に従って実施します。
ServersMan とは、VPS サーバを CloudDisk として動作させるアプリケーションで、ブラウザを使ってファイルのアップロード・ダウンロードができます。
VPS サーバの /var/serversman/htdocs/MyStorage/ にファイルをアップロードできます。




root 権限で VPS サーバにログインする


こちら (http://dream.jp/vps/manual/mnl_root_login.html) を参考に、ssh で root ログインします。
こちら (http://dream.jp/vps/manual/mnl_security.html) を参考に、ssh での root 権限でのログインを禁止しておきましょう。


root パスワードを初期値から変更しておきます。
また、リモートで作業するときは、セッションが切断されても再接続できるように screen コマンドを使うと良いです。


# passwd


一般ユーザ (ここでは nonsugar) を作成し、パスワードを設定します。

# useradd -G wheel nonsugar

# passwd nonsugar



wheel グループに所属するユーザが sudo できるように設定します。

# visudo



[以下の行のコメントを外す]

---- ---- ---- ----


%wheel ALL=(ALL) ALL

---- ---- ---- ----



ssh で一般ユーザでログインします。
root で ssh ログインできないようにします。



$ sudo vi /etc/ssh/sshd_config




[変更]

---- ---- ---- ----

#PermitRootLogin yes

PermitRootLogin no

---- ---- ---- ----




$ sudo /etc/init.d/sshd restart



パッケージを最新の状態にアップデートしておきます。
セキュリティを維持するために定期的に yum update を実施しましょう。


$ sudo yum update




参考

2010年10月11日月曜日

radiko で録音

radiko で録音する方法です。
もちろん、視聴エリアからでないと録音できません。

Mitsugu Oyama さんのサイト に書かれている方法を参考にしています。

録音用シェルスクリプト (radiko) と crontab の例を載せておきます。
録音用シェルスクリプト (radiko) には、放送局と録音時間 (分) を指定します。
録音時間は、ラジオの放送よりネット配信が遅れることを考慮して 30秒長くなるようにしています。

cron で設定した時刻に録音が始まります。
FLV ファイルが作成されるので、Audacity で必要部分を切り出してお好みのエンコーディングで出力すればOKです。
FLV ファイルを直接聞くなら、SMPlayer がお勧め。聴きたい位置にシークできます。


[事前準備]
$ sudo apt-get install libssl-dev #### CentOS なら sudo yum install openssl-devel
$ wget http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz
$ tar xzf rtmpdump-2.3.tgz
$ cd rtmpdump-2.3
$ make SYS=posix
$ sudo make install
$ vi ~/bin/radiko
$ chmod +x ~/bin/radiko
$ crontab -e
[$HOME/bin/radiko]
#! /bin/sh
DESTDIR="$HOME/Radio"
RTMPDUMP="/usr/local/bin/rtmpdump"

if [ -z "$1" ]; then
cat <<EOM 1>&2
Usage: radiko STATION [DURATION]
DURATION: 録音時間 (分)

STATION (在京民法ラジオ) STATION (在阪民法ラジオ)
----------------------------- -----------------------------
TBS ... TBSラジオ ABC ... 朝日放送
QRR ... 文化放送 MBS ... 毎日放送
LFR ... ニッポン放送 OBC ... ラジオ大阪
NSB ... ラジオNIKKEI CCL ... FM COCOLO
INT ... InterFM 802 ... FM802
FMT ... TOKYO FM FMO ... FM OSAKA
FMJ ... J-WAVE

EOM
exit 1
fi

test -d "$DESTDIR" || mkdir -p "$DESTDIR"
STATION=$1
DURATION=""
test -z "$2" || DURATION="--stop `expr $2 \* 60 + 30`"
FILENAME="$DESTDIR/${STATION}_`date +%Y%m%dT%H%M%S`.flv"
RTMP="rtmpe://radiko.smartstream.ne.jp:1935"
SWFURL="http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf"
PAGEURL="http://radiko.jp/player/player.html#$STATION"
APP="$STATION/_defInst_"
FLASHVER="LNX 10,0,45,2"

$RTMPDUMP --rtmp "$RTMP" --playpath "simul-stream" --swfUrl "$SWFURL" \
--pageUrl "$PAGEURL" --app "$APP" --flashVer "$FLASHVER" --flv "$FILENAME" \
--live $DURATION
[crontab -l]
# A&G超RADIO SHOW~アニスパ!~ (文化放送 土21:00-23:00)
00 21 * * Sat $HOME/bin/radiko QRR 120 >>$HOME/Radio/radiko.log 2>&1 &
# A&Gメディアステーション こむちゃっとカウントダウン (文化放送 土23:00-24:00)
00 23 * * Sat $HOME/bin/radiko QRR 60 >>$HOME/Radio/radiko.log 2>&1 &
# 田村ゆかりのいたずら黒うさぎ (文化放送 土24:00-24:30)
00 00 * * Sun $HOME/bin/radiko QRR 30 >>$HOME/Radio/radiko.log 2>&1 &
# May’nの らじ☆たま (文化放送 土28:00-28:30)
00 04 * * Sun $HOME/bin/radiko QRR 30 >>$HOME/Radio/radiko.log 2>&1 &
# 堀江由衣の天使のたまご (文化放送 日22:00-22:30)
00 22 * * Sun $HOME/bin/radiko QRR 30 >>$HOME/Radio/radiko.log 2>&1 &
# 水樹奈々 スマイルギャング (文化放送 日23:30-24:00)
30 23 * * Sun $HOME/bin/radiko QRR 30 >>$HOME/Radio/radiko.log 2>&1 &


参考

2010年3月6日土曜日

CentOS 5.4 で、DeleGate を試してみる。

インストール・設定

# yum groupinstall "開発ツール" ### ビルドするために、開発ツールをインストールする。
# wget ftp://ftp.delegate.org/pub/DeleGate/delegate9.9.6.tar.gz
# tar xzf delegate9.9.6.tar.gz
# cd delegate9.9.6
# less INSTALL
# make
# cp -p src/delegated /usr/local/bin/
# less subin/README_SUBIN
# cp subin/dgbind /usr/local/bin/
# chown root:nobody /usr/local/bin/dgbind
# chmod 6550 /usr/local/bin/dgbind

※ FTP Proxy で、特権ポートを使う場合は、setuid を有効にした dgbind が必要となります。


プロキシの起動・停止

# delegated -P8080 SERVER=http ### HTTP Proxy を 8080/tcp で起動
# delegated -P8080 -Fkill ### 8080/tcp で動作する DeleGate の停止
# delegated -P21 SERVER=ftp ### FTP Proxy を 21/tcp で起動
# delegated -P21 -Fkill ### 21/tcp で動作する DeleGate の停止

※ root で起動すると、ユーザ/グループが、nobody/nobody 動作するプロセスが起動する。
また、DGROOT=/var/spool/delegate-nobody となる。ログファイルは、$DGROOT/log/ 以下に吐かれる。


参考

2009年7月24日金曜日

linux rescue

RHEL や CentOS のインストール用 CD-ROMには、レスキュー モードが存在します。
レスキュー モードを使用して、dump コマンドで取得したバックアップからリストアする方法を検証中です。

(作成中の文章です)

条件
  • CentOS 5.2 で検証しています。
  • LVM (Logical Volume Manager) を使用しています。
  • バックアップ元は、CentOS01 (172.16.208.35)
  • バックアップ先は、NFSsvr (172.16.208.36) の /backup ディレクトリ
NFS サーバの設定
  1. NFS サーバ (NFSsvr) の /backup ディレクトリをエクスポートします。アクセスは、バックアップ元の CentOS01 のみ許可します。
    NFSsvr# vi /etc/exports
    ---- ---- ---- ---- ---- ---- ---- ----
    /backup CentOS01(rw,sync,no_root_squash)
    ---- ---- ---- ---- ---- ---- ---- ----
  2. NFS サーバを起動します。
    NFSsvr# service nfs start
    NFSsvr# exportfs (エクスポートされていることを確認)
  3. バックアップを実施する。
  4. NFS サーバを停止します。
    NFSsvr# service nfs stop
    NFSsvr# service nfs status (停止したことを確認)
事前情報の取得
  1. NFS マウントする。
    # mkdir -p /nfs
    # mount -t nfs NFSsvr:/backup /nfs
  2. パーティション情報を取得します。
    # sfdisk -d /dev/sda >"/nfs/`hostname`_sfdisk-d-sda.txt"
    # cat /etc/fstab >"/nfs/`hostname`_etc-fstab.txt"
    # mount >"/nfs/`hostname`_mount.txt"
  3. LVM の情報を取得します。
    # pvdisplay >"/nfs/`hostname`_pvdisplay.txt"
    # vgdisplay >"/nfs/`hostname`_vgdisplay.txt"
    # lvdisplay >"/nfs/`hostname`_lvdisplay.txt"
    # vgcfgbackup VG00 -f "/nfs/`hostname`_vgcfgbackup-VG00.txt"
  4. 続いてバックアップを行います。
バックアップ (LVM2 スナップショットを使用した場合)
  1. スナップショットを作成する。
    # lvcreate --snapshot --size 1G --name snap-root /dev/VG00/root
    # lvcreate --snapshot --size 1G --name snap-var /dev/VG00/var
  2. dump コマンドでバックアップを取得する。(/boot 以外)
    # dump -0uf "/nfs/`hostname`_VG00_root.dump" /dev/VG00/snap-root
    # dump -0uf "/nfs/`hostname`_VG00_var.dump" /dev/VG00/snap-var
  3. スナップショットを解除する。
    # lvremove -f /dev/VG00/snap-root
    # lvremove -f /dev/VG00/snap-var
  4. dump コマンドでバックアップを取得する。(/boot)
    # dump -0uf "/nfs/`hostname`_sda1.dump" /dev/sda1
  5. NFS をアンマウントする。
    # umount /nfs
レスキュー モードで起動する
  1. インストール用の CD-ROM から起動します。(BIOS のブート順の変更が必要かもしれません)
  2. boot: プロンプトが表示されたら、"linux rescue" と入力し、レスキュー モードで起動します。
    (デバイスドライバを FD もしくは USB メモリから読み込ませる場合は、"linux rescue dd")
  3. Choose a Language: English
  4. Keyboard Type: jp106
  5. Setup Networking: No (コマンドでネットワーク設定をするため)
  6. Rescue: Skip
  7. シェルのプロンプトが表示されるので、IP アドレスを設定します。
    # ifconfig eth0 172.16.208.35 netmask 255.255.255.0
バックアップ (レスキュー モードを使用した場合) 検証中です
  1. レスキュー モードで起動します。
  2. LV をアクティブにします。
    # lvm vgscan (VG をスキャンします。)
    # lvm vgchange -a y VG00 (VG 内の LV をアクティブにします。)
    # lvm lvdisplay | less (LV Status が available になっていることを確認します。)
  3. NFS マウントします。
    # mkdir /nfs
    # mount -t nfs 172.16.210.32:/backup /nfs
  4. dump コマンドで各パーティションをバックアップします。
    # dump -0f "/nfs/CentOS01_VG00_root.dump" /dev/VG00/root
    # dump -0f "/nfs/CentOS01_VG00_var.dump" /dev/VG00/var
    # dump -0f "/nfs/CentOS01_sda1.dump" /dev/sda1
  5. NFS をアンマウントして、再起動します。
    # umount /nfs
    # exit
リストア
  1. レスキュー モードで起動します。
  2. NFS マウントします。
    # mkdir /nfs
    # mount -t nfs 172.16.208.36:/backup /nfs
  3. パーティション情報を復元します。
    # sfdisk /dev/sda </nfs/CentOS01_sfdisk-sda.txt
    # sfdisk --force /dev/sda </nfs/CentOS01_sfdisk-sda.txt (失敗する場合は、このように --force オプションを付けて実行)
    # cat /nfs/CentOS01_sfdisk-sda.txt
    # sfdisk -d (CentOS01_sfdisk-sda.txt と比較して確認)
    # cat /proc/partition (パーティションが認識されていることを確認)
  4. PV の情報を復元します。
    # UUID="`grep 'PV UUID' /nfs/CentOS01_pvdisplay.txt | awk '{print $3}'`"
    # echo $UUID (PV の UUID がセットされていることを確認)
    # lvm pvcreate -ff --restorefile /nfs/CentOS01_vgcfgbackup-VG00.txt --uuid $UUID /dev/sda2
  5. LV の情報を復元します。
    # lvm vgcfgrestore -f /nfs/CentOS01_vgcfgbackup-VG00.txt VG00
  6. LV をアクティブにします。
    # lvm vgchange -a y VG00 (VG 内の LV をアクティブにします。)
    # lvm lvdisplay | less (LV Status が available になっていることを確認します。)
  7. ext3 でフォーマットします。
    # mke2fs -j /dev/VG00/root
    # tune2fs -c -1 -i 0 /dev/VG00/root
    # mke2fs -j /dev/VG00/var
    # tune2fs -c -1 -i 0 /dev/VG00/var
    # mke2fs -j -L /boot /dev/sda1
    # tune2fs -c -1 -i 0 /dev/sda1
    # mkswap /dev/VG00/swap
  8. restore コマンドでバックアップをリストアします。
    # mkdir /restore
    # mount -t ext3 /dev/VG00/root /restore
    # cd /restore
    # restore rf /nfs/CentOS01_VG00_root.dump
    # mount -t ext3 /dev/VG00/var /restore/var
    # cd /restore/var
    # restore rf /nfs/CentOS01_VG00_var.dump
    # mount -t ext3 /dev/sda1 /restore/boot
    # cd /restore/boot
    # restore rf /nfs/CentOS01_VG00_sda1.dump
  9. MBR の回復 (GRUB のインストール)
  10. # chroot /restore
    # mount /proc
    # cat /proc/partitions (sda の major, minor を確認する)
    # mknod b 8 0 /dev/sda
    # mknod b 8 1 /dev/sda1
    # mknod b 8 2 /dev/sda2
    # grub-install /dev/sda
    # rm /dev/sda*
  11. 再起動します。
    # sync; sync; sync
    # exit (chroot 環境を抜ける。)
    # exit (レスキュー モードを抜ける。)
NFS を使用せず ssh を使用する場合の例
  • sfdisk -d /dev/sda | ssh root@$SSHsvr dd of="/backup/`hostname`_sfdisk-d-sda.txt"
  • dump -0uf - /dev/VG00/snap-root | ssh root@$SSHsvr dd of="/backup/`hostname`_VG00_root.dump"
  • ssh root@$SSHsvr dd if="/backup/`hostname`_VG00_root.dump" | restore rvf -
参考

2009年7月19日日曜日

RHEL5 で yum

RHEL5 では、up2date から yum に変更されている。もちろん CentOS でも yum でパッケージ管理ができる。
  • RPM パッケージを更新: yum update
  • パッケージ名を指定して RPM パッケージを更新: yum update pkg_name
  • RPM パッケージのインストール: yum install pkg_name
  • RPM パッケージを削除: yum remove pkg_name
  • RPM パッケージの検索: yum list regexp
  • パッケージ グループの管理 (更新): yum groupupdate "group_name"
  • パッケージ グループの管理 (インストール): yum groupinstall "group_name"
  • パッケージ グループの管理 (削除): yum groupremove "group_name"
  • カーネルの更新を止める
    [/etc/yum.conf] に「exclude=kernel*」を追加する。
  • プロキシサーバを使用
    [/etc/yum.conf] に「proxy=http://proxy.example.com:3128/」のような行を追加する。

参考

2009年6月28日日曜日

CentOS 5 でメールサーバ

CentOS 5 でメールサーバを構築してみた。

環境
  • MTA: Postfix
  • POP/IMAP サーバ: Dovecot
  • DNS サーバ: Bind9
  • IMAP クライアント: SquirrelMail (Web Mail)
Bind9
# yum groupinstall "DNS Name Server"
# chkconfig named on
# chkconfig --list named
# cd /var/named/chroot/etc
# cp -p /usr/share/doc/bind-9.3.4/sample/etc/* .
# vi named.conf
# chown root:named *
# cd /var/named/chroot/var/named
# cp -p /usr/share/doc/bind-9.3.4/sample/var/named/* .
# rm named.root
# wget ftp://ftp.rs.internic.net/domain/named.root
# vi example.com.db
# vi example.com.rev
# chown root:named *
# service named configtest
# service named start
# vi /etc/resolv.conf
Postfix
# yum install postfix
# yum remove sendmail
# chkconfig postfix on
# chkconfig --list postfix
# cd /etc/postfix
# cp -p main.cf main.cf.orig
# vi main.cf
# postconf -n
# service postfix check
# service postfix restart
Dovecot
# yum install dovecot
# chkconfig dovecot on
# chkconfig --list dovecot
# service dovecot start
SquirrelMail
# yum install httpd
# chkconfig httpd on
# chkconfig --list httpd
# service httpd configtest
# service httpd start
# yum install squirrelmail
# less /usr/share/doc/squirrelmail-1.4.8/INSTALL
# cd /usr/share/squirrelmail/config
# ./conf.pl (/etc/squirrelmail/config.php が変更される。)
> [C Turn color off] で白文字が見えないのを解消する。
> [2. Server Settings]
>> [1. Domain]: example.com
>> [A. Update IMAP Settings]
>>> [8. Server software]: other
>>> [H. Hide IMAP Server Settings]
>> [R Return to Main Menu]
> [4. General Options]
>> [16. Only secure cookies if poss.]: false
>> [R Return to Main Menu]
> [10. Languages]
>> [1. Default Language]: ja_JP
>> [2. Default Charset]: iso-2022-jp
>> [R Return to Main Menu]
> [S Save data]
> [Q Quit]
ブラウザ [http://server-address/webmail/src/configtest.php] でチェック
ブラウザ [http://server-address/webmail] でログインできる。
参考

2009年6月19日金曜日

CentOS 5 で postLdapAdmin

CentOS 5 で LDAP を使ったメールサーバ構築を試してみた。

LDAP のインストール
  1. Openldap をパッケージでインストールする。
    # yum install openldap-servers
    # yum install openldap-clients
  2. slapd.conf の編集する。
    # vi /etc/openldap/slapd.conf
    # egrep -v '^\s*(#|$)' /etc/openldap/slapd.conf
    include /etc/openldap/schema/core.schema
    include /etc/openldap/schema/cosine.schema
    include /etc/openldap/schema/inetorgperson.schema
    include /etc/openldap/schema/nis.schema
    allow bind_v2
    pidfile /var/run/openldap/slapd.pid
    argsfile /var/run/openldap/slapd.args
    database bdb
    suffix "dc=example,dc=com"
    rootdn "cn=Manager,dc=example,dc=com"
    rootpw secret
    directory /var/lib/ldap
    index objectClass eq,pres
    index ou,cn,mail,surname,givenname eq,pres,sub
    index uidNumber,gidNumber,loginShell eq,pres
    index uid,memberUid eq,pres,sub
    index nisMapName,nisMapEntry eq,pres,sub
  3. DB_CONFIG をコピーする。
    # cp -p DB_CONFIG.example /var/lib/ldap/DB_CONFIG
  4. syslog.conf に追加する。
    # echo -e "\n# Openldap log messages" >>/etc/syslog.conf
    # echo -e "local4.*\t\t\t\t\t\t/var/log/openldap" >>/etc/syslog.conf
    # killall -HUP syslogd
  5. Openldap の起動設定をする。
    # chkconfig ldap on
    # chkconfig --list ldap
  6. slapd.conf の設定が正しいことを確認する。
    # slaptest -uv
  7. # service ldap start
    # service ldap status
    # less /var/log/openldap
  8. LDAP の基本構造を作成します。
    # vi /etc/openldap/init.ldif
    ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
    # トップの DN データ
    dn: dc=example,dc=com
    objectClass: organization
    objectClass: dcObject
    o: example.com
    dc: example

    # 管理する仮想ドメインの階層
    dn: dc=vdomain,dc=example,dc=com
    objectClass: domain
    objectClass: top
    dc: vdomain

    # メールアカウントを管理する階層
    dn: ou=User,dc=vdomain,dc=example,dc=com
    objectClass: organizationalUnit
    objectClass: top
    ou: User

    # メーリング リストを管理する階層
    dn: ou=List,dc=vdomain,dc=example,dc=com
    objectClass: organizationalUnit
    objectClass: top
    ou: List
    ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
    # ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f init.ldif
Apache、PHP をインストール
  1. Web Server をパッケージでインストールする。
    # LANG=C yum grouplist
    # yum groupinstall "Web Server"
    # yum install php-mcrypt
    # yum install php-mbstring
postLdapAdmin をインストール
  1. ダウンロードして、展開する。
    # wget http://iij.dl.sourceforge.jp/postldapadmin/36443/postLdapAdmin-1.1.tar.gz
    # tar xzf postLdapAdmin-1.1.tar.gz -C /var/www
  2. スキーマを追加する。
    # cp -p /var/www/postLdapAdmin/postLdapAdmin.schema /etc/openldap/schema
    # vi /etc/openldap/slapd.conf (追加)
    ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
    include /etc/openldap/schema/postLdapAdmin.schema
    ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
  3. Openldap を再起動する。
    # slaptest -uv
    # service ldap condrestart
    # service ldap status
  4. postLdapAdmin の設定を編集する。
    # cd /var/www/postLdapAdmin/etc
    # mkdir vdomain.example.com
    # cp web.conf.sample vdomain.example.com/web.conf
    # chown apache:apache vdomain.example.com/web.conf
    # chmod 644 vdomain.example.com/web.conf
    # vi chmod 644 vdomain.example.com/web.conf
    ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
    LdapServer=127.0.0.1
    LdapPort=389
    LdapBindDn=cn=Manager,dc=example,dc=com
    LdapBindPw=secret
    LdapBaseDn=dc=vdomain,dc=example,dc=com
    ReferrerUrl=http://test.designet.jp/
    DiskQuotaDefault=100
    BaseMailDir=/home/mail/vdomain.example.com
    LinePerPage=5
    AdminName=admin
    AdminPasswd=21232f297a57a5a743894a0e4a801fc3
    LogFile=/home/mail/example.com/log/result.log
    MailDelcommand=sudo -u vmail deluser
    LdapUserSuffix=ou=User
    LdapListSuffix=ou=List
    LdapScope=sub
    LdapFilter=(uid=%u)
    LdapMlFilter=(mail=*)
    LdapObjectClass=account
    DisplayUser=uid
    DisplayMl=mail
    ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
  5. メール保管アカウントの作成
    # useradd -u 400 -s /sbin/nologin -m vmail
  6. メール保管ディレクトリの作成
    # mkdir /home/vmail/vdomain.example.com
    # chown -R vmail:vmail /home/vmail/vdomain.example.com/
  7. postLdapAdmin ログ ディレクトリの作成
    # mkdir /home/vmail/vdomain.example.com/log
    # chown apache:apache /home/vmail/vdomain.example.com/log
  8. httpd.conf の編集 (追加)
    # vi /etc/httpd/conf/httpd.conf
    # service httpd condrestart
  9. # chown -R apache:apache /var/www/postLdapAdmin/htdocs/
Postfix のインストール
  1. Postifx をパッケージでインストールする。
    # yum install postfix
  2. Sendmail から Postfix に切り替える。
    # alternatives --config mta

(作成中...)

参考

2009年6月1日月曜日

CentOS 5 に Plone をインストール

KVM (仮想マシン) で Plone という CMS を CentOS 5 にインストールしてみた。

インストール
  1. CentOS 5 をインストール DVD (CentOS-5.3-x86_64-bin-DVD.iso) でインストールする。
  2. インストーラの boot: プロンプトに「linux text 」と入力し、テキストモードでインストールする。
  3. [Package selection] では最小の構成でインストールしたいので、全てのチェックを外す。
  4. 最初の起動時に [Setup Agent] (setup) が起動するので、適宜設定する。
  5. 最新のパッケージに更新する。
    # yum update
  6. グループの確認
    # yum grouplist
  7. 「開発ツール」をインストールする。
    # yum groupinstall "開発ツール"
  8. ソースをダウンロード、コンパイル、インストールする。
    # wget http://launchpad.net/plone/3.2/3.2.2/+download/Plone-3.2.2-UnifiedInstaller.tgz
    # tar xzf Plone-3.2.2-UnifiedInstaller.tgz
    # cd Plone-3.2.2-UnifiedInstaller
    # ./install.sh standalone
    # iptables -I RH-Firewall-1-INPUT -p tcp --dport 8080 -m state --state NEW -j ACCEPT
    # iptables-save
    # /usr/local/Plone/zinstance/bin/plonectl start

参考