nDiki : .htaccess
.htaccess
Apache においてディレクトリ毎に設定を変更するための「分散設定ファイル」のデフォルトファイル名。
AccessFileName ディレクティブによってファイル名を変更することもできるが、変更されることはほとんどない。
スポンサード リンク
Related term
1999年12月18日 (土)
■ Apache での PostgreSQL を使った認証

先日インストールした PostgreSQL を Apache の認証に使ってみる。
まずは PostgreSQL の設定。 自分自身を登録。
$su - #su postgres $createuser 自分のアカウント
次に Apache の動作アカウントである www-data を登録したい。 が、ハイフンのあるユーザ名はうまく動かないので (createuser は成功する)、www-data と同じユーザIDで wwwdata を用意しておく。 /etc/passwd と /etc/shadow に www-data と同じ ID で www-data より先に wwwdata アカウントを追加。
そして postgres ユーザで createuser。
$createuser wwwdata
次にデータベースの作成。 自分自身のアカウントで以下を行う。
$createdb wwwdb $psql wwwdb -c 'create table passwd ( UserID text, Passwd text );' $psql wwwdb -c 'grant all on passwd to 自分;' $psql wwwdb -c 'grant all on passwd to wwwdata;' $psql wwwdb -c 'insert into passwd values ( '自分', '暗号化パスワード' );'
暗号化パスワードはとりあえず htpasswd でつくったものを指定。
次に postmaster が TCP/IP を許すようにする。 Debian では /etc/postgresql/postmaster.init で PGALLOWTCPIP=yes を指定。 書き換えたら /etc/init.d/postgresql restart する。
Apache の方は、/etc/apache/httpd.conf の LoadModule pgsql_auth_module /usr/lib/apache/1.3/mod_auth_pgsql.so を有効にして再起動しておく。
そしてここでは認証の設定を .htaccess によって行ってみる。
Auth_PGhost 127.0.0.1 Auth_PGport 5432 Auth_PGdatabase wwwdb Auth_PGpwd_table passwd Auth_PGuid_field userid Auth_PGpwd_field passwd AuthName "WWW Authentication" AuthType Basic require valid-user
と書く。 これで Apache で認証できた。 めでたし、めでたし。
- PostgreSQL を使いはじめる (1999-12-17)
- FreeBSD と Apache::Htpasswd (2006-03-02)
- 今日のさえずり - 上げ潮特大号 (2008-09-18)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- [ Debian ] smbmount (2001-12-25)
2005年9月12日 (月)
■ nDiki のコメント欄にコメントスパム

更新チェックをしたら、nDiki にコメントが入っていたので「どれどれ」と見てみる。
うぎゃー。
丁度攻撃を受けているところやんけ。
NaneyOrgWiki にもリンクスパムな書き込みがちょくちょくあるのだが、幸い絨毯爆撃的なものは受けていない。 今回もそんな感じでたかだか数十回ぐらいの書き込みだろうと、.htaccess で接続元のIPアドレスを deny しつつコメントを消していく。
……はっ、速い。
追いつかん。終わらん。
マジ攻撃ですか。IP アドレスもかなり散らしてきてますか。 あきらめて、CGI プログラムを移動して書き込みできないように。
その後もしばらく連続アクセスがあったが、途中で気がついたのか止まった。
ということで、現在一時的にコメントの全文表示・新規不能状態。
くっつき BBSを使っているのだが、まさかこれが攻撃されるとは。 そろそろ DiKicker 自体にコメント機能を直接実装しようとしていたところだったのだが、いろいろ対策を打たないといけないと思うと萎えるなあ。
- サーバ高負荷状態につき DiKicker 機能修正とサーバ設定変更 (2006-03-03)
- [ Perl ] Log::Log4perlのはまりどころ (2004-03-02)
- DiKicker にそろそろコメント機能を実装するか (2005-01-26)
- 速度改善のため nDiki からくっつき BBS を外す (2005-10-16)
- www.naney.org サーバ断続的にダウン (2006-04-30)
2006年3月3日 (金)
■ サーバ高負荷状態につき DiKicker 機能修正とサーバ設定変更

