JA2GZZ - WinXPパソコンの活用法2

↑このページの先頭に戻る

CGI掲示板の設置 その2

(これはマニア向け機能です)

↑このページの先頭に戻る

 

 パーミッション設定で苦慮(未解明)しています。
本文の Joyful Note 設置方法で上手く設置できなかった場合はCentOS上で本項を追試下さい・・・

 

1.Joyful Noteのダウンロード

[root@localhost ~]# wget http://www.kent-web.com/dload/joyful.zip

--2014-05-18 13:27:42-- http://www.kent-web.com/dload/joyful.zip
www.kent-web.com をDNSに問いあわせています... 210.166.236.148
www.kent-web.com|210.166.236.148|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 213037 (208K) [application/zip]
`joyful.zip' に保存中
100%[======================================>] 213,037 1.08M/s 時間 0.2s
2014-05-18 13:27:42 (1.08 MB/s) - `joyful.zip' へ
保存完了 [213037/213037]

 

●本当にダウンロードしたファイルが保存されているか再確認

[root@localhost ~]# ls

Desktop joyful.zip

 

 

2.ダウンロードファイルを解凍

[root@localhost ~]# unzip joyful.zip
Archive: joyful.zip
inflating: joyful/admin.cgi
inflating: joyful/captcha.cgi
inflating: joyful/check.cgi

:

inflating: joyful/tmpl/res.html
inflating: joyful/tmpl/topic.html
inflating: joyful/tmpl/topic2.html

 

 

3.Joyful Note用にホルダー cgi-bin を作成

今回、Joyful Note のインストール先を /var/www/html/cgi-bin/ ホルダーとします。

[root@localhost ~]# mkdir /var/www/html/cgi-bin

 

【注意】インストール場所  /var/www/html/cgi-bin/ httpd.confファイル内の ScriptAlias の設定と密接に関連しています。

 

 

4.Joyful Noteファイルコピー(手動インストール)

2項で解凍・生成されたホルダー joyful 内を丸ごと /var/www/html/cgi-bin/ 内にコピー・配置します。

[root@localhost ~]# cp -a -v joyful/* /var/www/html/cgi-bin/
`joyful/admin.cgi' -> `/var/www/html/cgi-bin/admin.cgi'
`joyful/captcha.cgi' -> `/var/www/html/cgi-bin/captcha.cgi'
`joyful/check.cgi' -> `/var/www/html/cgi-bin/check.cgi'
            :

`joyful/tmpl/res.html' -> `/var/www/html/cgi-bin/tmpl/res.html'
`joyful/tmpl/topic.html' -> `/var/www/html/cgi-bin/tmpl/topic.html'
`joyful/tmpl/error.html' -> `/var/www/html/cgi-bin/tmpl/error.html'

 

 

[ホルダー構成]

 2項で解凍・生成された joyful ホルダーの全内容を /var/www/html/cgi-bin ホルダーに格納してあります。
    /var / www / html /

|
+-- index.html  *.htm(WEBソース ファイル類の格納場所)
|
+--cgi-bin /                      ([xxx] はパーミッション値を示す)

 |

+-- joyful.cgi     [755] ... 掲示板本体

+-- regist.cgi     [755]
+-- admin.cgi    [755] ... 管理画面
+-- captcha.cgi  [755]
+-- check.cgi     [755] ... 掲示板チェックプログラム
+-- init.cgi         [644] ... 基本設定ファイル
+-- style.css

 |
+-- lib / *.pm
 |       |   *.pl
 |       |
 |      +-- Jcode / *.*
 |      +-- GD / *.*
 |      +-- Crypt / *.*
 |      +-- bin / *.*
 |
+-- data / log.cgi          [666]
 |         |    count.dat      [666]
 |         |    pastno.dat    [666]
 |         |
 |         +-- past [777] / 0001.cgi [666]
 |
 +-- img [777] /
 |
+-- icon / *.gif
 |
+-- tmpl / *.html

 

 

 

5.Joyful Noteファイルにパーミッション設定(すべて正しく設定しないと掲示板が動作しません!)

前項記載の[ホルダー構成]を見ながら各ファイルのパーミッションを設定します。

 

5.1.パーミッション設定の懸案事項?

筆者未解明だが下記 5.2項/5.3項 何れでもパーミッション設定時 所定の値に設定できたり、できなかったりで不安定?

@ まずGNOME端末で設定する。

A FFFTPを再起動して古いキャッシュデーターを廃棄してから、所定値に「属性変更」されているか確認する。

B もし AでNGならFFFTPで 「属性変更」を行ってみる ????

C それでもNGなら、GNOME端末で再設定してみる ????

(兎も角パーミッションを正しく設定すれば Joyful Note 掲示板は動作する筈)

 

