さくらVPSサーバにLAMP環境(Apache,PHP,Mysql)を設定する

前回、VPSサーバの導入した後の初期設定とセキュリティ周りの設定について記事にしましたが、今回はそのVPSサーバにLAMP環境を構築していく方法を紹介します。
前回の初期設定とセキュリティの設定が済んでいる前提で話を進めていきます。

前回記事
さくらVPSサーバを契約した後の初期設定の方法

【スポンサーリンク】

LAMP環境を構築しよう

LAMP環境とは
Linux、Apache、MySQL、Perl(PHP,Python)で構成された動的なWebコンテンツを動かすための環境です。
動的Webサイトを構築する上で一般的にOS、Webサーバ、データベース、スクリプト言語が必要になりますが、それぞれ主要なものがLinux、Apache、MySQL、Perl(PHP,Python)となります。一般的なレンタルサーバはLAMP環境になっていることが多いです。
Wordpressを動かすにはこのLAMP環境が必要になるので、VPSサーバにLAMP環境を構築していきます。

さっそくですが、PHP、Apache、Mysqlをそれぞれインストールしていきます。
基本的にコマンドライン上での作業なので、Macの方は標準のTerminalで、Windowの方はTeraTerm等をインストールして進めていきましょう。

Apacheのインストール

Apacheをyumでインストール

まずはWebサーバのApacheをインストールします。
Apacheはyumを使ってインストールします。

$ sudo yum -y install httpd

インストールが完了したら、バージョンを確認してみましょう。

$ httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Apr  3 2014 23:56:16

yumからインストールするとバージョンが2.2になるみたいです。最新バージョンは2.4なので、ちょっと古いですが特に問題ありません。
続いて、chkconfigというコマンドでサーバの再起動時にApacheが自動で起動するように設定しておきましょう。

$ sudo chkconfig httpd on

自動起動の設定の確認は「–list」というオプションで確認できます。

$ chkconfig --list httpd
httpd     0:off  1:off  2:on  3:on  4:on  5:on  6:off

2〜5が「on」になっていれば自動起動の設定ができています。

Apacheの設定ファイル(httpd.conf)の編集

続いてApacheの初期設定をしていきます。
設定ファイルは「/etc/httpd/conf/httpd.conf」というファイルです。
まず、cpコマンドでファイルをコピーしてバックアップを作成しておきましょう。

$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_20140101

バックアップを作成したら、設定ファイルをviで編集していきます。

$ sudo vi /etc/httpd/conf/httpd.conf

では設定していきましょう。
httpd.confはファイル内容が複雑なので、行番号をベースに書いていきます。
vim上で「:set number」と打って行番号を表示させておきましょう。また「xxG」でxx行目に移動できます。

44行目 ServerTokensを「Prod」にする

ServerTokens Prod

ServerTokensはアクセス時にサーバ情報の何を返すかの命令です。初期だとOSになっており、OS情報を返すようになっているので、Prodに変更して、Apacheとだけ返すようにします。

78行目 KeepAliveを「On」にする

KeepAlive On

KeepAliveはapacheの接続状態の維持に関する記述です。1リクエストごとに接続を切っていると非効率なので、こちらをONにしておきリクエストを効率よく処理できるようにします。

87行目 MaxKeepAliveRequestsを「80」にする

MaxKeepAliveRequests 80

上記で設定したKeepAliveで接続しっぱなしだとリソースが無駄に消費されるので、MaxKeepAliveRequestsである程度リクエスト数がきたら切断するようにします。

331行目 Directoryのオプションを下記のように変更

Options -Indexes FollowSymLinks

デフォルトでは「Indexes」が有効になっているので、これにハイフン(-)をつけて無効化します。Indexesとは、アクセスしたhtmlがない場合そのディレクトリ内のファイル一覧を表示するものです。

338行目 AllowOverrideをAllに変更

AllowOverride All

デフォルトではAllowOverride Noneになっていますが、これだと.htaccessが利用できずWordpress等が動きません。ひとまずAllに変更しておきます。

536行目 ServerSignatureをOFFにする

ServerSignature Off

ServerSignatureはエラー時にサーバ情報を表示するかどうかの記述です。これもOFFにしておきます。

816〜817行目 SSIの読み込みを「.html」にする

AddType text/html .html
AddOutputFilter INCLUDES .html

SSI(Server Side Include)で読み込むファイル形式についてです。初期ではshtmlですが、htmlに変更しておきます。これは好みなので、shtmlのままでいいという方は変更しなくて大丈夫です。

設定ファイルの編集は以上です。

Apacheをテスト&起動する

編集が完了したら、下記コマンドで設定内容のテストをします。

$ sudo apachectl configtest
Syntax OK

「Syntax OK」と表示されたら、正しく設定されています。
編集にミスがある場合エラー内容が表示されるので、それにしたがって修正しましょう。
Syntax OKの表示を確認したら、Apacheを起動します。

$ sudo service httpd start