www.naney.org をホスティングしているサーバが重いと思ったら、同じサーバ上のあるユーザの CGI プログラムが5プロセス無限ループしてるっぽい……。 load average 20前後。
あおりを受けて、nDiki が大変なことになっている。
nDiki は SpeedyCGI を使っているのだが、バックエンドの speedy_backend が捌ききれず、フロントエンドの speedy が大量に待ちに入ってしまっている。
MaxBackends を調整しても駄目(下手にバックエンドプロセス数を増やしても、結局処理が追いつかない)。
ということで急遽対策。
@ 高負荷時にはてなブックマークへのアクセスを停止
load average が高い時には、はてなブックマーク上の検索結果を表示させるために行なっているはてなブックマークへのアクセスを休止するように変更。 24時間に設定してあるキャッシュの有効期限が切れていても、高負荷の時にはアクセスにいかないようにする。
これで DiKicker の処理時間を短縮。相手側サーバへの負担も軽減。
@ Google Desktop からのアクセスを一時的に拒否
おかげ様でここ最近 nDiki の RSS へのアクセス数が増えてきている。 ありがたい事である。
しかしながら DiKicker の RSS レスポンスは、あまり賢くなく毎回データベースから最新記事情報を抽出して生成しているため、それほど処理が速くない。
なのでアクセス頻度を高くしている RSS リーダがどこかで同時に起動しているとちょっとしんどい。 特にここ最近 Google Desktop からのアクセス数が増えている感じ。
さすがに今日はサーバの負荷が高く処理が追いつかなくてどうしようもないので、一時的に Google Desktop を拒否することに。
.htaccess に設定を追加。
BrowserMatch "Google Desktop" denybrowser deny from env=denybrowser
近日中に、RSS 処理を改善してすぐに解除する予定。
@ robots.txt に Crawl-delay: を追加
効果があるかどうかは不明だが、Crawl-delay: に対応するというクローラ (Slurp、msnbot) 向け設定を追加。
User-agent: Slurp Crawl-delay: 20 User-agent: msnbot Crawl-delay: 20
アクセス数としては Googlebot と Slurp がダントツ。 しかし Google は無下にする訳にもいかないしなぁ。
- [ Perl ] Log::Log4perlのはまりどころ (2004-03-02)
- [ WiKicker ] SpeedyCGI 対応するも…… (2003-11-09)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- www.naney.org サーバ断続的にダウン (2006-04-30)
- さらにサーバ負荷状態悪化。対応に追われる。 (2006-03-04)
2006年7月22日 (土)
■ Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合

入社してから社内情報共有の一環として
といろいろ手をつけてきた。 次に狙っているのは SBS である。
Wiki や社内 Blog に書くほどではないけれどメモ程度にブックマークしておきたい URL を、気軽に晒せるようにするのが目的。
はてなブックマークのような公開サービスは
- タグ・コメント・傾向などが外に出るのはよろしくない
- あるいは、それを気にして活用されない
- そもそも社内リソースについてはブックマークできない
という点から、今回は利用できない。
ということで社内に SBS を設置したい考えている。
最初は Scuttle にしてみようと思ったのだが、PHP ベースであるのと MySQL を使うというところで気遅れしている。 いや SQLite でもいけそうらしいということで、実は Debian でちょっと試そうとしたのだが、テーブル作成の SQL が MySQL 用で、これを修正するのが面倒なので断念。
次に Perl + SQLite で動く Rubric を試してみることにした。
@ Rubric 0.140
Rubric は CPAN にあがっているので CPAN.pm から install Rubric でインストールできる。 モジュールをインストールしたら、セットアップ。
- CGI プログラムを動かすディレクトリを決める (以下 $RUBRIC)
- Rubric tarball の bin/rubric.cgi を $RUBRIC/ にコピーし、必要なら #! を修正する。
- Rubric tarball の templates ディレクトリを $RUBRIC/ にコピーする。
- Rubric tarball の style/rubric.css を $RUBRIC/ にコピーする。
- Rubric tarball の etc/rubric.yml を $RUBRIC/ にコピーして環境に合わせて編集する。
- データベースを初期化する。0.140 には makedb.pl が同梱されていないので、0.13_01 の bin/makedb.pl を参考に perl -MRubric::DBI::Setup -e 'Rubric::DBI::Setup->setup_tables' で初期化する。ちなみに 0.140 付属の rubric コマンドで rubric db -s してみたが、これはうまく動かなかった。
- 必要に応じて .htaccess を作成・編集し rubric.cgi を CGI プログラムとして実行できるようにする。またその他アクセスされたくないファイルを deny するようにしておく。
これで OK。
rubric.cgi にアクセスしページが表示されればひとまず成功。 メニューの「register」から、ユーザ登録する。 確認用のメールが届くはずだが、面倒くさいのでこれを待たずに
rubric user -a ユーザ名
でアクティベートする。
Rubric の HTML フォームからのブックマーキングは成功し、うまく動いているようである。 ただし、日本語の処理はどうもよくない。 title や description が化ける。 惜しい。
基本的には UTF-8 ベースでうまくいきそうなのだが、どこかで化けるようだ。 ちょっと手を入れれば直るかなと思ったが、化けるところと化けないところとがあるので逆に直す場所が多そうなので今日はやめておくことにした。
とりあえず Rubric はおいておいて、他のものも試してみることにするか。
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
- Hyper Estraier で社内 Web コンテンツ検索 (2006-06-01)
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイ... (2006-08-08)
- DiKicker の出力する HTML コードを小さく (2006-10-05)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
2007年4月5日 (木)
■ Referer spam は # がお好き?

