Ubuntu14.04サーバーにISPConfig3をインストールする方法
序章
コマンドラインは、多くの状況ですばやく簡単に作業できる強力なツールですが、視覚的なインターフェイスが役立つ場合があります。 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
完了したら、ファイルを保存して閉じます。
mailman
Apacheファイルのシンボリックリンクを手動で作成する必要があります。 次のように入力することでそれを行うことができます。
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警告が表示されます。
「続行」または「続行」をクリックして、証明書を受け入れます。
ログイン画面が表示されます。
デフォルトのユーザー名とパスワードはどちらもadmin
です。
Username: admin
Password: admin
これらの値を入力すると、ISPConfig3インターフェイスに移動します。
ここに到達したら、[システム]ボタンをクリックしてadmin
ユーザーのパスワードを変更し、左側のナビゲーションメニューの[ユーザー管理]カテゴリにある[CPユーザー]リンクをクリックする必要があります。
メインウィンドウでadmin
ユーザーアカウントをクリックします。 このページで、管理者ユーザーのパスワードを変更するオプションがあります。
結論
これで、ISPConfigパネルがインストールおよび構成されているはずです。 このインターフェース内からドメイン、メール、アカウントを管理できるはずです。