GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

完璧なサーバー-OpenSUSE12.2x86_64(Apache2、Dovecot、ISPConfig 3)

パーフェクトサーバー-OpenSUSE12.2x86_64(Apache2、Dovecot、ISPConfig 3)

これは、 OpenSUSE 12.2 64ビット(x86_64)のセットアップ方法に関する詳細な説明です。 ISPおよびホスティング業者が必要とするすべてのサービスを提供するサーバー:PHP、CGI、およびSSIをサポートするApache Webサーバー(SSL対応)、SMTP-AUTH、TLSおよび仮想メールユーザーを備えたPostfixメールサーバー、BIND DNSサーバー、Pureftpd FTPサーバー、MySQLサーバー、Dovecot POP3 / IMAP、Quota、Firewall、Mailmanなど。バージョン3.0.4以降、ISPConfigは、Apacheに加えてnginxWebサーバーを完全にサポートしています。このチュートリアルでは、nginxではなくApacheを使用するサーバーのセットアップについて説明します。

次のソフトウェアを使用します:

  • Webサーバー:PHP5を使用したApache2.2
  • データベースサーバー:MySQL
  • メールサーバー:仮想ユーザーによるPostfix
  • DNSサーバー:BIND
  • FTPサーバー:pureftpd
  • POP3 / IMAP:Dovecot
  • Webサイト統計用のWebalizerとAWStats

最終的には、信頼性が高く、ISPConfig3コントロールパネルで簡単に管理できるシステムが必要です。次のガイドは、64ビットバージョンのOpenSUSEを対象としています。

まず、このようなシステムを構築する方法はこれだけではありません。この目標を達成する方法はたくさんありますが、これが私のやり方です。これがあなたのために働くという保証はありません!

注意:このガイドは、ISPConfig3.0.1以降を対象としています。 ISPConfig2.xには適していません。

ISPConfig3マニュアル

ISPConfig 3の使用方法を学ぶために、ISPConfig3マニュアルをダウンロードすることを強くお勧めします。

約300ページで、ISPConfig(管理者、再販業者、クライアント)の背後にある概念をカバーし、ISPConfig 3をインストールおよび更新する方法を説明し、有効な入力の例とともにISPConfigのすべてのフォームとフォームフィールドのリファレンスを含み、 ISPConfig 3で最も一般的なタスクです。また、サーバーをより安全にする方法を示し、最後にトラブルシューティングのセクションがあります。

Android用ISPConfigモニターアプリ

ISPConfig Monitor Appを使用すると、サーバーのステータスを確認し、すべてのサービスが期待どおりに実行されているかどうかを確認できます。 TCPおよびUDPポートを確認し、サーバーにpingを実行できます。さらに、このアプリを使用して、ISPConfigがインストールされているサーバーに詳細を要求できます(ISPConfigモニターアプリをサポートするインストール済みのISPConfig3の最小バージョンは3.0.3.3です! );これらの詳細には、ISPConfigコントロールパネルのモニターモジュールから知っているすべてのもの(サービス、メールとシステムのログ、メールキュー、CPUとメモリの情報、ディスク使用量、クォータ、OSの詳細、RKHunterログなど)が含まれます。 、ISPConfigはマルチサーバー対応であるため、ISPConfigマスターサーバーから制御されているすべてのサーバーを確認できます。

ダウンロードと使用方法については、http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/にアクセスしてください。

1要件

このようなシステムをインストールするには、次のものが必要です。

  • OpenSUSE 12.2 DVD 。ここからダウンロードできます:http://download.opensuse.org/distribution/12.2/iso/openSUSE-12.2-DVD-x86_64.iso
  • 高速インターネット接続...

2予備メモ

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100およびゲートウェイ192.168.0.1を使用します。これらの設定はユーザーによって異なる場合があるため、必要に応じて置き換える必要があります。

3ベースシステム

OpenSUSE 12.2 DVDから起動し、[インストール]を選択します:

言語、キーボードレイアウトを選択し、ライセンス条項に同意します:

インストーラーはハードウェアを分析し、ソフトウェアリポジトリキャッシュを構築します:

新規インストールを選択します:

地域とタイムゾーンを選択します:

X-Windowデスクトップなしでサーバーをインストールするため、ここで[その他]> [最小サーバー選択(テキストモード)]を選択します。 X-Windowシステムはサーバーを実行するために必要ではなく、システムの速度を低下させます。シェル上またはSSH接続を介してすべての管理タスクを実行します。リモートデスクトップからPuTTY経由。

[パーティション設定の編集...]をクリックして、提案されたパーティションを変更します。これはサーバーのセットアップであるため、/homeパーティションの代わりに大きな/srvパーティションが必要です。

完璧なサーバー-OpenSUSE12.2x86_64(Apache2、Dovecot、ISPConfig 3)-ページ2

4ネットワーク設定を構成する

OpenSuSEシステム管理ツールであるYastを使用して、ネットワークカードの設定を再構成します。最初の起動後、システムはDHCPでIPアドレスを取得するように構成されます。サーバーの場合は、静的IPアドレスに切り替えます。

