サーバー設定 · 3 min read · Oct 30, 2025

完璧なサーバー - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD および ISPConfig 3.1) - ページ 3

15. Roundcube Webmailのインストール

RoundCube webmailをインストールするには、次のコマンドを実行します:

apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

インストーラーは次の質問をします:

Configure database for roundcube with dbconfig-common? <-- Yes  
MySQL application password for roundcube: <-- Press enter  
  

次に、RoundCubeのconfig.inc.php設定ファイルを編集します:

nano /etc/roundcube/config.inc.php

そして、デフォルトホストをlocalhostに変更します:

$config['default_host'] = 'localhost';

これにより、Roundcubeがログインフォームにサーバー名入力フィールドを表示しないようにします。

次に、SquirrelMailの設定をISPConfigでRoundcubeに使用できるようにシンボリックリンクを作成します:

ln -s /usr/share/roundcube /usr/share/squirrelmail

ISPConfig 3をインストールした後、次のようにしてRoundcubeにアクセスできます:

nginxのポート8081のISPConfigアプリvhostにはRoundcubeの設定が含まれているため、http://server1.example.com:8081/webmailを使用してRoundcubeにアクセスできます。

ウェブサイトから使用できる/webmailエイリアスを使用したい場合、これはApacheよりも少し複雑です。なぜなら、nginxにはグローバルエイリアス(すべてのvhostに対して定義できるエイリアス)がないからです。したがって、Roundcubeにアクセスしたいvhostに対してこれらのエイリアスを定義する必要があります。

これを行うには、ISPConfigのウェブサイトのオプションタブのnginxディレクティブフィールドに次の内容を貼り付けます:

        location /roundcube {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcube/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcube last;
        }

vhostにhttp sを使用する場合、SquirrelMailの設定に次の行を追加する必要があります:

        location /roundcube {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcube/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                       fastcgi_param HTTPS on; # <-- この行を追加
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcube last;
        }

vhostにhttpとhttpsの両方を使用する場合、/etc/nginx/nginx.confのhttp {}セクションに次のセクションを追加する必要があります(任意のinclude行の前):

nano /etc/nginx/nginx.conf
[...]
http {
[...]
        ## HTTPSが使用されているかどうかを検出
        map $scheme $fastcgi_https {
          default off;
          https on;

        }
[...]
}
[...]

その後、nginxをリロードするのを忘れないでください:

service nginx reload

次に、nginxディレクティブフィールドに戻り、fastcgi_param HTTPS on;の代わりにfastcgi_param HTTPS $fastcgi_https;の行を追加して、httpおよびhttpsリクエストの両方でRoundcubeを使用できるようにします:

        location /roundcube {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcube/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                       fastcgi_param HTTPS $fastcgi_https; # <-- この行を追加
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcube last;
        }

16. ISPConfig 3.1のインストール

ISPConfigのインストールを開始する前に、Apacheが停止していることを確認してください(インストールされている場合 - 一部のインストールされたパッケージがApacheを依存関係としてインストールしている可能性があります)。Apache2がすでにシステムにインストールされている場合は、今すぐ停止してください…

service apache2 stop

… そして、Apacheのシステム起動リンクを削除します:

update-rc.d -f apache2 remove

nginxが実行中であることを確認してください:

service nginx restart

(Apacheとnginxの両方がインストールされている場合、インストーラーはどちらを使用するかを尋ねます: Apacheとnginxが検出されました。ISPConfigに使用するサーバーを選択してください: (apache,nginx) [apache]:

nginxと入力します。ApacheまたはNginxのみがインストールされている場合、これはインストーラーによって自動的に検出され、質問はありません。)

GITの安定ブランチからISPConfig 3.1をインストールするには、次のようにします:

cd /tmp   
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz  
tar xfz ispconfig.tar.gz  
cd ispconfig3*/install/

次のステップは、次のコマンドを実行することです:

php -q install.php

これにより、ISPConfig 3.1インストーラーが開始されます。インストーラーは、Postfix、Dovecotなどのすべてのサービスを自動的に構成します。

