序章

コマンドラインは、多くの状況ですばやく簡単に作業できる強力なツールですが、視覚的なインターフェイスが役立つ場合があります。 1台のマシンで多くの異なるサービスを構成している場合、またはクライアント用にシステムの一部を管理している場合、ISPConfigなどのツールを使用するとこれをはるかに簡単なタスクにすることができます。

ISPConfigはサーバーのコントロールパネルであり、ドメイン、電子メールアドレス、サイト構成、およびユーザーアカウントを簡単に構成できます。 パネルをUbuntu14.04サーバーにインストールします。

前提条件

始める前に、使用するサーバーでドメイン名を指定する必要があります。 DigitalOcean でドメイン名を設定する方法については、ここをクリックしてください。

また、sudo権限を持つroot以外のユーザーも必要になります。 Ubuntu 14.04初期サーバーセットアップガイドの手順1〜4に従って、root以外のアカウントをセットアップする方法を学ぶことができます。 このユーザーとしてログインして開始します。

システムをアップグレードする

最初にすべきことは、基本システムをアップグレードすることです。 これにより、システム上のパッケージが最新のパッケージバージョンになります。

aptが最新のパッケージバージョンを認識できるように、これを行う前にローカルパッケージインデックスを更新する必要があります。

sudo apt-get update
sudo apt-get upgrade

これでシステムは最新の状態になり、残りのインストールを開始できます。

ホスト名が正しく構成されていることを確認する

まず、ホスト名が正しく構成されていることを確認します。 このガイドでは、設定するドメイン名をserver.test.com、サーバーのIPアドレスを111.111.111.111と想定します。

ホスト名が正しく構成されていることを確認する必要があります。 ホストファイルを確認する必要があります。

sudo nano /etc/hosts

次のようになります。

127.0.0.1           localhost server.test.com server

ホスト名がパブリックIPアドレスを使用するようにします。 これを行うには、行を2行に分割し、ドメイン名の部分をパブリックIPアドレスにポイントします。

 127.0.0.1ローカルホスト111.111.111.111  server.test.com サーバ

終了したら、ファイルを保存して閉じます。

また、hostnameファイルを編集して、正しいドメイン名も含まれていることを確認する必要があります。

sudo nano /etc/hostname

ホスト名全体が表示されない場合は、値を変更します。

server.test.com

次のように入力して、システムが新しい値を使用していることを確認する必要があります。

sudo hostname -F /etc/hostname

システム設定の変更

ソフトウェアが正しく機能するために元に戻す必要がある、Ubuntuが型破りな方法で構成するいくつかの項目があります。

最初に行う必要があるのは、ISPConfigと互換性のないAppArmorを無効にすることです。 まず、サービスを停止する必要があります。

sudo service apparmor stop

次のように入力して、プロファイルをアンロードするように指示することもできます。

sudo service apparmor teardown

これが完了したら、起動時にこのサービスを開始しないようにサーバーに指示する必要があります。

sudo update-rc.d -f apparmor remove

次のように入力することで、関連するすべてのファイルとパッケージを実際に削除できます。

sudo apt-get remove apparmor

変更する必要があるもう1つの構成は、デフォルトのシステムシェルです。 Ubuntuはシステムプロセスにdashシェルを使用しますが、ISPConfigはbashによって特別に提供される追加機能を利用します。 次のように入力することで、bashをデフォルトのシステムシェルに設定できます。

sudo dpkg-reconfigure dash

プロンプトで「いいえ」を選択して、ユーティリティがシステムシェルポインタを再構成し、dashの代わりにbashを使用するようにします。

追加のコンポーネントをインストールする

基本システムの準備ができたので、ISPConfigが管理できるサービスと、ISPConfigをサポートするソフトウェアのインストールを開始できます。

基本的なLAMP(Linux、Apache、MySQL、PHP)コンポーネント、メールソフトウェア、メール用のウイルス対策スキャンソフトウェア、およびその他のパッケージをインストールします。

これをすべて1つの大きなaptコマンドで実行するため、これは一度に多数のパッケージがインストールされます。

sudo apt-get install apache2 apache2-utils libapache2-mod-suphp libapache2-mod-fastcgi libapache2-mod-python libapache2-mod-fcgid apache2-suexec libapache2-mod-php5 php5 php5-fpm php5-gd php5-mysql php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-xcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-imap php5-cgi php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby memcached phpmyadmin postfix postfix-mysql postfix-doc mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve mailman amavisd-new spamassassin clamav clamav-daemon zoo unzip zip arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl libnet-dns-perl bind9 dnsutils vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl squirrelmail pure-ftpd-common pure-ftpd-mysql snmp

インストール中に、いくつかの質問があります。 mailmanの言語を選択するように求められます。 en (English)を選択して続行します。 また、MySQL管理ユーザーのパスワードを選択して確認するように求められます。

