投稿

ラベル(VPS)が付いた投稿を表示しています

メールサーバの移行

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

お名前.comのVPSを18.04に

イメージ
お名前.comのVPS これまで、1台VPSを借りて運用してきたが、そろそろOSのバージョンをUPしたいなぁと…。 今までは、標準のイメージからインストールしたubuntu12.04LTSを使ってきた。 ここでは、メインのメールやWEB、BINDなども自前で構築・運用してきた。 この春、20.04LTSが出たし、さすがに12.04だと言語関係やツールが古くて、苦戦することが多々有ったので、上げた方が楽だな〜という理由。 もちろん、デフォルトの状態で使用しているわけではないので、PHPは7系に上げたりしているし、その他も代えれるものは随分入れ替えてきた。 そうか…。もう、7年ほど借りていることになるんだ。 もう1台借りる いきなり、運用中のマシンを変更して、動作しなくなった場合に面倒というか困る。 そこで、もう1台VPSを借りて、構築し終わったら、設定を移して切り替えることにした。 もう1台といっても、年間で1万円程度のマシンなので、格安ですね。 グローバルIPも1つ付いてくるし、ストレージも100GBなので、まあまあです。 さて、標準のイメージだと、14.04か16.04しか選択できない…。 仕方ないので、16.04LTSを選択する。 まあ、10分も掛からずに完了。 簡単で速くて安い…何かの宣伝のようだけど…。 テストで、apacheとmysql、phpを入れて少し遊んで動作確認。 SSHの設定 WebからのConsoleは使いにくいので、まずはsshdの設定。 公開鍵を持ち込んで、パスワード認証をOFFにする。 これで、最低限の設定が完了。 端末からsshで接続を確認する。OK! さらにUpgrade いまさら16.04LTSだと、利用できる期間が短いので、使い慣れた18.04LTSにしたい。 さすがに20.04だと、まだ細かなノウハウが不足しているので、構築に手間がかかりそう。 まあ18.04なら、少なくとも、あと3年はサポート内だし、その頃UPすれば良いでしょう。 ということで、まだ何も構築していない状態なので、思い切って切り替えることに。 失敗したら再度インストールすれば済む話だ。

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使いたいわけだし…。 どうしようか困りながらも、あちこち読み進めてみる。 https://www.centos.org/forums/viewtopic.php?t=21514#p100991 ここに、ありました。 By searching the web I found a WIKI entry at alfresco saying that there  needs to be installed a package  called

owncloudが便利かも

イメージ
サーバー側は完了した 昨日、owncloudをインストールして、SSL接続のみに限定するところまで、完了した。 一応、DBはMySQL/PostgreSQL/SQLiteに対応している。 でも今回は、SQLiteで管理することにした。MySQLやPostgreSQLも入れてあるけれど、変なテーブルを作るかもしれないと思って…。念の為…。 これまでも様々なcloud storageを利用してきたし、今も利用している。 Dropbox 14GB box 50GB copy 20GB Google Drive 25GB One Drive 25GB 主要なものだけで、すでに130GB以上利用可能だ。 そこに、owncloudだが、こいつは自分の持っているストレージを好きなだけ設定できる。 今のところ、vps上のストレージが80GB程空いているので、まあ最大そこまではOKちゅうことです。 今回はTeamで使用したいので、初期値として1GBを各自に割り振って、必要に応じて増加させようかという算段。 まあ、管理者のみ無制限にしておいて、そのフォルダをshareとしておけば、いいのかな? client側のインストールとテスト Mac用はdmgファイルを落として、インストールすれば作業自体は完了。 Windowsは、exeを実行して完了。 どちらも、インストールしただけでは自動実行しないので、最初だけ自分で起動すればOK。 サーバのURLを設定して、アカウントを入れれば問題なくsyncしてくれる。 Linux用は、少々面倒(という程でもないが…) パッケージは置いていないので、レポジトリに追加して、インストールする必要がある。 http://software.opensuse.org/download/package?project=isv:ownCloud:desktop&package=owncloud-client に行くと、各ディストリビューションごとに方法が記述されているので、間違うこともなかろう。 これら以外のディストリビューションだと、sourceから落としてこないといけなさそうなので、時間がかかるかも。 (ライブラリや環境が整っ

