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

開発環境スピード構築(自分手順 alpha 版)

2009 年 5 月 13 日 水曜日

PHP で何か作る時に、ささっと開発・テスト環境を作る方法を模索しています。VMwareとCentOSでウェブ開発の環境をさっさと整える手順書(前編)を非常に参考にさせていただいています。自分用に少しカスタマイズしています。

使うのは、VMware server 1.x と CentOS (今のとこ 5.3) で、Apatch、PHP、PostgreSQL が動く環境を構築します。

CentOS のインストール

VMware server はすでにインストールされているとして、VMware のゲスト OS として CentOS をインストールします。ポイントは以下の通り。

  • パーティションは切らず、デフォルトのレイアウトで
  • IP はインストール後に設定するので、DHCP のまま
    気分的に IPv6 は無効に
  • 「システムクロックで UTC を使用」のチェックはオフにする
  • 構成は (開発 – 開発ツール、ベースシステム – ベース、言語 – 日本語のサポート)のみで最小に

インストールが完了して再起動したら、VMware のロゴが出たタイミングで CentOS の電源を落として、イメージをコピーしておく。なんかあってもすぐにここから始められる。

CentOS 初期設定

ネットワーク設定

IP を変えると SSH などの接続も切れてしまうので、VMware のコンソールで直接操作したほうが早い。

VMware の [Host] → [Virtual Network Settings] → [NAT] タブから、所属しているネットワーク、ゲートウェイ、サブネットマスクを確認して ifcfg-eth0 に入力する。

