HPにアイコン型レス式掲示板を設置

Kent Webさんが作ったYY-Board ver:8.2の導入をやってみました。


まずは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/yybbs ディレクトリを作りその中にtest.cgiを置き、
下記のような設定およびテストを行う

◆/var/www/yybbs ディレクトリを作る

$ sudo mkdir /var/www/yybbs

◆ファイルやディレクトリの所有者をユーザー(taman515)に変更

$ sudo chown -R taman515 /var/www/yybbs


◆test.cgiを /var/www/yybbsに作る

$ sudo nano /var/www/yybbs/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/yybbs/test.cgi


Webブラウザでhttp://192.168.0.210/yybbs/test.cgiを実行すると・・・

OK成功した!
確認が済んだらこのファイルは/yybbsディレクトリから削除しましょう。
作業終了後でもいいね!






アイコン型レス式掲示板の設置

今回設置する掲示板は「KentWeb」さんが作った
「YY-Board 」を使わせて頂きました。
ありがとうございました。
YY-Boardを参考にして以下を進めました。



「yybbs.zip」のダウンロード (ubuntu Desktop PCにDL)

yybbs.zip クリックでファイルがDLが始まります。



解凍後の添付ファイルの内容は、あっ・・・萌化したのがバレちゃいましたね 



別途icon「b_icon.zip」を使うために「まきまきさん」のサイトで登録処理が必要です。

Maki Maki's Cafe 登録案内のページ

「b_icon.zip」を解凍したら「yybbs」の「icon」の中に「b_icon」の中身をコピーする。(readme.txtは除く)



「init.cgi」をエディタで開いて以下の箇所を修正した。

管理PW
掲示板のタイトル名
戻り先のURL
禁止ワード設定

保存して閉じる




ファイルの転送、パーミッションの変更

すべてのファイルをFTPを使ってサーバーの/var/www/yybbsに転送する。
各ファイルは「アスキー(テキストモード)」で、
.gifなどの画像は「バイナリモード」で送る。

ファイル名 パーミッション 転送モード
yybbs.cgi
regist.cgi
captcha.cgi
admin.cgi
check.cgi
755 アスキー
init.cgi 644 アスキー
lib/Jcode.pm他 - アスキー
data/pastディレクトリ 777 アスキー
data/log.cgi
data/ses.cgi
data/count.dat
data/pastno.dat
data/past/0001.cgi
666 アスキー
lib/*.pm
lib/*.pl
tmpl/*.html
style.css
- アスキー
icon/*.gif
lib/bin/*.png
lib/bin/*.ttf
- バイナリ

windows PCでのファイル転送の仕方は Kent Webさんの説明サイトに書かれています。windowsで行うFTP操作



作業が完了したら「check.cgi」にアクセスして動作をチェックしてください。
上手く動作を確認できたら「check.cgi」ファイルを削除しておきます。

tamanの場合はブラウザで
http://192.168.0.210/yybbs/check.cgiでチェックすると・・・


Image::Magickは使わないからNGでもいいのかな?
一応OKとして進めてみます。



Webブラウザで
  http://192.168.0.210/yybbs/yybbs.cgiにアクセスすると・・・
OK!出来た!
仮想OSでうまく動いたので今度は実際に稼動しているサーバーから動かしてみる。
Tamanの掲示板 クリックすると表示されると思います。

tamanはwwwサーバーテストさんを使わせて頂いて動作確認することが出来ました。
ありがとうございます!


個人的なメモなので、 この通りにやって 不具合が生じても保証の限りではありません



============================================



メール通知機能を使ってみたい・・・

yy-boardの機能の中に「投稿記事があったら管理人に自動でメールを通知する機能」がある。TamanのWebサーバーにはmail関係のソフトはinstallしていないし、使い方も全然わからない・・・
webで調べてみると「ssmtp」というubuntu10.04 serverにインストール出来るソフトが在ることが判った。
ubuntuソフトウェアセンターで調べると詳しく説明があった。 設定も簡単そうなのでこのソフトを使ってGmailに送りたいが、出来るかな?




ssmtpのインストール

$ sudo apt-get install ssmtp

ssmtp.confファイルの設定

$ sudo nano /etc/ssmtp/ssmtp.conf

===================================
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
#root=postmaster

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
#hostname=ubuntu

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES

(追加)
root=********@gmail.com      サーバー管理者<-----(例)amuro@gmail.com----->
mailhub=smtp.gmail.com:587   
AuthUser=********@gmail.com               <-----(例)amuro@gmail.com----->
AuthPass=********                         <-----GmailのPW----->
UseSTARTTLS=YES

=======================================

test.txtを作る

$ sudo nano test.txt

====================
From:********@gmail.com           <----送信元------>
To:**********@gmail.com           <----送信先------>
Subject:Test

Devoutamanからのtestmailです!


====================

端末から送る

$ sendmail -t < test.txt


Gmail受信トレイにちゃんと届いた!
これで自サーバーからメールの送信が出来るようになったが、セキュリティ等がまだよくわからないのでちょっと不安・・・



YY-Boardのinit.cgiの設定


init.cgiをテキストエディタで開いて以下を変更する
# ■ 設定項目 #=========================================================== 137行目# 投稿があるとメール通知する(sendmail必須) 138行目# 0 : 通知しない 139行目# 1 : 通知する 140行目$cf{mailing} = 1; <----1に変更------> 141行目 142行目# メールアドレス(メール通知する時) 143行目$cf{mailto} = '*****@gmail.com'; <-----(例)amuro@gmail.com-----> 144行目 145行目# sendmailパス (メール通知する時) 146行目$cf{sendmail} = '/usr/sbin/ssmtp'; <----ssmtpのパスに変更------> 保存して閉じる

ssmtpのパスの調べ方は

$ which ssmtp

/usr/sbin/ssmtp

サーバーにinit.cgiフィルをUPするんだけど、
転送モードはアスキー、パーミッションは「644」だったよね!

掲示板に投稿すると自分のGmail受信トレイに「BBS:*****-掲示板に投稿がありました。投稿日******」があればOK!成功です。



個人的なメモなので、 この通りにやって 不具合が生じても保証の限りではありません


ページのトップへ戻る


inserted by FC2 system