ServersMan@VPS PHP5.4.25 + MySQL5.5.36 のインストール


PHP入れる予定はありませんでしたが、WordPress の記事を書こうと思ったら、
PHP と MySQL が必須だったことに気付く → どうせなら最新を入れるか → なんか長くなったから記事を分割するか → 今ここ
ってことで、ServersMan@VPS への PHP5.3.2 5.4.25 と MySQL5.1.45 5.5.36 のインストール方法です。

※ PHP は、5.4.25、MySQL は、5.5.36 になります(2014-02-23)

2014-02-23 追記

この記事はCentOSについて説明しています。他のディストリビューションをお使いの場合は参考になりません。(公開当時はCentOSしかなかったんです)

目次

リポジトリ追加

ソースからインストールは面倒くさいので yum で入れるためにリポジトリ追加します。

2014-02-23 追記

CentOS 5,6, 32bit, 64bit でダウンロード先が変わります。

OSの調べ方

cat /etc/redhat-release
# 5の場合 CentOS release 5.x
# 6の場合 CentOS release 6.x

32bit, 64bit の調べ方

uname -a
# 1行文字が表示されます。「i386」があったら 32bit、「x86_64」があったら 64bit

CentOS5 + 32bit

ダウンロード

wget wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

リポジトリ追加

rpm -Uvh epel-release-5-4.noarch.rpm remi-release-5.rpm

CentOS5 + 64bit

ダウンロード

wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

リポジトリ追加

rpm -Uvh epel-release-5-4.noarch.rpm remi-release-5.rpm

CentOS6 + 32bit

ダウンロード

wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

リポジトリ追加

rpm -Uvh epel-release-6-8.noarch.rpm remi-release-6.rpm

CentOS6 + 64bit

ダウンロード

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

リポジトリ追加

rpm -Uvh epel-release-6-8.noarch.rpm remi-release-6.rpm

remi の有効化

vi /etc/yum.repos.d/remi.repo
[remi]
name=Les RPM de remi pour Enterprise Linux $releasever - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror
# ↓ 0 を 1 に変える
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority

※ [remi-test] は有効にしないことっ!!

PHP インストール

まずは バージョン確認

yum info php-devel php-mbstring php-mysql php-gd php-mcrypt php-xml

# Version : 5.4.25 と表示されれば問題ないはず

インストール

yum install php-devel php-mbstring php-mysql php-gd php-mcrypt php-xml

バージョン確認

php -v
PHP 5.4.25 (cli) (built: Feb 18 2014 14:40:30)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

モジュール確認

php -m
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]

apache の設定

vi /etc/httpd/conf/httpd.conf

# コメントアウト↓
#AddDefaultCharset UTF-8

# apache の実行者を apache に変える。
# 初期の daemon は地雷。(PHP のセッションファイル保存先が daemon だと書き込めない)
User apache
Group apache

PHP の設定

意外と直すところが少ないな、と感じました。PHPはセキュリティが、、と散々Disられて改善されたんですね。

vi /etc/php.ini

# 最初は、128M になってます。デフォルトだと MySQL だけで 100M 使うため
# 色々VPSで動かしてる人は、多少しぼったほうがいいかもしれません。
memory_limit = 128M

# 画面に出したいときはOnで。
display_errors = Off

# デフォルトOffです。激しくOff推奨。古いプログラムなどでこれありきで作っていてやむを得ない場合だけOn
register_globals = Off

# デフォルトOff。こちらもOff推奨。
magic_quotes_gpc = Off

# PHP で発生したエラーを記録します。原因追跡が楽になります。
error_log = /var/log/php_errors.log

# デフォルトのタイムゾーン指定
date.timezone = “Asia/Tokyo”

PHP 動作確認

apache リブートして設定反映します。

/etc/init.d/httpd restart

PHPの設定情報を表示・確認

vi /var/www/html/info.php
<?php phpinfo();

ブラウザで表示できるか確認

http://VPS の IPアドレス or ホスト名/info.php

表示されました。

設定情報晒しておくのはよろしくないので、表示が確認できたら、さっさと消しましょう

rm /var/www/html/info.php

MySQL インストール

バージョン確認

yum info mysql-server

※ Version : 5.5.36 の表示を確認

インストール

yum install mysql-server

MySQL 設定

文字コード関係

vi /etc/my.cnf

[mysql]
default-character-set=utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
skip-character-set-client-handshake
character-set-server=utf8

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

※ 実質4行追加しただけです。(赤色部分)

MySQL自動起動(任意)

chkconfig mysqld on

※ 起動するだけで100MBほどメモリ食うので(デフォルトでは)よく考えて設定しましょう

デフォルトユーザの設定

とりあえず MySQL を起動します。

/etc/init.d/mysqld start

ログイン

mysql -u root

mysql> select user,host,password from mysql.user;
+------+---------------+----------+
| user | host          | password |
+------+---------------+----------+
| root | localhost     |          |
| root | dti-vps-srv01 |          |
| root | 127.0.0.1     |          |
|      | localhost     |          |
|      | dti-vps-srv01 |          |
+------+---------------+----------+
5 rows in set (0.00 sec)

不要ユーザ削除。ユーザ名なしでログイン可能な状態は、キモいので消します。

mysql> delete from mysql.user where user = '';
mysql> select user,host,password from mysql.user;
+------+---------------+----------+
| user | host          | password |
+------+---------------+----------+
| root | localhost     |          |
| root | dti-vps-srv01 |          |
| root | 127.0.0.1     |          |
+------+---------------+----------+
3 rows in set (0.00 sec)

消えました。

パスワードの設定

mysql> update mysql.user set password=password('任意のパスワード') where user = 'root';

mysql> select user,host,password from mysql.user;
+------+---------------+-------------------------------------------+
| user | host          | password                                  |
+------+---------------+-------------------------------------------+
| root | localhost     | *0D45CF0E345632748D7F0E92D7B0EA2BE3C4B746 |
| root | dti-vps-srv01 | *0D45CF0E345632748D7F0E92D7B0EA2BE3C4B746 |
| root | 127.0.0.1     | *0D45CF0E345632748D7F0E92D7B0EA2BE3C4B746 |
+------+---------------+-------------------------------------------+
3 rows in set (0.00 sec)

mysql> flush privileges;

これでパスなしでログインは不可能になりました。

WordPress 用のDB設定

※ Movable Type のインストールから見てる方は、この下の [ Movable Type 用のDB設定 ] を見てください。

ログインしっぱなしでいいです。ログアウトしちゃった場合は、下の操作で再ログイン。

mysql -u root -p
Enter password: 設定したパスワード

WordPress 用のデータベースを作成

mysql> create database wordpress;

次に、今作ったデータベース(wordpress) へアクセスするための wordpress ユーザを作成。

mysql> grant all privileges on wordpress.* to wordpress@localhost identified by 'パスワード';

確認

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| wordpress          |
+--------------------+
4 rows in set (0.00 sec)

mysql> select user,host,password from mysql.user;
+-----------+---------------+-------------------------------------------+
| user      | host          | password                                  |
+-----------+---------------+-------------------------------------------+
| root      | localhost     | *36241F994418155CBF9DDAAFB952D8C3C172578D |
| root      | dti-vps-srv01 | *36241F994418155CBF9DDAAFB952D8C3C172578D |
| root      | 127.0.0.1     | *36241F994418155CBF9DDAAFB952D8C3C172578D |
| wordpress | localhost     | *AAA12147F9C259C726B654FA3087821DF03AFBB5 |
+-----------+---------------+-------------------------------------------+

Movable Type 用のDB設定

※ 2010/04/24 追記

Movable Type 用のデータベースを作成

mysql> create database mt;

次に、今作ったデータベース(mt) へアクセスするためのユーザを作成。

mysql> grant all privileges on mt.* to mt@localhost identified by 'パスワード';

確認

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mt                 |
| mysql              |
+--------------------+

mysql> select user,host,password from mysql.user where user = 'mt';
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| mt   | localhost | *D058743844F53135D905013D6A4309387AB0216B1 |
+------+-----------+-------------------------------------------+

不要なDB削除

mysql> drop database test;

ログアウト

mysql> exit

以上の手順で PHP5.3.2 + MySQL5.5.36 のインストールが完了。

MySQL メモリ使用量減少 2012/04/06 追記

Innodb を使わないなら以下の設定でメモリ使用量が激減します。
※ Innodb 使う人は、下の参考サイト(SH2の日記さん)で詳細が載ってます。

/etc/init.d/mysqld stop

vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
default-character-set=utf8
skip-innodb
default-storage-engine=MyISAM

/etc/init.d/mysqld start

参考サイト
ServersMan@VPSでMySQL InnoDB Pluginをあきらめない – SH2の日記

