SYSLOG検索くん 第2回

今回システムを動かすのに必要なミドルウェアは下記の3点です。
apache、MySQL、PHP
よくいうLAMP環境というやつです。

細かいチューニングは後ほど行うとしてまずはyumでサクッとインストールしてしまいます。

一応rpmでインストールされていないか確認する
※コマンド実行部分は青色にしています

# rpm -qa | egrep ‘php|mysql|http’
system-config-httpd-1.3.3.3-1.el5
httpd-2.2.3-31.el5.centos

apacheは既にインストール済みで他は入っていない状態です。

必要なrpmのインストールを実施
mysqlは5.0、phpは5.3にしています。

# yum install mysql mysql-server php53 php53-mbstring php53-mysql

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mysql i386 5.0.95-5.el5_9 updates 4.9 M
mysql-server i386 5.0.95-5.el5_9 updates 9.8 M
php53 i386 5.3.3-13.el5_9.1 updates 1.3 M
php53-mbstring i386 5.3.3-13.el5_9.1 updates 1.2 M
php53-mysql i386 5.3.3-13.el5_9.1 updates 88 k
Installing for dependencies:
gmp i386 4.1.4-10.el5 base 664 k
perl-DBD-MySQL i386 3.0007-2.el5 base 148 k
perl-DBI i386 1.52-2.el5 base 600 k
php53-cli i386 5.3.3-13.el5_9.1 updates 2.5 M
php53-common i386 5.3.3-13.el5_9.1 updates 605 k
php53-pdo i386 5.3.3-13.el5_9.1 updates 67 k

インストールが終わると下記のパッケージがインストールされた事を確認できます。

# rpm -qa | egrep ‘php|mysql|http’
system-config-httpd-1.3.3.3-1.el5
php53-common-5.3.3-13.el5_9.1
php53-5.3.3-13.el5_9.1
httpd-2.2.3-31.el5.centos
php53-cli-5.3.3-13.el5_9.1
mysql-server-5.0.95-5.el5_9
php53-pdo-5.3.3-13.el5_9.1
php53-mbstring-5.3.3-13.el5_9.1
mysql-5.0.95-5.el5_9
php53-mysql-5.3.3-13.el5_9.1

既にインストールされていましたがまずはapacheでphpを使えるようにします。
httpd.conf(デフォルト/etc/httpd/conf/httpd.conf)を編集します。

# vi /etc/httpd/conf/httpd.conf

#ServerTokens OS  ←Prodで情報を最小限にしていますが、逆に詳しい情報を表示させたい場合は
ServerTokens Prod  Fullにして下さい。あまりお勧めはできませんが。。。

#ServerAdmin root@localhost       ←管理者メールアカウントにして下さい。
ServerAdmin webadmin@nekoneko.com

#ServerName www.example.com:80
ServerName nekoneko.com:80    ←サーバのURLにして下さい。

DocumentRoot “/var/www/html”  ←ここは変更ではないですが、ドキュメントルートの場所の確認になります。
<Directory “/var/www/html”>
#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
# Options Indexes FollowSymLinks  ←Indexesはindexファイルが無くてもIndex of/という画面が表示されます
Options ExecCGI FollowSymLinks    403エラーにする場合は外します

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
# AllowOverride None
AllowOverride All

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

 

DirectoryIndex index.html index.html.var index.php  ←index.phpを追加して下さい。

ひとまず使えるようにするという所では以上で終了です。

私は既にapacheはインストールされていたので起動していますが、新規でインストールした場合は
起動でOKです。常に使うことになるのでchkconfigもonにすることも忘れずに
# /etc/init.d/httpd restart 起動してない場合はstartでOK
# chkconfig httpd on

インストール後にphpの確認をする為にapacheのドキュメントルート(デフォルトは/var/www/html)に
info.phpファイルを作成して確認します。
info.php中身
<!–?php phpinfo(); phpinfo(INFO_MODUKES); ?–>

確認の際にiptablesの設定でHTTP通信を許可していないと思いますので許可ポリシーを入れます。
コマンドでもできますが私は直接ファイル(/etc/sysconfig/iptables)を編集しています。

下記の文を追加 ※最後にREJECTポリシーがあるのでそれより上に必ず書いて下さい。

-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 80 -j ACCEPT

記述後に設定を有効にするためにiptablesを再起動
# /etc/init.d/iptables restart

php情報を確認する為にサーバにアクセスします。
http://nekoneko.com/info.php

PHP情報が表示されます。

続いてmysqlにユーザーとデータベースを作成します。
mysqlユーザーを作成します。
起動していなければ起動させて下さい。
# /etc/init.d/mysqld start

初期設定時はrootがノンパスになっているのでパスワード設定して下さい。
# mysql -u root

mysql > SET PASSWORD FOR root@localhost=PASSWORD(‘password’); ←(”)内がパスワードです。
一度ログアウトしてパスワードを確認します。
mysql > quit
# mysql -u root -ppassword ←-pだけで次にパスワード入力にしてもいいと思います。
mysql >

本題のsyslog検索くん用のデータベースを作成します。(DB名は任意でつけて下さい)
mysql > create database syslogdb;

続いてデータベースを操作するユーザーを作成します。(こちらも任意でつけて下さい)
mysql > grant all on syslogdb.* to ‘admin’@’localhost’ identified by ‘password’;

mysql > quit

ひとまずデータベースの準備は完了です。
mysqlもchkconfigをonにしていた方が便利です。
# chkconfig mysqld on

ミドルウェアの準備は以上になります。

次回はディレクトリ構成とログの抽出について書きます。

コメントする