サーバー設定 · 4 min read · Oct 07, 2025
完璧なサーバー - CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3) - ページ 5
16 phpMyAdminのインストール
次に、phpMyAdminをインストールします:
yum install phpmyadmin次に、phpMyAdminの認証をクッキーからhttpに変更します:
vi /usr/share/phpmyadmin/config.inc.php| [...] /* 認証タイプ */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
これで、/usr/share/phpmyadmin/ディレクトリにphpMyAdminが見つかります。
ISPConfig 3をインストールした後、次のようにしてphpMyAdminにアクセスできます:
nginxのポート8081のISPConfigアプリのvhostにはphpMyAdminの設定が含まれているため、http://server1.example.com:8081/phpmyadminまたはhttp://server1.example.com:8081/phpMyAdminを使用してphpMyAdminにアクセスできます。
ウェブサイトから使用できる/phpmyadminまたは/phpMyAdminエイリアスを使用したい場合、これはApacheよりも少し複雑です。なぜなら、nginxにはグローバルエイリアス(すべてのvhostに対して定義できるエイリアス)がないからです。したがって、phpMyAdminにアクセスしたい各vhostのためにこれらのエイリアスを定義する必要があります。
これを行うには、ISPConfigのウェブサイトのオプションタブのnginxディレクティブフィールドに次の内容を貼り付けます:
| location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; 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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } |
vhostにhttp sを使用する場合、phpMyAdminの設定に次の行fastcgi_param HTTPS on;を追加する必要があります:
| location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; 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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } |
vhostにhttpとhttpsの両方を使用する場合、/etc/nginx/nginx.confのhttp {}セクションに次のセクションを追加する必要があります(include行の前に)これは、訪問者がhttpまたはhttpsを使用しているかを判断し、$fastcgi_https変数(phpMyAdminの設定で使用します)を適切に設定します:
vi /etc/nginx/nginx.conf| [...] http { [...] ## HTTPSが使用されているかを検出 map $scheme $fastcgi_https { default off; https on; } [...] } [...] |
その後、nginxをリロードするのを忘れないでください:
/etc/init.d/nginx reload 次に、nginxディレクティブフィールドに戻り、fastcgi_param HTTPS on;の代わりにfastcgi_param HTTPS $fastcgi_https;の行を追加して、httpとhttpsの両方のリクエストでphpMyAdminを使用できるようにします:
| location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; 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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } |
17 Mailmanのインストール
バージョン3.0.4以降、ISPConfigはMailmanのメーリングリストを管理(作成/変更/削除)することも可能です。この機能を利用したい場合、次のようにMailmanをインストールします:
yum install mailmanMailmanを開始する前に、最初のメーリングリストであるmailmanを作成する必要があります:
/usr/lib/mailman/bin/newlist mailman[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
リストを運営する人のメールアドレスを入力してください: <– 管理者のメールアドレス、例:[email protected]
初期のmailmanパスワード: <– mailmanリストの管理者パスワード
メーリングリストを作成するには、次の行を追加して/etc/aliases(または同等の)ファイルを編集し、newaliasesプログラムを実行する必要があります:
mailmanメーリングリスト
mailman: “|/usr/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/usr/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/usr/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/usr/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/usr/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/usr/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/usr/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/usr/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/usr/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/usr/lib/mailman/mail/mailman unsubscribe mailman”
mailmanの所有者に通知するにはEnterを押してください… <– ENTER
[root@server1 tmp]#
その後、/etc/aliasesを開きます…
vi /etc/aliases… そして次の行を追加します:
| [...] mailman: "|/usr/lib/mailman/mail/mailman post mailman" mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/lib/mailman/mail/mailman join mailman" mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman" mailman-request: "|/usr/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman" |
その後、次のコマンドを実行します:
newaliasesその後、Postfixを再起動します:
/etc/init.d/postfix restartMailmanのシステム起動リンクを作成し、起動します:
chkconfig –levels 235 mailman on
/etc/init.d/mailman start
これで、MailmanがISPConfigで動作するようにこのシンボリックリンクを作成する必要があります:
cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman
ISPConfigを通じて作成されたウェブサイトからMailmanを使用したい場合、これはApacheよりも少し複雑です。なぜなら、nginxにはグローバルエイリアス(すべてのvhostに対して定義できるエイリアス)がないからです。したがって、Mailmanにアクセスしたい各vhostのためにこれらのエイリアスを定義する必要があります。
これを行うには、ISPConfigのウェブサイトのオプションタブのnginxディレクティブフィールドに次の内容を貼り付けます:
| location /cgi-bin/mailman { alias /usr/lib/mailman/cgi-bin; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap.socket; } location /images/mailman { alias /usr/lib/mailman/icons; } location /pipermail { alias /var/lib/mailman/archives/public; autoindex on; } |
これにより、vhostのために/cgi-bin/mailman/エイリアスが定義され、http://
http://
18 PureFTPdのインストール
PureFTPdは次のコマンドでインストールできます:
yum install pure-ftpd次に、システム起動リンクを作成し、PureFTPdを起動します:
chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start
次に、PureFTPdを構成してFTPおよびTLSセッションを許可します。FTPは非常に安全でないプロトコルであり、すべてのパスワードとすべてのデータが平文で転送されます。TLSを使用することで、通信全体を暗号化できるため、FTPははるかに安全になります。
TLSにはOpenSSLが必要です。OpenSSLをインストールするには、次のように実行します:
yum install openssl/etc/pure-ftpd/pure-ftpd.confを開きます…
vi /etc/pure-ftpd/pure-ftpd.confFTPおよびTLSセッションを許可する場合、TLSを1に設定します:
| [...] # このオプションは3つの値を受け入れます: # 0 : SSL/TLS暗号化レイヤーを無効にする(デフォルト)。 # 1 : 従来のセッションと暗号化されたセッションの両方を受け入れる。 # 2 : SSL/TLSセキュリティメカニズムを使用しない接続を拒否する、 # 匿名セッションを含む。 # 盲目的にこれをコメント解除しないでください。次のことを確認してください: # 1) サーバーがSSL/TLSサポートでコンパイルされていること(--with-tls)、 # 2) 有効な証明書が存在すること、 # 3) 互換性のあるクライアントのみがログインすること。 TLS 1 [...] |
TLSを使用するには、SSL証明書を作成する必要があります。私は/etc/ssl/private/に作成するので、まずそのディレクトリを作成します:
mkdir -p /etc/ssl/private/その後、次のようにSSL証明書を生成できます:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 国名(2文字コード)[XX]: <– 国名を入力します(例:「DE」)。
州または省名(フルネーム)[]: <– 州または省名を入力します。
市名(例:都市)[Default City]: <– 市名を入力します。
組織名(例:会社)[Default Company Ltd]: <– 組織名を入力します(例:会社名)。
組織単位名(例:部門)[]: <– 組織単位名を入力します(例:「IT部門」)。
共通名(例:あなたの名前またはサーバーのホスト名)[]: <– システムの完全修飾ドメイン名を入力します(例:「server1.example.com」)。
メールアドレス[]: <– メールアドレスを入力します。
SSL証明書の権限を変更します:
chmod 600 /etc/ssl/private/pure-ftpd.pem最後に、PureFTPdを再起動します:
/etc/init.d/pure-ftpd restartこれで完了です。FTPクライアントを使用して接続を試みることができます。ただし、FTPクライアントをTLSを使用するように構成する必要があります。
19 BINDのインストール
次のようにBINDをインストールできます:
yum install bind bind-utils次に、/etc/sysconfig/namedを開きます…
vi /etc/sysconfig/named… そして、ROOTDIR=/var/named/chroot行がコメントアウトされていることを確認します:
| # BIND namedプロセスオプション # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # 現在、次のオプションを使用できます: # # ROOTDIR="/var/named/chroot" -- chroot環境でnamedを実行します。 # chroot環境を設定する必要があります # (bind-chrootパッケージをインストール) # これを行う前に。 # 注意: # これらのディレクトリは、ROOTDIRディレクトリが # 空である場合、自動的にchrootにマウントされます。 # chroot環境のメンテナンスが簡素化されます。 # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bindまたは/usr/lib/bind(アーキテクチャ依存) # # 対象ファイルが # chrootに存在しない場合、これらのファイルもマウントされます。 # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # /etc/rsyslog.confファイルに「$AddUnixListenSocket /var/named/chroot/dev/log」 # 行を追加するのを忘れないでください。そうしないと、 # rsyslogdデーモンが再起動されると、ログが壊れます(例えば、更新時など)。 # # OPTIONS="whatever" -- これらの追加オプションは、 # 起動時にnamedに渡されます。ここに-tを追加しないでください、 # ROOTDIRを使用してください。 # # KEYTAB_FILE="/dir/file" -- namedサービスのkeytabファイルを指定します(GSS-TSIG用) # # DISABLE_ZONE_CHECKING -- デフォルトでは、initスクリプトはnamed-checkzone # ユーティリティをすべてのゾーンに対して呼び出し、 # namedが開始される前にすべてのゾーンが # 有効であることを確認します。このオプションを「yes」に設定すると、 # initスクリプトはこれらのチェックを実行しません。 |
既存の/etc/named.confファイルのバックアップを作成し、新しいものを次のように作成します:
cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
vi /etc/named.conf
| // named.conf // Red Hat bindパッケージによって提供され、ISC BIND named(8) DNS // サーバーをキャッシュ専用のネームサーバーとして構成します(ローカルホストDNSリゾルバーのみ)。 // // 例のnamed設定ファイルについては/usr/share/doc/bind*/sample/を参照してください。 options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion no; allow-recursion { none; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.conf.local"; |
/etc/named.confの最後に含まれる/etc/named.conf.localというファイルを作成します(/etc/named.conf.localは、ISPConfigでDNSゾーンを作成すると後でISPConfigによって埋められます):
touch /etc/named.conf.local次に、起動リンクを作成し、BINDを起動します:
chkconfig –levels 235 named on
/etc/init.d/named start
20 WebalizerとAWStatsのインストール
WebalizerとAWStatsは次のようにインストールできます:
yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。