ntp入れるの忘れてた

VPSサーバの設定忘れ VPSサーバの設定を終えて、稼働状態で様子を見ているが、順調に稼動している。 メールのimapも、smtpも正しく動作してくれていて、一安心。 と、ふと時刻合わせを設定し忘れていたことに気付いた。 久しぶりに設定をしてみたら、あっけない程の簡単さ。 少々、驚きました。 ntpのインストール まずは、これが基本ですから・・・。 $ sudo -s で一旦、rootに上がる。 # apt-get install ntp すると パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています               状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます:   libopts25 提案パッケージ:   ntp-doc 以下のパッケージが新たにインストールされます:   libopts25 ntp アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 3 個。 672 kB のアーカイブを取得する必要があります。 この操作後に追加で 1,708 kB のディスク容量が消費されます。 続行しますか [Y/n]?  当然、Yで続行です。あっという間にダウンロードからインストールまで完了。 勝手に起動しているようなので、状況を確認。 # ntpq -p      remote           refid      st t when poll reach   delay   offset  jitter ==============================================================================  133.242.54.234  133.243.238.164  2 u   19   64    1   17.874  -13.611   0.000  219x123x70x90.a 192.168.7.123    2 u   18   64    1    2.367  -15.410   0.000  laika.paina.jp  103.1.106.69     2 u   17   64    1    2.095  -14.923  

sshのパスフレーズ自動入力

SSHは安心だけど とりあえずVPSとの接続はsshしか手段がない。 Macからのssh接続だと、最初の接続でパスフレーズをキャッシュするかと聞いてくるので、覚えさせればいい。 そうすれば、以後configに設定した名前だけで接続が可能になる。 この時、パスフレーズの入力は必要ない。 $ ssh vps でOK。 さてノートPCのUbuntuにid_rsaをコピーして、同様にconfigを.ssh以下に保存する。 端末から、Mac同様に接続を試みる。 $ ssh vps ここまでは、同じだ。 ところが、Ubuntuは自動ではパスフレーズをキャッシュしてくれない。 ssh-agentを起動 そのためのツールが別に用意されているので、起動する。 $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-SqRHipZc2573/agent.2573; export SSH_AUTH_SOCK; SSH_AGENT_PID=2574; export SSH_AGENT_PID; echo Agent pid 2574; すると、上記のような表示がなされる。この時点では、パスフレーズはキャッシュされていないので、続いて、追加作業をおこなっておく。 ここでは、ssh-addを実行する。 $ ssh-add Enter passphrase for /home/satoshi/.ssh/id_rsa: Identity added: /home/satoshi/.ssh/id_rsa (/home/satoshi/.ssh/id_rsa) 今度は、パスフレーズを聞いてくるので、正しく入力すればOK。 これで、準備完了だ。 早速接続してみる。 $ ssh vps Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-49-generic x86_64)  * Documentation:  https://help.ubuntu.com/ Last login: Sat Jul 27 21:07:50 2013 from xxx-yyy-zz-aa.sub.domain.jp username@vps:~$ 今度は、パスフレーズを聞かれることなく、接続が完了する。

imapでの接続