実行

yast2

[ネットワークデバイス]>[ネットワーク設定]を選択します:

ネットワークカードを選択してから編集:

[静的に割り当てられたIPアドレス]を選択し、IPアドレス、サブネットマスク、およびホスト名を入力し、[次へ]を選択して変更を保存します。

次に、[ホスト名/ DNS]を選択し、ホスト名(例:server1.example.com)とネームサーバー(例:8.8.8.8および8.8.4.4)を入力します。

次に、[ルーティング]を選択し、デフォルトゲートウェイを入力して、[OK]をクリックします。

ファイアウォールを設定するには(基本インストール時にファイアウォールを設定しなかった場合)、[セキュリティとユーザー]> [Yastのファイアウォール]を選択します:

このチュートリアルの最後に、独自のファイアウォールが付属しているISPConfigをインストールしたいと思います。そのため、今はデフォルトのOpenSUSEファイアウォールを無効にしています。もちろん、自由にオンのままにして、必要に応じて構成できます(ただし、OpenSUSEファイアウォールに干渉する可能性が高いため、後で他のファイアウォールを使用しないでください)。

[ファイアウォールの自動開始を無効にする]と[ファイアウォールを今すぐ停止する]を選択し、[次へ]をクリックします。

[完了]をクリックしてYastを終了します:

その後、確認する必要があります

ifconfig

ネットワーク構成が正しい場合。そうでない場合(たとえば、eth0がない場合)、システムを再起動します...

reboot

...その後、ネットワーク構成をもう一度確認します。これで正しいはずです。

5つのアップデートのインストール

次に、openSUSEリポジトリから最新のアップデートをインストールします。実行

zypper update 

そして、カーネルアップデートもインストールした可能性が高いため、サーバーを再起動します。

reboot

6いくつかの基本パッケージをインストールする

実行

zypper install  findutils readline glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico sudo perl-TimeDate

7ジャーナルクォータ

クォータをインストールするには

を実行します
zypper install  quota

/ etc / fstabを次のように編集します(マウントポイント/および/ srvに、usrjquota =aquota.user、grpjquota =aquota.group、jqfmt =vfsv0を追加しました):

vi /etc/fstab
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part2 /                    ext4       acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part3 /srv                 ext4       acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

次に実行します:

mount -o remount /
mount -o remount / srv

quotacheck -avugm
quote-avug

これらのエラーメッセージが表示されても心配しないでください。quotacheckを初めて実行するときは正常です:

server1:〜#quotacheck -avugm
quotecheck:スキャン/ dev / sda2 [/] done
quotecheck:古いユーザーquotaファイルを統計できません:そのようなファイルまたはディレクトリはありません
quotecheck:古いグループを統計できませんクォータファイル:そのようなファイルまたはディレクトリはありません
quotecheck:古いユーザーを統計できませんクォータファイル:そのようなファイルまたはディレクトリはありません
quotecheck:古いグループのクォータファイルを統計できません:そのようなファイルまたはディレクトリはありません
quotecheck: 3872ディレクトリと32991ファイルをチェックしました
quotacheck:古いファイルが見つかりません。
quotecheck:古いファイルが見つかりません。
quotecheck:/ dev / sda3 [/srv]のスキャンが完了しました
quotacheck:古いユーザークォータファイルを統計できません:そのようなファイルまたはディレクトリはありません
quotecheck:古いグループクォータファイルを統計できません:そのようなファイルまたはディレクトリはありません
quotecheck:古いユーザークォータファイルを統計できません:そのようなファイルまたはディレクトリはありません
quotecheck:古いグループのクォータファイルを統計できません:そのようなファイルまたはディレクトリはありません
quotecheck:6つのディレクトリと0のファイルをチェックしました
quotecheck:古いファイルが見つかりません。
quotecheck:古いファイルが見つかりません。
ser ver1:〜#

完璧なサーバー-OpenSUSE12.2x86_64(Apache2、Dovecot、ISPConfig 3)-4ページ

8 Postfix、Dovecot、MySQLをインストール

実行

zypper install  postfix postfix-mysql  mysql-community-server libmysqlclient-devel dovecot21 dovecot21-backend-mysql pwgen cron python

次のメッセージが表示された場合は、eximのアンインストールを選択してください。

問題:postfix-2.8.11-2.6.1.x86_64がexim-4.77-2.1.3.x86_64によって提供されるeximと競合する
解決策1:次のアクションが実行されます:
postfix-2.8をインストールしないでください.11-2.6.1.x86_64
postfix-mysql-2.8.11-2.6.1.x86_64をインストールしないでください
解決策2:exim-4.77-2.1.3.x86_64の削除

上記のソリューションから番号で選択するか、スキップ、再試行、またはキャンセルします[1/2 / s / r / c](c):<-2

また、patterns-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64をアンインストールする必要がある場合があります:

