今回システムを動かすのに必要なミドルウェアは下記の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
ミドルウェアの準備は以上になります。
次回はディレクトリ構成とログの抽出について書きます。