CentOS 6.2 セットアップ

前提
・リモートから接続する際には、Windows 7を使用します。
・接続の際には、Tera Termを使用します。
・必要に応じて、WinSCPも使用します。

お名前.com KVMの1Gプランを契約したのでOSのセットアップからWebサービス公開までの手順をまとめます。 ここでは、インストール作業に必要なコマンドの準備とLAMP(LinuxApacheMySQLPHP)環境の構築までを行います。できるだけサーバ上で完結するようにします。

前準備

通常、お名前.com KVMの標準OSはCentOS 6.2です。(2012/09/24 現在) ただ、環境構築に使うコマンドなんかがインストールされていないのでまずはそれらをインストールしましょう。

yum install wget
yum install make
yum install perl
yum install gcc gcc-c++ kernel-devel ncurses-devel

yum とは
RPMパッケージの管理コマンド。 Red Hat系のLinux(CentOS)では、プログラムの配布形式としてRPMRedhat Package Manager)を採用しています。 RPMでコマンドの管理を行うと自動でインストールしてくれるので楽です。

インストールしたコマンドの解説

wget
指定したURLからファイルをダウンロードします。 環境構築では使用頻度は高めなので覚えましょう。

make
大きなプログラムの中の再コンパイルする必要がある部分を自動的に決定し、再コンパイルのためのコマンドを実行します。要は再コンパイルしてくれます。

perl
Perl実行用のコマンドです。

gcc
C言語コンパイラです。

※ちなみに「devel」とついているものは「development」=開発バージョンという意味です。 wgetrpmを使用する場合はバージョンに注意してください。最新版をおすすめします。

cd /usr/local/src/
wget http://zlib.net/zlib-1.2.6.tar.gz tar xfz zlib-1.2.6.tar.gz cd zlib-1.2.6 ./configure --shared && make all install
cd /usr/local/src/
wget http://elders.princeton.edu/data/puias/unsupported/6/x86_64/libmcrypt-2.5.8-9.puias6.x86_64.rpm
wget http://elders.princeton.edu/data/puias/unsupported/6/x86_64/libmcrypt-devel-2.5.8-9.puias6.x86_64.rpm
rpm -ivh libmcrypt-2.5.8-9.puias6.x86_64.rpm
rpm -ivh libmcrypt-devel-2.5.8-9.puias6.x86_64.rpm

zlib
zipやgzipに使われている圧縮アルゴリズムのライブラリです。

libmcrypt
対称暗号化アルゴリズムに統一されたインタフェースを提供するライブラリです。

rpm
RPMパッケージをインストール、アップグレード、アンインストールします。

これで前準備が完了しました。それでは、MySQLApachePHPの順番でインストールしていきます。

MySQL

yum -y install mysql-server
vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock
user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0
character-set-server=utf8

[client]

socket=/tmp/mysql.sock
/usr/local/mysql/support-files/mysql.server start

mysql -u root
root> SET PASSWORD FOR root@localhost=PASSWORD('任意のパスワード');
root> exit;
mysql -u root # ERROR

Apache
お名前.com KVMでは、デフォルトでインストールされているかもしれません。 以下のコマンドで確認してください。もしインストールされていればこの項目は不要です。 (入っていることを知らず入れてしまった。。)

find / -name httpd.conf
wget http://ftp.riken.jp/net/apache//httpd/httpd-2.2.22.tar.gz
tar xfz httpd-2.2.22.tar.gz
cd httpd-2.2.22
./configure \
make
make install
chown -R apache:apache /usr/local/apache2

PHP
ほとんど、Apacheの設定です。あと、iptablesですね。iptablesとは、パケットフィルタリング機能を提供してくれるコマンドです。

----------PHPを使用するための前準備----------
vi /etc/httpd/conf/httpd.conf

# 実行ユーザーを変更
-------------------------------------------------

User daemon
Group daemon

↓

User apache
Group apache

-------------------------------------------------

# index を html から php に変更

-------------------------------------------------

DirectoryIndex index.html
↓
DirectoryIndex index.php

-------------------------------------------------

yum -y install php php-mbstring
vi /etc/httpd/conf/httpd.conf

ServerTokens OS
↓
ServerTokens Prod

#ServerName www.example.com:80
↓
ServerName [ドメインを持っている場合はドメイン名]:80

vi /etc/sysconfig/iptables

# 下記を追記
-------------------------------
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-------------------------------

/etc/rc.d/init.d/iptables restart

ネットワークの設定にはかなり手こずりました。DNSの設定とかiptablesの設定なんて普段やらないから全然分からん! この辺は、経験ということですね。勉強になりました!