メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

gollumの構築

ローカルのwikiが欲しい

メモや作業記録をテキストに書いて保存するケースが最近増えている。

特定のアプリケーションに依存したくないし、バックアップや変更が、どこでもいつでもしたいと言うのが大きな理由だ。

スマートフォンとの連携を考え、Google KEEPやEvernoteを利用してきたが、PCで作成・保存したり、検索したり、バックアップ等を考えると、別のものが欲しくなる。

【条件】
  • Markdownが使えること
  • データはテキストファイルが望ましい(DBは使いたくない)
  • 将来的には、ネット経由も検討
という条件が必須。

以前は、Pukiwikiを使用していたが、やや重いのと、スマートフォンでの利用が少々扱いにくい。
また、データファイル名が文字コードを元にした形式なので、あとでデータファイルを直接扱う時に不便なんだよね。

もう少し、単純なもので探してみた。

gitを利用したwiki

gollumというgitを利用したwikiを見つけた。
シンプルだけど、最低限の条件は満たしている。

しばらくテストのために、構築して使ってみる。

https://github.com/gollum/gollum によると、rubyのWEBrickで動作するらしい。

インストール

ドキュメント通りに、進めてみる。
gemでインストールとのことだが、標準で入っていたっけ?(今回18.04に変更しているので、環境がまだ良くわかっていない)

username@u1804:~$ gem
Command 'gem' not found, but can be installed with:
sudo apt install ruby
rubyを入れろと言われてしまった。いままで当たり前のようにrubyを使っていたけど、まだ標準じゃないのね…。

username@u1804:~$ sudo -s
root@u1804:~# apt install ruby

これで、とりあえずruby関係は入ったので、gemが使えるはず。

root@u1804:~# gem install gollum
Fetching: charlock_holmes-0.7.6.gem (100%)
Building native extensions. This could take a while...
ERROR:  Error installing gollum:
ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.5.0/gems/charlock_holmes-0.7.6/ext/charlock_holmes
/usr/bin/ruby2.5 -r ./siteconf20180824-27371-14ivzor.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.5.0/gems/charlock_holmes-0.7.6 for inspection.
Results logged to /var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/charlock_holmes-0.7.6/gem_make.out

おやおや、構築時に失敗してら…。
headerファイルがないということなので、どうやらruby-devも必要そう。

root@u1804:~# apt install ruby-dev
root@u1804:~# gem install gollum

今度は、 途中で以下のエラーが…
***************************************************************************************
*********** icu required (brew install icu4c or apt-get install libicu-dev) ***********
***************************************************************************************
*** extconf.rb failed ***

ICUはUNICODE関連のライブラリなので、必須になりますわね…。
https://qiita.com/496_/items/0664b1963c2d8bd6db5a

エラーメッセージの指示に従い、libicu-devを入れて再度ビルドする。
root@u1804:~# apt install libicu-dev
root@u1804:~# gem install gollum

これで、無事にインストール完了した。

さて、ドキュメントに従って実行してみる。
$ mkdir hoge
$ cd hoge
$ gollum .
 ところが、これでは正常に動作しない。
要はgitで管理されていないといけないらしい。

$ git init
$ gollum .
これで、問題なく動作した。

ブラウザから、localhost:4567 を叩くとHome.mdの編集画面になる。

シンプルでいい感じだ。

ちなみに、携帯でも開いてみると

と、ほぼ同じ構成で表示される。

あとは、shell scriptでも書いておいて、特定のディレクトリで、gollumを起動するようにすればOK。

BASIC認証でもかけてやれば、外部でもそこそこ利用できそう。

もう少し、テスト運用してみようと思うのだった。


追記


初期インストールだと、テーブルの表示を行ってくれず、単なる文字として表示されてしまう。

# gem install github-markdown

を実行してやることで、レンダリングエンジンを、kmarkdown→github-markdownへ切り替えてくれるとのこと。

実際に、試してみると、無事にテーブルが表示されるようになった。


  • https://github.com/gollum/gollum/issues/907

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