【参考】どうしてもパーミッション設定が上手く行かない場合は、httpd.confファイル内の ScriptAlias を参照ください。

 

 

 

5.2.GNOME端末で設定する場合

(パーミッションの設定)

[root@localhost ~]# chmod 777 /var/www/html/cgi-bin 

[root@localhost ~]# chmod 755 /var/www/html/cgi-bin/joyful.cgi

[root@localhost ~]# chmod 755 /var/www/html/cgi-bin/regist.cgi

[root@localhost ~]# chmod 755 /var/www/html/cgi-bin/admin.cgi

[root@localhost ~]# chmod 755 /var/www/html/cgi-bin/captcha.cgi

[root@localhost ~]# chmod 755 /var/www/html/cgi-bin/check.cgi

[root@localhost ~]# chmod 644 /var/www/html/cgi-bin/init.cgi

[root@localhost ~]# chmod 666 /var/www/html/cgi-bin/data/log.cgi

[root@localhost ~]# chmod 666 /var/www/html/cgi-bin/data/count.dat

[root@localhost ~]# chmod 666 /var/www/html/cgi-bin/data/pastno.dat

[root@localhost ~]# chmod 777 /var/www/html/cgi-bin/data/past

[root@localhost ~]# chmod 666 /var/www/html/cgi-bin/data/past/0001.cgi

[root@localhost ~]# chmod 777 /var/www/html/cgi-bin/img

 

 

(所定のパーミッションが与えられたか確認)  

[root@localhost ~]# ll /var/www/html/cgi-bin/            ;(alias ll='ls -l')
合計 364
-rwxr-xr-x 1 root root 9501 1月 5 11:17
admin.cgi
-rwxr-xr-x 1 root root 2099 3月 13 2012
captcha.cgi
-rwxr-xr-x 1 root root 1902 8月 25 2013
check.cgi
drwxr-xr-x 3 root root 4096 5月 3 2013 data
drwxr-xr-x 2 root root 4096 5月 3 2013 icon
drwxrwxrwx 2 root root 4096 5月 3 2013
img
-rw-r--r-- 1 root root 7765 5月 28 18:06
init.cgi
-rwxr-xr-x 1 root root 27445 1月 5 11:30
joyful.cgi
drwxr-xr-x 7 root root 4096 5月 3 2013 lib
-rwxrwxrwx 1 ted ted 203565 5月 28 18:04 linux.htm
-rwxr-xr-x 1 root root 22919 4月 7 2013
regist.cgi
-rw-r--r-- 1 root root 3454 1月 5 11:33 style.css
drwxr-xr-x 2 root root 4096 5月 3 2013 tmpl

 

[root@localhost ~]# ll /var/www/html/cgi-bin/data/        ;(alias ll='ls -l')
合計 40
-rw-rw-rw- 1 root root 11 10月 15 2003
count.dat
-rw-r--r-- 1 root root 30 9月 15 2006 index.html
-rw-rw-rw- 1 root root 2 8月 15 2000
log.cgi
drwxrwxrwx 2 root root 4096 5月 3 2013
past
-rw-rw-rw- 1 root root 1 1月 3 1999
pastno.dat 

 

[root@localhost ~]# ll /var/www/html/cgi-bin/data/past/        ;(alias ll='ls -l')

合計 12
-rw-rw-rw- 1 root root 0 9月 30 2003
0001.cgi
-rw-r--r-- 1 root root 32 7月 28 2007 index.html

 

 

 

5.3.FFFTP等でリモートから設定する場合

クリックで拡大

 

 もしリモート側でFFFTPが起動しているなら、一旦 終了後、再起動を行い古いキャッシュデーターを廃棄します。

 次に左図の要領で FFFTPの右窓のファイルを右クリックし「属性変更」を行います。

 

【注意】FFFTPのキャッシュに騙されるな!

 現在 Windows 8.1 と ffftp-1.98g2 で使っていますが FFFTP内部に莫大なキャッシュ容量を持っているようで、今回のようにインストール作業中は変更すべき新しいデーターがキャッシュデーター(古いデーター)とすり替わって騙される場合があります・・・煩雑に FFFTPを再起動し、古いキャッシュデーターを廃棄してください。

 

【参考】FFFTPで こんな事も試してください・・・
クリックで拡大クリックで拡大

 

 

 

 

 

 

 

6./var/www/html/cgi-bin/init.cgi の修正

[root@localhost ~]# gedit /var/www/html/cgi-bin/init.cgi

(↓主な修正箇所)
# --------↓↓ここから↓↓----------------------------------------------------

# gedit /var/www/html/cgi-bin/init.cgi