問題:patterns-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64は、python-2.7.3-3.6.1.x86_64によって提供されるpythonと競合します
解決策1:patterns-openSUSE-minimal_base-conflicts-の削除12.2-5.5.1.x86_64
ソリューション2:python-2.7.3-3.6.1.x86_64をインストールしないでください

上記のソリューションから番号で選択するか、スキップ、再試行、またはキャンセルします[1 / 2 / s / r / c](c):<-1

次のシンボリックリンクを作成します:

ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

この時点で、MySQLがエラーで開始することを拒否したため、再起動する必要がありました:

Failed to issue method call: Unit mysql.service failed to load: No such file or directory. See system logs and 'systemctl status mysql.service' for details. 
reboot

MySQL、Postfix、およびDovecotを起動し、起動時にサービスを開始できるようにします。

systemctl enable mysql.service
systemctl start mysql.service

systemctl enable postfix.service
systemctl start postfix.service

systemctl enable dovecot.service
systemctl start dovecot.service

次に、getmailパッケージをインストールします:

zypper install  getmail

MySQLのインストールを保護するには、次のコマンドを実行します。

mysql_secure_installation

ここで、いくつかの質問があります:

server1:〜#mysql_secure_installation




注:このスクリプトのすべての部分を実行することは、すべてのMySQLに推奨されます
本番環境で使用するサーバー!各ステップを注意深くお読みください。


MySQLにログインしてセキュリティで保護するには、rootユーザーの現在の
パスワードが必要です。 MySQLをインストールしたばかりで、
rootパスワードをまだ設定していない場合、パスワードは空白になります。
ここで、Enterキーを押すだけです。

Enter rootの現在のパスワード(noneの場合は入力):<-ENTER
OK、正常に使用されたパスワード、次に進みます...

rootパスワードを設定すると、誰もMySQLにログインできないようになります
適切な権限のないrootユーザー。

rootパスワードを設定しますか? [Y / n] <-Y
新しいパスワード:<-yourrootsqlpassword
新しいパスワードを再入力してください:<-yourrootsqlpassword
パスワードが正常に更新されました!
特権テーブルを再読み込みしています。 。
...成功!


デフォルトでは、MySQLのインストールには匿名のユーザーが含まれているため、ユーザーアカウントを持たなくても誰でもMySQLにログインできます。

それらのために作成されました。これは、テストのみを目的としており、インストールを
少しスムーズにすることを目的としています。
本番環境に移動する前に、それらを削除する必要があります。

匿名ユーザーを削除しますか? [Y / n] <-Y
...成功!

通常、rootは「localhost」からの接続のみを許可する必要があります。これにより、
誰かが、ネットワークからのルートパスワードを推測できないようになります。

ルートログインをリモートで禁止しますか? [Y / n] <-Y
...成功!

デフォルトでは、MySQLには「test」という名前のデータベースが付属しており、誰でもアクセスできます。
これもテストのみを目的としており、
本番環境に移動する前に削除する必要があります。

テストデータベースを削除して、データベースにアクセスしますか? [Y / n] <-Y
-テストデータベースを削除しています...
...成功しました!
-テストデータベースの特権を削除しています...
...成功しました!

特権テーブルを再読み込みすると、これまでに行われたすべての変更が
すぐに有効になります。

特権テーブルを今すぐ再読み込みしますか? [Y / n] <-Y
...成功!

クリーンアップ...



すべて完了しました!上記のすべての手順を完了した場合、MySQLのインストールは安全になっているはずです。

MySQLをご利用いただきありがとうございます。


server1: 〜#

これで、MySQLのセットアップが保護されます。

9 Amavisd-new、Spamassassin And Clamav

Amavisd-new、Spamassassin、Clamavアンチウイルスをインストールします。実行

zypper install  amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql

/etc/amavisd.confを開きます...

vi /etc/amavisd.conf

...そして$mydomain行の下に正しいホスト名で$myhostname行を追加します:

[...]
$mydomain = 'example.com';   # a convenient default for other settings
$myhostname = "server1.$mydomain";
[...]

次に、/ var / run / clamav/clamdから/var/ lib / clamav/clamd-socketへのシンボリックリンクを作成します。

mkdir -p / var / run / clamav
ln -s / var / lib / clamav / clamd-socket / var / run / clamav / clamd

OpenSUSE 12.2には、ランタイムデータを保存するための/runディレクトリがあります。 / runはtmpfsになり、/ var /runはtmpfsから/runにバインドマウントされるようになったため、再起動時に空になります。

