さくらのVPSでの環境設定覚え書き。

さくらのVPSでの環境設定覚え書き。

アパッチと、PHP、その他(telnet)をインストールしまーす。

yum -y install httpd
yum -y install php php-mbstring 
yum install php-mysql
yum -y install telnet-server
yum -y install vim-enhanced

[json]
pecl install json
vi /etc/php.ini
extension_dir = "/usr/lib64/php/modules"
extension=json.so


[imagemagickもついでに]
yum install php-pear
pecl install imagick
yum install ImageMagick-devel
pecl install imagick
vi /etc/php.d/imagick.ini
extension=imagick.so
sudo /etc/init.d/httpd restart

(参考)http://centossrv.com/apache.shtml

phpapache文字コードutf-8に統一

# vi /etc/httpd/conf/httpd.conf
# vi /etc/php.ini

	[httpd]
	AddCharset UTF-8
	AddDefaultCharset UTF-8

	[php]
	default_charset UTF-8
	mbstring.language Japanese
	mbstring.internal_encoding UTF-8
	mbstring.http_input auto
	mbstring.http_output UTF-8

バーチャルホストを設定して、振り分ける

(参考)http://httpd.apache.org/docs/2.2/ja/vhosts/examples.html
1.さくらのドメイン設定画面から、サブドメインを設定する
ここでは
http://test1.apparelclip.com/
http://test2.apparelclip.com/
の2つとする。



2.httpd.confに振り分けの設定を書き込む

# vi /etc/httpd/conf/httpd.conf
#80番ポートについては振り分けの対象とする
NameVirtualHost *:80

<VirtualHost *:80>
ServerName test1.apparelclip.com
DocumentRoot /var/www/html/1/
</VirtualHost>

<VirtualHost *:80>
ServerName test2.apparelclip.com
DocumentRoot /var/www/html/2/
</VirtualHost>

3.apache再起動

/etc/init.d/httpd restart

cakephpをインストール。

忘れずに
# vi /etc/httpd/conf/httpd.conf
して、
(1)
AllowOverride All
(2)
LoadModule rewrite_module modules/mod_rewrite.so
の設定を見直します。

mysqlsennaを入れたいので、sennaの入れ方を参照。

いくつかトラブル。

1./etc/init.d/mysqld restartをしたときに

Starting MySQL..Manager of pid-file quit without updating f[FAILED]
となる。

Mysqlのプロセスが残っているのが原因なのでkill。

ps ax | grep mysql
でプロセス番号を見る

kill プロセス番号

2.cakephpから下記のようなエラーが発生する。

Can't connect to local MySQL server through socket '/tmp/mysql.sock'

原因1.MYSQLサーバーが起動していない

原因2.各ソフトのインストール方法が違う場合、違うソケットが参照される場合がある。

例えば、mysqlはソースからインストール>>/tmp.mysql.sock
phpyumでインストール、>> /var/lib/mysql/mysql.sock

という具合。

で、cakephpの場合、mysql.sockの場所を

database.phpの設定に、portと指定して、下記のようにすれば繋がります。

        var $default = array(
                'driver' => 'mysql',
                'persistent' => false,
                'host' => 'localhost',
                'port' => '/tmp/mysql.sock', // <= 追加
                'login' => 'user',
                'password' => 'password',
                'database' => 'database_name',
                'prefix' => '',
        );

(参考)
http://www.hi-ho.ne.jp/tsumiki/book_sup2.html