前回記事、GMOクラウド VPSを借りてまず行う初期設定内容 から間が空いてしまったけれど、今回はWebとメールサーバーの設定編を。
とはいえ、自分の場合メールサービスとしてGoogle Appsを利用しているため、VPS上では問い合わせやログ等を送れればいいだけなので、そっちは超簡単な設定だけで終わらせてますが……。
ということで、続きは以下から。割と長いです。
guilz.org を含め、いくつかのサイトを さくらのVPS 2G (大阪) から、GMOクラウドVPS マイクロ に移転しました。
サイト丸ごと移転の際、ちょっとつまずいたりしたことを含めて、作業メモとして残しておきます。(今後も同じようなサーバー移転するかもだし)
あ、今のところは、さくらのVPS 2G (大阪) より GMOクラウドVPS マイクロ の方が快適かなーという印象。traceroute すると、さくらの方がGMOより近いんだけど、契約ユーザー数の違いとかかな。あと体感での話だし、実際には差はあまりないかもだけど。
ドメインキング から、XOOPS Cube Legacy で作成していたサイトを さくらのVPS に移したのだが、モジュールインストール時に以下のようなエラーが出てインストールできなくなってしまった。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM’ at line XXX
どうやらMySQL 5.5系では ‘TYPE=MyISAM’ 指定が無効になっており、’ENGINE=MyISAM’ とSQL文を書いてやらないとダメな模様。このサーバーではremiレポジトリからPHP 5.3系・MySQL 5.5系がインストールされているため、既にインストールされていたモジュールは問題なかったものの、モジュールの新規インストールで問題が出たようだ。
その後、いくつかのモジュールのSQLを確認したが、確認した限りのモジュール全てで ‘TYPE=MyISAM’ が使われていたため、全部置換するのも面倒だなーと思っていたら、XOOPS Cubeの公式フォーラムに投稿されていた以下のハックで解決。
class/database/sqlutility.php
の
function splitMySqlFile(&$ret, $sql)
{
直下に、以下の行を挿入。
$sql = str_replace( 'TYPE=MyISAM', 'ENGINE=MyISAM', $sql );
これでモジュールのインストールができるようになった。
以前から借りていてサイト作成はしていたものの、ちょっと放置気味だった ドメインキング に、同人荘 – doujin.so! のトップページを移行したときの設定とか。
将来的にサブドメインだけ残して、他のサービスを使いたくなった方のお役に立てれば幸い(そうならないようにしていきたいとは思いますが……)。
現在、このブログがある さくらのVPS では、PHP 5.3系を使いたいのでremiレポジトリを有効にして、yumでアップデートなどを行っているのだけど、そこで発生したトラブルについてメモがてら。
昨日アップデートをしたら、大量のアップデートに混じってMySQLも5.1系から5.5系にバージョンアップされたらしく、起動しなくなっていた。MySQLのログを見ると、
[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=ujis'
[ERROR] Aborting
となって終了している。
MySQL MLの投稿
http://www.mysql.gr.jp/mysqlml/mysql/msg/15436
によると、5.5系では [mysqld] 内では default-character-set が利用できなくなっているとのことなので(ただし [client], [mysql], [mysqldump] では問題なく利用できている)、代わりに /etc/my.cnf に
character-set-server = ujis
と書いてやることで無事起動するようになった。
が、以下のようなエラーも吐かれていたので、こちらにも対処する。
[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
mysqld を起動しておいた状態で、
# mysql_upgrade -u root -p
として root パスワードを入力すると、データベースがチェックされ、問題なく全て OK となった。再起動後もエラーは出なくなったようだ。
そして、ここまでやった後に、下記サイト様を発見。
【MySQL】5.1から5.5へのアップグレード(rpmで)
http://www.softel.co.jp/blogs/tech/archives/2288
yumだったからか、私の場合は全く警告も出なかったけれど、データベースのダンプくらいは取っておくべきだったなと、今さらながらガクブル。ま、問題は出なかったから、よしとしよう。(mysqldumpしながら)