SSL証明書 · 1 min read · Sep 25, 2025
ISPConfig 3のインストールをStartSSLの無料Class1 SSL証明書で保護する
このチュートリアルでは、StartSSLの無料Class1 SSL証明書を使用してISPConfig 3のインストールを保護し、自己署名証明書の警告を取り除く方法を示します。このガイドでは、ISPConfigのWebインターフェース(Apache2およびnginxの両方)、Postfix(TLS接続用)、CourierおよびDovecot(POP3およびIMAP用)、PureFTPd(TLS/FTPES接続用)に対してSSL証明書を使用する方法を説明します。monitをインストールし、HTTPSをそのWebインターフェースに使用している場合は、StartSSL証明書を使用する方法も示します。このガイドでは、DebianまたはUbuntuを使用していると仮定しています。他のISPConfig 3がサポートするディストリビューションでも原則は同じですが、パスが異なる場合があります。
更新 2017年12月20日
StartSSL CAはもはやブラウザに信頼されておらず、2018年1月1日にSSL証明書の発行を停止します。現在、良い代替手段がありますので、StartSSLの代わりにLet’s Encryptを使用して無料のSSL証明書を取得してください。ISPConfig、Postfix、Dovecot、Courier、Monit、およびPureFTPD用のLet’s Encrypt SSL証明書を使用する方法についての指示は、こちらで見つけることができます:
1 前提条件
http://www.ispconfig.org/ispconfig-3/documentation/ のガイドのいずれかを使用してシステムを設定したと仮定します。前述のように、このガイドではDebian/Ubuntuに集中しますが、ISPConfig 3がサポートする他のディストリビューションでも動作するはずです(ただし、いくつかのパスを調整する必要があるかもしれません)。
ここではホスト名server1.example.comを使用します。StartSSLでは、メインドメインと1つのサブドメインのためにClass1証明書を作成できますので、example.comとserver1.example.comのために証明書を作成します。これは、ユーザーにISPConfig Webインターフェース、Postfix、Courier/Dovecot、PureFTPDなどのすべてのサービスに対してメインドメインexample.comまたはサブドメインserver1.example.comを使用するように指示する必要があることを意味します。そうしないと、証明書の警告が表示されます。
サービスに異なるホスト名を使用することを希望する場合(例:Postfix用のmail.example.com、ISPConfig用のispconfig.example.comなど)、StartSSLからClass2証明書を取得することをお勧めします。これは無料ではありませんが、複数のサブドメイン(*.example.comを使用してすべてのサブドメインのために作成することもできます)や複数のドメインのために作成することを許可します。手順は同じですが、StartSSLのsub.class 1.server.ca.pem中間証明書を使用する場合は、代わりにsub.class 2.server.ca.pemを使用する必要があります。この違いについては、チュートリアル全体で説明します。
このチュートリアルのすべての手順をroot権限で実行していますので、rootとしてログインしていることを確認してください。Ubuntuを使用している場合は、次のように実行します…
sudo su… root権限を取得します。
2 証明書署名要求(CSR)の作成
StartSSLからSSL証明書を取得するために、証明書署名要求(CSR)が必要です。ISPConfigインストーラー(バージョン>= 3.0.4)はこれを自動的に作成するため、私はこのCSRをISPConfig、Postfixなどのすべてのサービスを暗号化するための基礎として使用します。
ISPConfigバージョン3.0.4以降、ISPConfigインストーラーはISPConfig Webインターフェース用のSSL暗号化を使用するオプションを提供し、次の質問にENTERまたはyで答えるとCSRを含む自己署名証明書(4096ビット)を作成します:
ISPConfig Webインターフェースに対して安全な(SSL)接続を希望しますか(y,n)[y]:<– ENTER
ISPConfigインストーラーが正しいデータでCSRを作成するようにするには、次の質問に対して正しい詳細を入力する必要があります:
RSAプライベートキーを生成中、4096ビットの長さのモジュラス ……………………………………………………++ ……………………………………………………………++ eは65537(0x10001)です。 証明書要求に組み込まれる情報を入力するように求められます。 入力する内容は、識別名(Distinguished Name)またはDNと呼ばれるものです。 いくつかのフィールドがありますが、いくつかは空白のままにできます。 いくつかのフィールドにはデフォルト値があります。 ‘.’を入力すると、そのフィールドは空白のままになります。
国名(2文字コード)[AU]:<– DE 州または県名(フルネーム)[Some-State]:<– Niedersachsen 市名(例:都市)[]:<– Lueneburg 組織名(例:会社)[Internet Widgits Pty Ltd]:<– My Company Ltd. 組織単位名(例:セクション)[]:<– IT 共通名(例:あなたの名前)[]:<– example.com メールアドレス[]:<– [email protected]
次の「追加」属性を入力してください。 証明書要求と共に送信されます。 チャレンジパスワード[]:<– ENTER オプションの会社名[]:<– ENTER RSAキーを作成中
最初に間違ったデータで証明書を作成した場合は、次のようにしてISPConfigを更新できます…
ispconfig_update.sh…または、最新バージョンがすでにインストールされている場合は、次のコマンドを実行します:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.phpこれにより、次の質問に「はい」と答えることでISPConfig 3 Webインターフェース用の新しい証明書を作成できます:
新しいISPConfig SSL証明書を作成しますか(はい、いいえ)[いいえ]:<– はい
ISPConfig 3.0.4以前のバージョンを使用している場合は、次のようにして最新の安定版にアップグレードする必要があります…
ispconfig_update.shこれにより、次の質問に「はい」と答えることでISPConfig 3 Webインターフェース用のSSL接続を作成できます:
新しいISPConfig SSL証明書を作成しますか(はい、いいえ)[いいえ]:<– はい
上記のように、正しい詳細を入力することを確認してください。
その後、/usr/local/ispconfig/interface/ssl/ディレクトリにSSLキー、CSR、および自己署名証明書があるはずです:
ls -l /usr/local/ispconfig/interface/ssl/root@server1:~# ls -l /usr/local/ispconfig/interface/ssl/
total 16
-rwxr-x--- 1 ispconfig ispconfig 2423 Jan 16 13:29 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1777 Jan 16 13:29 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 Jan 16 13:29 ispserver.key
-rwxr-x--- 1 ispconfig ispconfig 3311 Jan 16 13:28 ispserver.key.secure
root@server1:~#このチュートリアルで必要なのはプライベートキー(ispserver.key)とCSR(ispserver.csr)だけです。ispserver.crtはStartSSLのClass1証明書で置き換えます。ispserver.key.secureは無視しても構いません。
次のようにしてコマンドラインでispserver.keyとispserver.csrを作成することも可能です:
cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout ispserver.key -out ispserver.csr(これにより、ispserver.crtは生成されませんが、StartSSLから署名された証明書を取得するため、問題ありません。)
あなたのispserver.csrは次のようなものであるべきです(これは私が使用している実際のCSRなので、大部分をxで隠しています):
cat /usr/local/ispconfig/interface/ssl/ispserver.csr| -----BEGIN CERTIFICATE REQUEST----- MIIC7TCCAdUCAQAwgacxCzAJBgxxxxxxAkRFMRYwFAYDVQQIDA1OaWVkZXJzYWNo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9Z5RhXTfOz8F2wsNH5yP9eqkVlkYKpIwyUHoZtUSp+xz -----END CERTIFICATE REQUEST----- |
3 StartSSLから無料のClass1証明書を取得する
次にhttp://www.startssl.com/にアクセスしてアカウントを作成します。ドメインを検証した後(Validations Wizardタブで)、Certificates Wizardタブで証明書をリクエストできます - Certificate TargetのドロップダウンフィールドからWeb Server SSL/TLS Certificateを選択します:

すでにプライベートキーとCSRがあるため、次のステップをスキップできます - Skip >>をクリックします:

次のページでは、CSRを入力します。つまり、/usr/local/ispconfig/interface/ssl/ispserver.csrファイルの内容(—–BEGIN CERTIFICATE REQUEST—–で始まり、—–END CERTIFICATE REQUEST—–で終わる)を入力します:

その後、ウィザードの残りの手順に従います - ドメインと証明書が作成される1つのサブドメインを尋ねられます。すべてのサービスにserver1.example.comを使用する場合は、example.comをドメインとして、server1をサブドメインとして入力します。
数分後、新しい証明書が準備できたというメールが届きます。Toolbox > Retrieve Certificateに移動し、証明書を選択します:

StartSSLのWebインターフェースから証明書をコピーします…

…元のispserver.crtファイルのバックアップを作成し、StartSSLのClass1証明書を(空の)ispserver.crtファイルに貼り付けます:
mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak
vi /usr/local/ispconfig/interface/ssl/ispserver.crt| -----BEGIN CERTIFICATE----- MIIHMTCCBhmgAwIBAgIDxxxxxx0GCSqGSIb3DQEBBQUAMIGCMQswCQYDVQQGEwJJ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c2x1wonVRVmKovt2OuM1ZqZw0Ynk -----END CERTIFICATE----- |
次に、StartSSLのルートCAとClass1中間サーバーCAをダウンロードします:
cd /usr/local/ispconfig/interface/ssl
wget https://www.startssl.com/certs/ca.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem(Class2証明書を使用している場合は、sub.class2.server.ca.pemをダウンロードしてください)。
両方のファイルの名前を変更します:
mv ca.pem startssl.ca.crt
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt(Class2証明書を使用している場合は、2番目のコマンドを調整してください。)
いくつかのサービスでは.pemファイルが必要で、次のように作成します(再度、Class2証明書を使用している場合はコマンドを調整してください):
cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt
cat ispserver.{key,crt} startssl.chain.class1.server.crt > ispserver.pem
chmod 600 ispserver.pem新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。