Referer spam が相変わらずきている。 今まで個別に .htaccess で拒否している。
ところでログを見ていてしばらく前から気になっていたのだが、なぜだか知らないがうちにくる Referer spam は
http://www.example.com/#
のような最後に # がついた(通常は送られてこない) Referer URL を送ってきている。
サヨウナラ。
SetEnvIf Referer "http://[^/]+/#" denyreferer deny from env=denyreferer
- こんな spam メールがきた (2005-02-11)
- サーバの負荷が高くなったら DiKicker が 503 を返して沈静化を... (2007-04-05)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- [ DiKicker ] ロック獲得リトライをさらに減らす (2007-03-14)
- Referer spam (2004-10-12)
2008年8月23日 (土)
■ フィード向け AdSense を追加してみた

Google AdSenseで「フィード向け AdSense」が利用可能になったので、nDiki に追加してみた。
Google AdSenseにログインして nDiki の URL を指定してフィードを登録すると、FeedBurner 上にフィードが作成される。
www.naney.org 側では nDiki のフィードへのアクセスがきたら、FeedBurner 上のフィードへリダイレクトするように設定する。 ただし FeedBurner から巡回がきた際にはリダイレクトせずに、nDiki のオリジナルフィードにアクセスさせる。
www.naney.org のトップディレクトリの .htaccess に以下を追加。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^diki/d/rss\.rdf$ http://feedproxy.google.com/nDiki [L,R]
思ったよりあっけなく設定終了。
今のフィード URL が既にフィードリーダーに登録してもらっていることを考えて nDiki (DiKicker) に「FeedBurner 向けに別 URL でのフィード出力機能」と「現在のフィード URL からのリダイレクト機能」を追加する必要があるなと思っていたのが、mod_rewrite が使えれば手間無しだった。
nDiki のフィードと同様の内容に広告が挿入されたバージョンのフィードが http://feedproxy.google.com/nDiki で表示されることを確認。
せっかくなので FeedBurner のレポート機能もチェックしてみることにしよう。
- サーバ高負荷状態につき DiKicker 機能修正とサーバ設定変更 (2006-03-03)
- DiKicker の出力する HTML コードを小さく (2006-10-05)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- WiKicker に Flickr 関連機能追加 (2005-02-11)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
2008年8月30日 (土)
■ XAMPP デカすぎなので Uniform Server をチョイス

デモ用 Web サイトのとりまとめ。 必要な時に ZIP ファイルを Windows 上で展開してすぐ使えるようにしておきたい。 インストール不要の Web サーバも一緒に入れておきたい。
ということでポータルな Apache を物色。WAMP である必要はなし。 MicroApache が小さくて良さそげなのだが公式サイトがつながらない。
ということで今回は Uniform Server 3.5 をセットにすることにした。 ZIP した状態で 14MB ぐらい。
展開して Server_Start.bat を実行すれば Apache が起動する。 デフォルトで W ドライブを仮想ドライブとして subst して動く。 違うドライブに割り当てて起動したい場合は Disk Start.vbs を使う。ダイアログが表示されるのでそこでドライブレターを指定すれば OK。
止める時は Stop.bat。
あとは udrive/www 以下に Web コンテンツを置けば良い。 udrive/www/.htaccess で 127.0.0.1 からしかアクセスできないようになっているので必要があれば変更する。
まとまったら ZIP ファイルにしてどこかに置いておけば、他の PC でも展開するだけでデモ用 Web サイトを準備できる。
Stop.bat の実行を忘れやすいので注意。
- XAMPP で WiKicker を動かしてみた。PPM インストール OK。 (2007-02-09)
- USB メモリに Perl を入れて持ち歩きたい (2006-12-17)
- Debian に RSS リーダ「フレッシュリーダー」をインストール (2006-03-06)
- Perl CGI プログラムのテストには WWW::Mechanize::... (2006-02-18)
- FreeMind でマインドマップ (2005-06-02)
スポンサード リンク
■よく検索されるキーワード
perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 15.09785s / load averages: 0.24, 0.26, 0.28
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク