目次
はじめに
Debian 12 クリーン・インストール後の続き(まだやっているのかよ)。
長い間ローカルで chalow を使っていて、ブログに残すまでもない個人的なメモなどで活用している。 chalow は ChangeLog 形式をhtmlに変換してくれるもので、簡単な検索もできるcgiもある。(Debian パッケージもあるのだ。)
今見るとchalowは2007年にversion 1.0で、それから更新していない。 version 1.0になるまでが時間を要していたと記憶があるが、ほとんど完成してしまったプログラムということかも知れない。 Perlで書かれているのが時代を感じるところではある。
まあイマドキであればorg-modeなどで書くのが普通なのだろう。 Chongelogはフォーマットが日付と箇条書きのみという制限が良い方向に機能していると思う。 ちょっとしたメモを書く敷居をとても低く感じる。
普段はEmacs上でずっと書いているのだが、内容を参照するだけならブラウザから参照するほうが何かと便利だ。
しかし、動かない…。そうuserdirが有効になっていなかった。それだけではない。
userdirを有効化
まず userdirを有効にする
sudo a2enmod userdir肝心なのが、userdir.conf の編集。 具体的な変更は下の赤字の”Options”を追記する。
serDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes Options
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
この編集を忘れると
.htaccess: Options not allowed here
というエラーを吐く。
cgi モジュールを有効化する
cgiを動かせるようにモジュールを有効化する。
sudo a2enmod cgid
apacheサービスを再起動
sudo systemctl restart apache2
.htaccessの設置
cgiを設置したディレクトリに.htaccessを設置するtouch .htaccess chmod 604 .htaccess
.htaccessは以下のようにする:
Options +ExecCGI
AddType text/html cgi
AddHandler cgi-script cgi
おわりに
.htaccess ではなくて、グローバルで設定する方法もあるようだが(Directoryで ディレクトリを直に指定し Optoinsを設定する)、そんな個別ユーザーの設定をグローバルに書くのはやりたくない。
というわけで、たぶんこれが一番汎用性が高い設定なのではないかと思う。