PHP入れる予定はありませんでしたが、WordPress の記事を書こうと思ったら、
PHP と MySQL が必須だったことに気付く → どうせなら最新を入れるか → なんか長くなったから記事を分割するか → 今ここ
ってことで、ServersMan@VPS への PHP5.3.2 5.3.6 と MySQL5.1.45 5.5.13 のインストール方法です。
※ PHP は、5.3.6、MySQL は、5.5.13 になります(2011/07/02)
※ 素のまま yum でインストールすると、PHP5.1、MySQL5.0系になります。
目次
- リポジトリ追加
- PHP インストール
- apache の設定
- PHP の設定
- PHP 動作確認
- MySQL インストール
- MySQL 設定
- デフォルトユーザの設定
- WordPress 用のDB設定
- Movable Type 用のDB設定
- 不要なDB削除
- MySQL メモリ使用量減少
リポジトリ追加
ソースからインストールは面倒くさいので yum で入れるためにリポジトリ追加します。
ダウンロード
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-8.el5.remi.noarch.rpm
リポジトリ追加
rpm -Uvh remi-release-5-8.el5.remi.noarch.rpm epel-release-5-4.noarch.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.3.6 と表示されれば問題ないはず
インストール
yum install php-devel php-mbstring php-mysql php-gd php-mcrypt php-xml
バージョン確認
php -v
PHP 5.3.6 (cli) (built: May 16 2011 19:18:00)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 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.13 の表示を確認
インストール
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
character-set-server=utf8[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
※ 実質3行追加しただけです。(赤色部分)
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.13 のインストールが完了。
MySQL メモリ使用量減少 2010/05/11 追記
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/etc/init.d/mysqld start
参考サイト
ServersMan@VPSでMySQL InnoDB Pluginをあきらめない – SH2の日記
関連記事



[...] ServersMan@VPS PHP5.3.2 + MySQL5.1.45 のインストール – てもぐ Server/VPS, ServersMan@VPS << ServersMan@VPSの初期設定 [...]
yum の –enablerepoオプションのところが何箇所か–enablerepoになっていますよ。
あ、ひょっとして—-
2つ「-」を続けると「—」になってしまうのかも。。
でもこの記事のお陰でMySQLまで無事インストールできました。ありがとうございました。
おっと・・・preでくくらないと — が 一文字になっちゃうみたいですね。(フォントによるのかな?)
全部Preタグで囲ってみました。
ご指摘ありがとうございます!
[...] PHP 5.3.3とMySQL5.1.50をインストール。ServersMan@VPS PHP5.3.2 + MySQL5.1.45 のインストールを参考にした。 [...]
[...] PHPのインストール。このあたりを参考に。 [...]
[...] 参考URL ServersMan@VPS PHP5.3.3 + MySQL5.1.50 のインストール [...]
[...] http://temog.info/archives/vps/serversmanvps-php5-3-2-mysql5-1-45-%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.html [...]
[...] 下記記事内容に従って再確認 ServersMan@VPS PHP5.3.3 + MySQL5.1.50 のインストール [...]
今日、上の方法で yum install mysql-serverしたら、MySQL 5.5.11がインストールされてしまいました。古いバージョン(例えばMySQL5.1.56 )をインストールするにはどうしたらよいのでしょう。お教え頂いたらありがたいです。
>MySQL 5.5.11がインストール
remi-test が有効になっちゃってるんじゃないですかね。
一度、mysql-server を remove してから以下のファイルの
/etc/yum.repos.d/remi.repo
[remi-test] の enabled を 0 に変えて、[remi] の enabled を 1 に変えてください。
ありがとうございます。しかし、remi-test は有効になってませんでした。もう一度やってみます。
ターミナルの記録を見ると、
yum info mysql-server
以前は5.1.56だったのですが、今はVersion : 5.5.11になっています。それですと、例えばMoodleをインストールしようとすると最後の自動インストールの部分で止まってしまって困っています。最新ではなくて5.1.56をyum install方法を調べています。
remi の最新が 5.5 になったんですね。ちょっと 5.1 の入れ方はわかりませんが、remi を無効にしちゃえば 5.0 が入れれます。
古い 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
てもさん。ありがとうございます。
はい。remiを無効にするのは既にやりましたが、5.5が出た今となっては5.0をインストールする気がしないので5.1.56をインストールしたいと思いました。実際のところ5.5でMoodle 1.9をインストールしたところ、これまでうまくいっていたところで壁に当たりました。しかし、その後工夫してMoodle 1.9でも問題が解決したので5.5を使っています。ただ、まだ様子見なので上記の5.1.56のrpmを使うかもしれません。貴重な情報、本当にありがとうございました。感謝いたします。
[...] ServersMan@VPSの導入(まとめ)~Tips編~ ServersMan@VPS PHP5.3.6 + MySQL5.5.13 のインストール ServersMan@VPS契約ServersMan@VPS mysql-server5.5 のインストール [...]
[...] ServersMan@VPSにPHP、MySQLの設定 参考URL http://temog.info/archives/vps/serversmanvps-php5-3-2-mysql5-1-45-%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.html カテゴリー: ブログ 作成者: admin パーマリ [...]