[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
# HWADDR=00:0c:29:01:e3:47

設定の変更を反映させるため、netwark サービスを再起動します。

/etc/init.d/network restart

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

iptables の停止

セキュリティ関係のサービスも動いていると、切り分けに時間がかかるので、今回環境では停止。公開するサーバーでは全然ないし。必要であればあとから設定することに。

まず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

Apatch のインストール

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

※httpd.conf の設定項目は考え中

httpd サービスの開始と自動起動の設定

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

簡単な動作確認

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

PHP のインストール

[root@localhost ~]# yum -y install php php-{mbstring,pgsql}

動作確認として、phpinfo() を出力してみる。

[root@centos ~]# vi /var/www/html/test.php
<?php
  phpinfo();
?>

test.php にアクセスして、ページが表示されれば OK。また、phpinfo() の中に php-psgsql の項目があることを確認する。

必要に応じて、エラー表示を行うように、php.ini を設定

[root@centos ~]# vi /etc/php.ini
(省略)
display_errors = On

 

PostgreSQL のインストール

依存関係ではまるのを防ぎ、素早くインストールを行うため、yum を使ってインストールを行う。

yum リポジトリの登録

この操作は、標準のリポジトリからは取得できないバージョンの PostgreSQL をインストールする場合に行う。標準のリポジトリからインストールできる PostgreSQL のバージョンは yum install postgresql-server を実行すると確認できる(Is this ok [y/N]:N で中止)。

Packages beginning with letter "P".から、インストールしたい PostgreSQL のバージョンの yum リポジトリを探し、wget で rpm をダウンロードする。ダウンロードした rpm はそのままインストール。インストールが正常にできると、/etc/yum.repos.d/ に、PostgreSQL の yum リポジトリの .repo ファイルができる。

[root@centos ~]# wget http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm
[root@centos ~]# rpm -ivh pgdg-centos-8.3-6.noarch.rpm
[root@centos ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Media.repo  pgdg-83-centos.repo

既存リポジトリとの競合を防止

CentOS 標準の yum リポジトリを Postgre 関連の rpm を身に行かないように設定。赤字のとこを追記。

[root@centos ~]# vi /etc/yum.repos.d/CentOS-Base.repo
(省略)
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*

インストール実行

あとは、yum で普通にインストール。途中でバージョンも表示される。

[root@centos ~]# yum install postgresql-server

初期設定

データベース初期化

[root@centos ~]# service postgresql initdb

サービスの開始と自動起動の登録

[root@centos ~]# service postgresql start
postgresql サービスを開始中:                               [  OK  ]
[root@centos ~]# chkconfig postgresql on
[root@centos ~]# chkconfig postgresql --list
postgresql      0:off   1:off   2:on    3:on    4:on    5:on    6:off

システム側の postgres ユーザーにパスワードを設定

[root@centos ~]# passwd postgres

PostgreSQL の postgres ユーザーにパスワードを設定

root@centos ~]# su - postgres
-bash-3.2$ psql template1
(省略)
template1=# alter role postgres with password 'パスワード';
ALTER ROLE

テスト用のユーザー(システム側とpostgreSQL 側の両方で)を作成

[root@centos ~]# useradd centos
[root@centos ~]# passwd centos
(省略)
[root@centos ~]# su - postgres
-bash-3.2$ psql postgres
postgres=# create role centos with login createdb password 'パスワード';
CREATE ROLE

テスト用データベースの作成

[root@centos ~]# su - centos
[centos@centos ~]$ psql postgres
postgres=> CREATE DATABASE sampledb;
CREATE DATABASE

テスト用データデータの作成

[centos@centos ~]$ psql sampledb
(省略)
sampledb=> create table test(num int, name varchar(50));
CREATE TABLE
sampledb=> \d test
            Table "public.test"
 Column |         Type          | Modifiers
--------+-----------------------+-----------
 num    | integer               |
 name   | character varying(50) |
sampledb=> insert into test values(1,'サイヤ人');
INSERT 0 1
sampledb=> insert into test values(2,'スーパーサイヤ人');
INSERT 0 1
sampledb=> select * from test;
 num |       name
-----+------------------
   1 | サイヤ人
   2 | スーパーサイヤ人
(2 rows)

PostgreSQL と PHP 接続用の設定

[root@centos ~]# vi /var/lib/pgsql/data/postgresql.conf
(かなり省略)
listen_addresses = '*'

[root@centos data]# vi /var/lib/pgsql/data/pg_hba.conf
(かなり省略)
host    all         all         192.168.0.*/32       md5

自宅でVMware + CentOS – その6 CentOS 初期設定

2009 年 4 月 19 日 日曜日

まだ続いております。
自宅でも気軽に WEB のテストができる環境がほしいと思い立ち、宅内にテスト環境として、専用の PC に VMware をいれ、その上に CentOS で WEB サーバーを建ててしまおう!というのが目標です。Linux 初心者の作業ログですのであしからず。
前回までに、CentOS のインストールが完了しています。今回は CentOS の初期設定を行います。

作業用ユーザーの作成

いつも root で作業していると、大事なシステムファイルを消してしまったりとか、危険がつきもの。そこで、通常では必要な時のみ root の権限を使い、それ以外はユーザー権限で作業を行うようです。
そこで、まず作業用のユーザーを作成します。今回はテスト用として “user” というアカウントを作成します。

[root@centos ~]# useradd user

アカウントは作成した段階ではパスワードが設定されておらず、ログインすることができません。そこで passwd コマンドでパスワードを設定します。

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

“user” というアカウントがでているか確認のため、実際にログインしてみます。root に戻るときは exit コマンドで戻ることができます。

[root@centos ~]# su - user
[user@centos ~]$

root になれるアカウントを限定

上で作成した “user” アカウントを root になれるアカウントに設定します。まず、”user” を wheel グループにいれます。どこのサイトを見ても当たり前のように wheel に追加する手順がでてくるのですが、この wheel グループとは何なんでしょうか ? 調べてもあまり情報がでてこないのですが、当たり前すぎることなのでしょうか。。今後の宿題です。

この作業も root でサクッと。

[root@centos ~]# usermod -G wheel user

次に、PAM の su の設定ファイルを変更します。PAM とは何か、また、Linux の各種設定ファイルを編集する “vi” エディタも予習済みなので、さらっと行きます。

PAM の su の設定ファイルの場所は、/etc/pam.d ディレクトリです。ここに、su をはじめ、PAM で認証を行うアプリケーションそれぞれの設定ファイルが、そのままのファイル名であります。今回はその中の su の # (赤いとこ) を削除

[root@centos ~]# vi /etc/pam.d/su

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth            required        pam_wheel.so use_uid
auth            include         system-auth
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         optional        pam_xauth.so
~
~
~
"/etc/pam.d/su" 12L, 486C written
[root@centos ~]#

設定したアカウント “user” 以外のアカウントで su – が実行できないことを確認します。そのためにアカウントを作るのもどうかと思いますが、今回は “user02″ をデフォルト設定で作成し、

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

それぞれのアカウントでログインしなおして、su – できるか確認確認。

[user@centos ~]$ su -
パスワード:
[root@centos ~]#

“user” では無事 root に。

[user02@centos ~]$ su -
パスワード:
su: パスワードが違います
[user02@centos ~]$

確認用に作った “user02″ では、su – で root になることができません。でも、その時のメッセージって「パスワードが違います」なんですね。。

yum の初期設定

このあたり、手順は完全にCentOS5初期設定を参考にさせていただいています。

さて、CentOS の初期設定の情報は WEB 上にたくさんありますが、yum の設定を行っているのは他であまり見なかったので、その理由を引用させていただきます。

・デフォルトで1時間ごとにアップデートチェックを行うようになっており、手動によるパッケージインストールと競合するとインストールが失敗する
・大量にメモリを消費する(約10MB以上使用)
http://centossrv.com/centos5-init.shtml

cd で init.d ディレクトリまで行って tum-updatesd の停止削除を行ってみました。場所は、/etc/rc.d/init.d/ です。yum コマンドに指定している -y オプションは確認メッセージを非表示にするものです。

tum-updatesd の停止削除ですが、tum-updatesd は、のちほどインストールする yum-cron と同じく、アプリケーションを一括でアップデートしてくれるアプリケーションです。違いとして、常駐型でメモリリークを起こしやすいとのこと。
http://wingse.blog57.fc2.com/blog-entry-143.html
そこで、tum-updatesd をアンインストールしてしまうわけですね。

[root@centos init.d]# yum-updatesd stop
[root@centos init.d]# yum -y remove yum-updatesd
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package yum-updatesd.noarch 1:0.9-2.el5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package                Arch             Version                Repository           Size
==========================================================================================
Removing:
 yum-updatesd           noarch           1:0.9-2.el5            installed            55 k

Transaction Summary
==========================================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 Package(s)

Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : yum-updatesd                                      [1/1]

Removed: yum-updatesd.noarch 1:0.9-2.el5
Complete!
[root@centos init.d]#

ずいぶん長いものがでましたが、成功したようです。

次は、fastestmirrorプラグインインストールをインストールします。このプラグインを入れると yum コマンドを実行する際、ミラーリストから自動で早いリポジトリを選択
してくれるようです。比較すると劇的に変わるらしいのですが、やったことがないので、なんとも。。手早く先へ進むため、検証なしで GO!

[root@centos init.d]# yum -y install yum-fastestmirror
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * updates: rsync.atworks.co.jp
 * addons: ftp.riken.jp
 * extras: ftp.riken.jp
Setting up Install Process
Parsing package install arguments
Package yum-fastestmirror-1.1.16-13.el5.centos.noarch already installed and latest version
Nothing to do

と、思ったら最初から入ってるんですね、yum-fastestmirror。OS CentOS 5.3 です。
う?ん、はじめての yum だったのに。

インストール済パッケージの一括アップデートです。若干時間がかかります。

[root@centos /]# yum -y update

続いて、yum-cron のインストールです。yum-cron はアプリケーションのアップデートを自動でやってくれるアプリケーションです。
以下のコマンドを実行。

[root@centos /]# yum -y install yum-cron

http://centossrv.com/bbshtml/webpatio/1185.shtml

ところが、エラーが発生。

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * updates: rsync.atworks.co.jp
 * addons: ftp.riken.jp
 * extras: ftp.riken.jp
Setting up Install Process
Parsing package install arguments
No package yum-cron available.
Nothing to do

パッケージが見つからないと、、調べてみると、CentOS 5.3 には yum-cron がない模様
http://centossrv.com/bbshtml/webpatio/1185.shtml
今回はテスト環境づくりなので、最悪自動アップデートはできなくてもいいけど、できたいなあ、、

宿題がふえました。

root宛メールを転送

、、の設定をためしたのですが、さっぱりうまくゆかず、いつかやろうということに。最終的には qmail を使うので、それで回避できればなあと。。

やってみたこと。
・sendmail-cfインストール
・sendmail設定ファイル編集
・sendmail.mcからsendmail.cfを作成 ← ここでエラー ディレクトリが見つからない。。スペルミスかな。。

・旧root宛メール転送設定削除
・/etc/aliases に root: hoge@nifty.com を追加
・newaliases 実行
・echo test|mail root → やっぱりメールは来ない。

はまりそうなので、また今度?

SELinuxの無効化

引き続きCentOS5初期設定を参考にさせていただいています。でも、なぜ SELinux を無効化するのかが書いていなかったので、調べてみました。

さっと調べた限りでは、あまり有力な情報はなかったけれど、どうやら SELinux がいろんな方面に影響してシステム設定がやっかいなことになるらしい。それなら、全部の設定が完了してから有効にするほうがよさそう、ということみたいです。

[root@centos /]# getenforce
Enforcing
[root@centos /]# setenforce 0
[root@centos /]# getenforce
Permissive

次は、起動時に SELinux を無効にする設定です。

[root@centos /]# vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

リブートして、再度 SELinux の状況を確認。

[root@uotarou ~]# getenforce
Disabled

無効化成功です!

つづきます。

今回の宿題:
・システムからのメール転送設定
・yum-cron をどうしよう。。

自宅でVMware + CentOS – その5 CentOS インストール 2

2009 年 4 月 15 日 水曜日

前回までのあらすじ。
自宅でも気軽に WEB のテストができる環境がほしいと思い立ち、宅内にテスト環境として、専用の PC に VMware をいれ、その上に CentOS で WEB サーバーを建ててしまおう!というのが目標で、前回までに、Vmware Server をインストールして、ゲスト OS を作り、CentOSのインストールの半分まできています。

今回は、CentOS 5.3 のインストール後半です。

CentOS 5.3 のインストール後半

[Desktop - KDE] のチェックをはずして [次へ]
centos53install018

インストールするオプションを選択します。今回はできるだけ少ない構成でインストールを行います。

チェックを付けたのは以下の通り。

・開発 – 開発ツール
・ベースシステム – ベース
・言語 – 日本語のサポート
centos53install019

[次へ] をクリック
centos53install027

“次の CD が必要です” [続行] をクリック。
centos53install028

インストール途中で 2枚目の CD-ROM の挿入を求められます。
centos53install030

VMware のウインドウの右下のあたりの CD-ROM のアイコンをダブルクリックします。

[Use iso image] の [Browse] で、2つ目の iso ファイルを指定します。

2?5枚目まで、同じように仮想ディスクを交換しながらインストールを進めます。
centos53install031

[再起動] をクリック。
centos53install033

[Setup Agent] が表示
正直よくわからないので、今回はパス。調べるとインストール後に走らせることもできる模様。
以下の設定ができるそう。
・権限の設定
・ファイアウォールの設定
・ネットワーク設定
・システムサービスの設定
centos53install034a

CentOS が起動しました!
centos53install035

つづく

自宅でVMware + CentOS – その4 CentOS インストール 1

2009 年 4 月 15 日 水曜日

前回までのあらすじ。
自宅でも気軽に WEB のテストができる環境がほしいと思い立ち、宅内にテスト環境として、専用の PC に VMware をいれ、その上に CentOS で WEB サーバーを建ててしまおう!というのが目標です。

前回は、VMware でゲスト OS を作成しました。今回は、いよいよ CentOS をインストールします。

CentOS のインストール

最初に、ダウンロードした .iso ファイルを、仮想 CD-ROM ドライブで指定します。

[CD-ROM] をダブルクリック
make_gestos013

[Browse] をダブルクリックして .iso ファイルを指定します。
make_gestos012

仮想マシンを起動すると、インストール方法を選択する画面に。まだ CUI は怖いので Enter キーを押して進めます。
centos53install001

インストールデータのチェックができるようですが、手早くすませるため、[skip] を選択。
centos53install004

[Next] をクリック
centos53install005

インストール作業を行う間の言語を選択。もちろん [日本語]
centos53install006

キーボードも [日本語] を選択。
centos53install007

“初期化しますか ?” [はい] をクリック。
centos53install008

[選択したドライブ上のすべてのパーティションを削除してデフォルトのレイアウトを作成します。] を選択して [次へ]
centos53install009

“本当にすべて削除しますか ?” [はい] をクリック。
centos53install010

[編集] をクリック。
centos53install011

[Enable IPv4 support] のチェックをオン、[Manual configuration] で適当な IP アドレスとサブネットマスクを設定。
centos53install013

ホスト名と、デフォルトゲートウェイの IP アドレスを入力します。
centos53install015

[システムで UTC を使用] のチェックを外して [次へ]

UTC とは 協定世界時 のことで、日本の時間より 9 時間遅い。
centos53install016

Linux の管理者アカウントである root のパスワードを決めます。
centos53install017

つづく

自宅でVMware + CentOS – その3 ゲストOSの作成

2009 年 4 月 15 日 水曜日

前回までのあらすじ。
自宅でも気軽に WEB のテストができる環境がほしいと思い立ち、宅内にテスト環境として、専用の PC に VMware をいれ、その上に CentOS で WEB サーバーを建ててしまおう!というのが目標です。

前回は、CentOS をダウンロードするところまで。今回は VMware でゲスト OS を作成します。

ゲスト OS の作成

起動して [local host] に接続。
make_gestos001

[New Virtual Machine] をクリック。
make_gestos003

[次へ] をクリック。
make_gestos004

[Typical] をオンにして [次へ] をクリック。
make_gestos005

今回インストールする CentOS は Red Hat Linux のコピーのようなものなので、ここは [Linux] と [Red Hat Linux 4] を選択。
make_gestos006

適当な名前と、仮想マシンのデータの保存場所を指定。
make_gestos007

今回は LAN 内にホストとは別の IP で作りたかったので、[Use Bridge Netword] を選択。
make_gestos008

今回このステップがよくわからなかった。
とくに “Allocate all disk space now” の項目が。

“By allocating the full capacity of the virtual disk, you enhance performance of your virtual machine.
However, the disk will take longer to create and there must be enough space on the host’s physical disk.
If you do not allocate disk soace now, your virtual disk files will start small, then become larger as you add applications, files, and data to your virtual machine.”

直訳すると、、
「すべてのディクスペースをすぐに割り当てる
仮想ディスクの最大容量を割り当てることで、仮想マシンのパフォーマンスを上げることができます。しかし、仮想ディスクの作成に時間がかかり、ホストの物理ディスクに十分な容量が必要です。
いますぐディスクスペースを割り当てない場合、仮想ディスクは少ない容量で作成され、アプリケーションやデータの増大に伴って大きくなります。」

チェックを付けると、指定したサイズで仮想ディスクが作られ、チェックをオフにすると最初は最小限のサイズで作られ、仮想マシンのデータが増えるとそれに合わせて指定した最大容量まで増えていく。この解釈でいいのかな?

とりあえず、[Disk size] を “10″、仮想マシンのイメージはたくさん作る気がするのでAllocate all disk space now] のチェックはオフ、[Split disk into 2 GB files] はファイルの数が増えるのがいやなのでオフに設定。
make_gestos009

