電脳オヤヂのライフログ Rotating Header Image

ServersMan@VPSの導入(まとめ)~Tips編~

ゴルフ以外にクルマを乗ることもなく、年間2000kmも走らないためバッテリーがすぐに上がってしまい、今年2回目のバッテリー交換で年末を締め くくる紋次郎です・・・orz

 

さて、ServersMan@VPSを使い始めて約1ヶ月が経ち、稼働も安定してきたので、設定・導入のTipsをまとめてみる。

Tips1: ホームページが急に文字化けするようになった
Tips2: PHPが実行されない(スクリプト内容が表示される、とか)
Tips3: ServersMan(WebDAV)の管理画面が表示されない
Tips4: CGIが動かない
Tips5: PHP、MySQLの最新版を使いたい

(WordPress編)
Tips6: インストールに失敗する
Tips7: 自動更新に失敗する
Tips8: 「open_basedirのWarning」 が出る
Tips9: ファイルサイズの大きいSQLデータベースをリストアできない
Tips10: URLが異なるサイトにSQLデータベースをリストアしたい

(Concrete5編)
Tips11: インストールできない
Tips12: 日本語が文字化けする
Tips13: 新規ページが作成できない

(XOOPS Cube編)
Tips14: 日本語が文字化けする

 

 

(参考記事)

 

◆◇◆ Tips1: ホームページが急に日本語が文字化けするようになった ◆◇◆

今まで問題がなかったのに、急に日本語が文字化けするのは、大概、サーバーのキャラクタセットがホームページのキャラクタセットと食い違っているのが原因。

特に、BlueOnyxで使用言語を変更するとキャラクタセットが勝手に「EUC-JP」に書換えられてしまうことがあり、WordPressなどでは文字化けを起こすことがある。

こういうときは、以下の設定に戻してやればよい。

# vi /etc/sysconfig/i18n
   LANG=ja_JP.UTF-8
   LC_ALL=ja_JP.UTF-8
   LINGUAS="ja en"

 

◆◇◆ Tips2: PHPが実行されない(スクリプト内容が表示される、とか) ◆◇◆

PHPを実行しようとすると、スクリプトの内容が画面に表示されてしまったり、ファイルそのものがダウンロードされてしまう場合は、以下の設定が「コメントアウト」されていないかチェック。
コメントアウトされている場合は外す

# vi /etc/httpd/conf.d/php.conf
   AddHandler php5-script .php
   AddType text/html .php

 

◆◇◆ Tips3: ServersMan(WebDAV)の管理画面が表示されない ◆◇◆

ServersManのWebDAV機能を制御する管理画面に入るためには、以下の設定になっている必要がある。

# vi /etc/httpd/conf/httpd.conf
   User daemon
   Group daemon

   ScriptAlias /cgi-bin/ “/varwww/cgi-bin/”   ※ コメントアウトが外れていること
   AddDefaultCharset Off   ※ コメントアウトが外れていること

但し、User/Groupが「daemon」のままだと、サーバー権限でのファイル書き込みができないため、例えばWordPressの自動更新ができない(参照: ServersMan@VPSの導入(5)~WordPress導入編~)とか、CGIでエラーを起こすなどの別の問題が発生する。
(サーバー権限での書き込みをするためには「apache」に設定する必要)

このあたりのトレードオフは自分のサーバー利用方法に合わせて、どちらを選択するか決めるしかない。

ちなみに、俺はServersMan(WebDAV)の利用をあきらめた。

 

◆◇◆ Tips4: CGIが動かない ◆◇◆

「Standardプラン」の場合は、以下の設定が必須。
(その他のプランは・・・知らんw)

1. BlueOnyxの設定

仮想サイト登録の際、

「CGI(Common Gateway Interface)を有効にする」 : チェックボックス OFF

2. サイト設定ファイルの編集

vi /etc/httpd/conf/vhosts/site1.include

以下を追記

AddHandler cgi-script .cgi
AddHandler cgi-script .pl

<Directory /home/.sites/xx/site1/web/>
 Options ExecCGI
</Directory>

※ 「xx」の部分は、ひとそれぞれの番号
※ 仮想サイトが複数ある場合はサイトごとに同様の記述を追記すること

設定反映のため、httpdをリスタート。

/etc/init.d/httpd restart

 

◆◇◆ Tips5: PHP、MySQLの最新版を使いたい ◆◇◆

PHPの safe mode をOFF

BlueOnyx → 「セキュリティ」→「PHPの設定」→「Safe ModeをOFF」→「保存」

リポジトリ追加

# 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
   enabled=1  ※ 「0」を「1」に変更
   gpgcheck=1
   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

MySQLアップグレード

# yum --enablerepo=remi,epel update mysql

インストール

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

PHPバージョンチェック

# php -v
   Failed loading /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so:  /home/solarspeed/> ioncube/ioncube_loader_lin_5.1.so: undefined symbol: zend_error_noreturn
   PHP Warning:  Directive 'safe_mode' is deprecated in PHP 5.3 and greater in Unknown on> line 0
   PHP 5.3.3 (cli) (built: Jul 22 2010 16:41:20)
   Copyright (c) 1997-2010 The PHP Group
   Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

「Failed loading・・・」エラー処理

# vi /etc/php.d/ioncube.ini
※ 以下「;」でコメントアウト
   ; Enable IonCube extension module
   ;zend_extension = /home/solarspeed/ioncube/ioncube_loader_lin_5.3.so

PHPバージョン再確認(エラーが消えていればOK)

# php -v> PHP 5.3.3 (cli) (built: Jul 22 2010 16:41:20)
   Copyright (c) 1997-2010 The PHP Group
   Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

 

(WordPress編)
◆◇◆ Tips6:インストールに失敗する ◆◇◆

