2013年3月18日月曜日

CentOS 6.4 インストールパッケージ

CentOS6.4のインストール時に選択できるパッケージを調査。
サーバタイプ「Minimal」を選択してどのようにパッケージの選択肢が表示されるかを記載してみる。


【High Availability】
 □ High Availability
 □ High Availability の管理

【Load Balancer】
 □ Load Balancer

【Resilient Storage】
 □ Resilient Storage

【Scalable Filesystem】
 □ Scalable Filesystem

【Webサービス】
 □ PHP サポート
 □ TurboGears アプリケーションフレームワーク
 □ Web サーバー
 □ Web サーブレットエンジン

【アプリケーション】
 □ Emacs
 □ TeX のサポート
 □ インターネットアプリケーション
 □ インターネットブラウザ
 □ オフィススイートと生産性
 □ グラフィックツール
 □ 技術文書

【サーバー】
 □ CIFS ファイルサーバー
 □ FTP サーバー
 □ NFS ファイルサーバ
 □ サーバープラットフォーム
 □ システム管理ツール
 □ ディレクトリサーバー 
 □ ネットワークインフラストラクチャサーバー
 □ ネットワークストレージサーバー
 □ バックアップサーバー
 □ プリントサーバー
 □ 識別管理サーバー
 □ 電子メールサーバー

【システム管理】
 □ SNMP サポート
 □ WBEM サポート
 □ システム管理
 □ メッセージング接続クライアントのサポート

【デスクトップ】
 □ KDEデスクトップ
 □ X Window System
 □ グラフィカル管理ツール
 □ デスクトップ
 □ デスクトップのデバッグとパフォーマンスツール
 □ デスクトッププラットフォーム
 □ フォント
 □ リモートデスクトップ接続クライアント
 □ レガシー X Windows システムの互換性
 □ 入力メソッド
 □ 汎用デスクトップ (GNOMEデスクトップ)

【データベース】
 □ MySQL データベースサーバー
 □ MySQL データベース接続クライアント
 □ PostgreSQL データベースサーバー
 □ PostgreSQL データベース接続クライアント

【ベースシステム】
 □ FCoE ストレージ接続クライアント
 □ Infiniband のサポート
 □ Java プラットフォーム
 □ Perl のサポート
 □ Ruby Support
 □ iSCSI ストレージ接続クライアント
 □ コンソールインターネットツール
 □ ストレージ可用性ツール
 □ スマートカードのサポート
 □ セキュリティツール
 □ ダイヤルアップネットワークサポート
 □ ディレクトリ接続クライアント
 □ デバッグツール
 □ ネットワーキングツール
 □ ネットワークファイルシステムクライアント
 □ ハードウェア監視ユーティリティ
 □ バックアップクライアント
 □ パフォーマンスツール
 □ ベース
 □ メインフレームアクセス
 □ レガシー UNIX の互換性
 □ 互換性ライブラリ
 □ 印刷クライアント
 □ 大規模システムのパフォーマンス
 □ 数学/科学系および並列計算

【仮想化】
 □ 仮想化
 □ 仮想化クライアント
 □ 仮想化ツール
 □ 仮想化プラットフォーム

【言語】
 ■ 日本語のサポート
 ※ 他は省略

【開発】
 □ Eclipse
 □ その他の開発
 □ サーバープラットフォーム開発
 □ デスクトッププラットフォーム開発
 □ 開発ツール

---------------------------------------
 □:インストールしない
 ■:インストールする

サーバタイプ「Minimal」を選択するとインストール対象にチェックが付くのは日本語のサポートのみ。
最小構成となるが、もちろんOSインストール時にネットワークの設定を行えばsshでのアクセス可能。
CentOS6.3のパッケージと比較すると、下記2つが無くなっていた。
【システム管理】
 □ システム管理 Messaging Server のサポート
【ベースシステム】
 □ クライアント管理ツール