ここまでの作業で、ゲスト OSの作成が完了。
make_gestos010

メモリはデフォルトの 256 MB のまま。
make_gestos011

つづく

自宅でVMware + CentOS – その2 CentOS ダウンロード

2009 年 4 月 15 日 水曜日

前回までのあらすじ。
自宅でも気軽に WEB のテストができる環境がほしいと思い立ち、宅内にテスト環境として、専用の PC に VMware をいれ、その上に CentOS で WEB サーバーを建ててしまおう!というのが目標です。

前回は、ハードの準備と、VMware のインストールまで。今回は、CentOS のインストールデータを用意します。

CentOS のダウンロード

まず、CentOS の .iso データをダウンロードします。利用したサイトは、CentOS の公式サイトのリンクで一番上にあったもの。そこから、現時点で最新の CentOS 5.3 をダウンロード。ダウンロードデータは「i386」と「x86_64」の 2種類あります。今回使用するハードは通常の 32ビットなので「i386」を選択します。

CentOS の .iso データは、CD 版が全 6ファイル、DVD 版が 1ファイルで 3.7GB。今回は CD 版を使いましたが、1つのファイルを落とすのに 20-30分、なんだかんだで 3-4時間はかかりました。日本のミラーを探したほうがよかったなとあとから(ry
http://ftp.jaist.ac.jp/pub/Linux/CentOS/5.3/isos/i386/
screenshot-2009_04_15-12_18_21

sha1sum.txt と md5sum.txt

.iso と同じディレクトリに置かれている sha1sum.txt と md5sum.txt ってなんだろう ? と思い、調べてみました。結論から言うと、ダウンロードしたデータが壊れていないか確認するものでした。
sha1sum と md5sum の違いは、@IT さんによると以下の違いがあるようです。

128ビットのチェックサム値が出力されるMD5よりも、160ビットのチェックサム値が出力されるSHA1の方が安全といわれている。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/754sha1sum.html

sha1sum の実行

.iso のダウンロードと同じページにあった sha1sum.txt を.iso と同じディレクトリに保存します。Windows には sha1sum コマンドが入っていないので、ダウンロードして .iso ファイルとおなじディレクトリに保存します。手順とダウンロードファイルは、CentOSで自宅サーバー構築を参考にさせていただきました。
http://sites.inka.de/tesla/download/sha1sum.exe
sha1sum 実行前のディレクトリのスクリーンショット
000

コマンドプロンプトを起動して、まず、.iso ファイルのディレクトリに移動します。

C:Documents and Settings*****>cd /d D:Centos5.3_iso

.iso と sha1sum.txt、sha1sum.exe が保存されているディレクトリで以下のコマンドを実行します。DVD イメージと netinstall (こんなイメージがあるんですね) は使わないので、下の 2つのエラーは問題なし。

D:Centos5.3_iso>sha1sum -c sha1sum.txt
CentOS-5.3-i386-bin-1of6.iso: OK
CentOS-5.3-i386-bin-2of6.iso: OK
CentOS-5.3-i386-bin-3of6.iso: OK
CentOS-5.3-i386-bin-4of6.iso: OK
CentOS-5.3-i386-bin-5of6.iso: OK
CentOS-5.3-i386-bin-6of6.iso: OK
sha1sum: CentOS-5.3-i386-bin-DVD.iso: No such file or directory
CentOS-5.3-i386-bin-DVD.iso: FAILED open or read
sha1sum: CentOS-5.3-i386-netinstall.iso: No such file or directory
CentOS-5.3-i386-netinstall.iso: FAILED open or read
sha1sum: WARNING: 2 of 8 listed files could not be read

つづく

自宅でVMware + CentOS – その1 VMware Server インストール

2009 年 4 月 13 日 月曜日

自宅で、WEB のテスト環境を作ろう!と思い立ちました。XP 上で VMware Server を使って Centos を動かし、Apatch や PHP、MySQL を使う検証作業環境をつくるところまでが今回の目標です。基本的な Linux のコマンドも使えるようになりたい!

ハードウエア

今回使用するのは、NECのPC-VL57E8D1Kです。む一度は完全に故障したと思われたPC-VL57E8D1K ですが、HDD と IDE ケーブルの交換で使える状態になり、さらに今回メモリを最大量の 512MBx2 に増設して使用します。

また、CD-ROM ドライブは外付け用にに外してしまっており、さらに専用のディスプレイもありません。操作は主にメイン PC から Logmein でリモート操作をする予定です。

スペック
・CPU : Athlon(tm) XP 2600+ 1.91 GHz
・メモリ : 1GB
・HDD : 160GB
・OS : Windows XP SP3

VMware のインストール

無料の仮想化ソフトは、Vmware のほかにも、Microsoft の Virtual PC 、Sun の VirtualBox があるようです。Vmware Server にしたのは、Virtual PC は動作が重く、Linux のインストールがうまくいかないことがあるという情報が多かったためと、VirtualBox よりは、会社で普段使っているものの方がよいだろう、という判断です。ただし、VirtualBox には、複数のスナップショットが撮れる機能があるようで、今後検証してみたいな。

また、無料の VMware Server にも、バージョン 1 と 2 があり、2 では Web ブラウザを使用した管理画面になった模様。しかしこの web ベースの管理画面の出来がよくないらしいので、今回は VWware Server 1 を選択。

以下、インストール作業のログです。設定箇所はほとんどありません。完全にデフォルトのままインストール行い、問題なく起動しました。
001
003
004
005
006
007
008
010
011
012
013
015
016