さくらVPS(その7:phpMyAdminのインストール)
「さくらVPS」のサーバにphpMyAdminをインストールする方法について紹介します。
この記事は「さくらVPS」環境設定シリーズの7回目です。
1.インストールの前に
当初、このエントリーで紹介していない別の手順でインストールしたのですが、ブラウザからアクセスしたところ「mysqli拡張がない」といったエラーになりました。

この対処方法もあるようですが結構面倒そうだったので、2項以降に示す手順でやり直したところ、すんなりインストールできました。
同じエラーで困っている場合はこのエントリーで紹介するインストールでやり直した方がいいかもしれません。
2.インストール
phpMyAdminをインストールするには、root権限でyumコマンドを実行します。
$ sudo yum install phpmyadmin
ちなみに私の場合、PHP5.4.10をインストールしていたため、上記のコマンドではPHPバージョンの依存関係で次のようなエラーになりました。
上記のコマンドでエラーになる場合は、パラメータ「--enablerepo=remi」を付与して実行します。
$ sudo yum --enablerepo=remi install phpmyadmin
これでphpMyAdminがインストールされます。実際にインストールしたときの画面を掲載しておきます。
/var/www/html配下にphpmyadminの実体はありませんが、3項に示す設定ファイルの修正を行うことで、
http://user-domain/phpmyadmin/
でアクセスできるようになります。
2.設定ファイルの編集
viコマンドでphpMyAdminの設定ファイルを編集します。
$ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
設定ファイルの中にある、
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
の4行をコメントアウトして、
Order Allow,Deny
Allow from all
の2行を追加します。
変更前
<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
変更後
<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
# Order Deny,Allow
# Deny from All
# Allow from 127.0.0.1
# Allow from ::1
Order Allow,Deny
Allow from all
</IfModule>
</Directory>
3.Apache再起動
Apacheを再起動します。
$ sudo /etc/rc.d/init.d/httpd restart
4.phpMyAdminにアクセス
http://user-domain/phpmyadmin/
でphpMyAdminのログイン画面が表示されればOKです。
ユーザー・パスワードは、MySQLインストール時に設定したrootとパスワードでログインできると思います。
次の画面が表示されればログインも成功です。
5.参考サイト
PerlのCGIで「Premature end of script headers」になる場合の対処
PerlのCGIで「Premature end of script headers」というエラーが発生する場合の対処方法を紹介します。

1.はじめに
Perlで簡単なCGIを書いて、さくらインターネットのサーバにアップロードして実行したところ、「Internal Server Error」が発生しました。