表示されるもう1つのプロンプトは、dovecotの自己署名SSL証明書を作成するかどうかです。 「はい」を選択する必要があります。 SSL証明書の「commonName」を入力する必要があります。 これは完全修飾ドメイン名です。

server.test.com

postfixの場合、必要なメール構成の種類を尋ねられます。 Internet Siteを選択します。 次に、システムのメール名を選択するように求められます。 これもドメイン名に設定する必要があります。

server.test.com

phpMyAdminの場合、ソフトウェアには、Webサーバーに基づいて自動的に構成する機能があります。 「apache2」を選択し、「SPACE」を押してそのオプションを選択します。 「TAB」、「ENTER」の順に押して選択します。

後で、dbconfig-commonを使用してphpMyAdminのデータベースを構成するかどうかを尋ねられます。 ここで「はい」を選択します。 上記で選択したMySQL管理者アカウントのパスワードを入力する必要があります。 次に、phpMyAdminユーザーのパスワードを選択して確認できます。

この時点で、すべてのコンポーネントがインストールされているはずです。

バックエンドコンポーネントを構成する

すべてがインストールされたので、サービスとツールの構成を開始する必要があります。

メール設定

postfixでいくつかの機能を有効にすることから始めましょう。 エディターでデフォルトの構成ファイルを開きます。

sudo nano /etc/postfix/master.cf

このファイルの一部の行のコメントを解除する必要があります。 具体的には、送信サービスとその下の最初の3つのオプション行を処理する行と、smtpsサービスとその1つの最初の3つのオプション行も処理します。

submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
. . .
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes

次に、これらの両方のサービスの下に追加のオプションを追加する必要があります。 それぞれ同じになります。

送信inetn--- --- smtpd -o syslog_name = postfix / subject -o smtpd_tls_security_level = encode -o smtpd_sasl_auth_enable = yes -o smtpd_client_restrictions = permit_sasl_authenticated、reject 。 . . smtps inet n --- --- smtpd -o syslog_name = postfix / smtps -o smtpd_tls_wrappermode = yes -o smtpd_sasl_auth_enable = yes -o smtpd_client_restrictions = permit_sasl_authenticated、reject

終了したら、ファイルを保存して閉じます。

設定する必要のあるもう1つのメール関連サービスは、mailmanで、これはメーリングリストを処理できます。

新しいリストを作成するように指示することから始めることができます。

sudo newlist mailman

リストに関連付けられる電子メールを提供するように求められます。 また、パスワードを選択するように求められます。

スクリプトはエイリアスの長いリストを出力します。 これらを/etc/aliasesファイルの最後に追加する必要があります。

sudo nano /etc/aliases

次のようになります。

postmaster:root mailman:“ | / var / lib / mailman / mail / mailman post mailman” mailman-admin:“ | / var / lib / mailman / mail / mailman admin mailman” mailman-bounces:“ | / var / lib / mailman / mail / mailman bounces mailman” mailman-confirm:“ | / var / lib / mailman / mail / mailmanfirm mailman” mailman-join:“ | / var / lib / mailman / mail / mailman join mailman” mailman-leave: “ | / var / lib / mailman / mail / mailman Leave mailman” mailman-owner:“ | / var / lib / mailman / mail / mailman owner mailman” mailman-request:“ | / var / lib / mailman / mail / mailman request mailman” mailman-subscribe:“ | / var / lib / mailman / mail / mailman subscribe mailman” mailman-unsubscribe:“ | / var / lib / mailman / mail / mailman unsubscribe mailman”

完了したら、ファイルを保存して閉じます。 追加したエイリアスをpostfixに認識させる必要があります。 次のように入力すると、次のように入力できます。

sudo newaliases

mailmanサービスを開始するには、次のように入力します。

sudo service mailman start

postfixサービスを再起動して、メールの変更を有効にします。

sudo service postfix restart

サービスを扱っている間は、spamassassinも停止して無効にする必要があります。 ISPConfigは必要に応じてこれを呼び出し、常に実行している必要はありません。

sudo service spamassassin stop

次に、起動時にサーバーを再起動しないようにサーバーに指示できます。

sudo update-rc.d -f spamassassin remove

ランプ構成

PHPでmcrypt機能を有効にする必要があります。

sudo php5enmod mcrypt

もう1つ行う必要があるのは、インストールしたApacheモジュールの一部を有効にすることです。

sudo a2enmod rewrite ssl actions include cgi dav_fs suexec dav auth_digest fastcgi alias

また、いくつかのApache構成ファイルを調整する必要があります。

有効にしたモジュールの1つは、現在すべてのPHPファイルをインターセプトします。 これをやめたいのです。 suphp構成ファイルを開きます。

 sudo nano /etc/apache2/mods-available/suphp.conf
  SetHandler application / x-httpd-suphp  suPHP_AddHandler application/x-httpd-suphp。 . . 

一番上のブロックを1つのコマンドに置き換えます。 終了すると、次のようになります。