32 Responses to ServersMan@VPS PHP5.4.25 + MySQL5.5.36 のインストール

  1. […] ServersMan@VPS PHP5.3.2 + MySQL5.1.45 のインストール – てもぐ Server/VPS, ServersMan@VPS << ServersMan@VPSの初期設定 […]

  2. sfpg より:

    yum の –enablerepoオプションのところが何箇所か–enablerepoになっていますよ。

  3. sfpg より:

    あ、ひょっとして—-

  4. sfpg より:

    2つ「-」を続けると「—」になってしまうのかも。。

  5. sfpg より:

    でもこの記事のお陰でMySQLまで無事インストールできました。ありがとうございました。

  6. ても より:

    おっと・・・preでくくらないと — が 一文字になっちゃうみたいですね。(フォントによるのかな?)
    全部Preタグで囲ってみました。

    ご指摘ありがとうございます!

  7. […] PHP 5.3.3とMySQL5.1.50をインストール。ServersMan@VPS PHP5.3.2 + MySQL5.1.45 のインストールを参考にした。 […]

  8. ServersMan@VPSを借りることにした。 | ズルして頂き(beta) より:

    […] PHPのインストール。このあたりを参考に。 […]

  9. […] 参考URL ServersMan@VPS PHP5.3.3 + MySQL5.1.50 のインストール […]

  10. […] 下記記事内容に従って再確認 ServersMan@VPS PHP5.3.3 + MySQL5.1.50 のインストール […]

  11. maigoofy より:

    今日、上の方法で yum install mysql-serverしたら、MySQL 5.5.11がインストールされてしまいました。古いバージョン(例えばMySQL5.1.56 )をインストールするにはどうしたらよいのでしょう。お教え頂いたらありがたいです。

  12. ても より:

    >MySQL 5.5.11がインストール

    remi-test が有効になっちゃってるんじゃないですかね。
    一度、mysql-server を remove してから以下のファイルの

    /etc/yum.repos.d/remi.repo

    [remi-test] の enabled を 0 に変えて、[remi] の enabled を 1 に変えてください。

  13. maigoofy より:

    ありがとうございます。しかし、remi-test は有効になってませんでした。もう一度やってみます。

  14. maigoofy より:

    ターミナルの記録を見ると、

    yum info mysql-server

    以前は5.1.56だったのですが、今はVersion : 5.5.11になっています。それですと、例えばMoodleをインストールしようとすると最後の自動インストールの部分で止まってしまって困っています。最新ではなくて5.1.56をyum install方法を調べています。

  15. ても より:

    remi の最新が 5.5 になったんですね。ちょっと 5.1 の入れ方はわかりませんが、remi を無効にしちゃえば 5.0 が入れれます。

  16. ても より:

    古い rpm があったので以下の方法でうまくいくかもしれません。(保証はできないので自己責任でお願いします。)

    wget http://rpms.famillecollet.com/enterprise/5/olds/i386/mysql-server-5.1.56-1.el5.remi.i386.rpm
    rpm -ihv mysql-server-5.1.56-1.el5.remi.i386.rpm

  17. maigoofy より:

    てもさん。ありがとうございます。

    はい。remiを無効にするのは既にやりましたが、5.5が出た今となっては5.0をインストールする気がしないので5.1.56をインストールしたいと思いました。実際のところ5.5でMoodle 1.9をインストールしたところ、これまでうまくいっていたところで壁に当たりました。しかし、その後工夫してMoodle 1.9でも問題が解決したので5.5を使っています。ただ、まだ様子見なので上記の5.1.56のrpmを使うかもしれません。貴重な情報、本当にありがとうございました。感謝いたします。

  18. […] ServersMan@VPSの導入(まとめ)~Tips編~ ServersMan@VPS PHP5.3.6 + MySQL5.5.13 のインストール ServersMan@VPS契約ServersMan@VPS mysql-server5.5 のインストール […]

  19. […] ServersMan@VPS PHP5.3.10 + MySQL5.5.21 のインストール Remi、EPELというリポジトリを入れます。 […]

  20. […] ServersMan@VPS PHP5.3.6 + MySQL5.5.13 のインストール […]

  21. たにぃ より:

    こんにちは。
    ServersMan@VPSでphpのversionを5.1.6以上に上げると、VPSサーバ管理ツールにログイン出来なくなりますが、そのあたりはどう対応されましたでしょうか?

    DTIの回答はVPSサーバ管理ツールはphp5.1.6以下にしか対応していないとのことでしたので・・・

  22. ても より:

    >たにぃさん

    VPSサーバ管理ツールがBlueOnyxのことなら、この辺に↓まとめてますので
    自己責任で試してみては如何でしょう。

    http://temog.info/archives/vps/serversmanvps-php-5-3-3-%E3%81%A7-blueonyx-%E3%82%92%E4%BD%BF%E3%81%86.html

  23. […] るので未設定な場合は、先にインストール + 設定しておいてください。 ServersMan@VPS PHP5.3.2 + MySQL5.1.45 のインストール     ソースのダウンロード と 解凍   wget http://ja.wordpress.org/latest-ja.tar. […]

  24. […] ServersMan@VPS PHP5.3.10 + MySQL5.5.21 のインストール […]

コメントを残す

メールアドレスが公開されることはありません。

Top