postfixの次のSTEP 前回、SMTPにpostfixを導入し設定を終えた。 今度は、外部からメールの取り出しができるように、imapの設定を継続する。 Dovecotが一般的らしく、前回Postfixを入れるときに一緒に入れた。 受信の確認には、コンソール用のMTUが必要(前回mailで確認しようとしたけれど、Maildirに非対応)なんだけど、とりあえずMaildir内を確認して届くのをチェック。 一応、Muttを入れてみるが、設定ファイルを書く必要があって、あちこち探して見るけれど、あまり詳しい情報がない。 いくつかのサイトを参考にしながら、次のように設定。 set mbox_type="Maildir" set folder="~/Maildir" set spoolfile="~/Maildir/" # realnameは、Fromヘッダの名前になる。 set realname="username" # use_fromを設定しないと、ローカルコンピュータの名前が設定される。 set use_from="yes" set from="username@xxxxx.yyy.zz" # envelope_fromを"yes"にしないと、MAIL FROM:コマンドでローカルコンピュータ名が # 使用される。   set envelope_from="yes" # Return-Path:これを正しく設定していないと、@niftyのメールサーバがはじく。 my_hdr Return-Path: username@xxxxx.yyy.zz my_hdr Bcc: username@xxxxx.yyy.zz set nomove mailboxes "~/Maildir/inbox" "~/Maildir/trash" # 一覧画面の表示項目(日時と件名のみ) set index_format="%4C %Z %{%b %d} %s" set postponed="~/Maildir/draft"

メールサーバの設定

イメージ
もっとも大変かも… サーバ設定で、ミスをすると致命的なのがメールサーバなので、しっかりと下調べをして臨むことに。何せ他のサーバへの影響が大きいのと、不要なトラフィックを発生させることになるからね。 基本的にはpostfixでOKなのだけれど、「POP3/IMAP4サーバ」にDovecotを使うのが、このところの標準構成らしい。 できればPOPは、さまざまな端末からの利用を考えると、問題があるのでIMAPを使えるようにしておきたい。 どうやら現在のubuntuには仮想パッケージが用意されている。 # apt-get install dovecot-postfix これで、postfix関連、dovecot関連の全てを入れてくれる。 途中で、このメールサーバの設定を聞かれるので、「インターネットサイト」を選択し、 ドメインを入力するだけで、インストールが完了する。 dovecot-core dovecot-imapd dovecot-managesieved dovecot-pop3d dovecot-postfix dovecot-sieve mail-stack-delivery postfix 全部で、8個のパッケージを入れてくれた。 設定の確認と修正 修正に関しては、 先人の情報 を参考にして/etc/postfix/main.cfを確認・修正する。 30行目あたりのmyhostnameを修正。 myhostname = mail.xxx.jp と、自ドメインのメールサーバのホスト名に変更。もちろん、前回DNSに登録してあるホスト名を利用。 34行目あたりのmydestinationを確認、修正。 mydestination = xxx.jp, vzzz-yyy-xxx-www.myvps.jp, localhost.xxx.jp, localhost  のように、受け取るドメインを列記する。VPSの本来のマシン名がデフォルトで入っているが、今のところ問題はないので、そのまま残しておく。 9行目あたり smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) となっているのを、以下のように変更。不要な情報は出さないように修正。 smtpd_ban

BINDの設定

イメージ
ネームサーバが無くては話にならない ということで、bindをインストール。 # apt-get install bind9 インストールは簡単だけど、設定は慎重に行う必要がある。 /etc/bind/ に設定ファイルがあるので、追加変更を行う。 /etc/bind/named.confに自分のドメインの設定を追加する。 include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; include "/etc/bind/named.conf.mydomain"; ←追加 でもって、named.conf.mydomainにzoneを記述。 zone "xxx.jp" {   type master;   file "/etc/bind/db.xxx.jp";   allow-query{ any; };   allow-transfer {     210.172.129.81;   }; }; zone "196.7.157.in-addr.arpa" {   type master;   file "/etc/bind/db.196.7.157";   allow-query{any;}; };  xxx.jpは自分の取得したドメインを記述。fileは単なるファイル名なので、同じでなくてもいいのだけれど、あとで訳がわからなくなるので統一しておく。 セカンダリdnsはお名前.comのを利用する。 マニュアル(Q&A)によると、2nd.dnsv.jp(210.172.129.81)を使えということなので、transferの許可を与えておく。 あとは、db.xxx.jpと逆引き用のdb.196.7.157を書いてやればOK。 今回は、IPが1つだけだし、サーバも全部共用させるので、wwwもmailもnsも同じマシンを指すように設定。 再起動をかけて、ロ

ubuntu serverにssh