# モジュール宣言/変数初期化
use strict;
my %cf;
#┌─────────────────────────────────
#│ JOYFUL NOTE : init.cgi - 2014/01/05
#│ Copyright (c) KentWeb
#│ http://www.kent-web.com/
#└─────────────────────────────────
$cf{version} = 'JoyfulNote v5.2';

#===========================================================
# ■ 設定項目
#===========================================================

# 管理者用パスワード
$cf{password} = '0123';

# サムネイル画像を作成する(要:Image::Magick)
# → 縮小画像を自動生成し、画像記事の表示速度を軽くする機能
# 0=no 1=yes
$cf{thumbnail} = 0;

# 掲示板タイトル
$cf{bbs_title} = "掲示板";

# アップロードファイル管理者チェック機能 (0=no 1=yes)
# → アップロードファイルは管理者がチェック後表示
$cf{img_check} = 0;

# 最大記事数 (親記事+レス記事も含めた数)
$cf{max} = 50;
# ##########################################

# ##########################################
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = './tmpl';

# 戻り先のURL【URLパス】
$cf{homepage} = "../index.html";
#$cf{homepage} = "http://ja2gzz.sytes.net/index.html";


# 文字コード自動判別(0=no 1=yes)
# → フォーム入力の文字コード判別を行う場合
$cf{conv_code} = 0;

# 記事 [タイトル] 部の長さ (全角文字換算)
$cf{sub_len} = 15;

# 同一IPアドレスからの連続投稿時間(秒数)
# → 値を 0 にするとこの機能は無効になります
$cf{wait} = 60;

# 1画面当たりの記事表示数 (親記事基準)
# → 順に、スレッド表示、トピック表示、アルバム表示
$cf{max_thread} = 5;
$cf{max_topics} = 10;
$cf{max_albums} = 10;

# メール通知機能
# → 0=no 1=yes
$cf{mailing} = 0;

# メール通知先アドレス(メール通知する場合)
$cf{mailto} = 'mycall@jarl.com';

# sendmailのパス(メール通知する場合)
$cf{sendmail} = '/usr/lib/sendmail';
# ##########################################
# --------↑↑ここまで↑↑----------------------------------------------------

 

 

 

 

 

7.Perlへのパス指定(/usr/local/bin/perl)

■ parlのパス名(置かれている場所)を確認します。

[root@localhost ~]# ls /usr/local/bin/perl

/usr/local/bin/perl                                                                             ← perlファイルが有る場合。
ls: /usr/local/bin/perl: そのようなファイルやディレクトリはありません      ← perlファイルが無い場合。
    (または)

[root@localhost ~]# ls /usr/bin/perl

/usr/bin/perl                                                                            ← perlファイルが有る場合。
ls: /usr/bin/perl: そのようなファイルやディレクトリはありません     
← perlファイルが無い場合。

    (または)

ファイル・ブラウザで perl の場所を探します

 

 

■ cgiファイルへPerlへのパスの設定

前項でPerlへのパス名(例)/usr/local/bin/perl が判明したら次の要領で cgiファイルへ設定します。

joyful.cgi の文頭にPerlへのパス #!/usr/local/bin/perl のが記述されています。必要なら任意のパス値に変更します。

[root@localhost ~]# gedit /var/www/html/cgi-bin/joyful.cgi

# -----------------------------------------------------------------------------

#!/usr/local/bin/perl


#┌─────────────────────────────────
#│ JOYFUL NOTE : joyful.cgi - 2014/01/05
#│ Copyright (c) KentWeb
#│ http://www.kent-web.com/

#└─────────────────────────────────

# -----------------------------------------------------------------------------

 

 

■ cgiファイルへPerlへのパスの設定2

 以下、同じ要領で regist.cgi, admin.cgi, check.cgi, captcha.cgi の文頭にPerlへのパス #!/usr/local/bin/perl のが記述されています。必要なら任意のパス値に変更します。

[root@localhost ~]# gedit /var/www/html/cgi-bin/regist.cgi

[root@localhost ~]# gedit /var/www/html/cgi-bin/admin.cgi

[root@localhost ~]# gedit /var/www/html/cgi-bin/check.cgi

[root@localhost ~]# gedit /var/www/html/cgi-bin/captcha.cgi

 

 

 

 

 

8.htmlファイル内へ 掲示板 Joyful Note を記述・設置(例)

例1: http://ja2gzz.uzusionet.com/bin/joyful.cgi(常時稼働)

例2: http://ja2gzz.sytes.net/cgi-bin/joyful.cgi(不定期稼働)

 

 

 

【参考】どうしても掲示板が動作しない場合は httpd.confファイル内の ScriptAlias を参照し、5項のパーミッションを再設定ください。

[root@localhost ~]# gedit /etc/httpd/conf/httpd.conf

 

 

 

 

 

 

 

 

↑このページの先頭に戻る