■OSバージョン確認
[root@centos64-min ~]# cat /etc/redhat-release CentOS release 6.4 (Final) [root@centos64-min ~]# uname -r 2.6.32-358.el6.x86_64 [root@centos64-min ~]#

■パッケージ数確認
[root@centos64-min ~]# rpm -qa | wc -l 219 [root@centos64-min ~]#
219個と少ないがCentOS6.3の時より2個増えている。

■runlevel別のサービス起動設定
[root@centos64-min ~]# chkconfig --list auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off [root@centos64-min ~]#

■ディスク使用状況(インストール直後)
[root@centos64-min ~]# df -hT Filesystem Type Size Used Avail Use% マウント位置 /dev/mapper/vg_centos64min-lv_root ext4 14G 750M 12G 6% / tmpfs tmpfs 499M 0 499M 0% /dev/shm /dev/sda1 ext4 485M 32M 428M 7% /boot [root@centos64-min ~]#

以上です。何かの参考になれば幸いです。

2013年3月17日日曜日

CentOS 6.4 インストール手順 画面キャプチャ付

2013年3月9日にリリースされたCentOS6.4のISOファイルを取得し、VMware ESXi上に構築した手順を画面キャプチャ入りでまとめます。
Samba4に対応し、マイクロソフトのHyper-V上で動くようになったそうですが、ESXi上に構築します。

・VMware ESXi 5.0
・CentOS 6.4 (64-bit)
・Kernel: 2.6.32-358
・インストールパッケージタイプ: Desktop


■インストーラ起動


■Discチェック
チェック不要…。物理ディスクじゃなくisoファイルだし…。


■インストール開始


■言語選択
英語のままにしようかと迷いましたが、迷わず日本語で。



■ストレージデバイス
SANなんて高価な環境ありません。
どんなデータだって破棄しちゃってください。新規インストールなので何もないですが。



■ホスト名
とりあえず、「centos64」にしました。


■ネットワークの設定
「ネットワークの設定」 → 「編集」


「自動接続する」にチェック
「IPv4のセッティング」タブでアドレスとネットマスクを設定


■タイムゾーン
ここは日本っす。JSTで。なのでUTCのチェックを外す。


■rootパスワード


■インストール領域



■パッケージタイプ
Desktopを選択してみた。実際に使う場合はMinimal+カスタマイズになりそう。


■インストール処理
サーバのスペックによるけど30分くらい?


■インストール完了
この後、再起動が必要です。


■インストール後設定


■ライセンス情報
強制的に同意させられていると感じるのは自分だけ?


■ユーザーの作成


■日付と時刻
UTC時間になっているので必要に応じ修正する。


■Kdump
仮想サーバのメモリの割り当てが少なくて。すみません。
インストール後の設定作業も以上です。その後、ログイン画面が表示されるはず。


■ログイン



■デスクトップいじる
背景とテーマを変えてみた。


■OSの状況確認
[root@centos64 ~]# df -hT Filesystem Type Size Used Avail Use% マウント位置 /dev/mapper/vg_centos64-lv_root ext4 14G 3.3G 9.5G 26% / tmpfs tmpfs 499M 80K 499M 1% /dev/shm /dev/sda1 ext4 485M 33M 427M 8% /boot [root@centos64 ~]# rpm -qa | wc -l 1097 [root@centos64 ~]# uname -r 2.6.32-358.el6.x86_64 [root@centos64 ~]#
Desktopでインストールすると、httpdやSambaも自動でインストールされ、OS領域で3.3GBも消費する。
パッケージの数も1000以上!
カーネルバージョンは、「2.6.32-358」だそうです。

以上で作業終了です。

2013年3月9日土曜日

SubversionのBasic認証にActive Directoryを利用


SubversionのBasic認証にActive Directoryを利用する方法です。
Active Directoryに登録しているユーザの詳細は前回記事を参照ください。

【ADサーバ】
OS: Windows Server 2008 R2(64-bit)
Domain Name: kuitan.net
IP: 192.168.77.125
⇒AD登録ユーザ:
 dn: CN=aduser01,CN=Users,DC=kuitan,DC=net
 dn: CN=puser01,OU=person,DC=kuitan,DC=net