AddType application / x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application / x-httpd-suphp

完了したら、ファイルを保存して閉じます。

mailmanApacheファイルのシンボリックリンクを手動で作成する必要があります。 次のように入力することでそれを行うことができます。

sudo ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf

次に、次のように入力して有効にします。

sudo a2enconf mailman

Rubyファイルをホストするサイトを作成する場合は、mime.typesファイル内の.rbファイルの処理をコメントアウトする必要があります。 ISPConfigはこれ自体を処理します。

 sudo nano /etc/mime.types
  application / x-rss + xml rss  application / x-ruby rb application / x-rx

完了したら、ファイルを保存して閉じます。

これで、Apacheを再起動して変更を実装できます。

sudo service apache2 restart

その他の構成

システムのさらにいくつかの部分を編集する必要があります。

ISPConfigは、再販目的でサーバースペースを細分化するためによく使用されるため、クライアントにFTPアクセスを提供することが必要になることがよくあります。 必要なソフトウェアはすでにインストールされていますが、調整が必要です。

FTPサーバーの構成を編集することから始めます。

sudo nano /etc/default/pure-ftpd-common

FTPユーザーがシステムの他の部分に干渉しないように、chroot環境に制限されていることを確認する必要があります。 これを行うには、VIRTUALCHROOT設定をtrueに変更します。

VIRTUALCHROOT = true

FTPは本質的に安全ではないため、少なくともTLS暗号化で保護する必要があります。 これを設定するには、1文字を含むフラグファイルを作成します。

sudo nano /etc/pure-ftpd/conf/TLS

1

次に、プロセスで使用できる自己署名証明書を作成する必要があります。 これを行うには、次の呼び出しを行います。

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

この証明書は1年間有効です。 いくつかのプロンプトに答える必要があります。 それらにあなたの情報を記入してください。 Common Nameはおそらく最も重要な部分です。

その後、次のように入力してキーファイルをロックダウンする必要があります。

sudo chmod 600 /etc/ssl/private/pure-ftpd.pem

これがすべて完了したら、サービスを再開できます。

sudo service pure-ftpd-mysql restart

これにより、FTPデーモンで暗号化を使用できるようになります。

このシステムでFTPを設定する理由の1つは、このサービスの存在を期待するように構成されたawstatsという監視デーモンをインストールしたためです。

ISPConfigは必要に応じてawstatsを呼び出すため、サーバーのポーリングに通常使用されるcronジョブに依存する必要はありません。 これを削除するには、次のように入力します。

sudo rm /etc/cron.d/awstats

ISPConfigをインストールします

これで、実際のISPConfigソフトウェアをインストールする準備が整いました。

これを行うには、最新の安定バージョンをサーバーにダウンロードします。 この記事の執筆時点で、直接リンクが利用可能な最新の安定バージョンはバージョン3です。 すべてがインストールされたら、インストールを更新します。

ここで、ホームディレクトリに移動し、wgetを使用してプロジェクトをダウンロードする必要があります。

cd ~
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz

ダウンロードが完了したら、ディレクトリ構造を抽出し、抽出したフォルダ構造のinstallサブディレクトリに移動します。

tar xzvf ISPConfig*
cd ispconfig3_install/install/

これで、ソフトウェアをインストールする準備が整いました。 次のように入力してください。

sudo php -q install.php

非常に長いインストールプロセスが実行されます。

幸い、実際に入力する必要がある詳細は、MySQLのルートパスワードだけです。 他のすべてのエントリについては、「ENTER」を押してデフォルト値を使用し、先にスキップします。

インストールが完了したら、次のように入力して最新バージョンに更新します。

sudo php -q update.php

ここでも、「ENTER」を押すだけで、各コマンドのデフォルトが使用されます。

終了したら、Webブラウザでドメイン名に続いて:8080にアクセスすることにより、ISPConfigサービスにアクセスできます。

https:// server_domain_name :8080

自己署名証明書を使用しているため、SSL警告が表示されます。

ISPConfig SSL warning

「続行」または「続行」をクリックして、証明書を受け入れます。

ログイン画面が表示されます。

ISPConfig login screen

デフォルトのユーザー名とパスワードはどちらもadminです。

Username: admin
Password: admin

これらの値を入力すると、ISPConfig3インターフェイスに移動します。

ISPConfig main interface

ここに到達したら、[システム]ボタンをクリックしてadminユーザーのパスワードを変更し、左側のナビゲーションメニューの[ユーザー管理]カテゴリにある[CPユーザー]リンクをクリックする必要があります。

メインウィンドウでadminユーザーアカウントをクリックします。 このページで、管理者ユーザーのパスワードを変更するオプションがあります。

結論

これで、ISPConfigパネルがインストールおよび構成されているはずです。 このインターフェース内からドメイン、メール、アカウントを管理できるはずです。

ジャスティン・エリングウッド