サマースクールで教えてもらったサーバ管理の自分用ノートです。Vine Linux 3.2です。
第1章 LDAP
1.1 Berkley DB
Berkley DBの入手
http://www.oracle.com/からdb-4.5.20.tar.gzを入手する。ここでは/rootに保存することにする。
Berkley DBのインストール
$ cd $ tar zxvf db-4.5.20.tar.gz $ cd db-4.5.20/build_unix $ ../dist/configure --prefix=/usr/local $ make $ make install $ ldconfig /usr/local/lib
1.2 OpenLDAP
OpenLDAPの入手
http://www.openldap.org/からopenldap-2.3.35.tgzを入手する。ここでは/rootに保存することにする。
OpenLDAPのインストール
$ cd $ tar zxvf openldap-2.3.35.tgz $ cd openldap-2.3.35 $ ./configure $ make $ make install $ ldconfig /usr/local/lib
1.3 nss_ldap
nss_ldapの入手
http://www.padl.com/からnss_ldap.tgzを入手する。ここでは/rootに保存することにする。
nss_ldapのインストール
$ cd $ tar zxvf nss_ldap.tgz $ cd nss_ldap-255 $ ./configure --with-ldap-dir=/usr/local $ make $ make install
1.4 pam_ldap
pam_ldapの入手
http://www.padl.com/からpam_ldap.tgzを入手する。ここでは/rootに保存することにする。
pam_ldapのインストール
$ apt-get update $ apt-get install pam-devel $ cd $ tar zxvf pam_ldap.tgz $ cd pam_ldap-184 $ ./configure --with-ldap-dir=/usr/local $ make $ make install $ cp ldap.conf /etc
1.5 slapdの起動
暗号化パスワードの生成
$ slappasswd -h '{MD5}'
newpassword:
Re-enter new password
{MD5}abcdefghijklmnopqrstuv==
準備
$ cd /usr/local/etc/openldap $ vi slapd.conf
ここで5行目付近で以下のように3行追加する。
include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema # add include /usr/local/etc/openldap/schema/inetorgperson.schema # add include /usr/local/etc/openldap/schema/nis.schema # add
さらに60行目付近を以下のように書き換える。
suffix "dc=math,dc=wakhok"
rootdn "cn=admin,dc=math,dc=wakhok"
rootpw {MD5}abcdefghijklmnopqrstuv==
index objectClass,uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
これを上書き保存する。そして、データベースの設定ファイルをコピーする。
$ cd /usr/local/etc/openldap $ cp DB_CONFIG.example /usr/local/var/openldap-data/DB_CONFIG
初期データ
$ cd $ vi base.ldif
として以下のファイルを作成する。
dn: dc=math,dc=wakhok objectClass: top objectClass: domain dc: math dn: ou=People,dc=math,dc=wakhok objectClass: top objectClass: organizationalUnit ou: People dn: ou=Group,dc=math,dc=wakhok objectClass: top objectClass: organizationalUnit ou: Group
これを保存する。そして、この初期データをslappaddで追加する。
$ /usr/local/sbin/slapadd < base.ldif
起動
$ /usr/local/libexec/slapd
第2章 ユーザ登録
2.1 ユーザ登録とグループ登録
登録ユーザの基本情報
以下ではttとakの二人のユーザを登録することにする。それぞれのユーザの基本情報を以下のように仮定する。
| ユーザ名 | tt | ak |
| ユーザID | 1000 | 1001 |
| プライマリグループ | seminar | seminar |
| プライマリグループID | 1000 | 1000 |
| セカンダリグループ | なし | laboratory |
| セカンダリグループID | なし | 1001 |
| ホームディレクトリ | /home/tt | /home/ak |
| 起動シェル | /bin/bash | /bin/bash |
ユーザデータ
$ cd $ vi tt.ldif
として以下のファイル(ユーザtt用データ)を作成する。
dn: uid=tt,ou=People,dc=math,dc=wakhok
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: extensibleObject
uid: tt
cn: Tt Kiba
sn: Kiba
uidNumber: 1000
gidNumber: 1000
loginShell: /bin/bash
homeDirectory: /home/tt
userPassword: {MD5}abcdefghijklmnopqrstuv==
gecos: Tt
mail: tt@math.wakhok
これを保存する。さらに
$ cd $ vi ak.ldif
として以下のファイル(ユーザak用データ)を作成する。
dn: uid=ak,ou=People,dc=math,dc=wakhok
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: extensibleObject
uid: ak
cn: Ak Kiba
sn: Kiba
uidNumber: 1001
gidNumber: 1000
loginShell: /bin/bash
homeDirectory: /home/ak
userPassword: {MD5}abcdefghijklmnopqrstuv==
gecos: Ak
mail: ak@math.wakhok
これを保存する。
ユーザ登録
ユーザtt用データを登録する。
$ cd $ /usr/local/bin/ldapadd -D 'cn=admin,dc=math,dc=wakhok' -W < tt.ldif Enter LDAP Password: adding new entry "uid=tt,ou=People,dc=math,dc=wakhok"
続けてユーザak用データを登録する。
$ cd $ /usr/local/bin/ldapadd -D 'cn=admin,dc=math,dc=wakhok' -W < ak.ldif Enter LDAP Password: adding new entry "uid=ak,ou=People,dc=math,dc=wakhok"
グループデータ
$ cd $ vi seminar.ldif
として以下のファイル(グループseminar用データ)を作成する。
dn: cn=seminar,ou=Group,dc=math,dc=wakhok objectClass: top objectClass: posixGroup cn: seminar gidNumber: 1000
これを保存する。さらに
$ cd $ vi laboratory.ldif
として以下のファイル(グループlaboratory用データ)を作成する。
dn: cn=laboratory,ou=Group,dc=math,dc=wakhok objectClass: top objectClass: posixGroup cn: laboratory gidNumber: 1001 memberUid: ak
これを保存する。
グループ登録
グループseminar用データを登録する。
$ cd $ /usr/local/bin/ldapadd -D 'cn=admin,dc=math,dc=wakhok' -W < seminar.ldif Enter LDAP Password: adding new entry "cn=seminar,ou=Group,dc=math,dc=wakhok"
続けてグループlaboratory用データを登録する。
$ cd $ /usr/local/bin/ldapadd -D 'cn=admin,dc=math,dc=wakhok' -W < laboratory.ldif Enter LDAP Password: adding new entry "cn=laboratory,ou=Group,dc=math,dc=wakhok"
2.2 LDAPによるユーザ認証
ldap.conf
$ cd /etc $ vi ldap.conf
として18行目付近を次のように書き換える。
base dc=math,dc=wakhok
さらに43行目付近を次のように書き換える(コメントアウトして書き換える)。
rootbinddn cn=admin,dc=math,dc=wakhok
さらに162行目付近を次のように書き換える(コメントアウトして書き換える)。
nss_base_passwd ou=People,dc=math,dc=wakhok?one nss_base_shadow ou=People,dc=math,dc=wakhok?one nss_base_group ou=Group,dc=math,dc=wakhok?one
これを上書き保存する。
ldap.secret
ldap.secretにrootdnのパスワードを書き、パーミッションを変更する。
$ echo 'Summer' > /etc/ldap.secret $ chmod 600 /etc/ldap.secret
authconfig
$ authconfig
ユーザ情報 認証
[ ] キャッシュ情報 [*] MD5パスワードを使用
[ ] Hesiodを使用 [*] シャドウパスワードを使用
[*] LDAPを使用 [ ] LDAP認証を使用
[ ] NISを使用 [ ] Kerberos5を使用
[ ] Winbindの使用 [ ] SMB認証を使用
[ ] Winbindを使用
取り消し 次
--------------------------------------------------
LDAP 設定
[ ] TLS を使用
サーバ: 127.0.0.1
ベースDN: dc=math,dc=wakhok
戻る OK
LDAPサービスの登録
$ cd /etc/init.d $ vi ldap
として以下のファイルを作成する。
#!/bin/bash
. /etc/init.d/functions
slapd=/usr/local/libexec/slapd
[ -x ${slapd} ] || exit 0
RETVAL=0
function start()
{
# Start daemons.
prog=`basename ${slapd}`
echo -n $"Starting $prog: "
daemon ${slapd} -h "ldap:///" $OPTIONS $SLAPD_OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/ldap
return $RETVAL
}
function stop()
{
# Stop daemons.
prog=`basename ${slapd}`
echo -n $"Stopping $prog: "
killproc ${slapd}
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ldap /usr/local/var/run/slapd.args
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status ${slapd}
;;
restart)
stop
start
;;
condrestart)
if [ -f /var/lock/subsys/ldap ] ; then
stop
start
fi
;;
*)
echo $"Usage: $0 {start|stop|restart|status|condrestart}"
RETVAL=1
esac
exit $RETVAL
これを保存する。そして、起動時にLDAPサービスが開始されるようにする。
$ chmod +x /etc/init.d/ldap $ chkconfig --level 35 ldap on
2.3 ホームディレクトリ
ホームディレクトリの作成
$ cd /home $ mkdir tt $ mkdir ak
スケルトンのコピー
$ cd /home $ cp -fr /etc/skel/.??* tt $ cp -fr /etc/skel/* tt $ cp -fr /etc/skel/.??* ak $ cp -fr /etc/skel/* ak
属性の変更
$ cd /home $ chown tt tt $ chown ak ak $ chgrp seminar tt $ chgrp seminar ak
2.4 LDAP認証の確認
authconfig
$ authconfig
ユーザ情報 認証
[ ] キャッシュ情報 [*] MD5パスワードを使用
[ ] Hesiodを使用 [*] シャドウパスワードを使用
[*] LDAPを使用 [*] LDAP認証を使用
[ ] NISを使用 [ ] Kerberos5を使用
[ ] Winbindの使用 [ ] SMB認証を使用
[ ] Winbindを使用
取り消し 次
--------------------------------------------------
LDAP 設定
[ ] TLS を使用
サーバ: 127.0.0.1
ベースDN: dc=math,dc=wakhok
戻る OK
ssh
$ cd /etc/ssh $ vi sshd_config
として81行目付近を次のように書き換える(コメントアウトして書き換える)。
UsePam yes
これを上書き保存する。そして、SSHを再起動する。
$ service sshd restart
ログイン
LDAP認証が有効になったので登録したユーザでログインしてみる。
$ ssh -l tt localhost Password: Last login: Sun Apr 1 9:00:00 2007 from localhost [tt@localhost tt]$
第3章 Samba
3.1 Samba
Sambaの入手
http://www.samba.org/からsamba-3.0.24.tar.gzを入手する。ここでは/rootに保存することにする。
Sambaのインストール
$ cd $ tar zxvf samba-3.0.24.tar.gz $ cd samba-3.0.24/source $ ./configure --with-libiconv=/usr $ make $ make install
3.2 Sambaの起動
smb.confのコピー
$ cd $ cd samba-3.0.24/examples $ cp smb.conf.default /usr/local/samba/lib/smb.conf
smb.confの設定
$ cd /usr/local/samba/lib $ vi smb.conf
として26行目付近を次のように書き換える。
workgroup = WORKGROUP
これを上書き保存する。
起動
$ /usr/local/samba/sbin/smbd -D
3.4 ユーザ登録
ユーザ登録
ユーザttの登録をする。
$ /usr/local/samba/bin/pdbedit -a tt new password: retype new password:
さらにユーザakの登録をする。
$ /usr/local/samba/bin/pdbedit -a ak new password: retype new password:
ログイン
LDAP認証が有効になったので登録したユーザでログインしてみる。
$ /usr/local/samba/bin/smbclient -L localhost -U tt Password:
第4章 Apache
4.1 Apache
Apacheの入手
http://www.apache.jp/からhttpd-2.2.4.tar.gzを入手する。ここでは/rootに保存することにする。
Apacheのインストール
$ cd $ tar zxvf httpd-2.2.4.tar.gz $ cd httpd-2.2.4 $ ./configure $ make $ make install
4.2 Apacheの起動
confファイルの設定
$ cd /usr/local/apache2/conf $ vi httpd.conf
ここで64行目付近を以下のように修正する。
User apache Group apache
さらに85行目付近を以下のように修正する。
ServerAdmin tt@math.wakhok
\end{verbatim}
\end{quote}
これを上書き保存する。
Apache再起動
$ ps -aef | grep httpd root 1220 1 0 $ kill 1220 $ /usr/local/apache2/bin/httpd
4.3 Webページの作成と閲覧
Webページの作成
$ cd /usr/local/apache2/htdocs $ vi index.html
として以下のファイルを作成する。
<?xml version="1.0" encoding="EUC-JP"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <title>Laboratory 203</title> </head> <body> <h1>Laboratory 203</h1> <p>tt@math.wakhok</p> </body> </html>
Webページの閲覧
ブラウザのアドレスバーに
http://localhost/
と入力する。次のように表示される。
Laboratory 203 tt@math.wakhok