これは、再起動後、作成したばかりのディレクトリ/ var / run / clamavが存在しなくなるため、clamdの起動に失敗することを意味します。したがって、ファイル/etc/tmpfiles.d/clamav.confを作成します。これにより、システムの起動時にこのディレクトリが作成されます(詳細については、http://0pointer.de/public/systemd-man/tmpfiles.d.htmlを参照してください)。

vi /etc/tmpfiles.d/clamav.conf
D /var/run/clamav 0755 root root -

amavisdとclamdを開始する前に、/ etc / init.d / amavis initスクリプトを編集する必要があります-デフォルトのinitスクリプトでamavisdを確実に開始、停止、再起動できませんでした:

vi /etc/init.d/amavis

開始セクションと停止セクションの次の行をコメントアウトします。

[...]
    start)
        # ZMI 20100428 check for stale pid file
        #if test -f $AMAVIS_PID ; then
        #       checkproc -p $AMAVIS_PID amavisd
        #       if test $? -ge 1 ; then
        #               # pid file is stale, remove it
        #               echo -n "(stale amavisd pid file $AMAVIS_PID found, removing. Did amavisd crash?)"
        #               rm -f $AMAVIS_PID
        #       fi
        #fi
        echo -n "Starting virus-scanner (amavisd-new): "
        $AMAVISD_BIN start
        #if ! checkproc amavisd; then
        #    rc_failed 7
        #fi
        rc_status -v
        #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
        #    rc_reset
        #    echo -n "Starting amavis-milter:"
        #    startproc -u vscan $AMAVIS_MILTER_BIN -p $AMAVIS_MILTER_SOCK > /dev/null 2>&1
        #    rc_status -v
        #fi
        ;;
    stop)
        echo -n "Shutting down virus-scanner (amavisd-new): "
        #if checkproc amavisd; then
        #    rc_reset
            $AMAVISD_BIN stop
        #else
        #    rc_reset
        #fi
        rc_status -v
        #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
        #    rc_reset
        #    echo -n "Shutting down amavis-milter: "
        #    killproc -TERM $AMAVIS_MILTER_BIN
        #    rc_status -v
        #fi
        ;;
[...]

initスクリプトを変更したため、実行する必要があります

systemctl --system daemon-reload

今。

サービスを有効にするには、次のコマンドを実行します:

systemctl enable amavis.service
systemctl enable clamd.service
systemctl start amavis.service
systemctl start clamd.service

10 PHP5、Python、WebDAVを使用してApache2Webサーバーをインストールします

Apache2とsuphpをインストールします。実行:

zypper install  apache2 apache2-mod_fcgid

PHP5をインストールします:

zypper install  php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl apache2-mod_php5
zypper install http://download.opensuse.org/repositories/server:/php/openSUSE_12.2/x86_64/suphp-0.7.1-5.1.x86_64.rpm

次に、次のコマンドを実行して、Apacheモジュール(WebDAVを含む)を有効にします。

a2enmod suexec
a2enmod rewrite
a2enmod ssl
a2enmodアクション
a2enmodsuphp
a2enmod fcgid
a2enmod dav
a2enmod dav_fs
a2enmod dav_lock
chown root:www / usr / sbin / suexec2
chmod 4755 / usr / sbin / suexec2

a2enflag SSL

Pythonサポートを追加するには、次を実行します:

zypper install  apache2-mod_python
a2enmod python 

次に、phpMyAdminをインストールします:

zypper install  phpMyAdmin

後で/phpmyadmin(例:http://www.example.com/phpmyadmin)と/ phpMyAdmin(例:http://www.example.com/phpMyAdmin)を使用して、ISPConfigで作成されたすべてのWebサイトからphpMyAdminにアクセスできるようにするため)、/ etc / apache2 / conf.d / phpMyAdmin.conf ...

を開きます
vi /etc/apache2/conf.d/phpMyAdmin.conf

...そして最初に次の2つのエイリアスを追加します:

Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin
Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin
[...]

Apacheを起動します:

systemctl enable apache2.service
systemctl start apache2.service

10.1 PHP-FPM

今後のISPConfig3.0.5から、Apacheで使用するために選択できる追加のPHPモードPHP-FPMが追加されます。このPHPモードを使用する場合は、システムを今すぐ構成して、後でISPConfig 3.0.5にアップグレードするときにシステムが準備されるようにすることをお勧めします(この記事の執筆時点での最新のISPConfigバージョンはISPConfig 3.0です)。 .4.6)。

PHP-FPMをApacheで使用するには、mod_fastcgi Apacheモジュールが必要です(これをmod_fcgidと混同しないでください。これらは非常に似ていますが、PHP-FPMをmod_fcgidで使用することはできません)。 PHP-FPMとmod_fastcgiは次のようにインストールできます。

mod_fastcgiは、次のように有効にできるサードパーティのリポジトリから入手できます。

zypper --gpg-auto-import-keys addrepo --name "Third-party modules for the Apache HTTP server. (Apache_openSUSE_12.2)" http://download.opensuse.org/repositories/Apache:/Modules/Apache_openSUSE_12.2/ apache-third-party-12.2

次に、mod_fastcgiとPHP-FPMをインストールします:

zypper install  apache2-mod_fastcgi php5-fpm

残念ながら、apache2-mod_fastcgiパッケージにバグがあり、セクション内でFastCgiExternalServerディレクティブを使用できません(OpenSUSE 12.2でApache2用のmod_fastcgiをビルドする方法を参照)。そのため、mod_fastcgiを再構築する必要があります:

zypper install apache2-devel

wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
tar xvfz mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6 /
cp Makefile.AP2 Makefile

ln -s /usr/include/apache2-worker/mpm.h / usr / include / apache2 /
make top_dir =/ usr / share / apache2
make top_dir =/ usr / share / apache2 install

PHP-FPMを開始する前に、/ etc / php5 / fpm/php-fpm.conf.defaultの名前を/etc/php5/fpm/php-fpm.confに変更します。

mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

PHPのセッションディレクトリの権限を変更します:

chmod 1733 /var/lib/php5 

次に、/ etc / php5 / fpm / php-fpm.conf ...

を開きます。
vi /etc/php5/fpm/php-fpm.conf

...そしてerror_logを/var/log/php-fpm.logに変更します:

[...]
error_log = /var/log/php-fpm.log
[...]

OpenSUSE 12.2にはPHP-FPM用のphp.iniファイルがないため、CLIphp.iniをコピーします。

cp /etc/php5/cli/php.ini /etc/php5/fpm/

次に/etc/php5/fpm/php.iniを開きます...

vi /etc/php5/fpm/php.ini

...そしてcgi.fix_pathinfoを0に設定します:

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

次に、php-fpmのシステム起動リンクを作成して起動します:

systemctl enable php-fpm.service
systemctl start php-fpm.service

PHP-FPMは、ポート9000でFastCGIサーバーを実行するデーモンプロセスです。これは、

の出力で確認できます。
netstat -tapn

server1:〜#netstat -tapn
アクティブなインターネット接続(サーバーと確立済み)
Proto Recv-Q Send-Q Local Address Foreign Address PID / Program name
t 80              0.0.0.0:*               LISTEN      2329/nginx
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1204/sshd
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      2511 /php-fpm.conf)
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 192.168. br /> tcp 0 0 :::22 :::* LISTEN 1204 / sshd
server1:〜#

次に、次のApacheモジュールを有効にします...

a2enmodアクション
a2enmodfastcgi
a2enmodエイリアス

...そしてApacheを再起動します:

systemctl restart apache2.service

完璧なサーバー-OpenSUSE12.2x86_64(Apache2、Dovecot、ISPConfig 3)-5ページ

11PureFTPdをインストールします

pure-ftpdFTPデーモンをインストールします。実行:

zypper install  pure-ftpd

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

次に、FTPおよびTLSセッションを許可するようにPureFTPdを構成します。 FTPは、すべてのパスワードとすべてのデータがクリアテキストで転送されるため、非常に安全でないプロトコルです。 TLSを使用することにより、通信全体を暗号化できるため、FTPの安全性が大幅に向上します。

TLSにはOpenSSLが必要です。 OpenSSLをインストールするには、次のコマンドを実行するだけです。

zypper install  openssl

/etc/pure-ftpd/pure-ftpd.confを開きます...

vi /etc/pure-ftpd/pure-ftpd.conf

FTPをおよび許可する場合 TLSセッション、TLSを1に設定します:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

TLSセッションのみ(FTPなし)を受け入れる場合は、TLSを2に設定します。

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      2
[...]

TLSをまったく許可しない(FTPのみ)には、TLSを0に設定します。

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      0
[...]

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文字のコード)[AU]:<-国名を入力します(例:「DE」)。
州名または州名(フルネーム)[一部の州]:<-州を入力しますまたは州名。
地域名(例:市)[]:<-市区町村を入力してください。
組織名(例:会社)[Internet Widgits Pty Ltd]:<-組織名を入力してください(例:会社名)
組織単位名(例:セクション)[]:<-組織単位名(例:「IT部門」)を入力します。
一般名(例:あなたの名前)[]:<-システムの完全修飾ドメイン名を入力します(例: "server1.example.com")。
メールアドレス[]:<-メールアドレスを入力します。

SSL証明書のアクセス許可を変更します:

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

最後にPureFTPdを再起動します:

systemctl restart pure-ftpd.service 

それでおしまい。これで、FTPクライアントを使用して接続を試みることができます。ただし、TLSを使用するようにFTPクライアントを構成する必要があります。FileZillaでこれを行う方法については、次の章を参照してください。

12BINDをインストールする

BINDネームサーバーは次のようにインストールできます:

zypper install  bind

BINDシステムのスタートアップリンクを作成して開始します:

systemctl enable named.service
systemctl start named.service

13WebalizerとAWStatsをインストールする

ISPConfig 3では、WebalizerとAWStatsのどちらを使用してWebサイトの統計を作成するかを選択できるため、両方をインストールします。

zypper install  webalizer perl-DateManip
zypper install http://download.opensuse.org/repositories/network:/utilities/openSUSE_12.2/noarch/awstats-7.0-14.1.noarch.rpm

14fail2banをインストール

fail2banは次のようにインストールできます:

zypper install  fail2ban

15Jailkitをインストールする

Jailkitは次のようにインストールできます:

zypper install http://download.opensuse.org/repositories/security/openSUSE_12.2/x86_64/jailkit-2.13-1.3.x86_64.rpm

16システム時計を同期する

システムクロックをNTPサーバーと同期させる場合は、次の手順を実行します。

zypper install  xntp

次に、ntpのシステム起動リンクを追加してntpを起動します:

systemctl enable ntp.service
systemctl start ntp.service

17rkhunterをインストールする

rkhunterは次のようにインストールできます:

zypper install  rkhunter

18SquirrelMailをインストールする

SquirrelMailウェブメールクライアントをインストールするには、次のコマンドを実行します:

zypper install  squirrelmail-beta

次に、/ etc / apache2 / conf.d / squirrelmail.confの先頭にエイリアス/webmailと/squirrelmailを作成して、任意のvhost(http://www.example.com/webmailやhttp://www.example.com/squirrelmail):

vi /etc/apache2/conf.d/squirrelmail.conf
Alias /squirrelmail /srv/www/htdocs/squirrelmail
Alias /webmail /srv/www/htdocs/squirrelmail
[...]

次に、ディレクトリ/ srv / www / htdocs / squirrelmail / dataを作成し、wwwグループが書き込むことができるように十分な権限を付与します。

mkdir / srv / www / htdocs / squirrelmail / data
chown root:www / srv / www / htdocs / squirrelmail / data
chmod 770 / srv / www / htdocs / squirrelmail / data

次に、Apacheを再起動します。

systemctl restart apache2.service

次に、SquirrelMailを設定します:

/srv/www/htdocs/squirrelmail/config/conf.pl

Dovecotを使用していることをSquirrelMailに伝える必要があります:

警告:
ファイル「config / config.php」が見つかりましたが、
古いバージョンのSquirrelMail用です。
このファイルからデフォルトを読み取ることは可能ですが、
多くの設定がバージョン間で変更されることに注意してください。
アップグレードするたびに、クリーンなconfig.phpから始めることをお勧めします。
これを行うには、config/config.phpを邪魔にならない場所に移動します。

古いconfig.php[y/ N]を使用して読み込みを続行しますか? <-y

警告を停止しますか[y/N]? <-y

SquirrelMail Configuration:Read:config.php(1.5.0)
--------------------- ------------------------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。ユーザーインターフェース
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語設定
11。微調整

D.特定のIMAPサーバー用に事前定義された設定を設定します

C色をオンにします
Sデータを保存します
Q終了します

コマンド>><-D


SquirrelMailの構成:読み取り:config.php
--------------------------- ------------------------------
SquirrelMailを構築している間に、いくつかの
設定を発見しましたこれは、他のサーバーではうまく機能しない一部のサーバーでうまく機能します。
IMAPサーバーを選択した場合、このオプションにより、そのサーバーに事前定義された設定が
設定されます。

引き続き、すべてを確認する必要があることに注意してください。
正しい。これによってすべてが変わるわけではありません。
これが変更される設定はごくわずかです。

IMAPサーバーを選択してください:
bincimap =BincIMAPサーバー
courier=クーリエIMAPサーバー
cyrus =Cyrus IMAP server
dovecot =Dovecot Secure IMAP server
exchange =Microsoft Exchange IMAP server
hmailserver =hMailServer
/ 32
uw=ワシントン大学のIMAPサーバー
gmail=Googleメール(Gmail)アカウントへのIMAPアクセス

変更しない
変更しない
コマンド>><-dovecot


SquirrelMail Configuration:Read:config.php
------------------- --------------------------------------
SquirrelMailを構築している間、
他のサーバーではうまく機能しない一部のサーバーで、より適切に機能する
いくつかの設定を発見しました。 IMAPサーバーを選択した場合、このオプションにより、そのサーバーに事前定義された設定が
設定されます。

引き続き、すべてを確認する必要があることに注意してください。
正しい。これによってすべてが変わるわけではありません。
これが変更される設定はごくわずかです。

IMAPサーバーを選択してください:
bincimap =BincIMAPサーバー
courier=クーリエIMAPサーバー
cyrus =Cyrus IMAP server
dovecot =Dovecot Secure IMAP server
exchange =Microsoft Exchange IMAP server
hmailserver =hMailServer
/ 32
uw=ワシントン大学のIMAPサーバー
gmail=Googleメール(Gmail)アカウントへのIMAPアクセス

変更しない
変更しない
Command >> dovecot

              imap_server_type = dovecot
         default_folder_prefix = 
                  trash_folder = Trash
                   sent_folder = Sent
                  draft_folder = Drafts
            show_prefix_option =false
default_sub_of_inbox =false
show_contain_subfolders_op tion =false
optional_delimiter =detect
delete_folder =false
force_username_lowercase =true

Enterキーを押して続行します...>
SquirrelMail Configuration:Read:config.php(1.5.0)
---------------------------- -----------------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。ユーザーインターフェース
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語設定
11。微調整

D.特定のIMAPサーバー用に事前定義された設定を設定します

C色をオンにします
Sデータを保存します
Q終了します

コマンド>><-S


SquirrelMailの構成:読み取り:config.php(1.5.0)
---------------------- -----------------------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。ユーザーインターフェース
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語設定
11。微調整

D.特定のIMAPサーバー用に事前定義された設定を設定します

C色をオンにします
Sデータを保存します
Q終了します

コマンド>>S

config.phpに保存されたデータ



プラグインのアクティブ化が完了しました。 plugin_hooks.phpに保存された登録データ

Enterキーを押して続行します...<-ENTER


SquirrelMail Configuration:Read:config.php(1.5.0 )
---------------------------------------------- ------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。ユーザーインターフェース
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語設定
11。微調整

D.特定のIMAPサーバー用に事前定義された設定を設定します

C色をオンにします
Sデータを保存します
Q終了します

コマンド>><-Q

ISPConfigでWebサイトを作成した後、/webmailまたは/squirrelmailエイリアスを使用してSquirrelMailにアクセスできます。

完璧なサーバー-OpenSUSE12.2x86_64(Apache2、Dovecot、ISPConfig 3)-6ページ

19 ISPConfig 3

ISPConfig 3をインストールする前に、/ var /vmail/ディレクトリが存在することを確認してください。

mkdir /var/vmail/

現在のISPConfig3バージョンをダウンロードしてインストールします。 ISPConfigインストーラーは、Postfix、Dovecotなどのすべてのサービスを構成します。 ISPConfig2に必要な手動セットアップはもう必要ありません。

また、インストーラーがISPConfigコントロールパネルのSSL vhostを作成できるようにして、http://ではなくhttps://を使用してISPConfigにアクセスできるようにすることもできます。これを実現するには、次の質問が表示されたらEnterキーを押します。ISPConfigWebインターフェイス(y、n)[y]への安全な(SSL)接続が必要ですか。

cd / tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install / install /

次に、以下を実行してインストールプロセスを開始します。

php -q install.php

server1:/ tmp / ispconfig3_install / install#php -q install.php


----------------------- -------------------------------------------------- -------
_____ ___________ _____ __ _ ____
| _ _ / ___ | ___ \ / __ \ / _(_)/ __ \
| | \`-。| | _ / / | / \ / ___ _ __ | | _ _ __ _ _ / /
| | `-。 \ __ / | | / _ \ | '_ \ | _ | | / _` | | _ |
_ | | _ / \ __ / / | | \ __ / \(_)| | | | | | | (_ | | ___ \ \
\ ___ / \ ____ / \ _ | \ ____ / \ ___ / | _ | | _ | _ | | _ | \ __、| \ ____ /
_ |
| ___ /
------------------------------------- ------------------------------------------


>>初期構成

オペレーティングシステム:openSUSEまたは互換性のある不明なバージョン。

以下は、プライマリ構成に関するいくつかの質問になるため、注意が必要です。
デフォルト値は[括弧]内にあり、で受け入れることができます。
「終了」(引用符なし)をタップして、インストーラーを停止します。


言語を選択します(en、de)[en]:<-ENTER

インストールモード(標準、エキスパート)[標準]:<-ENTER

完全修飾ホスト名(FQDN)サーバーの例:server1.domain.tld [server1.example.com]:<-ENTER

MySQL server hostname [localhost]:<-ENTER

MySQL root username [root]:<-ENTER

MySQL root password []: <-yourrootsqlpassword

MySQLデータベースを作成して[dbispconfig]:<-ENTER

MySQL charset [utf8]:<-ENTER

2048ビットのRSA秘密鍵を生成する
......................................。 ................ +++
..........................。 ......................+++
新しい秘密鍵を「smtpd.key」に書き込む
-----
証明書のリクエストに組み込まれる情報を入力するように求められます。
入力しようとしているのは、識別名またはDNと呼ばれるものです。
そこにあります。かなりの数のフィールドですが、一部を空白のままにすることができます
一部のフィールドでは、デフォルト値があります。
「。」と入力すると、フィールドは空白のままになります。
--- -
国名(2文字コード)[AU]:<-ENTER
州名または州名(氏名)[一部の州]:<-ENTER
地域名(例:city)[]:<-ENTER
Organization Name(eg、company)[Internet Widgits Pty Ltd]:<-ENTER
Organizational Unit Name(eg、sect ion)[]:<-ENTER
共通の名前(例:あなたの名前)[]:<-ENTER
メールアドレス[]:<-ENTER
Jailkitの設定
Dovecotの構成
Spamassassinの構成
Amavisdの構成
Getmailの構成
Pureftpdの構成
BINDの構成
Apacheの構成
Vloggerの構成
構成Apps vhost
Bastilleファイアウォールの構成
Fail2banの構成
ISPConfigのインストール
ISPConfigポート[8080]:<-ENTER

安全な(SSL )ISPConfigウェブインターフェースへの接続(y、n)[y]:<-ENTER

RSA秘密鍵を生成し、長さ4096ビットのモジュラス
........ + +
..................................... ++
eは65537(0x10001)
証明書のリクエストに組み込まれる情報を入力するように求められます。
入力しようとしているのは、識別名またはDNと呼ばれるものです。 。
かなりの数のフィールドがありますが、一部を空白のままにすることができます
一部の場合は、フィールドはデフォルト値になります。
「。」と入力すると、フィールドは空白のままになります。
-----
国名(2文字のコード)[AU]: <-ENTER
州名または州名(氏名)[一部の州]:<-ENTER
地域名(例:市区町村)[]:<-ENTER
組織名(例:company)[Internet Widgits Pty Ltd]:<-ENTER
Organizational Unit Name(eg、section)[]:<-ENTER
Common Name(eg、YOUR name)[]: <-ENTER
メールアドレス[]:<-ENTER

次の「追加」属性を入力して、証明書のリクエストとともに送信してください
チャレンジpassword []:<-ENTER
オプションの会社名[]:<-ENTER
RSAキーの書き込み
DBServerの構成
ISPConfigcrontabのインストール
nocrontab for root
getmailのcrontabがありません
サービスを再開しています...
systemctlにリダイレクトします
systemctlにリダイレクトします
systemctlにリダイレクトします
systemctlにリダイレクトします
systemctlへのリダイレクト
systemcへのリダイレクトtl
systemctlへのリダイレクト
systemctlへのリダイレクト
インストールが完了しました。
server1:/ tmp / ispconfig3_install / install#

/ tmpディレクトリをクリーンアップします:

cd / tmp
rm -rf /tmp/ispconfig3_install
rm -f /tmp/ISPConfig-3-stable.tar.gz

/etc/suphp.confを開きます...

vi /etc/suphp.conf

...そして、x-httpd-suphp ="php:/ srv / www / cgi-bin/php5ではなくx-httpd-suphp="php:/ srv / www / cgi-bin/php"が含まれていることを確認します"ファイルの終わりに向かって:

[...]
[handlers]
;Handler for php-scripts
x-httpd-suphp="php:/srv/www/cgi-bin/php"
[...]

その後、http(s)://server1.example.com:8080 /またはhttp(s)://192.168.0.100:8080 /でISPConfig3にアクセスできます(httpまたはhttpsは、インストール時に選択した内容によって異なります)。ユーザー名adminとパスワードadminでログインします(最初のログイン後にデフォルトのパスワードを変更する必要があります):

19.1ISPConfig3マニュアル

ISPConfig 3の使用方法を学ぶために、ISPConfig3マニュアルをダウンロードすることを強くお勧めします。

約300ページで、ISPConfig(管理者、再販業者、クライアント)の背後にある概念をカバーし、ISPConfig 3をインストールおよび更新する方法を説明し、有効な入力の例とともにISPConfigのすべてのフォームとフォームフィールドのリファレンスを含み、 ISPConfig 3で最も一般的なタスクです。また、サーバーをより安全にする方法を示し、最後にトラブルシューティングのセクションがあります。

19.2Android用ISPConfigモニターアプリ

ISPConfig Monitor Appを使用すると、サーバーのステータスを確認し、すべてのサービスが期待どおりに実行されているかどうかを確認できます。 TCPおよびUDPポートを確認し、サーバーにpingを実行できます。さらに、このアプリを使用して、ISPConfigがインストールされているサーバーに詳細を要求できます(ISPConfigモニターアプリをサポートするインストール済みのISPConfig3の最小バージョンは3.0.3.3です! );これらの詳細には、ISPConfigコントロールパネルのモニターモジュールから知っているすべてのもの(サービス、メールとシステムのログ、メールキュー、CPUとメモリの情報、ディスク使用量、クォータ、OSの詳細、RKHunterログなど)が含まれます。 、ISPConfigはマルチサーバー対応であるため、ISPConfigマスターサーバーから制御されているすべてのサーバーを確認できます。

ダウンロードと使用方法については、http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/にアクセスしてください。

  • OpenSUSE:http://www.opensuse.org/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. 完璧なサーバー– CentOS 7(Apache2、Dovecot、ISPConfig 3)

  2. 完璧なサーバー-OpenSUSE12.3x86_64(Apache2、Dovecot、ISPConfig 3)

  3. 完璧なサーバー-OpenSUSE12.3x86_64(nginx、Dovecot、ISPConfig 3)

  1. 完璧なサーバー-Fedora15x86_64 [ISPConfig 3]

  2. 完璧なサーバー-Apache2を搭載したCentOS6.1x86_64 [ISPConfig 3]

  3. 完璧なサーバー-OpenSUSE12.1x86_64 with Nginx [ISPConfig 3]

  1. 完璧なサーバー-Apache2を使用したOpenSUSE12.1x86_64 [ISPConfig 3]

  2. 完璧なサーバー-CentOS6.3x86_64(Apache2、Dovecot、ISPConfig 3)

  3. 完璧なサーバー-Ubuntu12.04LTS(Apache2、BIND、Dovecot、ISPConfig 3)