WEBの勉強ノート
Loading

Apache,PHP,MySQLテストサーバー構築手順(beta)

2010 年 2 月 28 日 カテゴリー: 構築(テスト環境)

テストサーバーを作り直したので、メモを残します。テストサーバーは Vmware Server 上に仮想サーバーとして作成しました。物理環境でも手順は変わらないはず。手早く構築するために手順は最低限にしています。

テスト環境構築フロー

- Vmware イメージ作成
- CentOS5.4 インストール
- ネットワーク設定
- セキュリティ関係停止
- ユーザー作成
- FTP インストール
- Apache インストール
- Bind インストール
- PHPインストール
- MySQL インストール
- Virtual ホスト設定
- phpMyadmin インストール

Vmware ゲストOS作成

使用している Vmware Server は 1.x 系。2.x 系が使いづらかったのと、職場の環境が VMware Workstion とほぼ同じインターフェースなので。普通にゲスト OSを作成。

- Guset oprating system : Linux で
- Version : Red Hat Enterprise Linux 4
- ネットワークは bridge でも NAT でも用途に合わせて
- サイズは適当に10から20GB程度

スナップショットを利用すると、後から仮想ディスクの容量を増やすことができなくなるため、多めに。

- Allocate all disk now :

ここにチェックを入れてしまうと、作成に時間がかかるのと、指定したサイズ分物理ディスクを使ってしまう。上で指定した10-20GB使われると困るので、オフにする。

CentOS インストール

GUI インストールで全てデフォルト。ネットワークも後で設定するのでそのまま。

ネットワーク設定

IP を変えると SSH などの接続も切れてしまうので、VMware のコンソールで直接操作。VMware のネットワーク設定を NAT にしている場合は、[Host] → [Virtual Network Settings] → [NAT] タブから、所属しているネットワーク、ゲートウェイ、サブネットマスクを確認。

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.16.10
NETMASK=255.255.255.0
GATEWAY=192.168.16.2

適用させるために、サービス再起動。

[root@localhost ~]# service network restart

セキュリティ関係停止

開発の時に邪魔になるセキュリティ関連の機能を停止します。

iptables の停止

[root@localhost ~]# service iptables status

ステータスを確認して、なんかいっぱい出てきたら動いてる。動いてたら停止。

[root@localhost ~]# service iptables stop
ファイアウォールルールを適用中:                            [  OK  ]
チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
iptables モジュールを取り外し中
[root@localhost ~]# chkconfig iptables off
[root@localhost ~]# chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off

SElinux の停止

getenforce が SELinux の状態確認で、Permisive が停止状態。自動起動の停止は sysconfig の selinux を編集する。

[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]# vi /etc/sysconfig/selinux
SELINUX=disabled

yum-updatesd の削除

centossrv.com によると、「デフォルトで1時間ごとにアップデートチェックを行うようになっており、手動によるパッケージインストールと競合するとインストールが失敗する」 とのことなので、早々に削除。

[root@localhost ~]# /etc/rc.d/init.d/yum-updatesd stop
yum-updates 停止中:                                      [  OK  ]
[root@localhost ~]# yum -y remove yum-updatesd

ユーザー作成

作業用に root 以外のユーザーを作成。ユーザーの作成には、useradd コマンドを使用。passwd コマンドでパスワードを加えることで初めて使用できるようになる。

[root@centos ~]# useradd centos
[root@centos ~]# passwd centosChanging password for user centos.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

FTP – vsftpd

[root@centos ~]# yum -y install vsftpd

設定は、アスキーモードでの転送と、ディレクトリの削除を可能にするだけ。

[root@centos ~]# vi /etc/vsftpd/vsftpd.conf
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=YES

起動、自動起動の設定。終わったら、FTPクライアントから接続してみる。

[root@centos ~]# /etc/rc.d/init.d/vsftpd start
[root@centos ~]# chkconfig vsftpd on
[root@localhost ~]# chkconfig --list vsftpd
vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off

Apache

[root@centos ~]# yum -y install httpd

設定は、CGI、SSI、.htaccess の許可のみ。Virtual host の設定は後から。

[root@centos ~]# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
Options Includes ExecCGI FollowSymLinks
AllowOverride All

テストページの削除。

[root@centos ~]# rm -f /etc/httpd/conf.d/welcome.conf
[root@centos ~]# rm -f /var/www/error/noindex.html

ドキュメントルートの所有者を作業用ユーザーに変更。

[root@localhost ~]# chown centos:centos /var/www/html

起動、自動起動の設定。

[root@localhost ~]# service httpd start
httpd を起動中:                                            [  OK  ]
[root@centos ~]# chkconfig httpd on
[root@localhost ~]# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

テストしてみる。以下を実行して、ブラウザからサーバーのIPにアクセス。

[root@centos ~]# echo test >> /var/www/html/index.html

BIND

BIND インストールと設定

PHPとMySQLとphpMyadminのインストール

CentOS5.4 に MySQL5.1,PHP5.3とphpMyAdmin

コメントをどうぞ