root@server1:/tmp/ispconfig3-stable-3.1-da1e393d7bed829d180dd9006019201e3370e77a/install# php install.php

--------------------------------------------------------------------------------  
_____ ___________ _____ __ _ ____  
|_ _/ ___| ___ \ / __ \ / _(_) /__ \  
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /  
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |  
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \  
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/  
__/ |  
|___/  
--------------------------------------------------------------------------------
>> 初期設定
オペレーティングシステム: Ubuntu 18.04 LTS (Bionic Beaver)
次に、主要な設定のためのいくつかの質問がありますので注意してください。  
デフォルト値は[ブラケット]内にあり、で受け入れることができます。  
"quit"(引用符なし)を入力すると、インストーラーを停止します。

言語を選択してください (en,de) [en]: <-- ENTER
インストールモード (standard,expert) [standard]: <-- ENTER
サーバーの完全修飾ホスト名 (FQDN)、例: server1.domain.tld [server1.example.com]: <-- ENTER
MySQLサーバーのホスト名 [localhost]: <-- ENTER
MySQLサーバーポート [3306]: <-- ENTER
MySQLルートユーザー名 [root]: <-- ENTER
MySQLルートパスワード []: <--ここにMySQLルートパスワードを入力
作成するMySQLデータベース [dbispconfig]: <-- ENTER
MySQL文字セット [utf8]: <-- ENTER
Postgreyの設定  
Postfixの設定  
4096ビットRSA秘密鍵を生成中  
.................................................................................................................................................................................................................................................................................................................................................................................................................++  
...++  
新しい秘密鍵を'smtpd.key'に書き込み中  
-----  
証明書要求に組み込まれる情報を入力するように求められます。  
入力する内容は、識別名またはDNと呼ばれるものです。  
いくつかのフィールドがありますが、いくつかは空白のままにできます。  
いくつかのフィールドにはデフォルト値があります。  
'.'を入力すると、そのフィールドは空白のままになります。  
-----  
国名 (2文字コード) [AU]: <-- あなたの2文字国コードを入力、私の場合はDE  
州または県名 (フルネーム) [Some-State]: <-- あなたの州を入力  
市名 (例: city) []: <-- あなたの市を入力、私の場合はLueneburg  
組織名 (例: company) [Internet Widgits Pty Ltd]: <-- あなたの会社名を入力、私の場合はISPConfig UG  
組織単位名 (例: section) []: <-- あなたの組織単位名を入力、私はここでITを使用  
共通名 (例: サーバーFQDNまたはあなたの名前) []: <-- サーバーホスト名を入力、私の場合はserver1.example.com  
メールアドレス []: <-- メールアドレスを入力、例: [email protected]  
Mailmanの設定  
Dovecotの設定  
Spamassassinの設定  
Amavisdの設定  
Getmailの設定  
Jailkitの設定  
Pureftpdの設定  
BINDの設定  
nginxの設定  
[INFO] OpenVZサービスが検出されませんでした  
Ubuntuファイアウォールの設定  
Metronome XMPPサーバーの設定  
新しい秘密鍵を'localhost.key'に書き込み中  
-----  
国名 (2文字コード) [AU]: <-- あなたの2文字国コードを入力、私の場合はDE
市名 (例: city) [City Name]: <-- あなたの市を入力、私の場合はLueneburg
組織名 (例: company) [Internet Widgits Pty Ltd]: <-- あなたの会社名を入力、私の場合はISPConfig UG
組織単位名 (例: section) [Infrastructure]: <-- あなたの組織単位名を入力、私はここでITを使用
共通名 (例: サーバーFQDNまたはあなたの名前) [server1.example.com]: <-- サーバーホスト名を入力、私の場合はserver1.example.com
メールアドレス [[email protected]]: <-- メールアドレスを入力、例: [email protected]
重要:  
ローカルホストキー、Csrおよび自己署名証明書が/etc/metronome/certsに保存されました  
すべてのクライアントで動作するためには、サーバーには信頼できる証明書が必要です。  
そのため、Csrを使用してCAから信頼できる証明書を取得するか、すでに署名されたファイルでキーと証明書を置き換えてください。  
Pidginのようなクライアントは、信頼されていない自己署名証明書を使用することを許可しません。
Fail2banの設定  
Apps vhostの設定  
ISPConfigのインストール  
ISPConfigポート [8080]: <-- ENTER
管理者パスワード [admin]: <-- 希望する管理者パスワードを入力
ISPConfigウェブインターフェースへの安全な(SSL)接続を希望しますか(y,n) [y]: <-- ENTER
RSA秘密鍵を生成中、4096ビット長のモジュラス  
....................................................++  
........................++  
eは65537 (0x10001)  
証明書要求に組み込まれる情報を入力するように求められます。  
入力する内容は、識別名またはDNと呼ばれるものです。  
いくつかのフィールドがありますが、いくつかは空白のままにできます。  
いくつかのフィールドにはデフォルト値があります。  
'.'を入力すると、そのフィールドは空白のままになります。  
-----  
国名 (2文字コード) [AU]: <-- あなたの2文字国コードを入力、私の場合はDE  
州または県名 (フルネーム) [Some-State]: <-- あなたの州を入力  
市名 (例: city) []: <-- あなたの市を入力、私の場合はLueneburg  
組織名 (例: company) [Internet Widgits Pty Ltd]: <-- あなたの会社名を入力、私の場合はISPConfig UG  
組織単位名 (例: section) []: <-- あなたの組織単位名を入力、私はここでITを使用  
共通名 (例: サーバーFQDNまたはあなたの名前) []: <-- サーバーホスト名を入力、私の場合はserver1.example.com  
メールアドレス []: <-- メールアドレスを入力、例: [email protected]
次の'追加'属性を入力してください  
証明書要求と共に送信されます  
チャレンジパスワード []: <-- ENTER  
オプションの会社名 []: <-- ENTER  
RSAキーを書き込み中

