Ubuntu 12.04 Z-pushのサイト名とホスト名を変えてみる

443ポートはほかでも使うかもしれないよね。
※ZarafaとZ-pushの設定はこちらで。






バーチャルホストで同期するホストを変えようと思う。ただ、プロバイダーから振り出されるIPアドレスは1つなわけで、ホスト名だけを変えた所でIPアドレスは一緒。ぜんぜん違う感を出すためにはポート番号も変えてしまおうという考え。

一言で言うならば、

https://m.hogeserver.hogeddns.jp:10443/Microsoft-Server-ActiveSync/

でアクセスできる環境を作ろうという話。

後から考えれば、サーバーに新しいIPアドレスを振ってあげれば、ちゃんとVirtualHost機能を使えるんじゃないかと思い直して訂正。2013/06/22追記


最初に、サーバーにIPアドレスを追加する。
GUIを使って固定のIPアドレス 172.16.nnn.nn2 を追加した。方法は省略。2013/06/22追記

LAN外からのアクセスのために・・・
名前解決ができなければどうしようもないので、DynamicDNSサービスに m を登録して名前解決ができるようにする。
そして、ルーターのNAPT設定で 10443 をサーバーの172.16.nnn.nn2にスルーする設定にする。

さらに、Firewallで10443/tcpポートを開ける。

LAN内からのアクセスのために・・・
内向きDNSに m.hogeserver で名前解決ができるようにしなければならない。そのためには、ゾーンファイルの書き換えだ。bind9を止める。

$ sudo service bind9 stop

ゾーンファイルに以下を追記。

/var/cache/bind/db.hogeserver.zone
m                       CNAME   hogeserver 2012/06/23変更
m                       A       172.16.nnn.nn2

逆引きゾーンファイルに以下を追記。

/var/cache/bind/db.hogeserver.revz
nnn                     PTR     dns.hogeserver.hogeddns.jp.
                        PTR     smtp.hogeserver.hogeddns.jp.
                        PTR     m.hogeserver.hogeddns.jp. 2012/06/23変更
nn2                     PTR     m.hogeserver.hogeddns.jp.

bind9を再開させる(nnnはサーバーのIPアドレスの末尾)。

$ sudo service bind9 start

これで、名前解決に関する部分の設定は終わり。


次はapache。

作成済みの自己証明書は hogeserver.hogeddns.jp のものなので、m.hogeserver.hogeddns.jp の証明書を作成する。

$ sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/ssl-cert-m.hogeserver.cert

作成中にホスト名を聞かれるので以下を入力。

m.hogeserver.hogeddns.jp

作成される証明書には秘密鍵も一緒に入っているのでココを参考に分けてしまう。

$ cd /etc/apache2/ssl
$ sudo cp ssl-cert-m.hogeserver.cert ssl-cert-m.hogeserver.pem
$ sudo cp ssl-cert-m.hogeserver.cert ssl-cert-m.hogeserver.key
$ sudo chmod 644 ssl-cert-m.hogeserver.pem
$ sudo chmod 600 ssl-cert-m.hogeserver.key

生成された元のファイルを削除して、秘密キーをしかるべき場所に移動。

$ sudo rm nnnnnnnn
$ sudo rm ssl-cert-m.hogeserver.cert
$ sudo mv ssl-cert-m.hogeserver.key /etc/ssl/private

次に、サイト情報を編集する。

/etc/apache2/sites-available/z-push
#
# Z-push setting
#
Listen 10443
NameVirtualHost *:10443 2012/06/23変更
NameVirtualHost 172.16.nnn.nn2:10443 

<IfModule mod_ssl.c>
<VirtualHost *:10443>  2012/06/23変更
<VirtualHost 172.16.nnn.nn2:10443>

        ServerName m.hogeserver.hogeddns.jp

        Alias /Microsoft-Server-ActiveSync /usr/share/z-push/index.php

        <Directory /var/www/z-push/>
                DirectoryIndex index.php
                Options -Indexes +FollowSymLinks
                AllowOverride Options

                Order allow,deny
                Allow from all
        </Directory>

        SSLEngine on

        SSLCertificateFile    /etc/apache2/ssl/ssl-cert-m.hogeserver.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-m.hogeserver.key

</VirtualHost>
</IfModule>

# 拒否の仕方がよくわからず。hogeddnsにてばらまいているホスト名を拒否。
<VirtualHost *:10443>
        ServerName hogeserver.hogeddns.jp
        <Location />
                Order deny,allow
                Deny from all
        </Location>
</VirtualHost>

<VirtualHost *:10443>
        ServerName smtp.hogeserver.hogeddns.jp
        <Location />
                Order deny,allow
                Deny from all
        </Location>
</VirtualHost>

<VirtualHost *:10443>
        ServerName www.hogeserver.hogeddns.jp
        <Location />
                Order deny,allow
                Deny from all
        </Location>
</VirtualHost> 2012/06/23変更

apacheの設定を再読み込みさせる。

$ sudo service apache2 reload

これで、apacheの設定も終了。


ここまできたところで以下を実行。 2012/06/23変更

  • iPhoneやiPadのWiFiを一度オフにして、オンにする。
    これによって、DNSのキャッシュがクリアされる。
  • 設定画面からメールアカウントを再設定して同期を始める。

その後でどこかのアカウントからメールを送ってZ-pushされるか確認する。

お気軽にどうぞ ~ 投稿に関するご意見・感想・他

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です