この記事は三日坊主でVPS記事を書いてみる特集のひとつです。
目次記事はこちら。 とりあえずtelnetつないでemacsもインストールしてちょっとだけURLのリダイレクト問題も解決してみたところで、次はPHPとMySQLを使えるようにします。 最終的にはwordpressをインストールすることです。 使っているVPSはServersMan@VPS を使用。 今回は前回に引き続きTera Termを使います。 とりあえずtelnetで接続してsuでrootに昇格します。
次にこちらのサイト「てもぐ>ServersMan@VPS PHP5.3.6 + MySQL5.5.13 のインストール」を参考にして以下のコマンドを打ち込んでいきます。 なお、本記事更新時のPHPのバージョンは5.3.8、Mysqlのバージョンは5.5.19になります。
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
署名だか鍵だかがないとか言われますがシカト。 さらにてもぐさんのサイトを参照して、emacsでremi.repoを編集。
emacs /etc/yum.repos.d/remi.repo
赤字の部分を0から1に変更します。
[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=0 この行を0から1に変更 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/PRM-GPG-KEY-remi failovermethod=priority [remi-test] ここから下は触らない さらにてもぐさんのサイトを参考に、確認とインストールを開始。
yum info php-devel php-mbstring php-mysql php-gd php-mcrypt php-xml
yum install php-devel php-mbstring php-mysql php-gd php-mcrypt php-xml すると、コンフリクト発生。
file /usr/share/mysql/japanese/errmsg.sys from install of mysql-libs-5.5.19-1.el5.i386 conflicts with file from package mysql-5.0.77-4.el5_4.2.i386
(こんなのが多数) 内容を見ると、mysql系のファイルが衝突している様子。 では、先にmysqlから片付けることにします。
yum info mysql-server
yum install mysql-server 無事に完了したら、あらためてphpをインストール。 これで無事に完了すると、バージョン表示で
php -v
mysql --version こんな風にバージョンが表示…表示…ん?
Failed loading /home/solarspeed/ioncube/ioncube_loader_lin(以下略)
なんか「Failed」とか言ってる。 なんか「ioncube」とかいうのがなんちゃらっぽいので、面倒だからこのエラーログも消してみることにします。後から困るかもしれないけれど。 とりあえず、それらしいファイルを発見してレッツ編集。
emacs /etc/php.d/ioncube.ini
; Enable IonCube extension module
;zend_extension = /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so 赤い文字を付け足してコメントアウトしてしまいます。 大雑把。ioncubeって何かのモジュールなんだろうけど、まぁとりあえず調べもせずに進みます。 後は「safe_mode」の警告が出ていますが、これも後ほど解決するとして、今はスルー。 よし、これで一旦インストールは完了。本当は文字コードとか色々チェックしなくてはいけないのですが、そこは敢えて後手に回すことにします。 というわけで、phpの動作確認。 /home/sites/www.tpad.jp/web/info.phpを作成して、
<?php phpinfo(); ?>
とだけ書いて保存。emacsで書きますよ。念のためコマンドは、
emacs /home/sites/www.tpad.jp/web/info.php
これ。で、ブラウザでhttp://tpad.jp/info.phpにアクセス。
<?php phpinfo(); ?>
絶句。そのままやんか。 あぁ、サーバ再起動が必要かな?と思って
/etc/init.d/httpd restart
を実行。おや、なんか警告がでている。
httpd を停止中: [ OK ]
httpd を起動中: [Tue Jan 03 10:10:10] [warn] NameVirtualHost (VPSのIP):80 has no VirtualHosts [ OK ] というわけで、この2つを解決するように試みる。 色々調べた結果「梅さんネット>[warn] NameVirtualHost 192.168.77.77:80 has no Virtual Hosts」という記事を発見。 インターネットって便利。記事の内容を参照して、そういえばwww.tpad.jp以外にもうひとつドメインを設定しているので、そちらが引っかかっているのやもしれん、とあたりをつける。 なぜなら、/etc/httpd/conf/httpd.confにて、VirtualHostの設定がこんな感じになっている。
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost> Include /etc/httpd/conf/vhosts/preview Include /etc/httpd/conf/vhosts/site1 Include /etc/httpd/conf/vhosts/site2 これは設定をIncludeしているわけなので、
emacs /etc/httpd/conf/vhosts/site1 /etc/httpd/conf/vhosts/site2
と2つ一度に開いて内容を確認。 双方のファイルの先頭に
# owned by VirtualHost
NameVirtualHost (VPSのIP):80 と書いてあるのを確認して、site2の方をコメントアウトしてやる。
# owned by VirtualHost
#NameVirtualHost (VPSのIP):80 結果、[warn]表示は消えて問題なくhttpdの再起動ができるように。 しかしこれ、どこかにVirtualHostの設定をまとめてやらなくちゃいけないね。今はやらずに、今後の課題としておくことに。 というわけで、相変わらずコードが丸出しになっているphpをどうにかしてやる方へとシフト。これも色々調べてみた結果、まずは
emacs /etc/httpd/conf.d/php.conf
でphp.confを開いて、拡張子phpを認識できるように修正。
#
# Cause the PHP interpreter to handle files with a .php extension. # #AddHandler php5-script .php #AddType text/html .php この部分の、#AddTypeの先頭についている「#を削ってやる。
#
# Cause the PHP interpreter to handle files with a .php extension. # AddHandler php5-script .php AddType text/html .php 保存して終了。サーバ再起動。
/etc/init.d/httpd restart
その後ブラウザでアクセスして、無事にphpinfo()の画面が出…ない。 何かエラーが発生している。
Warning: Unknown: open_basedir restriction in effect. File(/home/.sites/28/site1/web/info.php) is not within the allowed path(s): (/tmp/:/var/lib/php/session/) in Unknown on line 0
Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0 Fatal error: Unknown: Failed opening required '/home/.sites/28/site1/web/info.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0 どうもbasedirの設定がおかしいのか?とまたも頼りなくあたりをつけて、再び設定を編集。
emacs /etc/php.ini
ひっそり、そしてしっかりとファイルの一番最後の方に
; Local Variables:
; tab-width: 4 ; End: open_basedir= /tmp/:/var/lib/php/session/ allow_url_include = Off date.timezone = 'Asia/Tokyo' このopen_basedirをコメントアウト。
; Local Variables:
; tab-width: 4 ; End: ;open_basedir= /tmp/:/var/lib/php/session/ allow_url_include = Off date.timezone = 'Asia/Tokyo' そしてまたもやサーバ再起動。
/etc/init.d/httpd restart
これでようやく、phpinfo()の画面を見る事ができました。 手間がかかったなぁ。 ようやくMySQLの確認です。 まずは起動します。
/etc/init.d/mysqld start
次にログイン。
mysql -u root
入力すると、プロンプトがmysql>に変わります。それにしてもrootでパスワードが不要な状態はよくない。他にもScott/Tiger的なものはないかをチェックするために、ユーザの一覧を取得することにします。
select user, host, password from mysql.user;
結果、
+------+----------------------------+----------+
| user | host | password | +------+----------------------------+----------+ | root | localhost | | | root | OpenVZ-test.intraoffice.jp | | | root | 127.0.0.1 | | | | localhost | | | | OpenVZ-test.intraoffice.jp | | +------+----------------------------+----------+ 5 rows in set (0.00 sec) うん、とりあえずなんとかしないと。 匿名は削除して、rootにはパスワードを設定します。
delete from mysql.user where user='';
update mysql.user set password=password('パスワード文字列') where user='root'; 以上で匿名ユーザは削除、rootにもパスワードが設定されます。その後はquitで終了し、一旦mysqlサーバを再起動しましょう。再起動するまではパスワード無しの状態になります。
/etc/init.d/mysqld restart
とりあえず、以上で動かすための設定は終了です。 今後はパフォーマンスとかの調整も必要になりますが、一旦ここで区切りを入れます。いよいよ次回はWordpressのインストールになります。 PR
Powered by 忍者ブログ
Design by まめの
Copyright © [ webrover.log ] All Rights Reserved. http://quammo.blog.shinobi.jp/ |
∴ カレンダー
∴ 月別アーカイブ
∴ カテゴリー
∴ 最新コメント
∴ 最新トラックバック
∴ アクセス解析
∴ 忍者アナライズ