IT/WEB業界への転職なら求人サイトGreen

さくらVPS(その7:phpMyAdminのインストール)

May 24,2013 1:11 AM
Category:[VPS]
Tag:[, ]
Permalink

「さくらVPS」のサーバにphpMyAdminをインストールする方法について紹介します。

この記事は「さくらVPS」環境設定シリーズの7回目です。

1.インストールの前に

当初、このエントリーで紹介していない別の手順でインストールしたのですが、ブラウザからアクセスしたところ「mysqli拡張がない」といったエラーになりました。

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です。

phpMyAdminのログイン画面

ユーザー・パスワードは、MySQLインストール時に設定したrootとパスワードでログインできると思います。

次の画面が表示されればログインも成功です。

phpMyAdminの画面

5.参考サイト

さくらのVPS -phpMyAdminのインストールと初期設定-
Comments [0] | Trackbacks [0]

PerlのCGIで「Premature end of script headers」になる場合の対処

May 23,2013 1:55 AM
Category:[Perl]
Tag:[, , ]
Permalink

PerlのCGIで「Premature end of script headers」というエラーが発生する場合の対処方法を紹介します。

Premature end of script headers

1.はじめに

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

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のドキュメントにも参考情報が掲載されています。

Apache Tutorial: CGI による動的コンテンツ
Comments [0] | Trackbacks [0]

ブログ開設9周年とPV(ページビュー)が減った件について

May 22,2013 12:33 AM
Category:[blog]
Tag:[]
Permalink

昨日、当ブログが開設より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.関連エントリー

以下はこれまでの毎年の記念エントリーです。

という訳で、9年目も無事に乗り切り、ついに10年目に突入しました。今後ともよろしくお願い致します。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages
Now loading...
ギターに入った猫
IT転職は【Green】Web/インターネット業界の求人に強い転職サイト グリーン
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

Categories
Monthly Archives
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 5.12