カテゴリー: サーバ管理

  • さくら VPS の Aipo 用 Let’s Encrypt SSL 証明書の更新

    Let’s Encrypt の証明書期限が近づいてきたので更新を行います。

    HTTPS(TCP 443) が Web サーバ等で使われていると、そのまま更新をかけても次のようなエラーが表示されます。

    Attempting to renew cert (xxxxx.example.com) from /etc/letsencrypt/renewal/xxxxx.example.com.conf produced an unexpected error: Problem binding to port 443: Could not bind to IPv4 or IPv6.. Skipping.
    All renewal attempts failed. The following certs could not be renewed:
     /etc/letsencrypt/live/xxxxx.example.com/fullchain.pem (failure)

    なのでまず HTTPS を使っている Aipo のサーバを停止させます。停止させる前にデータのバックアップも取っておきます。

    # /usr/local/aipo/bin/backup.sh
    # /usr/local/aipo/bin/shutdown.sh

    初期設定時のまま特に変更することもないので、renew するだけです。Tomcat 用に Keystore 形式への変換まで行います。

    # certbot renew
    .....
    .....
    .....
    # cd /etc/letsencrypt/live/aipo.example.com/
    # openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out ssl.p12
    Enter Export Password: *****
    Verifying - Enter Export Password: *****
    # /usr/local/aipo/jre/bin/keytool -importkeystore -destkeystore tomcat.keystore -srckeystore ssl.p12 -srcstoretype PKCS12
    Enter destination keystore password: #####
    Re-enter new password: #####
    Enter source keystore password: *****
    Entry for alias 1 successfully imported.
    Import command completed: 1 entries successfully imported, 0 entries failed orcancelled

    後は Aipo を起動しなおすだけ。

    # /usr/local/aipo/bin/startup.sh

    これで終りですが、Aipo は起動してポートも開いているのに Web ブラウザからアクセスできず、かなり焦りました。とりあえず 10~15 分ほど放置したら元通りアクセスできました。

    起動処理に時間がかかっているだけみたいですが、表面上は起動が完了しているように見えるので気付かないと厄介です。初期導入時にこれに気づかずに何回も再インストールしてしまい、無駄な労力をかなり使いました。

    追記(2017-01-19)

    証明書の期限切れが表示されたと問い合わせがあり、確認したら証明書の日付が更新されていなかった。結局初回と同じ手順でやっと更新されました。

    更新(2018-03-31)

    Aipo 起動スクリプトのパスが誤っていたのを修正(“/usr/local/aipo/startup.sh” -> “/usr/local/aipo/bin/startup.sh”)

  • ムームードメインからさくらインターネットへの.comドメイン移管

    ムームードメインからさくらインターネットへの.comドメイン移管

    GMO のムームードメインから、さくらインターネットへ.comドメインの移管を行ったときの記録です。

    ムームードメインで「認証コード(AuthCode)」を取得する

    ムームードメインのコントロールパネルにログイン後、左メニューの「ドメイン管理」 – 「ドメイン操作」 – 「ドメイン一覧」と辿ります。

    ムームードメイン 認証コード

    移管するドメイン名を開きます。ページ中ほどに「認証コード(AuthCode)」があるので控えておきます。

    ムームードメイン 認証コード

    さくらインターネットで転入を申し込む

    • 【gTLDドメイン】転入マニュアル – さくらのサポート情報

    さくらインターネットの「お申し込み」から「ドメイン管理」 – 「gTLDドメインの移管(転入)」 – 「オンラインサインアップ」を開きます。

    さくらインターネット 転入

    ログイン後、移管するドメイン(*.com)を入力します。約款に同意したら「次へ」進みます。

    さくらインターネット 転入

    先ほど控えた認証コード(AuthCode)を入力し、Whois に登録された登録者名を入力します。

    さくらインターネット 転入

    支払情報を確認し、必要事項を埋めます。今回は既にクレジットカード決済にしてあるため、カードのセキュリティコードを入力するのみでした。

    「最終のご確認」で内容を確認して、申込完了です。

    さくらインターネット 転入

     JPRS から承認メールが届くので承認する

    「[JPRS] レジストラトランスファー承認手続きのご案内」という表題のメールが届くので、メール内に書かれた URL を開いて「承認」すれば後は待つだけです。

  • さくら VPS の Aipo 8.1.1 を SSL 化する

    前回の記事でさくらの VPS 上に Aipo を構築した。

    続いて HTTPS 化する作業に入る。参考とした記事は次の通り。

    さくらの共有 SSL は VPS では使えないようなので、メインサイトのサブドメインを使うことにした。

    さくらの VPS コントロールパネルから「ネームサーバ登録」を開く。

    controlpanel

    「ドメイン編集」->「ゾーン編集」->「変更」と入って、「エントリの追加と変更」から「エントリ名」に “aipo.example.com”, 「種別」に「IPアドレス(A)」、「値」に VPS の IP アドレス、「DNS チェック」と「TTL の指定」はデフォルトの「する」「チェックなし」として新規登録。

    ここで念のため、http://aipo.example.com/ を Web ブラウザで開いてみるか、nslookup で VPS の IP アドレスが引けているかを確認しておく。

    Let’s encrypt で証明書を取得する

    今回は Let’s encrypt で証明書を取得することにする。

    まずインストールを行って、証明書を取得する。

    # yum install certbot
    ...(略)...
    Is this OK? [y/d/N]: y
    ...(略)...
    # certbot certonly --standalone

    PEM を Tomcat で使えるキーストア形式に変換する

    Aipo を動かしているのは Tomcat なので、それに合わせて取得した証明書を変換する。

    # cd /etc/letsencrypt/live/aipo.example.com/
    # openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out ssl.p12
    Enter Export Password: *****
    Verifying - Enter Export Password: *****
    # /usr/local/aipo/jre/bin/keytool -importkeystore -destkeystore tomcat.keystore -srckeystore ssl.p12 -srcstoretype PKCS12
    Enter destination keystore password: #####
    Re-enter new password: #####
    Enter source keystore password: *****
    Entry for alias 1 successfully imported.
    Import command completed: 1 entries successfully imported, 0 entries failed orcancelled

    Aipo の Tomcat にキーストアファイルを設定する

    /usr/local/aipo/tomcat/conf/server.xml を vi 等で編集する。

     <!--
     <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol""
     maxThreads="1000" SSLEnabled="true" scheme="https" secure="true"
     clientAuth="false" sslProtocol="TLS" />
     -->

    コメントアウトされているこの部分を次のように書き換える。

     <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
     maxThreads="1000" SSLEnabled="true" scheme="https" secure="true"
     clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/letsencry
    pt/live/aipo.example.com/tomcat.keystore" keystorePass="#####" />

    これで Aipo を一度 shutdown して startup すれば無事に作業完了。

    # /usr/local/aipo/bin/shutdown.sh
    Stopping Aipo 8.1.1.0.
    # /usr/local/aipo/bin/startup.sh
    Starting Aipo 8.1.1.0.
    Access URL : http://XXX.XXX.XXX.XXX

    これで https://aipo.example.com/ にアクセスすると無事に Aipo の画面が表示されるはず。

    と思いきや、なぜかアクセスできず。”lsof -i:https” を実行してみるとポートさえ開いていない。

    設定を見直したり環境を代えてみたりと 3 日間ほど苦戦した結果、/usr/local/aipo/tomcat/conf/server.xml のコメントアウトされている記述にある

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol""

    の部分の引用符が 2 重になっているのが原因だった。これでも起動時にエラーも出ず、http でのアクセスは通常通り行えたので気付くのが遅れてしまった。

  • さくらの VPS に Aipo 8.1.1 を導入する

    さくらの VPS に Aipo 8.1.1 を導入する

    以下、さくらの VPS に申し込んだ後からの手順です。

    VPS に OS をインストールする

    さくらの VPS コントロールパネルから「各種設定」->「OSインストール」を開きます。

    os_install
    os_siteguard

    「標準OSインストール」を開き「インストールOS」に「SiteGuard Lite (CentOS7 x86_64)」を選択し、root のパスワードを設定します。「インストールを実行する」を押したらコントロールパネルの表示が「稼働中」になるまで数分待ちます。

    running

    稼働中になったら「シリアルコンソール」を開きます。OSインストール時に設定したパスワードでrootログインしてください。

    console

    Aipo の設置

    まず下準備としてパッケージの更新と必要なパッケージをインストールします。(参考: 「Linuxへのインストール – インストール手順 – オープンソース|Aipo(アイポ)

    ※以下のコマンドはコンソールにコピペすれば OK です。Shift + Insert でコンソールに貼り付けできます。

    # yum update
    ...(略)...
    Is this OK? [y/d/N]: y
    ...(略)...
    # yum install gcc nmap lsof unzip readline-devel zlib-devel
    ...(略)...
    Is this OK? [y/d/N]: y
    ...(略)...
    Is this OK? [y/d/N]: y
    ...(略)...
    Complete!

    次にAipo のダウンロードファイル一覧から最新版 x64用 .tar.gz を取得します。(実はここですんなりファイルを取得できずに SCP 使ったりして苦戦したけど、wget の引数を適切にしたらできた。参考: 「OSDNで公開されているファイルをwgetでダウンロード | ハックノート」)

    # cd /tmp
    # wget --trust-server-names "https://ja.osdn.net/frs/redir.php?m=ymu&f=%2Faipo%2F64847%2Faipo-8.1.1-linux-x64.tar.gz"

    いよいよ展開してインストールします。パスを指定しなければ /usr/local/aipo にインストールされます。インストール先を指定するには “sh installer.sh /usr/local/aipo” のように引数で指定します。

    # tar xvzf aipo-8.1.1-linux-x64.tar.gz
    ...(略)
    # cd aipo-8.1.1-linux-x64/
    # sh installer.sh
    ...(略)...

    ビルドも含めてインストールが行われるので、しばらく待ちます。

    =============================================
    Aipo のインストールが完了しました。
    バージョン     : 8.1.1.0
    インストール先   : /usr/local/aipo
    PostgreSQLユーザー : aipo_postgres
    PostgreSQLパスワード: ************
    
    アクセス先:
    http://153.126.xxx.xxx
    ID/PASSWORD:
    admin/admin
    
    起動方法:
    /usr/local/aipo/bin/startup.sh
    停止方法:
    /usr/local/aipo/bin/shutdown.sh

    ファイアウォールの設定

    初期状態では SSH 以外のすべての通信が拒否設定になっているので、HTTP と HTTPS を許可します。コントロールパネルからコンソールにアクセスできるので、ついでに SSH は閉じておきます。(参考: 「さくらVPSでCentOS7を導入してからやったこと | しびら

    # firewall-cmd --zone=public --permanent --add-service=http
    # firewall-cmd --zone=public --permanent --add-service=https
    # firewall-cmd --zone=public --permanent --remove-service=ssh
    # firewall-cmd --reload

    起動と admin パスワード変更

    # /usr/local/aipo/bin/startup.sh
    Starting Aipo 8.1.1.0.
    Access URL : http://153.126.xxx.xxx

    表示された URL をブラウザで開きます。初回アクセス時に数分待たされる(読み込み中のまま進まない)ので気長に待ちます。

    Aipo8

    ログイン画面が表示されたらユーザー名: admin, パスワード: admin でログインします。

    「基本情報」->「設定」->「管理者パスワードを変更する」を開き、管理者パスワードを変更しておきます。

  • WXR-1900DHP2 と iPhone で VPN

    iOS が更新されていつの間にか PPTP が使えなくなったので、L2TP/IPSec が使えるルータとしてWXR-1900DHP2 を導入した。

    WXR-1900DHP2 はルータモードでしか VPN を生かせないので、NTT のルータと 2 段ルータになってしまう。これによって Windows のファイル共有で多少困ることがあるが、それは別記事にて。

    まず、回線元ルータの NTT PR-S300HI の「静的 NAT 設定」からポートを開放する必要がある。ここで困ったのが何番を WXR-1900DHP2 に通せばいいのかが、調べていてもいまいちはっきりしない。

    結果的にはこの情報が役に立った。

    つまり

    • UDP 500
    • UDP 4500

    を WXR-1900DHP2 に流れるようにすればよい。

    これで iPhone の設定から、「一般」 -> 「VPN」 -> 「VPN構成を追加」と辿り、タイプを「L2TP」とすることで接続できるようになった。

     

     

  • Raspbian Jessie で IP アドレス固定

    久しぶりに Raspberry pi を再セットアップする必要があって、つまずいたメモ。

    Wheezy までは IP アドレスを固定するのに /etc/network/interfaces を変更していたが、Jessie からはそこに書いても反映されない。

    Jessie からは /etc/dhcpcd.conf に次のように追記する。

    interface eth0
    static ip_address=192.168.24.200/24
    static routers=192.168.24.1
    static domain_name_servers=192.168.24.1