DBサーバーの設定  
ISPConfigのcrontabのインストール  
ISPConfigのcrontabのインストール  
root用のcrontabはありません  
getmail用のcrontabはありません  
IPアドレスを検出中  
サービスを再起動中 ...  
インストールが完了しました。

インストーラーはすべての基盤となるサービスを自動的に構成するため、手動での設定は必要ありません。

その後、http(s)://server1.example.com:8080/またはhttp(s)://192.168.1.100:8080/でISPConfig 3にアクセスできます(httpまたはhttpsはインストール中に選択したものに依存します)。ユーザー名adminとパスワードadminでログインします(初回ログイン後にデフォルトのパスワードを変更する必要があります):

ISPConfigログイン

ISPConfigダッシュボード

システムは現在使用する準備が整いました。

16.1 ISPConfig 3.1マニュアル

ISPConfig 3の使い方を学ぶために、ISPConfig 3.1マニュアルをダウンロードすることを強くお勧めします。

300ページ以上にわたり、ISPConfigの背後にある概念(管理者、再販業者、クライアント)をカバーし、ISPConfig 3のインストールと更新方法を説明し、ISPConfig内のすべてのフォームとフォームフィールドのリファレンスを有効な入力の例と共に含み、ISPConfig 3の最も一般的なタスクのチュートリアルを提供します。また、サーバーをより安全にする方法を説明し、最後にトラブルシューティングセクションが付いています。

17 このチュートリアルの仮想マシンイメージのダウンロード

このチュートリアルは、VMWareおよびVirtualboxと互換性のあるovf/ova形式の使用準備が整った仮想マシンイメージとして利用可能です。仮想マシンイメージは次のログイン詳細を使用します:

SSH / シェルログイン

ユーザー名: administrator
パスワード: howtoforge

このユーザーにはsudo権限があります。

ISPConfigログイン

ユーザー名: admin
パスワード: howtoforge

MySQLログイン

ユーザー名: root
パスワード: howtoforge

VMのIPは192.168.1.100で、/etc/netplan/01-netcfg.yamlファイルで変更できます。仮想マシンのセキュリティを確保するために、上記のすべてのパスワードを変更してください。

18. リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。