パーフェクトサーバー-CentOS6.4x86_64(Apache2、Dovecot、ISPConfig 3)
このチュートリアルでは、ISPConfig3のインストール用にCentOS6.4 x86_64サーバーを準備する方法と、ISPConfig3をインストールする方法を示します。ISPConfig3は、Webブラウザーを介して次のサービスを構成できるWebホスティングコントロールパネルです。ApacheWebサーバー、Postfixメールサーバー、MySQL、BINDネームサーバー、PureFTPd、SpamAssassin、ClamAV、Mailman、その他多数。バージョン3.0.4以降、ISPConfigには、Apacheに加えてnginxWebサーバーの完全なサポートが付属しています。このチュートリアルでは、nginxではなくApacheを使用するサーバーのセットアップについて説明します。
この設定はISPConfig2では機能しないことに注意してください ! ISPConfig3でのみ有効です。
これがあなたのために働くという保証はありません!
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要件
このようなシステムをインストールするには、次のものが必要です。
- 隣のミラーから2枚のCentOS6.4DVDをダウンロードします(ミラーのリストはここにあります:http://isoredirect.centos.org/centos/6/isos/x86_64/)。
- 高速インターネット接続。
2予備メモ
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100およびゲートウェイ192.168.0.1を使用します。これらの設定はユーザーによって異なる場合があるため、必要に応じて置き換える必要があります。
3ベースシステムのインストール
最初のCentOS6.4DVD(DVD 1)から起動します。 [既存のシステムのインストールまたはアップグレード]を選択します:
インストールメディアのテストには長い時間がかかる可能性があるため、ここではこのテストをスキップします:
CentOSインストーラーのウェルカム画面が表示されます。 [次へ]をクリックします:
次に言語を選択してください:
キーボードレイアウトを選択します:
ローカルに接続されたハードドライブを使用していると想定しているため、ここで基本ストレージデバイスを選択する必要があります:
次の警告が表示される場合があります-ドライブの処理中にエラーが発生しました。これが表示された場合は、[すべて再初期化]ボタンをクリックして続行します。
サーバーのホスト名(例:server1.example.com)を入力し、[ネットワークの構成]ボタンをクリックします。
[有線]タブに移動し、ネットワークインターフェイス(おそらくeth0)を選択して、[編集...]をクリックします。:
[自動的に接続する]チェックボックスをオンにして、[IPv4設定]タブに移動し、[方法]ドロップダウンメニューで[手動]を選択します。 [DNSサーバー]フィールド(例:8.8.8.8、8.8.4.4)に1つ、2つ、または3つのネームサーバー(コンマで区切って)を入力し、[アドレス]領域の横にある[追加]ボタンをクリックします。
次に、ネットワークカードに静的IPアドレスとネットマスクを指定します(このチュートリアルでは、デモンストレーションの目的でIPアドレス192.168.0.100とネットマスク255.255.255.0を使用しています。正しい値がわからない場合は、http://www。サブネットマスク.infoが役立つ場合があります)。また、ゲートウェイ(192.168.0.1など)に入力して、[適用...]ボタンをクリックします:
これでネットワーク構成は完了です。 [次へ]ボタンをクリックします:
完璧なサーバー-CentOS6.4x86_64(Apache2、Dovecot、ISPConfig 3)-ページ2
4 / etc/hostsを調整します
次に、/ etc/hostsを編集します。次のようにします:
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.0.100 server1.example.com server1 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |
5ファイアウォールの構成
(基本的なシステムインストールの最後にファイアウォールをすでに無効にしている場合は、この章をスキップできます。)
このチュートリアルの最後に、独自のファイアウォールが付属しているISPConfigをインストールしたいと思います。そのため、今はデフォルトのCentOSファイアウォールを無効にしています。もちろん、そのままにして、必要に応じて構成することもできます(ただし、CentOSファイアウォールに干渉する可能性が高いため、後で他のファイアウォールを使用しないでください)。
実行
system-config-firewall
ファイアウォールを無効にします。
ファイアウォールが実際に無効になっていることを確認するには、
を実行できます。iptables -L
その後。出力は次のようになります。
[[email protected]〜]#iptables -L
Chain INPUT(policy ACCEPT)
target prot opt source destination
Chain FORWARD(policy ACCEPT)
target prot opt source destination
Chain OUTPUT(policy ACCEPT)
target prot opt source destination
[[email protected]〜]#
6SELinuxを無効にする
SELinuxはCentOSのセキュリティ拡張であり、拡張セキュリティを提供する必要があります。私の意見では、安全なシステムを構成するためにそれを必要とせず、通常、利点よりも多くの問題を引き起こします(一部のサービスが期待どおりに機能しなかったため、1週間のトラブルシューティングを行った後、それを考えてください。すべてが問題ないことを確認してください。SELinuxのみが問題を引き起こしていました)。したがって、無効にします(後でISPConfigをインストールする場合は必須です)。
/ etc / selinux / configを編集し、SELINUX =disableを設定します:
vi /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted |
その後、システムを再起動する必要があります:
reboot
7追加のリポジトリを有効にして、いくつかのソフトウェアをインストールする
まず、ソフトウェアパッケージのGPGキーをインポートします:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
次に、CentOSシステムでRPMforgeおよびEPELリポジトリを有効にします。これは、このチュートリアルの過程でインストールするパッケージの多くが、公式のCentOS6.4リポジトリでは利用できないためです。
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
cd / tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release- 0.5.2-2.el6.rf.x86_64.rpm
(上記のリンクが機能しなくなった場合は、rpmforge-releaseの現在のバージョンをここで見つけることができます:http://packages.sw.be/rpmforge-release/)
rpm --import https://fedoraproject.org/static/0608B895.txt
wgethttp://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch。 rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install yum-priorities
/etc/yum.repos.d/epel.repoを編集します...
vi /etc/yum.repos.d/epel.repo
...そして[epel]セクションにpriority=10という行を追加します:
[epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
次に、システム上の既存のパッケージを更新します。
yum update
次に、後で必要になるいくつかのソフトウェアパッケージをインストールします。
yum groupinstall 'Development Tools'
8クォータ
(私が行ったのとは異なるパーティションスキームを選択した場合は、この章を調整して、必要なパーティションにクォータが適用されるようにする必要があります。)
クォータをインストールするには、次のコマンドを実行します:
yum install quota
/ etc / fstabを編集し、、usrjquota =aquota.user、grpjquota =aquota.group、jqfmt =vfsv0を/パーティション(/ dev / mapper / vg_server1-lv_root)に追加します。
vi /etc/fstab
# # /etc/fstab # Created by anaconda on Wed Jul 11 17:52:57 2012 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_server1-lv_root / ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1 UUID=806910a1-dbdf-4746-bd94-cbe73ce81493 /boot ext4 defaults 1 2 /dev/mapper/vg_server1-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 |
次に実行します
mount -o remount /
quotacheck -avugm
quote-avug
クォータを有効にします。
9 Apache、MySQL、phpMyAdminをインストールします
1つのコマンドで必要なパッケージをインストールできます:
yum install ntp httpd mod_ssl mysql-server php php-mysql php-mbstring phpmyadmin
10Dovecotをインストールする
Dovecotは次のようにインストールできます:
yum install dovecot dovecot-mysql
次に、システムの起動リンクを作成し、Dovecotを起動します。
chkconfig --levels 235 dovecot on
/etc/init.d/dovecot start
11Postfixをインストール
Postfixは次のようにインストールできます:
yum install postfix
次に、Sendmailをオフにして、PostfixとMySQLを起動します。
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix restart
12Getmailをインストール
Getmailは次のようにインストールできます:
yum install getmail
完璧なサーバー-CentOS6.4x86_64(Apache2、Dovecot、ISPConfig 3)-4ページ
13MySQLパスワードの設定とphpMyAdminの構成
MySQLルートアカウントのパスワードを設定します:
mysql_secure_installation
[[email protected] tmp]#mysql_secure_installation
注:このスクリプトのすべての部分を実行することは、本番環境のすべてのMySQLに推奨されます
使用する!各ステップを注意深くお読みください。
MySQLにログインしてセキュリティで保護するには、rootユーザーの現在の
パスワードが必要です。 MySQLをインストールしたばかりで、
rootパスワードをまだ設定していない場合、パスワードは空白になります。
ここで、Enterキーを押すだけです。
Enter rootの現在のパスワード(noneの場合は入力):
OK、正常に使用されたパスワード、次に進みます...
rootパスワードを設定すると、誰もMySQLにログインできないようになります
root適切な権限のないユーザー。
rootパスワードを設定しますか? [Y / n] <-ENTER
新しいパスワード:<-yourrootsqlpassword
新しいパスワードを再入力:<-yourrootsqlpassword
パスワードが正常に更新されました!
特権テーブルを再読み込みしています。 。
...成功!
デフォルトでは、MySQLのインストールには匿名のユーザーが含まれているため、ユーザーアカウントを持たなくても誰でもMySQLにログインできます。
それらのために作成されました。これは、テストのみを目的としており、インストールを
少しスムーズにすることを目的としています。
本番環境に移動する前に、それらを削除する必要があります。
匿名ユーザーを削除しますか? [Y / n] <-ENTER
...成功!
通常、rootは「localhost」からの接続のみを許可する必要があります。これにより、
誰かが、ネットワークからのルートパスワードを推測できないようになります。
ルートログインをリモートで禁止しますか? [Y / n] <-ENTER
...成功!
デフォルトでは、MySQLには「test」という名前のデータベースが付属しており、誰でもアクセスできます。
これもテストのみを目的としており、
本番環境に移動する前に削除する必要があります。
テストデータベースを削除して、データベースにアクセスしますか? [Y / n] <-ENTER
-テストデータベースを削除しています...
...成功しました!
-テストデータベースの特権を削除しています...
...成功しました!
特権テーブルを再読み込みすると、これまでに行われたすべての変更が
すぐに有効になります。
特権テーブルを今すぐ再読み込みしますか? [Y / n] <-ENTER
...成功!
クリーンアップ...
すべて完了しました!上記のすべての手順を完了した場合、MySQLのインストールは安全になっているはずです。
MySQLをご利用いただきありがとうございます。
[example @ unixlinux.online tmp]#
次に、phpMyAdminを設定します。 phpMyAdminがローカルホストからだけでなく接続を許可するようにApache構成を変更します(
vi /etc/httpd/conf.d/phpmyadmin.conf
# # Web application to manage MySQL # #<Directory "/usr/share/phpmyadmin"> # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 #</Directory> Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpMyAdmin /usr/share/phpmyadmin Alias /mysqladmin /usr/share/phpmyadmin |
次に、phpMyAdminの認証をcookieからhttp:
に変更します。vi /usr/share/phpmyadmin/config.inc.php
[...] /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
次に、Apacheのシステム起動リンクを作成して起動します:
chkconfig --levels 235 httpd on
/etc/init.d/httpd start
これで、ブラウザをhttp://server1.example.com/phpmyadmin/またはhttp://192.168.0.100/phpmyadmin/に誘導し、ユーザー名rootと新しいrootMySQLパスワードでログインできます。
14 Amavisd-new、SpamAssassin、ClamAVをインストール
amavisd-new、spamassassin、およびclamavをインストールするには、次のコマンドを実行します。
yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql
次に、freshclam、amavisd、およびclamd.amavisdを開始します:
sa-update
chkconfig --levels 235 amavisd on
chkconfig --del clamd
chkconfig --levels 235 clamd.amavisd on
/ usr / bin / freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start
15 mod_php、mod_fcgi / PHP5、およびsuPHPを使用したApache2のインストール
ISPConfig 3を使用すると、Webサイトごとにmod_php、mod_fcgi / PHP5、cgi / PHP5、およびsuPHPを使用できます。
次のように、mod_php5、mod_fcgid、およびPHP5を使用してApache2をインストールできます。
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel
次に、/ etc/php.iniを開きます...
vi /etc/php.ini
...エラーレポートを変更して(通知が表示されなくなるように)、cgi.fix_pathinfo =1のコメントを解除します:
[...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE [...] ; 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://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
次に、suPHPをインストールします(リポジトリにはmod_suphpパッケージがありますが、残念ながらISPConfigと互換性がないため、自分でsuPHPをビルドする必要があります):
cd / tmp
wget http://suphp.org/download/suphp-0.7.1.tar.gz
tar xvfz suphp-0.7.1.tar.gz
cd suphp-0.7 .1 /
./configure --prefix =/ usr --sysconfdir =/ etc --with-apr =/ usr / bin / apr-1-config --with-apxs =/ usr / sbin / apxs --with-apache-user =apache --with-setid-mode =owner --with-php =/ usr / bin / php-cgi --with-logfile =/ var / log / httpd / suphp_log --enable- SUPHP_USE_USERGROUP =yes
make
make install
次に、suPHPモジュールをApache構成に追加します...
vi /etc/httpd/conf.d/suphp.conf
LoadModule suphp_module modules/mod_suphp.so |
...そして次のようにファイル/etc/suphp.confを作成します:
vi /etc/suphp.conf
[global] ;Path to logfile logfile=/var/log/httpd/suphp.log ;Loglevel loglevel=info ;User Apache is running as webserver_user=apache ;Path all scripts have to be in docroot=/ ;Path to chroot() to before executing script ;chroot=/mychroot ; Security options allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Check wheter script is within DOCUMENT_ROOT check_vhost_docroot=true ;Send minor error messages to browser errors_to_browser=false ;PATH environment variable env_path=/bin:/usr/bin ;Umask to set, specify in octal notation umask=0077 ; Minimum UID min_uid=100 ; Minimum GID min_gid=100 [handlers] ;Handler for php-scripts x-httpd-suphp="php:/usr/bin/php-cgi" ;Handler for CGI-scripts x-suphp-cgi="execute:!self"> |
最後にApacheを再起動します:
/etc/init.d/httpd restart
15.1 Ruby
バージョン3.0.3以降、ISPConfig3にはRubyのサポートが組み込まれています。 ISPConfigは、CGI / FastCGIを使用する代わりに、サーバーのApacheで使用可能なmod_rubyに依存しています。
CentOS 6.4の場合、使用可能なmod_rubyパッケージがないため、自分でコンパイルする必要があります。まず、いくつかの前提条件をインストールします:
yum install httpd-devel ruby ruby-devel
次に、mod_rubyを次のようにダウンロードしてインストールします。
cd / tmp
wget http://fossies.org/unix/www/apache_httpd_modules/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0 /
./configure.rb --with-apr-includes =/ usr / include / apr-1
make
make install
最後に、mod_rubyモジュールをApache構成に追加する必要があるため、ファイル/etc/httpd/conf.d/ruby.conf ...
を作成します。vi /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.so RubyAddPath /1.8 |
...そしてApacheを再起動します:
/etc/init.d/httpd restart
(RubyAddPath /1.8ディレクティブを省略すると、Rubyファイルを呼び出すときにApacheのエラーログに次のようなエラーが表示されます。
[2011年5月26日木曜日02:05:05][エラー]mod_ruby:ruby:0:in `require':ロードするファイルがありません--apache / ruby-run(LoadError)
[2011年5月26日木曜日02: 2011年5月5日][エラー]mod_ruby:apache /ruby-runを要求できませんでした
[2011年5月26日木曜日02:05:05][エラー]mod_ruby:ルビーのエラー
)
15.2 Python
mod_pythonをインストールするには、単に実行します...
yum install mod_python
...その後Apacheを再起動します:
/etc/init.d/httpd restart
15.3 WebDAV
WebDAVはすでに有効になっているはずですが、これを確認するには、/ etc / httpd / conf / httpd.confを開き、次の3つのモジュールがアクティブになっていることを確認してください。
vi /etc/httpd/conf/httpd.conf
[...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] |
/etc/httpd/conf/httpd.confを変更する必要がある場合は、後でApacheを再起動することを忘れないでください:
/etc/init.d/httpd restart
15.4追加のPHPバージョン
ISPConfig 3.0.5以降では、FastCGIおよびPHP-FPMを介して実行できる複数のPHPバージョンを1つのサーバー(ISPConfigで選択可能)に配置することができます。 CentOSで追加のPHPバージョンを構築する手順は、このチュートリアルで説明されています:ISPConfig 3(CentOS 6.3)で複数のPHPバージョン(PHP-FPMおよびFastCGI)を使用する方法
16PureFTPdをインストールします
PureFTPdは、次のコマンドでインストールできます。
yum install pure-ftpd
次に、システム起動リンクを作成し、PureFTPdを起動します。
chkconfig --levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start
次に、FTPおよびTLSセッションを許可するようにPureFTPdを構成します。 FTPは、すべてのパスワードとすべてのデータがクリアテキストで転送されるため、非常に安全でないプロトコルです。 TLSを使用することで、通信全体を暗号化できるため、FTPの安全性が大幅に向上します。
TLSにはOpenSSLが必要です。 OpenSSLをインストールするには、次のコマンドを実行するだけです。
yum 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を使用するには、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」)。
州名または州名(フルネーム)[]:<-州名または州名を入力します。
地域名(例:都市)[デフォルトの都市]:<-都市を入力します。
組織名(例:会社)[デフォルトの会社株式会社]:<-組織名を入力します(例: 、会社名)。
組織単位名(例:セクション)[]:<-組織単位名(例:「IT部門」)を入力します。
一般名(例:名前またはサーバーのホスト名)[]:<-システムの完全修飾ドメイン名を入力します(例: "server1.example.com")。
メールアドレス[]:<-メールアドレスを入力します。
SSL証明書のアクセス許可を変更します:
chmod 600 /etc/ssl/private/pure-ftpd.pem
最後にPureFTPdを再起動します:
/etc/init.d/pure-ftpd restart
それでおしまい。これで、FTPクライアントを使用して接続を試みることができます。ただし、TLSを使用するようにFTPクライアントを構成する必要があります。
完璧なサーバー-CentOS6.4x86_64(Apache2、Dovecot、ISPConfig 3)-5ページ
17BINDのインストール
BINDは次のようにインストールできます:
yum install bind bind-utils
次に/etc/ sysconfig / named ...
を開きますvi /etc/sysconfig/named
...そして、ROOTDIR =/ var / named / chroot行がコメントアウトされていることを確認してください:
# BIND named process options # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Currently, you can use the following options: # # ROOTDIR="/var/named/chroot" -- will run named in a chroot environment. # you must set up the chroot environment # (install the bind-chroot package) before # doing this. # NOTE: # Those directories are automatically mounted to chroot if they are # empty in the ROOTDIR directory. It will simplify maintenance of your # chroot environment. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind or /usr/lib/bind (architecture dependent) # # Those files are mounted as well if target file doesn't exist in # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log" # line to your /etc/rsyslog.conf file. Otherwise your logging becomes # broken when rsyslogd daemon is restarted (due update, for example). # # OPTIONS="whatever" -- These additional options will be passed to named # at startup. Don't add -t here, use ROOTDIR instead. # # KEYTAB_FILE="/dir/file" -- Specify named service keytab file (for GSS-TSIG) # # DISABLE_ZONE_CHECKING -- By default, initscript calls named-checkzone # utility for every zone to ensure all zones are # valid before named starts. If you set this option # to 'yes' then initscript doesn't perform those # checks. |
既存の/etc/named.confファイルのバックアップを作成し、次のように新しいファイルを作成します。
cp /etc/named.conf /etc/named.conf_bak
cat / dev / null> /etc/named.conf
vi /etc/named.conf
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // 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を作成します(ISPConfigでDNSゾーンを作成すると、後でISPConfigによって/etc/named.conf.localにデータが入力されます):
touch /etc/named.conf.local
次に、スタートアップリンクを作成し、BINDを開始します:
chkconfig --levels 235 named on
/etc/init.d/named start
18WebalizerとAWStatsをインストールする
WebalizerとAWStatsは次のようにインストールできます:
yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
19Jailkitをインストールする
Jailkitは、SSHユーザーをchrootする場合にのみ必要です。次のようにインストールできます(重要:JailkitはISPConfigの前にインストールする必要があります-後でインストールすることはできません!):
cd / tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit-2.15
./configure
make
make install
cd ..
rm -rf jailkit-2.15 *
20fail2banをインストール
これはオプションですが、ISPConfigモニターがログを表示しようとするため、推奨されます:
yum install fail2ban
ログファイル/var/log/fail2ban.logにログを記録するようにfail2banを設定する必要があります。これは、ISPConfigMonitorモジュールによって監視されるログファイルであるためです。 /etc/fail2ban/fail2ban.confを開きます...
vi /etc/fail2ban/fail2ban.conf
...そしてlogtarget=SYSLOG行をコメントアウトし、logtarget =/var/log/fail2ban.log:
を追加します。 [...] # Option: logtarget # Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT. # Only one log target can be specified. # Values: STDOUT STDERR SYSLOG file Default: /var/log/fail2ban.log # #logtarget = SYSLOG logtarget = /var/log/fail2ban.log [...] |
次に、fail2banのシステム起動リンクを作成して開始します。
chkconfig --levels 235 fail2ban on
/etc/init.d/fail2ban start
21rkhunterをインストールする
rkhunterは次のようにインストールできます:
yum install rkhunter
22Mailmanのインストール
バージョン3.0.4以降、ISPConfigではMailmanメーリングリストを管理(作成/変更/削除)することもできます。この機能を利用する場合は、次のようにMailmanをインストールします。
yum install mailman
Mailmanを開始する前に、mailmanという最初のメーリングリストを作成する必要があります。
/usr/lib/mailman/bin/newlist mailman
[[email protected] tmp]#/ usr / lib / mailman / bin / newlist mailman
リストを実行している人のメールアドレスを入力します:<-admin email address、e.g. [email protected]
最初のメールマンパスワード:<-メールマンリストの管理者パスワード
メールリストの作成を完了するには、/ etc / aliases(または
同等の)ファイルを編集する必要があります次の行を追加し、場合によっては
`newaliases'プログラムを実行します。
## mailman mailing list
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 "
mailma n-unsubscribe: "| / usr / lib / mailman / mail / mailman unsubscribe mailman"
Enterキーを押して、メールマンの所有者に通知します... <-ENTER
[example @ unixlinux.online 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 restart
次に、MailmanApache構成ファイル/etc/httpd/conf.d/mailman.conf...
を開きます。vi /etc/httpd/conf.d/mailman.conf
...そして、ScriptAlias / cgi-bin / mailman / / usr / lib / mailman /cgi-bin/という行を追加します。 Alias / pipermail / / var / lib / mailman / archives / public /をコメントアウトし、Alias / pipermail / var / lib / mailman / archives / public /:
という行を追加します。 # # httpd configuration settings for use with mailman. # ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/ ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ <Directory /usr/lib/mailman/cgi-bin/> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> #Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /pipermail /var/lib/mailman/archives/public/ <Directory /var/lib/mailman/archives/public> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all AddDefaultCharset Off </Directory> # Uncomment the following line, to redirect queries to /mailman to the # listinfo page (recommended). # RedirectMatch ^/mailman[/]*$ /mailman/listinfo |
Apacheを再起動します:
/etc/init.d/httpd restart
Mailmanのシステム起動リンクを作成して起動します:
chkconfig --levels 235 mailman on
/etc/init.d/mailman start
ISPConfig 3をインストールした後、次のようにMailmanにアクセスできます。
すべてのApachevhostにエイリアス/cgi-bin/ mailmanを使用できます(Mailmanにアクセスするすべてのvhostに対してsuExecとCGIを無効にする必要があることに注意してください)。つまり、リストのMailman管理インターフェイスにアクセスできます。 http://
http://
完璧なサーバー-CentOS6.4x86_64(Apache2、Dovecot、ISPConfig 3)-6ページ
23SquirrelMailをインストールする
SquirrelMailウェブメールクライアントをインストールするには、次を実行します...
yum install squirrelmail
...そしてApacheを再起動します:
/etc/init.d/httpd restart
次に、SquirrelMailを設定します:
/usr/share/squirrelmail/config/conf.pl
Dovecotを使用していることをSquirrelMailに伝える必要があります:
SquirrelMail Configuration:Read:config.php(1.4.0)
--------------------------------- ------------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。テーマ
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語
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アクセス
imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox =false
show_contain_subfolders_option =false
optional_delimiter=。
delete_folder=true
Enterキーを押して続行します...<-Enterキーを押します
Squirrel Mail読む:config.php(1.4.0)
------------------------------------ ---------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。テーマ
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語
D.特定のIMAPサーバー用に事前定義された設定を設定します
C色をオフにします
Sデータを保存します
Q終了します
コマンド>><-S
SquirrelMailの構成:読み取り:config.php(1.4.0)
---------------------- -----------------------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。テーマ
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語
D.特定のIMAPサーバー用に事前定義された設定を設定します
C色をオフにします
Sデータを保存します
Q終了します
コマンド>><-Q
最後に行う必要があるのは、ファイル/etc/squirrelmail/config_local.phpを変更し、$ default_folder_prefix変数をコメントアウトすることです。これを行わないと、ログイン後にSquirrelMailに次のエラーメッセージが表示されます。 :クエリ:CREATE "Sent"理由指定:メールボックス名が無効です。
vi /etc/squirrelmail/config_local.php
<?php /** * Local config overrides. * * You can override the config.php settings here. * Don't do it unless you know what you're doing. * Use standard PHP syntax, see config.php for examples. * * @copyright © 2002-2006 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id: config_local.php,v 1.2 2006/07/11 03:33:47 wtogami Exp $ * @package squirrelmail * @subpackage config */ //$default_folder_prefix = ''; ?> |
これで、ブラウザにhttp://server1.example.com/webmailまたはhttp://192.168.0.100/webmailと入力して、SquirrelMailにアクセスできます。
24ISPConfig3をインストール
現在のISPConfig3バージョンをダウンロードしてインストールします。 ISPConfigインストーラーは、Postfix、Dovecotなどのすべてのサービスを構成します。 ISPConfig2に必要な手動セットアップはもう必要ありません。
また、インストーラーがISPConfigコントロールパネルのSSL vhostを作成できるようにして、http://ではなくhttps://を使用してISPConfigにアクセスできるようにすることもできます。これを実現するには、次の質問が表示されたらEnterキーを押します。ISPConfigWebインターフェイス(y、n)[y]への安全な(SSL)接続が必要ですか。
最新のリリースバージョンからISPConfig3をインストールするには、次のようにします。
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
これにより、ISPConfig3インストーラーが起動します。
[[email protected] install]#php -q install.php
----------------------- -------------------------------------------------- -------
_____ ___________ _____ __ _ ____
| _ _ / ___ | ___ \ / __ \ / _(_)/ __ \
| | \`-。| | _ / / | / \ / ___ _ __ | | _ _ __ _ _ / /
| | `-。 \ __ / | | / _ \ | '_ \ | _ | | / _` | | _ |
_ | | _ / \ __ / / | | \ __ / \(_)| | | | | | | (_ | | ___ \ \
\ ___ / \ ____ / \ _ | \ ____ / \ ___ / | _ | | _ | _ | | _ | \ __、| \ ____ /
_ |
| ___ /
------------------------------------- ------------------------------------------
>>初期構成
オペレーティングシステム:Redhatまたは互換性のある、不明なバージョン。
以下は、プライマリ構成に関するいくつかの質問になるため、注意が必要です。
デフォルト値は[括弧]内にあり、
「終了」(引用符なし)をタップして、インストーラーを停止します。
言語を選択します(en、de)[en]:<-ENTER
インストールモード(標準、エキスパート)[標準]:<-ENTER
完全修飾ホスト名(FQDN)サーバーの例:server1.domain.tld [server1.example.com]:<-ENTER
MySQL server hostname [localhost]:<-ENTER
MySQLルートユーザー名[ルート]:<-ENTER
MySQLルートパスワード[]:<- -yourrootsqlpassword
MySQLデータベースを作成して[dbispconfig]:<-ENTER
MySQL charset [utf8]:<-ENTER
生成2048ビットのRSA秘密鍵
........................................。 ................. +++
.........................。 ......+++
「smtpd.key」に新しい秘密鍵を書き込む
-----
組み込まれる情報の入力を求められようとしています
証明書のリクエストに入力します。
入力しようとしているのは、識別名またはDNと呼ばれるものです。
かなりの数のフィールドがありますが、空白のままにすることができます
一部のフィールドはデフォルト値になります。
「。」と入力すると、フィールドは空白のままになります。
-----
国名(2文字のコード)[XX] :<-ENTER
State or Province Name(full name)[]:<-ENTER
Locality Name(eg、city)[Default City]:<-ENTER
Organization Name (例:company)[Default Company Ltd]:<-ENTER
Organizational Unit Name(eg、section)[]:<-ENTER
共通の名前(例:名前やサーバーのホスト名)[]:<-ENTER
メールアドレス[]:<-ENTER
Jailkitの構成
Dovecotの構成
Spamassassinの構成
Amavisdの構成
Getmailの構成
Pureftpdの構成
BINDの構成
Apacheの構成
Vloggerの構成
Appsvhostの構成
バスティーユファイアウォールの設定
Fail2banの設定
ISPConfigのインストール
ISPConfigポート[8080]:<-ENTER
ISPConfigウェブへの安全な(SSL)接続が必要ですかinterface(y、n)[y]:<-ENTER
RSA秘密鍵を生成し、長さ4096ビットのモジュラス
.............. .. ...... ++
....... ++
e is 65537(0x10001)
組み込まれる情報の入力を求められます
証明書のリクエストに入力します。
入力しようとしているのは、いわゆる識別名またはDNです。
かなりの数のフィールドがありますが、一部を空白のままにすることができます
フィールドreはデフォルト値になります。
「。」と入力すると、フィールドは空白のままになります。
-----
国名(2文字のコード)[XX]:<-ENTER
州名または州名(フルネーム)[]:<-ENTER
地域名(例:都市)[デフォルトの都市]:<-ENTER
組織名(例: 、company)[Default Company Ltd]:<-ENTER
Organizational Unit Name(eg、section)[]:<-ENTER
Common Name(eg、your name or your server's hostname)[] : <-- ENTER
Email Address []: <-- ENTER
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
Stopping saslauthd: [FAILED]
Starting saslauthd: [ OK ]
Waiting for the process [1424] to terminate
Shutting down amavisd: Daemon [1424] terminated by SIGTERM
[ OK ]
amavisd stopped
Starting amavisd: [ OK ]
Stopping clamd.amavisd: [ OK ]
Starting clamd.amavisd: [ OK ]
Stopping Dovecot Imap: [ OK ]
Starting Dovecot Imap: [ OK ]
Stopping httpd: [ OK ]
[Thu Mar 14 14:12:32 2013] [warn] NameVirtualHost *:80 has no VirtualH osts
Starting httpd: [ OK ]
Stopping pure-ftpd: [ OK ]
Starting pure-ftpd: [ OK ]
Installation completed.
[[email protected] install]#
To fix the Mailman errors you might get during the ISPConfig installation, open /usr/lib/mailman/Mailman/mm_cfg.py...
vi /usr/lib/mailman/Mailman/mm_cfg.py
... and set DEFAULT_SERVER_LANGUAGE ='en':
[...] #------------------------------------------------------------- # The default language for this server. DEFAULT_SERVER_LANGUAGE = 'en' [...] |
Restart Mailman:
/etc/init.d/mailman restart
その後、http(s)://server1.example.com:8080 /またはhttp(s)://192.168.0.100:8080 /でISPConfig3にアクセスできます(httpまたはhttpsは、インストール時に選択した内容によって異なります)。ユーザー名adminとパスワードadminでログインします(最初のログイン後にデフォルトのパスワードを変更する必要があります):
The system is now ready to be used.
24.1 ISPConfig 3 Manual
ISPConfig 3の使用方法を学ぶために、ISPConfig3マニュアルをダウンロードすることを強くお勧めします。
300ページ以上で、ISPConfig(管理者、再販業者、クライアント)の背後にある概念をカバーし、ISPConfig 3をインストールおよび更新する方法を説明し、有効な入力の例とともにISPConfigのすべてのフォームとフォームフィールドのリファレンスを含み、チュートリアルを提供しますISPConfig 3の最も一般的なタスクについても説明します。また、サーバーをより安全にする方法を示し、最後にトラブルシューティングのセクションがあります。
24.2 ISPConfig Monitor App For Android
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/にアクセスしてください。
25 Links
- CentOS:http://www.centos.org/
- ISPConfig:http://www.ispconfig.org/