サーバー設定 · 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/squirrelmailISPConfig 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 removenginxが実行中であることを確認してください:
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]: <-- ENTERMySQLサーバーのホスト名 [localhost]: <-- ENTERMySQLサーバーポート [3306]: <-- ENTERMySQLルートユーザー名 [root]: <-- ENTERMySQLルートパスワード []: <--ここにMySQLルートパスワードを入力作成するMySQLデータベース [dbispconfig]: <-- ENTERMySQL文字セット [utf8]: <-- ENTERPostgreyの設定
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]: <-- ENTERRSA秘密鍵を生成中、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 このチュートリアルの仮想マシンイメージのダウンロード
このチュートリアルは、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. リンク
- Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。