さくらの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
phpとapacheの文字コードを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
の設定を見直します。
いくつかトラブル。
1./etc/init.d/mysqld restartをしたときに
Starting MySQL..Manager of pid-file quit without updating f[FAILED]
となる。
Mysqlのプロセスが残っているのが原因なのでkill。
kill プロセス番号
2.cakephpから下記のようなエラーが発生する。
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
原因1.MYSQLサーバーが起動していない
原因2.各ソフトのインストール方法が違う場合、違うソケットが参照される場合がある。
例えば、mysqlはソースからインストール>>/tmp.mysql.sock
phpはyumでインストール、>> /var/lib/mysql/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' => '', );