メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバは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の反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

LibreOfficeでconvert

WEBシステムでの帳票出力

今回の案件で、案外苦労したのが最終的な帳票出力。
WEB系なので、方法が限られている。

CSVダウンロード→Excelのマクロ→PDF

という仕組みで、一部動かしてみた。
でもExcelのマクロが案外遅いのと、VBAが思いの外、面倒くさい。

で、良い方法がないかと探っていたのだけれど、LibreOfficeがxlsx→pdfやdoc→pdfに使えるらしいので、試してみる。

クラウドマシンでXをどうするか

とりあえず、sshでいつものように入り込んで作業する。

# yum install libreoffice libreoffice-langpack-ja
でサックリと入る。

色々と調べると、XやDesktop、GNOMEかKDEを入れろという。
必要であればVNC Serverも?

うむむ、何だか完全にDesktop環境を構築しないといけないのか?と思いつつも少し作業を行う。

一通り、入れて試しに動かしてみるが、案の定エラーが出る。
X11 error: Can't open display:
    Set DISPLAY environment variable, use -display option
    or check permissions of your X-Server
    (See "man X" resp. "man xhost" for details)
はいはい、Xの設定はしていないですよ。
でも、もともとサーバマシンだし、Xなんてリモートでしか使わないけど、今回はX無しでLibreOffice使いたいわけだし…。

どうしようか困りながらも、あちこち読み進めてみる。

ここに、ありました。

By searching the web I found a WIKI entry at alfresco saying that there needs to be installed a package called openoffice.org-headless. This installes a OOO plugin which is required to make the -headless commandline option work! After installing this package the X11 error message is gone!

So for all on CentOS you need to run:

yum install openoffice.org-headless

Problem solved, hope it may help others too!!

Thanks again for your inputs!

Tom

ふむふむ、OpenOfficeのWikiによると、これで解決したらしい。

早速、LibreOfficeはどうなっているか調べてみると、https://wiki.documentfoundation.org/Development/HeadlessBuild

むむむ、一応、X無しでも動作するらしいけれど、buildしないといけないかも…。

でも、yum のパッケージが出ているとの情報があったので、ラッキー。

# yum install libreoffice-headless
で、OKらしい。

試しに、変換をかけてみる。
$ libreoffice --headless --nologo --nofirststartwizard --convert-to pdf sample.xlsx

これで、同じディレクトリにsample.pdfを生成してくれる。

ちなみに、異なるディレクトリへの出力は、
$ libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir /tmp sample.xlsx

のように、ディレクトリを指定すればOK。ただ、--convert-to の後に--outdirを書かないと、そんなオプション知らないとか言われてorz

これで、コマンドライン上で、各種OfficeデータをPDFに変換できそう。
あとは、Fontの違いを上手く吸収できるか?という面倒な話が残って入るが…。

もう少し格闘してみる。


コメント

このブログの人気の投稿

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

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