【Webサーバ】
OS: CentOS 6.3(64-bit)
Apache: 2.2.15
Subversion: 1.6.11
IP: 192.168.77.147


■SVNリポジトリ作成
[root@web03 ~]# mkdir /opt/svn [root@web03 ~]# mkdir /opt/svn/users [root@web03 ~]# mkdir /opt/svn/person [root@web03 ~]# svnadmin create /opt/svn/users/project01 [root@web03 ~]# svnadmin create /opt/svn/users/project02 [root@web03 ~]# svnadmin create /opt/svn/person/project03 [root@web03 ~]# svnadmin create /opt/svn/person/project04 [root@web03 ~]# chown -R apache: /opt/svn

■subversion.conf追加設定
[root@web03 ~]# vi /etc/httpd/conf.d/subversion.conf [root@web03 ~]# tail -27 /etc/httpd/conf.d/subversion.conf <Location /users> DAV svn SVNListParentPath on SVNParentPath /opt/svn/users AuthType Basic AuthName "Subversion Authentication Users" AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPURL ldap://192.168.77.125:389/cn=users,dc=kuitan,dc=net?sAMAccountName?sub?(objectClass=*) AuthLDAPBindDN Administrator@kuitan.net AuthLDAPBindPassword xxxxxxxx Require valid-user </Location> <Location /person> DAV svn SVNListParentPath on SVNParentPath /opt/svn/person AuthType Basic AuthName "Subversion Authentication Person" AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPURL ldap://192.168.77.125:389/ou=person,dc=kuitan,dc=net?sAMAccountName?sub?(objectClass=*) AuthLDAPBindDN Administrator@kuitan.net AuthLDAPBindPassword xxxxxxxx Require valid-user </Location> [root@web03 ~]# /etc/init.d/httpd restart
※表示の都合上タグを"<"と">"で記載。
※<Location /users>の設定ではcn=usersに属するユーザがアクセスできるリポジトリを定義している。
※<Location /person>の設定ではou=personに属するユーザがアクセスできるリポジトリを定義している。

■ブラウザからアクセス
https://192.168.77.147/users/
Basic認証の画面が表示され、ADに登録したユーザ(cn=usersに属するユーザ)でアクセスする。



その後、https://192.168.77.147/person/にアクセスすると再びBasic認証を要求される。
ou=personに属するユーザでアクセスする。


※ちなみに、上記を行うだけならWebサーバ側にopenldap-clientsパッケージは不要。

2013年3月8日金曜日

Windows Server 2008 R2 の Active Directory を ldapsearchで検索


Windows Server 2008 R2 の Active Directory 上のユーザをLinuxのldapsearchコマンドを利用して検索できるか確認します。
LinuxサーバのSubversionの認証にADを利用するための事前検証という位置付けです。

【ADサーバ】
OS: Windows Server 2008 R2(64-bit)
Domain Name: kuitan.net
IP: 192.168.77.125

【Linuxサーバ】
OS: CentOS 6.3(64-bit)
openldap-clients: 2.4.23
IP: 192.168.77.147


■Active Directoryにユーザ作成

↑標準的な場所にaduser01~05を作成。

↑組織単位(OU)として「person」を作成し、ObjectClassにInetOrgPersonを指定したユーザpuser01~02を作成。

■openldap-clientsインストール
※ldapsearchコマンドを利用するにはopenldap-clientsパッケージが必要。
[root@cent63 ~]# yum install openldap-clients ====================================================================== Package Arch Version Repository Size ====================================================================== Installing: openldap-clients x86_64 2.4.23-26.el6_3.2 updates 164 k Updating for dependencies: openldap x86_64 2.4.23-26.el6_3.2 updates 262 k Transaction Summary ====================================================================== Install 1 Package(s) Upgrade 1 Package(s) (以下省略)

