サーバー設定 · 4 min read · Oct 23, 2025

完璧なサーバー - Ubuntu 16.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 roundcube-plugins-extra 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がログインフォームにサーバー名入力フィールドを表示しないようになります。

次に、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.0-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設定にfastcgi_param HTTPS on;の行を追加する必要があります:

        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.0-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行の前に)これは、訪問者がhttpまたはhttpsを使用しているかどうかを検出し、$fastcgi_https変数を設定します(これはRoundcube設定で使用します):

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.0-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://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1  
tar xfz ispconfig.tar.gz  
cd ispconfig3*/install/

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

php -q install.php

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

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

--------------------------------------------------------------------------------  
_____ ___________ _____ __ _ ____  
|_ _/ ___| ___ \ / __ \ / _(_) /__ \  
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /  
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |  
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \  
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/  
__/ |  
|___/  
--------------------------------------------------------------------------------
>> 初期設定
オペレーティングシステム: Ubuntu 16.04.1 LTS (Xenial Xerus)
次に、主要な設定のためのいくつかの質問がありますので注意してください。  
デフォルト値は[ブラケット]内にあり、で受け入れることができます。  
"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でログインします(初回ログイン後にデフォルトパスワードを変更するべきです):

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

16.1 ISPConfig 3.1 マニュアル

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

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

17. 追加の注意事項

18.1 OpenVZ

このチュートリアルで設定したUbuntuサーバーがOpenVZコンテナ(仮想マシン)である場合、ホストシステムでこれを行う必要があります(OpenVZコンテナのIDが101であると仮定しています - あなたのシステムの正しいVPSIDに置き換えてください):

VPSID=101   
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE   
do   
  vzctl set $VPSID --capability ${CAP}:on --save   
done

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

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

SSH / シェルログイン

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

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

ISPConfigログイン

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

MySQLログイン

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

またはシェルで次のようにログインします:

sudo mysql

VMのIPは192.168.1.100で、/etc/network/interfacesファイルで変更できます。上記のすべてのパスワードを変更して仮想マシンを保護してください。

19. リンク

Share: X/Twitter LinkedIn

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

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