Pictnotes メインイメージ

お仕事メモ

その他

さくらインターネットのVPSでWEBサーバ、レンタルサーバでメールサーバとする場合の設定

さくらインターネットでドメイン管理をしつつ

VPS(もしくはクラウド)をWEBサーバとして

レンタルサーバをメールサーバとして利用する場合の設定

 



上記の事が、可能なのかサポートに問い合わせたら「弊社にて独自ドメインをご利用いただく場合、1つのサーバにてウェブ・メールをするのが前提だけどできるよん。ゾーン設定はレクチャー出来ないけど自力でやってみてね」(本当はもっと丁寧)な返事がやってきたのでやってみた。

上記ができるか不思議だったのは、さくらのドメインで設定するときに
「レンタルサーバで利用する場合は、レンタルサーバのコンパネで設定する必要がある」と注意書きがあったので、そちらのコンパネをみるとAレコードを別に割り振る事ができなさそうなインターフェイスだったので疑問におもえたのと、かといって、会員ログイン後のドメイン管理から別途ゾーン設定してMXに、example.sakura.ne.jp と記載したとしても(さくらのレンタルサーバは初期に、sakura.ne.jpのサブドメインを設定してそれを初期ドメインとする必要がある)レンタルサーバ側の設定ができてないので、@example.com のメール(example.comを取得したと仮定)が配送できないと思ったからです。

そんな理由で問い合わせると、上記の解答がきたので、とりあえず設定メモ。手順が大事。

とりあえず、契約

  • ドメイン契約 (example.com)
  • レンタルサーバ契約 - 初期ドメインをexample.sakura.ne.jpとする
  • vps契約

をすませる。(ここはどれからしてもOK, ドメイン名と、sakura.ne.jpのサブドメイン名は合わせた方がわかりやすいかとおもう)
次に、レンタルサーバ側のコンパネで「ドメイン設定」から「新しいドメインの追加」を選択してレンタルサーバにドメインを紐付ける。
紐付け後「ドメイン詳細設定」の「5. SPFレコードの利用を選んでください」の「SPFレコードを利用する」にチェックをいれて保存。

これで、レンタルサーバ側の設定は終了

次に、会員メニューから「ドメイン管理」で確認すると、上記の事をするとexample.comのゾーン設定が行われている事が確認できると思います。
結果的に、直接ゾーン設定をするのでなくて、コンパネ経由でゾーン設定してた事だったみたいです。
じゃあ、最初からゾーン設定すれば同じではと思いますが、どの共用サーバに収容されているかなどしれべるのが面倒だとおもいますので一端、レンタルサーバ側から設定してそれらの値を取得後書き換えてあげるのが良さそうです。
初期だと

エントリ名 タイプ データ 補足
@ NS ns1.dns.ne.jp.  
NS ns2.dns.ne.jp.  
A xxx.xxx.xxx.xx (IPアドレス)  
MX 10 @  
TXT "v=spf1 a:www111.sakura.ne.jp mx ~all" 111の部分は適当な数字
www CNAME @  
mail CNAME @  
ftp CNAME @  

とかなので不必要な部分等を削除して、下記のように調整

エントリ名 タイプ データ 補足
@ NS ns1.dns.ne.jp.  
  NS ns2.dns.ne.jp.  
  A xxx.xxx.xxx.xx VPSのIPアドレスに書き換え
  MX 10 example.sakura.ne.jp. レンタルサーバの初期ドメインに書き換え
  TXT  "v=spf1 a:www111.sakura.ne.jp +ip4:xx.x.x.x +ip6:x:xx:xx:xx:x:x:x:x ~all" 必要に応じて、VPSのIPを追加
www CNAME @  

という風に変更しました。AレコードをレンタルサーバのIPからVPSのIPに書き換えて、MXレコードは、レンタルサーバの初期ドメインに変更(初期に記載されていたAレコードのIPでも問題ないかとおもうのですが、万が一変更があったときのためにFQDNの方がいいかとおもう)。必要に応じてSPFレコードにVPS(WEBサーバ側のIPを追加、)の設定です。

メンテナンスやコストを考えて今後この設定での運用は増えそうなのでメモ

≫ 続きを読む

その他   2015/10/21   admin

cron 経由や、sshからリモートの、sudo を実行したい場合

sshから、該当のコマンドを実行するときに、セキュリティの問題で
sudo: sorry, you must have a tty to run sudo
と怒られる、のですがこれを解消するためのメモ
 



sudoの設定ファイルの

Defaults    requiretty

Defaults    !requiretty

とか、それ自体をコメントアウトする必要があるのですがSSHのコマンドからの実行なら

ssh -t hostname sudo <cmd>

と -t オプションを付けると動く様になります。

マニュアルには、

 -t
    強制的に仮想端末を割り当てます。これはリモートマシン上で任意の画面ベースのプログラムを実行するとき(たとえば、メニューサービスを実装するときな ど)に非常に便利です。複数の-t をつけると、たとえssh がローカル側での端末を持っていない場合でも強制的に仮想端末を割り当てます。

とあるので、実際は強制的に仮想端末を割り当てるために、

ssh -t -t hostname sudo <cmd>
と同じオプションを複数つけてあげるて、

ssh -t -t user@hostname "/usr/bin/sudo /home/usr/batch.sh"

という風にすると sudoで指定されいているユーザ権限で動きます。

どのユーザで動いてるかは、whoamiコマンドでも発行するとすぐわかって便利です。

 

≫ 続きを読む

その他   2012/08/22   admin