HPに日計カウンターを設置
Kent Webさんが作った日計カウンターの導入をやってみました。
まずはTamanの環境を説明します。
素人なので失敗しても何度でもやり直せるように、VirtualBoxに
ubuntu 10.04 server OSを入れた環境でtestを行いました。
それからメインPCのスペックも記述しときます。
ホストOs | ubuntu12.04LTS Desktop 32bit |
CPU | Pentium Dual-Core E6500 2.93GHz |
MB | Gigabyte G41+ICH7 Micro-ATX GA-G41M-COMBO/A |
Memory | 4GB |
HDD | 500GB |
まず、VirtualBox上でubuntu 10.04 serverをインストール後、update済、openssh-server のinstallが済んでいる状態がtamanのスタート地点なので、
ここから始めます。
仮想OSのIPアドレスは「192.168.0.210」に設定してます。
◆サーバーにssh接続してapache2をインストール
$ sudo apt-get install apache2
既に自宅サーバーを構築している方には必要ありませんね・・・
あくまでもTamanの備忘録として書いています
◆ファイルとディレクトリの所有権をユーザー(taman515)に変更する
$ sudo chown -R taman515 /var/www/
ここから大事な設定です!
◆apache2の任意のディレクトリでCGIが使えるように設定する
$ sudo nano /etc/apache2/mods-enabled/mime.conf
# 165行目:#コメント解除し、CGIとして扱う拡張子を設定
AddHandler cgi-script .cgi .plを追加
$ sudo nano /etc/apache2/sites-available/default
# 10行目:変更 ( Indexes は削除 )
Options FollowSymLinks MultiViews ExecCGIを追加
# 11行目:変更
AllowOverride allに変更
◆CGIを実行するPerlのシンボリックリンクを貼る (よく解らない部分・・・)
$ sudo ln -s /usr/bin/perl /usr/local/bin/perl
/usr/local/bin/perlスリプトも使えるのでパスの書き換えは必要ない、という事かな?Webで調べてくださいね!
最初にやったCGI掲示板設置の時には、パスが違う為に以下の様なエラーが出ましたが、
シンボリックリンクを貼るとうまくCGI掲示板が表示されました。
◆apache再起動
$ sudo service apache2 restart
これでCGIの設定は終わりです。
CGIテストページを作成して動作確認をする
サーバーにssh接続して以下を行う
/var/www/daycount ディレクトリを作りその中にtest.cgiを置き、
下記のような設定およびテストを行う
◆/var/www/daycount ディレクトリを作る
$ sudo mkdir /var/www/daycount
◆ファイルやディレクトリの所有者をユーザー(taman515)に変更
$ sudo chown -R taman515 /var/www/daycount
◆test.cgiを /var/www/daycountに作る
$ sudo nano /var/www/daycount/test.cgi
#!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html>\n<body>\n"; print "<div style=\"width: 100%; font-size: 50px; font-weight: bold; text-align: center;\">\n"; print "Taman's CGI Test Page"; print "\n</div>\n"; print "</body>\n</html>\n";
コピペ、保存して閉じる
◆test.cgiのパーミッションを755に変更
$ sudo chmod 755 /var/www/daycount/test.cgi
Webブラウザでhttp://192.168.0.210/daycount/test.cgiを実行すると・・・
OK成功した!
確認が済んだらこのファイルは/daycountディレクトリから削除しましょう。
作業終了後でもいいね!
カウンターの設置
今回設置するカウンターは「KentWeb」さんが作った
「DayCounter 」を使わせて頂きました。
ありがとうございました。
Day Counter(日計カウンタ)を参考にして以下を進めました。
カウンターソフト「daycount.zip」のダウンロード (ubuntu Desktop PCにDL)
wbord262.zip クリックでファイルがDLが始まります。
解凍後の添付ファイルの内容は、あっ・・・萌化したのがバレちゃいましたね
daycount.cgi | カウンタープログラム |
init.cgi | 設定ファイル |
check.cgi | 動作チェックプログラム |
conv.cgi | ログ変換プログラム |
data/daycount.dat | 累計データファイル |
data/today.dat | 本日データファイル |
data/yes.dat | 昨日データファイル |
lib/gifcat.pl | GIF連結ライブラリ |
lib/magick.pl | Image::Magickモジュール用プログラム |
gif1/0.gif ... 9.gif | GIF画像 |
gif2/0.gif ... 9.gif | GIF画像 |
ファイルの転送、パーミッションの変更
すべてのファイルをFTPを使ってサーバーの/var/www/dayycountに転送する
各ファイルは「アスキー(テキストモード)」で、.gifなどの画像は「バイナリモード」で送ってください。
windows PCでのファイル転送の仕方は
Kent Webさんの説明サイトに書かれています。
windowsで行うFTP操作
ファイル名 | 内容 | パーミッション | 転送モード |
daycount.cgi | カウンタープログラム | 755 | アスキー |
init.cgi | 設定ファイル | 644 | アスキー |
check.cgi | 動作チェックプログラム | 755 | アスキー |
conv.cgi | ログ変換プログラム | 755 | アスキー |
data/daycount.dat | 累計データファイル | 666 | アスキー |
data/today.dat | 本日データファイル | 666 | アスキー |
data/yes.dat | 昨日データファイル | 666 | アスキー |
lib/gifcat.pl | GIF連結ライブラリ | 644 | アスキー |
lib/magick.pl | Image::Magickモジュール用プログラム | 644 | アスキー |
gif1/0.gif ... 9.gif | GIF画像 | - | バイナリー |
gif2/0.gif ... 9.gif | GIF画像 | - | バイナリー |
作業が完了したら「check.cgi」にアクセスして動作をチェックしてください。
上手く動作を確認できたら「check.cgi」ファイルを削除しておきます。
tamanの場合はブラウザで
http://192.168.0.210/daycount/check.cgiでチェックすると・・・
Image::Magickは使わないからNGでもいいのかな?
一応OKとして進めてみます。
カウンターを取り付けるページ(index.html)にTamanの場合は以下のhtmlダグを記述した。
累計カウント: <img src="daycount/daycount.cgi?gif">
昨日カウント: <img src="daycount/daycount.cgi?yes">
本日カウント: <img src="daycount/daycount.cgi?today">
Webブラウザで
http://192.168.0.210/index.htmlにアクセスすると・・・
OK!出来た!
仮想OSでうまく動いたので今度は実際に稼動しているサーバーから動かしてみる。
自機サーバーではカウンターを「沖縄ライブカメラ 糸満市より中継」ページに設置しました。
日計カウンター(Daycount) クリックすると表示されると思います。
tamanはwwwサーバーテストさんを使わせて頂いて動作確認することが出来ました。
ありがとうございます!
個人的なメモなので、
この通りにやって 不具合が生じても保証の限りではありません
最後に
============================================
「Kent Web」さん
もっと勉強したいと考えていますので、これからも利用します!
ありがとうございます。