tDiaryのインストールと設定
2018.11.11
自宅サーバーに tDiary をインストールして設定してみました。tDiary はただただしさんが開発した日記システムです。日記ですからブログとしても使えます。まあ、今日では日記もブログも決定的な違いはなくなってきていると言えます。機能は非常に豊富で様々なカスタマイズが可能です。

インストールが難しいかどうかですが、万年 FreeBSD 初心者の私でもできましたので易しいほうでしょう。とりあえずはディレクトリとかパーミッションの概念がわかっていれば大丈夫です。あと、私は自宅サーバーですので apache の httpd.conf をいじる必要がありました。ほかには htpasswd の操作ぐらいでしょうか。

私のサーバーは FreeBSD 11.2-RELEASEです。

なお、下記の表記にて、不等号はページ表示の都合上全角文字で入れてあります。

とりあえず ports から入れました。

  # cd /usr/ports/japanese/tdiary
  # make install clean

インストールの最後に、以下のようなメッセージが出ます。

There is a script to install tDiary in a user directory.
This script should be run manually.

  # /usr/local/bin/ja-tdiary-inst.rb --user=User
  or
  % /usr/local/bin/ja-tdiary-inst.rb

 * Option: --suexec Use suExec for CGI execution --help Display Help information

---

There are documents in the following directories.
  See ...
  /usr/local/share/doc/ja-tdiary

---------------------------------------------------

これについて説明します。

まず、

  # /usr/local/bin/ja-tdiary-inst.rb --user=User
  or
  % /usr/local/bin/ja-tdiary-inst.rb

については、いずれかを実行すれば構いません。実行ファイル ja-tdiary-inst.rb を動かして、必要なファイルをユーザーのディレクトリにコピーするのです。コピーされる場所は、ユーザー名が foo であれば

  /usr/home/foo/public_html/diary

になります。

余談ですが、私はすでにこの diary というディレクトリが作ってあって別のコンテンツが入っていましたので、そこに tDiary の諸ファイルがコピーされてしまい、やり直しを余儀なくされました。同じようなディレクトリが作ってある方はお気をつけを。

また、ドキュメントは

  /usr/local/share/doc/ja-tdiary

にありますよ、と表示されていますが、実は

  /usr/home/foo/public_html/diary/doc

の中にコピーされていました。

次は apache 側の設定です。/usr/local/etc/apache24/httpd.confをいじります。レンタルサーバーなどでは .htaccess を作ればいいでしょう。

以下を付け加えて CGI の実行権限を与えます。

  <Directory "/usr/home/foo/public_html/diary">
    AllowOverride None
    Options +ExecCGI
    Require all granted
  </Directory>

拡張子が.rb のファイルを CGI のファイルであると認識させます。

  AddHandler cgi-script .rb

他の拡張子が指定してあれば、そこに付け加えればOK。

  AddHandler cgi-script .cgi .pl .rb

index.rb をデフォルトのファイルに設定します。

  <IfModule dir_module>
    DirectoryIndex index.html index.rb
  </IfModule>

外部からアクセスされては困るファイルを指定しておきます。

  <Files "*.rhtml">
    deny from all
  </Files>

  <Files "tdiary.*">
    deny from all
  </Files>

オーナーだけがいじれるファイルにパスワードを掛ける指定です。

  <Files update.rb>
    AuthName tDiary
    AuthType Basic
    AuthUserFile /home/foo/.htpasswd
    Require user foo
  </Files>

httpd.conf の設定はこれで終了です。

次にオーナー用のパスワードを作っておきます。

  % /usr/local/sbin/htpasswd -c /usr/home/foo/.htpasswd foo

もちろん.htpasswd の位置は好きな場所で構いません。その場合 httpd.conf の AuthUserFile の指定は変更しなければなりません。

最後の設定は /usr/home/foo/public_html/tdiary/tdiary.conf の作成です。

実は tdiary.conf というファイルはないので、作ります。tdiary.conf.beggner は初心者が利用しやすい雛形です。

% cp tdiary.conf.begginer tdiary.conf

とりあえずは tdiary.conf の最初にある

  @data_path = '/home/foo/diary'

のみ変更します。foo は自分のユーザーネームしなければなりません。

