このチュートリアルでは、Ubuntu18.04を実行しているVPSにISPConfig3をセットアップしてインストールする方法を示します。
ISPConfigは、よく知られているオープンソースのWebホスティングコントロールパネルであり、Webブラウザを介してサービスを管理できます。 Apache仮想ホストまたはNginxサーバーブロックの追加、データベースの作成/編集/削除、cronジョブの構成、電子メールアカウントの作成などを簡単に行うことができます。これは有料のコントロールパネルの無料の代替手段です。このコントロールパネルを使用するためにお金をかける必要はありません。
前提条件:
- Ubuntu 18.04 VPS
- root権限でのSSHアクセス
ステップ1:SSH経由でログインし、システムを更新する
rootユーザーまたはsudo権限を持つユーザーとしてSSHを使用してUbuntu18.04VPSにログインします:
ssh root@IP_Address -p Port_number
IP_AddressとPort_numberをサーバーのそれぞれの値に置き換えます。
次のコマンドを使用して、サーバーに適切なUbuntuバージョンがインストールされているかどうかを確認できます。
lsb_release -a
次の出力が得られるはずです:
Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic
次に、次のコマンドを実行して、サーバーにインストールされているすべてのパッケージが利用可能な最新バージョンに更新されていることを確認します。
apt update && apt upgrade
このチュートリアルでは、サーバーのホスト名としてubuntu.mydomain.comを使用します。ホスト名はFQDN(完全修飾ドメイン名)である必要があります。メインドメインではなく、ホスト名としてサブドメインを使用することが重要です。サーバーのホスト名にサブドメインを使用しない場合、たとえばamavis
で問題が発生します。 およびその他の電子メール関連プログラム。ホスト名を変更する方法の詳細をご覧ください。
ステップ2:Bashを再構成し、「apparmor」プログラムを停止します
ISPConfigのインストールを続行するには、ダッシュではなくbashをデフォルトのシステムシェルとして使用する必要があります。
dpkg-reconfigure dash
Use dash as the default system shell (/bin/sh)? No
systemctl stop apparmor systemctl disable apparmor
サーバーですでにサービスが実行されているかどうかを確認します:
netstat -pltn
ステップ3:MariaDB、Postfix、Dovecotをインストールする
次のコマンドを実行して、MariaDB、Postfix、およびDovecotをインストールします。
apt install mariadb-server postfix postfix-mysql openssl dovecot-mysql dovecot-pop3d dovecot-sieve dovecot-lmtpd binutils dovecot-imapd
インストールプロセスでは、postfixについて2つの質問があります。システムのメール名としてホスト名を使用していることを確認してください。
General type of mail configuration: Internet Site
System mail name: ubuntu.mydomain.com
次に、/etc/postfix/master.cf
を編集します お好みのテキストエディタを使用します。
基本的に、構成ファイルの数行のコメントを解除し、-o smtpd_client_restrictions=permit_sasl_authenticated,reject
を追加する必要があります。 提出セクションとsmtpdセクションの下。ファイルは次のようになります。
submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - y - - 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 # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING
完了したら、ファイルを保存して終了し、Postfixを再起動します:
systemctl restart postfix
この時点で、MariaDBが実行されており、rootユーザーのパスワードを作成します。次のコマンドを実行して、rootパスワードを作成し、テストデータベースを削除し、匿名ユーザーを削除してから、権限を再読み込みします。
mysql_secure_installation
作成したら、このコマンドを呼び出してパスワードをテストできます。前のコマンドで設定したrootパスワードの入力を求められます:
# mysql -u root -p
ステップ4:Spamassassin、Clamav、Amavisdをインストールする-新規
次の行を実行して、Spamassassin、Clamav、Amavisd-new、およびこれらのプログラムが正しく機能するために必要ないくつかのパッケージをインストールします。
apt install spamassassin clamav clamav-daemon amavisd-new postgrey zip unzip bzip2 arj nomarch lzop cabextract libnet-ldap-perl libauthen-sasl-perl daemon libnet-ident-perl libnet-dns-perl libio-string-perl libio-socket-ssl-perl apt-listchanges
メモリ使用量を解放するために、spamassassinを停止できます。 ISPConfig 3はamavisdを使用します。amavisdはSpamassassinライブラリを内部的にロードするため、spamassassinを停止できます。
systemctl stop spamassassin systemctl disable spamassassin
freshclam
以下に示すように「freshclam」コマンドを実行しているときにエラーメッセージが表示された場合は、無視できます。これは、freshclamがすでに実行されていることを意味します。
ERROR: /var/log/clamav/freshclam.log is locked by another process ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
systemctl start clamav-daemon
この記事の執筆時点で、amavisd-newにはUbuntu 18.04のバグがあり、パッチを適用する必要があります。これを修正するには、次のコマンドを実行します。
cd /tmp wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch cd /usr/sbin cp -pf amavisd-new{,.orig} patch < /tmp/ubuntu-amavisd-new-2.11.patch
次のメッセージが表示されます。ただし、エラーメッセージが表示された場合は、amavisd-newにすでにパッチが適用されていることを意味します。
ステップ5:Apacheおよびその他のパッケージをインストールする
次のコマンドを実行して、ISPConfigに必要なパッケージをインストールします。これらの少なくともいくつかはすでにシステムにインストールされている可能性があります。
apt install apache2 apache2-utils apache2-doc libapache2-mod-php php7.2 php7.2-common php7.2-cli php7.2-mysql php7.2-sqlite3 php7.2-imap php7.2-gd php7.2-cgi php7.2-zip php7.2-mbstring php7.2-opcache php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-xsl libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby memcached php-memcache php-imagick libapache2-mod-python php-gettext php-apcu phpmyadmin mailman roundcube roundcube-core roundcube-mysql roundcube-plugins php-net-sieve tinymce getmail4 javascript-common libjs-jquery-mousewheel rkhunter binutils vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl bind9 dnsutils haveged daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl quota quotatool libnet-dns-perl pure-ftpd-common pure-ftpd-mysql cabextract certbot
インストール中に、いくつかの基本的な質問に答える必要があります。 Webサーバーを選択するように求められた場合は、Apache2を選択します。
また、phpMyAdminのMySQLアプリケーションパスワードとRoundcubeのMySQLアプリケーションパスワードを入力するように求められます。選択した強力なパスワードを入力するか、空白のままにして、システムにランダムなパスワードを作成させることができます。理想的には、パスワードを作成して、パスワードが何であるかを知ることができるようにします。
ApacheとPHPの構成
必要なパッケージのインストールが完了したら、ソフトウェアを構成します。 Apacheから始めましょう。次のApacheおよびPHPモジュールを有効にします。
a2enmod rewrite ssl cgi include actions suexec dav_fs dav auth_digest alias phpenmod mcrypt
systemctl restart apache2
また、Roundcube Webメールを構成して、Webメールログインフォームに入力されたサーバー名が表示されないようにする必要があります。
nano /etc/roundcube/config.inc.php
「default_host」の値を「localhost」に編集します
$config['default_host'] = 'localhost';
ファイルを保存して終了します。
pure-ftpdを構成する
ユーザーがファイルをアップロードおよびダウンロードできるように、Ubuntu VPSへのFTPアクセスをユーザーに提供する必要があるため、chroot環境を構成する必要があります。そうすれば、ユーザーはシステムの残りの部分にアクセスできなくなります。 /etc/default/pure-ftpd-common
を編集します ファイルを作成し、VIRTUALCHROOTの値をfalseからtrueに変更します。
nano /etc/default/pure-ftpd-common
VIRTUALCHROOT=true
ファイルを保存して終了し、サービスを再起動して変更を有効にします。
systemctl restart pure-ftpd-mysql
Mailmanの新しいリストを作成する
これで、Mailmanの新しいリストを作成できます。
newlist mailman
リストを実行する人の電子メールとパスワードを入力するように求められます。スクリプトは、/etc/aliases
に追加する必要のあるエイリアスの出力を提供します ファイル。
nano /etc/aliases
ファイルは次のようになります。
# Required aliases postmaster: root MAILER-DAEMON: postmaster # Common aliases abuse: postmaster spam: postmaster # Other aliases clamav: 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/mailman confirm 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"
ファイルを保存して閉じます。エイリアスデータベースを初期化し、サービスを再起動します。
newaliases systemctl restart mailman
awstatscronを無効にする
nano /etc/cron.d/awstats
そのファイルのすべての行を、行の前に「#」を追加してコメント化する必要があります。次のようになります。
#MAILTO=root #*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
ステップ6:Fail2Banをインストールする
この手順はスキップできますが、セキュリティ上の理由から、サーバーでFail2Banを実行することをお勧めします。これにより、SSHを介して何度もログインしようとするコンピューターのIPアドレスが一時的に禁止されます。次のコマンドを実行してインストールします:
apt install fail2ban -y
インストールしたら、好みのテキストエディタを使用して、Fail2Banの構成ファイルを編集します。
nano /etc/fail2ban/jail.local
[pure-ftpd] enabled = true port = ftp filter = pure-ftpd logpath = /var/log/syslog maxretry = 3 [dovecot] enabled = true filter = dovecot action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 [postfix] enabled = true port = smtp filter = postfix logpath = /var/log/mail.log maxretry = 3
ステップ7:Jailkitをインストールする
SSHユーザーをchrootする場合は、ISPConfigをインストールする前にJailkitをインストールする必要があります。
apt-get -y install build-essential autoconf automake1.11 libtool flex bison debhelper
cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz tar xvfz jailkit-2.20.tar.gz cd jailkit* echo 5 > debian/compat ./debian/rules binary>
これで、次のコマンドを使用してJailkitをインストールできます。
cd .. dpkg -i jailkit_2.20-1_*.deb
ステップ8:ISPConfig3をインストールする
最後に、ISPConfigをインストールしましょう。最新のリリースをダウンロードし、次のコマンドを使用してインストールします。s:
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ホスティングコントロールパネルにアクセスします:http://yourIPAddress:8080
おめでとう!この時点で、http://yourIPAddress:8080
でISPConfigにアクセスできるはずです。 。 ISPConfig、その機能および構成の詳細については、公式ドキュメントを確認してください。
CentOS3にISPConfig3をインストールする方法についてのチュートリアルを自由にチェックしてください。
もちろん、Ubuntu 18.04 VPSホスティングサービスを使用している場合は、Ubuntu18.04にISPConfigをインストールする方法を知る必要はありません。サポートチームにUbuntu18.04にISPConfigをインストールするよう依頼するだけです。これらは24時間年中無休で利用可能であり、Ubuntu18.04へのISPConfigのインストールを支援することができます。
PS 。 Ubuntu 18.04へのISPConfigのインストールに関するこのブログ投稿を楽しんでいる場合は、以下の共有ショートカットを使用してソーシャルネットワークで自由に共有するか、コメントセクションにコメントを残してください。ありがとうございます。