多くの場合はPHPのメモリ上限不足が原因。

BlueOnyx 「サイト管理で導入仮想サイト選択」「PHP設定」
 「Memory limit」を20M以上に設定 「保存」

もし「作成済みサブドメイン」に導入する場合は、設定ファイルを直接編集。

# vi /etc/httpd/conf.d/subdomains/site1.xxx.conf (※ xxxはサブドメイン名)
php_admin_value memory_limit 16M    (※ この16Mを「40M」とかに書き換え)

保存後、httpdをリスタート。

# /etc/init.d/httpd restart

 

(WordPress編)
◆◇◆ Tips7:自動更新に失敗する ◆◇◆

これは、サーバーのファイル書き込み権限が合っていないことが原因。

1. 「User/Group」を「daemon(デフォルト)」から「apache」に変更

# vi /etc/httpd/conf/httpd.conf
   #User daemon
   #Group daemon
   User apache
   Group apache

保存後、httpdをリスタート。

# /etc/init.d/httpd restart

2. BlueOnyxの設定

BlueOnyx 「サイト管理で導入仮想サイト選択」「Web Ownership」
 SiteAdmin that owns /web:」を「Apache」に変更して保存

 

(WordPress編)
◆◇◆ Tips8: 「open_basedirのWarning」 が出る ◆◇◆

# vi /etc/php.ini
   ;open_basedir = /tmp/:/var/lib/php/session/   ※「;」でコメントアウト

 

(WordPress編)
◆◇◆ Tips9: ファイルサイズの大きいSQLデータベースをリストアできない ◆◇◆

1. バックアップしたSQLファイルをFTP等を使い、サーバーの適当なところにアップロード

2. SSH でログインし、SQLファイルをアップロードした場所に移動

3. MySQLにログイン後、SQLファイルをリストア

# mysql -u [MySQLユーザー名] -p --default-character-set=utf8 [MySQLデータベース名] < [SQLバックアップファイル名]

 

(WordPress編)
◆◇◆ Tips10: URLが異なるサイトにSQLデータベースをリストアしたい ◆◇◆

1. バックアップしたSQLファイルをMySQLデータベースにリストア

2. phpMyAdminにログイン

  • WordPressを移行したデータベースを開く
  • 「SQLタブ」をクリック
  • テキストエリアに以下のSQLを書いて「実行」
    • select * from wp_options where option_name in (‘siteurl’, ‘home’)
  • 出力される「option_value」結果を確認し、必要に応じて変更(「鉛筆」マークをクリック)
    • siteurl = WordPress のアドレス(URL)
    • home = ブログのアドレス(URL)

 

(Concrete5編)
◆◇◆ Tips11: インストールできない ◆◇◆

多くは、日本語のキャラクタセットが合っていないことが原因。

Concrete5はキャラクタセットが「UTF-8」である必要がある。

サーバー設定

# vi /etc/php.ini

default_charset = UTF-8
mbstring.language = neutral
mbstring.internal_encoding = UTF-8

MySQL設定

# vi /etc/my.cnf

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character_set_server=utf8
skip-character-set-client-handshake

設定反映

/etc/init.d/httpd restart
/etc/rc.d/init.d/mysqld restart

「UTF-8」でデータベース作成

mysql> create database hogehoge default character set utf8;
※ データベース名「hogehoge」の場合

 

(Concrete5編)
◆◇◆ Tips12: 日本語が文字化けする ◆◇◆

原因はわからないが、例えキャラクタセットを「UTF-8」に設定していても日本語版(ver5.4.0.5)はなぜか文字化けして使えない。

本家英語版の最新バージョンの利用をお勧めする。

管理画面等は全て英語になるが、日本語は普通に使えるので実用上は問題ない。

 

(Concrete5編)
◆◇◆ Tips13: 新規ページが作成できない ◆◇◆

PHP5.1 と Concrete5 ver5.4.1 の組み合わせで使用した場合、新規ページ作成機能が働かないバグがある(具体的にはページ追加のためのボタンが配置されず作成できない)。

PHP5.2(推奨環境)以降の利用、あるいはConcrete5 ver5.4.1.1 以降の利用ではこの問題は発生しない。

上記環境が整えられない場合は、以下の設定で解決できる。

# vi /concrete/models/attribute/types/select/form.php
※ <?PHP・・・の行の直後に以下の記述を追加
$js = Loader::helper('json');

※ 33行目を書換え
(元)var availableTags = <?php  echo json_encode($opt_values);?>;
(変更後)var availableTags = <?php echo  $js->encode($opt_values);?>;

ファイル変更後、一度管理モードからログアウトして、再度ログオンすれば設定が反映される。

 

(XOOPS Cube編)
◆◇◆ Tips14: 日本語が文字化けする ◆◇◆

多くの場合、キャラクタセットが合っていないことが原因。

XOOPS Cubeはキャラクタセットが「EUC-JP」である必要がある。

すなわち、WordPressやConcrete5のような「UTF-8」のアプリとの併用はできない。

UTF-8」でも文字化けさせない方法もあるようだが、俺は上手くいかなかったので、XOOPSの利用はあきらめたw

 

今年の書き込みはこれで終わり。

それでは、良いお年を   ヾ(。・ω・。)

 

2 Comments

  1. [...] けない。 ということで以下を参考にさせていただき最新版インストール。 ServersMan@VPSの導入(まとめ)~Tips編~ ServersMan@VPS PHP5.3.6 + MySQL5.5.13 のインストール ServersMan@VPS契約ServersMan@VPS m [...]

  2. [...] った。 ServersMan@VPSの導入(まとめ)~Tips編~ ServersMan@VPSの導入(5)~WordPress導入編~ [...]