これでApacheのインストールと設定は完了です。
サーバのIPアドレスにブラウザから「http://」をつけてアクセスしてみると、Apacheのページが表示されると思います。

なお、実際にWordpressを導入する際などはVirtualHostを切り分けて設定していきます。VirtualHostの細かい設定は別途.confファイルを作成しそちらで管理していきます。
この説明はWordpressをインストールするときに合わせて行います。

Mysqlのインストール

Mysqlをインストール

Apacheのインストールが完了したら、データベースとなるMysqlをインストールします。
MysqlもApache同様にyumでインストールします。

$ sudo yum -y install mysql-server

インストール完了後、バージョンを確認しましょう。

$ mysql --version
mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

若干バージョンが古い(最新は5.5系)ですが、Wordpress等は問題なく動きます。
Mysqlもサーバ再起動時に自動で起動するように設定します。

$ sudo chkconfig mysqld on

Mysqlの設定ファイル(my.cnf)の編集

インストールが完了したら、初期設定をしていきます。
Mysqlの設定ファイルは「/etc/my.cnf」です。
こちらの設定ファイルもバックアップを作成しておきます。

$ sudo cp /etc/my.cnf /etc/my.cnf_20140101

さて、編集していきましょう。
今までと同様にviコマンドで編集します。

$ sudo vi /etc/my.cnf

ファイルを開いたら下記のハイライトされている部分をmy.cnfに追記します。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

###追加内容ここから
default-character-set=utf8
skip-character-set-client-handshake
###追加内容ここまで

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

###追加内容ここから
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqldump]
default-character-set=utf8
###追加内容ここまで

この追記が完了したら、mysqlを起動します。

$ sudo service mysqld start

Mysqlのrootパスワード変更

起動に成功したら、Mysqlにログインするためのrootユーザーのパスワードを変更します。

$ sudo mysqladmin -u root password 'XXXXXXX'

Mysqlの起動

ここまでできたら、Mysqlにログインしてみましょう。
パスワード入力を求められるので、さきほど変更したパスワードを入力します。

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.61 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

最後に「mysql>」と表示されていれば、無事ログインできています。ログインが確認できたら、「quit」と入力してMysqlからログアウトしましょう。

これでMysqlのインストールと設定は完了です。

PHPのインストール

続いて、PHPをインストールします。
ApacheやMysql同様、PHPもyumでそのままインストールしたいところですが、そうすると古いバージョン(5.3.1)のPHPがインストールされてしまいます。PHPは5.4系以降の方が記述などがスマートになるので、今回は新しいバージョンをインストールするためにちょっとyumをカスタムします。

yumリポジトリを拡張する

phpの最新版を導入するため、yumにremiリポジトリを追加をします。
remiはcentOS非公式のリポジトリで、これらを利用することで新しいバージョンのパッケージをインストールすることができます。
下記コマンドを実行して、remiリポジトリをyumに対応させます。

$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

PHP最新版をインストールする

インストールが完了したら、下記コマンドでphpをインストールします。

$ sudo yum install --enablerepo=remi --enablerepo=remi-php55 php php-mbstring php-mysql php-mcrypt php-gd php-devel php-pear php-pecl-apc

完了後、phpのバージョンを確認しましょう。
phpのバージョンが5.5系になっていると思います。

$ php -v
PHP 5.5.13 (cli) (built: Jun  3 2014 13:27:36)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

phpのインストールは以上で完了です。

まとめ

Apache、Mysql、PHPの導入が完了し、ひと通りのLAMP環境が構築できました。
各パッケージごとに基本的な設定しか行っていないのですが、細かいカスタマイズは運用していく上で都度行っていけばいいかと思います。

使っているサーバはこちら
さくらのVPS 1G

次回はこのVPSサーバにWordpressをインストールして実際に表示させていくところまでをお送りしたいと思います。

さくらVPSとWordpressに関する記事

この記事についたタグ
この記事を書いた人
ねづ
『NEZU.log』運営管理者。Webエンジニアの傍ら、趣味でこのブログを運営。シェアハウス在住。2015年は海外情報(主にアジア圏)と効率のよい生活の情報発信がテーマ。
この記事が面白かったらいいねしよう!
記事のタイトルとURLをコピーするコピーしました!
こちらの記事もどうぞ
こちらの記事もどうぞ
このブログへのコメント

コメントを残す

コメント※必須
名前※必須
メールアドレス※必須(非公開)

このブログを書いている人

運営者 : ねづ

主にWebの企画、開発の仕事をしています。
海外が好きで、仕事、旅行問わずよく行きます。
フィリピン(セブ)で10週間留学後、現在はカナダ(バンクーバー)に滞在。留学、海外生活や旅行記をこのブログで書いています。

詳しいプロフィールはこちら

LINE@作成しました!お気軽にどうぞ!
友達登録は下記QRコードを読み取ってください
LINE@ QRコード

カテゴリ一覧
キーワードで記事を探す
下記から更新情報を受け取れます!