サーバ設定項目
tomcat起動時のjava VMに指定するオプション
以下のオプションは、通常tomcat起動スクリプトのJAVA_OPTに設定すればOKです。
java VMのヒープサイズ指定
java VMの使える最大ヒープサイズを384MB、最小ヒープサイズを128MBにするには、以下のようなオプションを指定する。
-Xmx384m -Xms128m
最大ヒープサイズのデフォルトは64Mなので、-Xmxは指定しないとすぐにOutOfMemoryErrorが頻発すると思います。
この値は実メモリの容量やアクセス頻度に応じて調整する必要があります。
proxyを使用して外部サーバへのアクセスを高速化
以下のオプションを指定するとjavaのhttpアクセス時のproxyを指定できます。
proxyを利用すると、外部サーバへのアクセスがキャッシュされるので、回線の負荷軽減が期待できます。
-Dhttp.proxyHost=proxyサーバのアドレス -Dhttp.proxyPort=proxyサーバのポート
W2Ch鯖アプリの設定項目
W2Ch鯖アプリの設定はWEB-INF/web.xmlに書いてあります。
configファイルのパス
W2Ch鯖は web.xml中のcontext-paramを読み込んだ後、以下のconfig-pathに設定された、ファイルをチェックします。
このファイルにweb.xmlと同様の書式で、context-paramを記述することが可能です。
このファイルを自分の鯖用に1度作成しておけば、インストール時web.xmlの調整が不要になります。
warファイル中のWEB-INF/w2chconf.xmlがその設定例です。
このファイルを/etc/w2ch/w2chconf.xml(Linux)やc:\etc\w2ch\w2chconf.xml(windows)にコピーして、修正してください。
<context-param>
<param-name>config-path</param-name>
<param-value>/etc/w2ch/w2chconf.xml</param-value>
</context-param>
鯖名
このパラメータに鯖名を記述しておくと各jamファイルのアプリ名称に@鯖名が追加されます。
<context-param>
<param-name>server-name</param-name>
<param-value>鯖名</param-value>
</context-param>
subject.txtのキャッシュフォルダ
このパラメータにはsubject.txtのキャッシュフォルダを指定します。
<context-param>
<param-name>subject-cache</param-name>
<param-value>/var/spool/w2ch/thread</param-value>
</context-param>
datのキャッシュフォルダ
このパラメータにはdatのキャッシュフォルダを指定します。
<context-param>
<param-name>dat-cache</param-name>
<param-value>/var/spool/w2ch/dat</param-value>
</context-param>
動画などのキャッシュフォルダ
このパラメータには動画などのキャッシュフォルダを指定します。
<context-param>
<param-name>media-cache</param-name>
<param-value>/var/spool/w2ch/media</param-value>
</context-param>
直接リンク防止用のW2Ch鯖リスト
直接リンク防止用のW2Ch鯖リスト。
UTN無しのリンクからアクセスがあった場合、中間サーバ一覧を表示します。
このパラメータを削除すると、中間サーバ一覧は表示されません。
注意)XMLのコメント中には連続した'-'が許されないため、
コメントアウトする場合「NなAおO鯖」のURLがエラーになります。
パラメータの名前を変えるか、このパラメータ自体を削除してください。
<context-param>
<param-name>w2ch-server-list</param-name>
<param-value>
saori鯖,http://saori.iobb.net/
May鯖,http://www.may-ren.jp/w2ch/
オアコム鯖,http://w2ch.oack.com/
jsm鯖,http://jsm02t.dip.jp/
里伽子鯖,http://parfait-rikako.homedns.org/w2ch_GW/
e2copszkrcs7鯖,http://e2copszkrcs7.dip.jp/w2ch/
beforu鯖,http://beforu.ath.cx/
彩春鯖,http://saharu.ddo.jp/w2ch/
oscar鯖,http://w2ch.urrn.net/
NKA鯖,http://www.nakachangoo.net/w2ch/
HMX鯖,http://w2ch.hmx-17.net/
BP5鯖,http://bp5.orz.hm/w2ch/
pa鯖,http://p2ch.net/w2ch/
NなAおO鯖,http://n--a--o.com/w2ch/
ss鯖,http://skullysoft.sytes.net/w2chssinfo/
作者鯖,http://woontai.dip.jp/w2ch/
</param-value>
</context-param>
JAMファイル設定
このパラメータで各UserAgentに対応するjamファイルを指定できます。
このリストに指定されたjamファイルはw2ch_client.jamを元に自動生成されます。
アプリ名等を変更する場合は、w2ch_client.jamを変更した後に、tomcatを再起動してください。
フォーマットは以下のようになっています。
SPサイズ,画面サイズ,UserAgent1,UserAgent2,...,UserAgentN
UserAgentにマッチするjamファイルをリストの先頭から検索します。
そのためP703imyuはP703iより前に配置しないと正しいjamファイルを取得できません。
UaerAgentがどれにもマッチしない機種は、w2ch_client.jamが選択されます。
UserAgentを設定しないものもダウンロードページに表示されるので、
903iでSPサイズを縮小したjamファイルを作成することができます。
<context-param>
<param-name>jam-list</param-name>
<param-value>
409600,240x240,P703imyu
921600,240x320,SH903i,D903i,F903i,F703i
921600,240x368,SO903i,SO703i
921600,480x480,N903i
921600,240x240,903i,P703i,D703i,SH703i
409600,240x320,D902iS
204800,240x267,M702i
409600,240x240
409600,240x320
409600,240x368
</param-value>
</context-param>
サーバ管理者の携帯UTN
ここにサーバ管理者の使用している携帯のUTNを記入してください。
その後板情報をリロードするとサーバー管理者用のW2Chに設定されます。
サーバ管理者用のアプリは書き込みをアプリからできるようになります。
<context-param>
<param-name>owner-utn</param-name>
<param-value>
123456789ABCDEF,
223456789ABCDEF
</param-value>
</context-param>
規制対象のURL指定
規制対象URLのパターンを設定してください。正規表現が使用可能です。
<context-param>
<param-name>reject-url</param-name>
<param-value>
http://.+\.2ch\.net/news4vip
</param-value>
</context-param>
リロードバーボン回避用の設定
板のURLとDATキャッシュの最低更新間隔,subject.txtキャッシュの最低更新間隔を秒で指定します。
さらにバーボン食らいそうな鯖の場合黒山羊さんのURLを指定できます。
たぶん以下のような設定でバーボンの危険性は少なくなると思います。
<context-param>
<param-name>delay-list</param-name>
<param-value>
/chakumelo,0,0
hobby[0-9]+\.2ch\.net,120,300,http://bg20.2ch.net/test/r.so/$server/$bbs/$key/,http://bg20.2ch.net/test/p.so/$server/$bbs/
news[0-9]+\.2ch\.net,120,300,http://bg20.2ch.net/test/r.so/$server/$bbs/$key/,http://bg20.2ch.net/test/p.so/$server/$bbs/
namidame\.2ch\.net,120,300,http://bg20.2ch.net/test/r.so/$server/$bbs/$key/,http://bg20.2ch.net/test/p.so/$server/$bbs/
mamono\.2ch\.net,120,300,http://bg20.2ch.net/test/r.so/$server/$bbs/$key/,http://bg20.2ch.net/test/p.so/$server/$bbs/
yutori\.2ch\.net,120,300,http://bg20.2ch.net/test/r.so/$server/$bbs/$key/,http://bg20.2ch.net/test/p.so/$server/$bbs/
.+\.2ch\.net,120,300
.+\.bbspink\.com,120,300
</param-value>
</context-param>
外部鯖との通信タイムアウト設定
以下の記述で、W2Ch鯖アプリが2ch.net等の外部の鯖と通信する際のタイムアウト値をミリ秒単位で指定します。
<context-param>
<param-name>http-connect-timeout</param-name>
<param-value>30000</param-value>
</context-param>
<context-param>
<param-name>http-read-timeout</param-name>
<param-value>60000</param-value>
</context-param>
ffmpegのパス設定
以下の記述で、動画変換に使用するffmpegのパスを指定します。
<context-param>
<param-name>ffmpeg-path</param-name>
<param-value>/usr/bin/ffmpeg</param-value>
</context-param>
ffmpegのオプション指定
ffmpegのオプションを以下の形式で指定します。最新のffmpegではオプションの仕様が変わったようなので、適切に変更してください。
<context-param>
<param-name>ffmpeg-options</param-name>
<param-value>-y -i $INFILE -vcodec mpeg4 -acodec aac -r $FRAMERATE -b $BITRATE $QSCALE -s $SCREENSIZE -vol $VOLUME -ac 1 -ar 16000 -ab $AUDIOBITRATE -f 3gp -ss $START -fs $FILESIZE $OUTFILE</param-value>
</context-param>
ffmpegの-b,-abオプションの単位設定
ffmpegのバージョンによっては動画、音声のビットレートの指定がkbit/sだったりbit/sするようです。
アプリからの指定はkbit/sの値が飛んでくるので、その値に以下に指定した値をかけて、ffmpegに渡します。
<context-param>
<param-name>ffmpeg-b</param-name>
<param-value>1000</param-value>
</context-param>
<context-param>
<param-name>ffmpeg-ab</param-name>
<param-value>1</param-value>
</context-param>
最大動画サイズ
以下の記述で、転送できる最大動画ファイルサイズをKB単位で指定します。
<context-param>
<param-name>media-file-size</param-name>
<param-value>32768</param-value>
</context-param>
動画変換の間隔
以下の記述で、動画変換の間隔をミリ秒単位で指定します。
<context-param>
<param-name>media-convert-interval</param-name>
<param-value>10000</param-value>
</context-param>
動画変換処理のタイムアウト
以下の記述で、1回の動画変換にかける時間をミリ秒単位で指定します。
<context-param>
<param-name>media-convert-timeout</param-name>
<param-value>30000</param-value>
</context-param>
セッションタイムアウト
W2Chはtomcatのセッション機構を利用して、エクスポートデータやスレッド一覧を記憶しています。
これらの情報は一定時間アクセスが無い場合、自動的に削除する必要が有ります。
その時間をセッションタイムアウトと言います。以下の記述で分単位で指定します。
<session-config<
<session-timeout>30</session-timeout>
</session-config>
httpの接続タイムアウト
httpの接続タイムアウト(ms)を指定します。
<context-param<
<param-name<http-connect-timeout</param-name<
<param-value<30000</param-value<
</context-param<
httpの読込タイムアウト
httpの読込タイムアウト(ms)を指定します。
<context-param<
<param-name<http-read-timeout</param-name<
<param-value<60000</param-value<
</context-param<