(蛇足ですが、FreeBSDでは /usr/home と /home は同じです)

このディレクトリ指定は public_html の外にしろ、公式ドキュメントにはありますが、私はとりあえず中にしました。

あと、tdiary.conf のパーミッションを600から604に変えておきます。この必要性は公式のページには書いてなかったのですが、私の場合600だと実行時にサーバーエラーが起きました。

ここまでできたら apache を再起動します。

  # apachectl restart

ブラウザで自分の URL/diary/ にアクセスしてみます。ここでエラーなどが出ていなければ成功です。「設定」をクリックすると各種設定が可能です。一旦記事を書き込むと最初に「設定」は出てこなくなりますが、「更新」ページに行くと右上に「設定」が出てきます。

以上です。あとは色々カスタマイズが可能です。

公式ページ http://www.tdiary.org を御覧ください。
tDiary への変更を考え中です
2018.11.10
私のブログシステムとして現在 Cafe Log を使用していますが、FreeBSD の ports にブログシステムが少なくとも4件見つかりました。このうちのひとつが /usr/ports/japanese にある tDiary です。もちろん安心の日本人開発です。

これをインストールしてみて、問題なければこのブログもそちらに移動させる予定です。いちおうお知らせまで。
コメントが表示されない問題
2018.10.22
このブログでコメントが表示されません。

閲覧者がコメントを書き込み、管理者がそれを承認しても表示されないのです。

最初の1回だけは表示されたのですが。

/var/log/httpd-access.log と /var/log/httpd-error.log、また、サーバー内のファイルのパーミンションなどを調査してみます。
このブログシステム CafeLog 設置上の工夫
2018.10.17
このブログは KENT さんの CafeLog を使用しています。以前の CafeNote を改良したものと思われます。

   KENTさんのページ:http://www.kent-web.com

設置は説明通り行えば基本的には可能でした。

サーバーのOSは FreeBSD 11.2-RELEASE-p4 です。

ただ、下記のような工夫が必要でした。

Carpモジュールが使えないので宣言部分をコメントアウトする【サーバーの問題】

デフォルトで CGI ファイルを走らせるとサーバーエラーになります。これを防ぎます。
/cafe/admin 下にあるいくつかのCGIファイルには

   use CGI::Carp qw(fatalsToBrowser);

の記述がありますので、コメントアウトしておきます。ブログの動作には影響しませんが、細かいエラーログは出力されなくなります。

   #use CGI::Carp qw(fatalsToBrowser);

graphviz は pkg コマンドで入れた【サーバーの問題】

ImageMagick を ports からインストールするのですが、その際に graphviz に脆弱性があるとのことで入れることが出来ませんでした。そこでこれに関しては pkg コマンドで入れました。

   # cd /usr/ports/graphics/ImageMagick
   # make install clean  <- これでエラーが出るので
   # pkg install graphviz <- これを入れたのちふたたび ImageMagick をインストールする

GD は SecurityImage をインストールする【サーバーの問題】

GD は libフォルダに同梱してあると書いてありますが、エラーになってしまうため、以下の ports から入れる必要がありました。

   /usr/ports/security/p5-GD-SecurityImage

一般ユーザーのディレクトリに CafeLog を設置する場合は ファイルのオーナー名に注意する【サーバーの問題】

これは UNIX 使いには常識と思います。たとえばブラウザから記事として書き込んだ html ファイルはオーナーが www になります(デフォルトだと /cafe 配下にある)。手動で修正する場合は注意が必要です。/cafe/style.css もオーナーが www に変わります。

スタイルシートのファイルは深いところにある【CafeLogの仕様】

   /cafe/admin/data/tmpl/style.css

がそれです。/cafe にある同名のファイルをいじっても反映されないのでご注意ください。

以上で、だいたいうまく動いています。

問題があれば追って報告します。
Facebookで既読の記事が表示されなくなった
2018.09.21
Facebookのニュースフィードで既読の記事が表示されなくなりました。ここ2〜3か月ぐらいの現象です。もちろん設定は何もいじっていません。

ホーム画面の左上にある「ニュースフィード」が「ハイライト」になっていたので、これを「最新情報」にしたら表示されるようになりました。




なぜこのような状態になったのか、原因は不明です。仕様の変更かもしれません。

- CafeLog -