Apacheのエラーログを見ると、
Premature end of script headers: /home/xxxxx/www/test.cgi
というエラーが発生していました。
かなり初歩的なミスで今までも同じ失敗をしてきたと思うので、備忘録で残しておきます。
1.「Premature end of script headers」とは
「Premature end of script headers」は分かりにくいエラーですが、「スクリプトヘッダーの早すぎる終わり」、つまり「HTTPヘッダーが不完全である」というエラーを指すようです。
もう少し分かりやすく言うと、「CGIプログラムが適切なHTTPヘッダを出力していない」ということになります。
2.エラーになる原因
原因はファイルの改行コードです。
Linuxでファイルの改行コードがCR+LFのままCGIを実行すると、「Premature end of script headers」というエラーになります。
エラーになる理由は、まずLinuxのApacheでは改行コードをLFでしか認識してくれないようで、Perlのshebang行、
#!/usr/bin/perl
の行末に改行コード「CR+LF」があると、LFだけを改行コードと認識するため、余ったCRがPerlのパスにくっついて、
#!/usr/bin/perl<CR>
と解釈されてしまうようです。
そのようなPerlのパスが存在しないことでCGIが正常に動作しなくなり、後方のヘッダ出力も正常に行われず、結果的に「Premature end of script headers」というエラーになるようです。
なお、ネットを検索すると、
#!/usr/bin/perl --
とすると解消するという記事が多くありますが、これは「--」を付与することで「#!/usr/bin/perl」の直後にCRが付与されなくなってパスが正しく認識されるためで、本質的な解決策ではありません。
よって、ファイルの改行コードをLFに変換すれば本問題は解消されると思います。
ただしファイルやディレクトリのパーミッションなどでひっかかる場合もあるので、改行コードが原因でないケースもあります。
3.「Premature end of script headers」を故意に出力する
2項の裏返しで、「Premature end of script headers」を故意に出力するには、次の1行だけの内容のファイル(改行コードはLF)を実行すればいいことになります。
#!/usr/bin/perl
またはshebang行のパスを誤った内容にします。エラーの原因と同じように末尾に適当な文字列をつけてみてもいいでしょう。
#!/usr/bin/perlhoge
いずれにしてもHTTPヘッダが出力されなければ「Premature end of script headers」となります。
4.その他
Apacheのドキュメントにも参考情報が掲載されています。
ブログ開設9周年とPV(ページビュー)が減った件について
昨日、当ブログが開設より9年が経過致しました。
こうして大過なくブログを続けてこられたのも、皆様の暖かいご支援のおかげです。この場をお借りして心よりお礼申し上げます。
下の絵は開設1周年から毎年使っているもので、数字の部分だけ書き換えて使っています。右上に書いてあるなんだかよく分からないものは、当時のブログのデザインです。現在配布している各ブログツール・ブログサービスのテンプレートもこれと同じデザインです。

1.ブログ運営状況
2013年5月22日現在のブログ運営状況は下記の通りです。
- エントリー:4206
- コメント:16970
- トラックバック:4951
- アクセス数:約20万PV/月(Google Analytics による直近1ヶ月分)
2.PV(ページビュー)が減ってきた
昨年の同じエントリーでは「PVが増えてきた」とお伝えしました。その後しばらくいい状態が続いていましたが、2013年4月中旬から1日のPVが3分の2になる事象が発生し、現在もその状態が続いています。
下のスクリーンショットは、Analyticsを導入した2005年11月から2013年5月現在までの日別ページビューの推移です。
2009年あたりのPVに逆戻りしてしまいました。
3.なぜPV(ページビュー)が減ったか
はっきりした原因は不明です。
ウェブマスターツールで状態を確認して、問題がありそうな箇所は対処を行いましたが状況は大きく変わっていません。
といってもこれ以上何もできることはないので、とりあえず静観している状態です。
4.今後のエントリーについて
昨年中盤までは1日1エントリーを守ってきましたが、日々の投稿とPVには関連がなく、どちらかといえばエントリーの質を上げるほうが大事だと思い、とりあえず土日のエントリーは行わずに次のエントリーのネタ探しにあてることにしました(それほどあててもいませんが)。
ということで、今後も検索にヒットするような記事を中心にエントリーしていく予定です(今やっていることを粛々と続けるだけなのですが)。
昨年も同じことを書いてますが、ネタが尽きてきたら誰でも知っているような当たり前のことをエントリーしています。検索向けの記事だと思ってスルーしてください(笑)。
5.関連エントリー
以下はこれまでの毎年の記念エントリーです。
- ブログ開設8周年
- ブログ開設7周年
- ブログ開設6周年
- ブログ開設5周年記念・【TB企画】あなたのおすすめブログツール・ブログサービス
- ブログ開設4周年記念・【TB企画】あなたのおすすめブログ
- ブログ開設3周年記念・【TB企画】あなたのおすすめサービス・ツール(結果)
- ブログ開設2周年記念・【TB企画】あなたのサイトのお勧めエントリー(結果)
- ブログ開設1周年記念・【TB企画】あなたのサイトのお気に入りカスタマイズ(結果)
という訳で、9年目も無事に乗り切り、ついに10年目に突入しました。今後ともよろしくお願い致します。