VPSの設定を開始 さてVPSが動作するのは分かったし、標準以外のOSも利用できるのも確認できたので、本番環境を少しずつ構築することに。 作業内容を忘れると面倒なので、作業しながら記録しておくことにする。 まずは、Ubuntu Server 12.04 LTS 64bit版をインストール。 普通serverは言語を英語で入れるのだけれど、これだけ簡単なら試しに日本語もいけるかもと思いテストしてみる。 もちろん、ubuntuが日本語を選択できなければ不可能だけれども…。選べるようだ。 ディスクも分割して使用する意味は、今のところないので、100GBまとめて利用することにして、インストール設定する。 昨日と同様のペースで進んでいく。 VNCなので(しかもブラウザ上)ちょっと表示がもたつく感じがするものの、特に問題なく終了。 光学メディアのイメージを強制排出して、再起動する。 sshのインストール $ sudo apt-get install openssh-server 実際は、これだけなんだけどね。 この時点で、パスワード認証での接続が可能になるので、確認のため接続してみる。 このままでは、アタックされ放題なので…。きちんと設定しておこう。 そのためにはsshの設定ファイルを編集する必要がある。使い慣れたエディタjedもついでに入れておく。 $ sudo apt-get install jed 準備は整ったので、設置ファイルを書き換える。 まずは、rootでのログインは無効にしておきたい。 $ sudo jed /etc/ssh/sshd_config PermitRootLogin no 保存したら、sshdの再起動。 $ sudo service ssh restart 設定ファイルを書き換えたら、これを忘れないように…。と自分に言い聞かせるw 鍵の生成作業 鍵を使った認証をするために、クライアントマシン上で鍵を生成する。 $ ssh-keygen -t rsa 好きなパスフレーズを入力。再入力も通ればファイルが生成される。 秘密鍵id_rsaと公開鍵id_rsa.pubだ。公開鍵はサーバ上に持っていく。 $ scp .

ドメイン取得&VPS

イメージ
随分前から考えていたが・・・ 最近の値段は驚くほど安くなっているのと、たまたまテスト的に使用したい案件が発生したので、サクッと契約してみた。 どこでも良かったのだが、VPSを借りようと思っていたので、料金の比較的安いプランのある「 お名前.comのVPS 」でいくことにする。年間9,999円という安さ。 ここを選択したのは、価格だけでなく、OSのイメージが選択できることだ。いつも使っているUbuntuが選択肢にあるのはありがたい。 ローカルの作業と同じように使え、こちらでテストすることもできるので気楽に使える。 ついでに、お名前.comでドメインも取得することに。 .infoが維持費込みで考えても、かなり安いのでこれでいくことに。 初年度280円で更新費用が920円。とりあえず使うには充分な価格。 希望のドメインもサックリ取れそうだ。 Whois情報公開代行も無料なので申し込んでおく。 ここまで、およそ10分。カード情報を入れて承認されると、すぐにメールが届く。 契約完了。 続けてVPSにとりかかる。 同様にフォームを進めていくと、電話で認証するとな。 15日間の無料トライアルのためには、必要な手続きだってさ。 メールが届き、リンクを踏む。 登録した番号に電話がかかってくる。画面に表示されるコードを入力。 これでOK。今日は電話の近くで作業していて良かった。 すると、画面表示が完了に。 ここまで計15分。 なんと、お名前.comのユーザ登録に時間がかかっただけで、正味10分もかからない。 これで、レンタルサーバが可能になるとは…。 起動してみる すべてブラウザから操作ができるようになっている。 デフォルトのCentOSを入れて起動するだけなら、2分程度で終了。 今回はUbuntu12.04LTSを使うことにする。64bitか32bitか迷うところだけど…。1回めはテストで入れるだけなので、32bitを選択。 Guideに従って英語バージョンでインストール。 このGuideは結構丁寧に作られている。文章は少ないけれどキャプチャ画面が多用されていて、まぁ分かりやすい方かな。 この作業には多少時間がかかった。それでも全部で約20分。 特にjp.archive.ubuntu.comか