■ldapsearchコマンドで接続確認
[root@cent63 ~]# ldapsearch -x -D "cn=administrator,dc=kuitan,dc=net" -w xxxxxxxx -h 192.168.77.125 -b "cn=users,dc=kuitan,dc=net" "(objectclass=*)" "sAMAccountName=username" ldap_bind: Invalid credentials (49) additional info: 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db0 [root@cent63 ~]#
→接続失敗。
Invalid credentials (49) は、ユーザIDやパスワードが間違っているとよく出るエラー。らしい。

今回はDNの指定が間違っていたので修正して再検索
[root@cent63 ~]# ldapsearch -x -D "cn=administrator,cn=users,dc=kuitan,dc=net" -w xxxxxxxx -h 192.168.77.125 -b "cn=users,dc=kuitan,dc=net" "(objectclass=*)" "sAMAccountName=username" (中略) # aduser04, Users, kuitan.net dn: CN=aduser04,CN=Users,DC=kuitan,DC=net # aduser05, Users, kuitan.net dn: CN=aduser05,CN=Users,DC=kuitan,DC=net # Administrator, Users, kuitan.net dn: CN=Administrator,CN=Users,DC=kuitan,DC=net # Guest, Users, kuitan.net dn: CN=Guest,CN=Users,DC=kuitan,DC=net # search result search: 2 result: 0 Success # numResponses: 26 # numEntries: 25 [root@cent63 ~]#

DNの指定は、「ユーザ@ドメイン」としてもよい。
※OU=personの下のユーザを検索。
[root@cent63 ~]# ldapsearch -x -D "administrator@kuitan.net" -w xxxxxxxx -h 192.168.77.125 -b "ou=person,dc=kuitan,dc=net" "(objectclass=*)" "sAMAccountName=username" # extended LDIF # # LDAPv3 # base with scope subtree # filter: (objectclass=*) # requesting: sAMAccountName=username # # person, kuitan.net dn: OU=person,DC=kuitan,DC=net # puser01, person, kuitan.net dn: CN=puser01,OU=person,DC=kuitan,DC=net # puser02, person, kuitan.net dn: CN=puser02,OU=person,DC=kuitan,DC=net # search result search: 2 result: 0 Success # numResponses: 4 # numEntries: 3 [root@cent63 ~]#
※ちなみに、ldapsearchで検索するためにcent63サーバをADのドメインに参加させる必要はありません。

2013年3月1日金曜日

CentOSにphpLDAPadminをインストールしてOpenLDAPを管理

OpenLDAPをブラウザから管理するツールとしてphpLDAPadminが便利そうなのでインストールしてみます。
OpenLDAPサーバとは別のWebサーバにphpLDAPadminにインストールしてOpenLDAPを管理する方式を考えています。

【OpenLDAPサーバ】
OS: CentOS 6.3(64-bit)
openldap-servers: 2.4.23
IP: 192.168.77.146

【Webサーバ】
OS: CentOS 6.3(64-bit)
Apache: 2.2.15
PHP: 5.3.3
phpLDAPadmin: 1.2.3
IP: 192.168.77.147


■PHPに必要なモジュールの確認

[root@web03 ~]# rpm -qa | grep php php-pdo-5.3.3-3.el6_2.8.x86_64 php-cli-5.3.3-3.el6_2.8.x86_64 php-pear-1.9.4-4.el6.noarch php-gd-5.3.3-3.el6_2.8.x86_64 php-common-5.3.3-3.el6_2.8.x86_64 php-xml-5.3.3-3.el6_2.8.x86_64 php-5.3.3-3.el6_2.8.x86_64 [root@web03 ~]#
↑php-ldapがない。

■php-ldapインストール

==================================================================== Package Arch Version Repository Size ==================================================================== Installing: php-ldap x86_64 5.3.3-14.el6_3 updates 36 k Updating for dependencies: php x86_64 5.3.3-14.el6_3 updates 1.1 M php-cli x86_64 5.3.3-14.el6_3 updates 2.2 M php-common x86_64 5.3.3-14.el6_3 updates 523 k php-gd x86_64 5.3.3-14.el6_3 updates 104 k php-pdo x86_64 5.3.3-14.el6_3 updates 73 k php-xml x86_64 5.3.3-14.el6_3 updates 101 k Transaction Summary ==================================================================== Install 1 Package(s) Upgrade 6 Package(s) Total download size: 4.1 M Is this ok [y/N]: y (以下省略) [root@web03 ~]# rpm -qa | grep php php-5.3.3-14.el6_3.x86_64 php-gd-5.3.3-14.el6_3.x86_64 php-pear-1.9.4-4.el6.noarch php-common-5.3.3-14.el6_3.x86_64 php-xml-5.3.3-14.el6_3.x86_64 php-ldap-5.3.3-14.el6_3.x86_64 php-pdo-5.3.3-14.el6_3.x86_64 php-cli-5.3.3-14.el6_3.x86_64 [root@web03 ~]#

■ブラウザでPHPモジュール確認

[root@web03 ~]# echo "<?php phpinfo(); ?>" > /var/www/html/test.php
http://192.168.77.147/test.php にアクセス。

↑ldapの項目があることを確認。

■EPELをyumリポジトリに追加

[root@web03 ~]# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 [root@web03 ~]# rpm --import RPM-GPG-KEY-EPEL-6 [root@web03 ~]# vi /etc/yum.repos.d/epel.repo [root@web03 ~]# cat /etc/yum.repos.d/epel.repo [epel] name=EPEL RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/ gpgcheck=1 enabled=0 [root@web03 ~]#
※phpLDAPadminをyumでインストールするにはEPELリポジトリが必要。

■phpLDAPadminインストール

[root@web03 ~]# yum --enablerepo=epel install phpldapadmin ====================================================================== Package Arch Version Repository Size ====================================================================== Installing: phpldapadmin noarch 1.2.3-1.el6 epel 806 k Transaction Summary ====================================================================== Install 1 Package(s) Total download size: 806 k Installed size: 2.4 M Is this ok [y/N]: y (以下省略)

■config.php設定

[root@web03 ~]# cp -p /etc/phpldapadmin/config.php /etc/phpldapadmin/config.php.org [root@web03 ~]# vi /etc/phpldapadmin/config.php 299行目あたり追記 $servers->setValue('server','host','192.168.77.146'); 399行目あたり、uid→dnに変更 $servers->setValue('login','attr','uid'); ↓ $servers->setValue('login','attr','dn');
※上記以外の設定を下手に行うと画面が表示されない。

■phpldapadmin.conf設定

[root@web03 ~]# cp -p /etc/httpd/conf.d/phpldapadmin.conf /etc/httpd/conf.d/phpldapadmin.conf.org [root@web03 ~]# vi /etc/httpd/conf.d/phpldapadmin.conf [root@web03 ~]# cat /etc/httpd/conf.d/phpldapadmin.conf # # Web-based tool for managing LDAP servers # Alias /phpldapadmin /usr/share/phpldapadmin/htdocs Alias /ldapadmin /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs> Order Deny,Allow Deny from all Allow from 127.0.0.1 192.168.77.0/24 ←アクセス許可IP追加 Allow from ::1 </Directory> [root@web03 ~]# [root@web03 ~]# /etc/init.d/httpd restart
※表示の都合上タグを"<"と">"で記載。

■ブラウザで接続

https://192.168.77.147/ldapadmin に接続し先日作成したOpenLDAPの情報を確認する。


↑管理者でログインする場合のログインDNは、「cn=Manager,dc=open_ldap,dc=com」

※登録したユーザでログインも可能。ログインDNは、「cn=en2011002,ou=unit01,dc=open_ldap,dc=com」等。自分以外のエントリの情報も確認できるが自分を含め情報の変更は何もできない。(権限がない。この辺は設定でどうにかなりそうだが…。また次回)