パーフェクトサーバー-CentOS6.0x86_64 [ISPConfig 2]
このチュートリアルでは、 CentOS 6.0を設定する方法を示します。 ISPおよびWebホスティング業者が必要とするすべてのサービスを提供するサーバー(x86_64):Apache Webサーバー(SSL対応)、SMTP-AUTHおよびTLSを備えたPostfixメールサーバー、BIND DNSサーバー、Proftpd FTPサーバー、MySQLサーバー、Dovecot POP3 / IMAP、クォータ、ファイアウォールなど。このチュートリアルはCentOS 6.0の64ビットバージョン用に作成されていますが、ほとんど変更を加えずに32ビットバージョンにも適用できます。最終的には、確実に機能するシステムが必要です。必要に応じて、無料のウェブホスティングコントロールパネルISPConfig 2をインストールできます(つまり、ISPConfigは箱から出してすぐに実行できます)。
次のソフトウェアを使用します:
- Webサーバー:PHP5.3.2を使用したApache2.2.15
- データベースサーバー:MySQL 5.1.52
- メールサーバー:Postfix
- DNSサーバー:BIND9(chrooted)
- FTPサーバー:Proftpd
- POP3 / IMAPサーバー:Dovecot
- Webサイト統計用のWebalizer
この設定はISPConfig3では機能しないことに注意してください ! ISPConfig2でのみ有効です。
まず、このようなシステムを構築する方法はこれだけではありません。この目標を達成する方法はたくさんありますが、これが私のやり方です。これがあなたのために働くという保証はありません!
1要件
このようなシステムをインストールするには、次のものが必要です。
- 隣のミラーから2枚のCentOS6.0DVDをダウンロードします(ミラーのリストはここにあります:http://isoredirect.centos.org/centos/6/isos/x86_64/)。
- 高速インターネット接続。
2予備メモ
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100およびゲートウェイ192.168.0.1を使用します。これらの設定はユーザーによって異なる場合があるため、必要に応じて置き換える必要があります。
3ベースシステムのインストール
最初のCentOS6.0DVD(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.0x86_64[ISPConfig2]-ページ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*
次に、システム上の既存のパッケージを更新します。
yum update
次に、後で必要になるいくつかのソフトウェアパッケージをインストールします。
yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils gcc gcc-c++ telnet flex
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 Mon Jul 11 16:29:27 2011 # # 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=6a119ddb-46eb-4054-a17c-8968ea87369f /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 ChrootされたDNSサーバー(BIND9)をインストールします
chrootされたBIND9をインストールするには、次のようにします。
yum install bind-chroot
次に、これを行います:
chmod 755 / var / named /
chmod 775 / var / named / chroot /
chmod 775 / var / named / chroot / var /
chmod 775 / var / named / chroot / var / named /
chmod 775 / var / named / chroot / var / run /
chmod 777 / var / named / chroot / var / run / named /
cd / var / named / chroot / var / named /
ln -s ../../ chroot
cp /var/named/named.localhost /var/named/chroot/var/named/named.localhost
cp /var/named/named.ca /var/named/chroot/var/named/named.ca
cp /var/named/named.empty /var/named/chroot/var/named/named.empty
cp /var/named/named.loopback /var/named/chroot/var/named/named.loopback
chgrp named /var/named/chroot/var/named/named.localhost / var / named /chroot/var/named/named.ca /var/named/chroot/var/named/named.empty /var/named/chroot/var/named/named.loopback
touch / var / named / chroot / etc / named.conf
chkconfig --levels 235 named on
/etc/init.d/named start
BINDは、/ var / named / chroot / var /named/の下のchrootjailで実行されます。 ISPConfigを使用してBIND(ゾーンなど)を構成します。
完璧なサーバー-CentOS6.0x86_64[ISPConfig2]-4ページ
10 MySQL(5.1)
MySQLをインストールするには、次のようにします。
yum install mysql mysql-devel mysql-server
次に、MySQLのシステム起動リンクを作成し(システムが起動するたびにMySQLが自動的に起動するように)、MySQLサーバーを起動します。
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
次に、ネットワーキングが有効になっていることを確認します。実行
netstat -tap | grep mysql
次のような行が表示されます:
[[email protected]〜]#netstat -tap | grep mysql
tcp 0 0 *:mysql *:* linux#on [
そうでない場合は、/ etc / my.cnfを編集し、オプションskip-networkingをコメントアウトします。
vi /etc/my.cnf
[...] #skip-networking [...] |
MySQLサーバーを再起動します:
/etc/init.d/mysqld restart
MySQLルートアカウントのパスワードを設定します:
mysql_secure_installation
[[email protected]〜]#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〜]#
11SMTP-AUTHおよびTLSを使用したPostfix
次に、PostfixとDovecotをインストールします(DovecotがPOP3 / IMAPサーバーになります):
yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot
次に、SMTP-AUTHとTLSを構成します:
postconf -e'smtpd_sasl_local_domain ='
postconf -e'smtpd_sasl_auth_enable =yes'
postconf -e'smtpd_sasl_security_options =noanonymous'
postconf -e'broken_sasl_auth_clients =yes'
post 'smtpd_sasl_authenticated_header =yes'
postconf -e'smtpd_recipient_restrictions =permit_sasl_authenticated、permit_mynetworks、reject_unauth_destination'
postconf -e'inet_interfaces =all'
postconf -e'mynetworks=127.0。 / P>
その後、TLSの証明書を作成します:
mkdir / etc / postfix / ssl
cd / etc / postfix / ssl /
openssl genrsa -des3 -rand / etc / hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout Cakey.pem -out cacert.pem -days 3650
次に、TLSのPostfixを設定します:
postconf -e'smtpd_tls_auth_only =no'
postconf -e'smtp_use_tls =yes'
postconf -e'smtpd_use_tls =yes'
postconf -e'smtp_tls_note_starttls_offer =yes'
postconf- e'smtpd_tls_key_file =/etc/postfix/ssl/smtpd.key'
postconf -e'smtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crt'
postconf -e'smtpd_tls_CAfile =/ etc / postfix /ssl/cacert.pem'
postconf -e' smtpd_tls_loglevel =1'
postconf -e' smtpd_tls_received_header =yes'
postconf -e' smtpd_tls_session_cache_timeout =3600s'
postconf -e 'tls_random_source =dev:/ dev / urandom'
次に、Postfixインストールでホスト名を設定します(server1.example.comを独自のホスト名に置き換えてください):
postconf -e 'myhostname = server1.example.com'
これらの設定手順を実行すると、次のような/etc/postfix/main.cfが作成されます(コメントはすべて削除しました):
cat /etc/postfix/main.cf
queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_interfaces = all inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost unknown_local_recipient_reject_code = 550 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.6.6/samples readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination mynetworks = 127.0.0.0/8 smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom myhostname = server1.example.com |
デフォルトでは、CentOSのDovecotデーモンはIMAPおよびIMAPサービスのみを提供します。 POP3とPOP3も必要なので、Dovecotを構成する必要があります。 /etc/dovecot/dovecot.confを編集して、ラインプロトコル=imap pop3を有効にします:
vi /etc/dovecot/dovecot.conf
[...] # Protocols we want to be serving. protocols = imap pop3 [...] |
次に、プレーンテキスト認証を有効にする必要があります:
vi /etc/dovecot/conf.d/10-auth.conf
[...] # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. disable_plaintext_auth = no [...] |
次に、Postfix、saslauthd、およびDovecotを起動します:
chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
chkconfig --levels 235 saslauthd on
chkconfig --levels 235 dovecot on
/etc/init.d / sendmail stop
/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/dovecot start
SMTP-AUTHとTLSが正しく機能するかどうかを確認するには、次のコマンドを実行します。
telnet localhost 25
Postfixメールサーバータイプへの接続を確立した後
ehlo localhost
線が表示されている場合
250-STARTTLS
および
250-AUTH PLAIN LOGIN
すべて順調。
[[email protected] ssl]#telnet localhost 25
Trying ::1 ...
localhostに接続しました。
エスケープ文字は'^]'です。
220server1。 example.com ESMTP Postfix
<-ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH =PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
<-quit
2212.0.0さようなら
外部ホストによって接続が閉じられました。
[[email protected]]#
タイプ
quit
システムのシェルに戻ります。
11.1 Maildir
Dovecotは(mboxではなく)Maildir形式を使用するため、サーバーにISPConfigをインストールする場合は、[管理]->[サーバー]->[設定]->[電子メール]でMaildirを有効にしてください。その後、ISPConfigが必要な構成を行います。
ISPConfigをインストールしたくない場合は、ユーザーのMaildirにメールを配信するようにPostfixを設定する必要があります(ISPConfigを使用している場合もこれを行うことができます-害はありません;-)):
postconf -e'home_mailbox =Maildir /'
postconf -e'mailbox_command ='
/etc/init.d/postfix restart
完璧なサーバー-CentOS6.0x86_64[ISPConfig2]-5ページ
12 Apache2 with PHP、Ruby、Python、WebDAV
次に、PHPを使用してApacheをインストールします(これはPHP 5.3.2です):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel>
次に、/ etc / httpd / conf / httpd.confを編集します:
vi /etc/httpd/conf/httpd.conf
DirectoryIndexを
に変更します [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl [...] |
次に、起動時にApacheを起動するようにシステムを構成します。
chkconfig --levels 235 httpd on
Apacheを起動します:
/etc/init.d/httpd start
12.1PHPをグローバルに無効にする
(このサーバーにISPConfigをインストールする予定がない場合は、このセクションをスキップしてください!)
ISPConfigでは、WebサイトごとにPHPを構成します。つまり、PHPスクリプトを実行できるWebサイトと実行できないWebサイトを指定できます。これは、PHPがグローバルに無効になっている場合にのみ機能します。無効にしないと、ISPConfigで何を指定しても、すべてのWebサイトでPHPスクリプトを実行できるためです。
PHPをグローバルに無効にするには、/ etc / httpd / conf.d / php.confを編集し、AddHandler行とAddType行をコメントアウトします。
vi /etc/httpd/conf.d/php.conf
# # PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. # <IfModule prefork.c> LoadModule php5_module modules/libphp5.so </IfModule> <IfModule worker.c> LoadModule php5_module modules/libphp5-zts.so </IfModule> # # Cause the PHP interpreter to handle files with a .php extension. # #AddHandler php5-script .php #AddType text/html .php # # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php # # Uncomment the following line to allow PHP to pretty-print .phps # files as PHP source code: # #AddType application/x-httpd-php-source .phps |
その後、Apacheを再起動します:
/etc/init.d/httpd restart
12.2mod_rubyのインストール
CentOS 6.0の場合、利用可能なmod_rubyパッケージがないため、自分でコンパイルする必要があります。まず、いくつかの前提条件をインストールします:
yum install httpd-devel ruby ruby-devel
次に、mod_rubyを次のようにダウンロードしてインストールします。
cd / tmp
wget http://www.modruby.net/archive/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:ルビーのエラー
)
12.3mod_pythonのインストール
mod_pythonパッケージは、次のように有効にできるEPELリポジトリから入手できます。
rpm --import https://fedoraproject.org/static/0608B895.txt
wgethttp://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch。 rpm
rpm -ivh epel-release-6-5.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 [...] |
mod_pythonをインストールするには、単に実行します...
yum install mod_python
...その後Apacheを再起動します:
/etc/init.d/httpd restart
12.4 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
13 ProFTPd
ISPConfigはvsftpdよりもproftpdをサポートしているので、vsftpdを削除しましょう:
yum remove vsftpd
これで、次のようにEPELリポジトリからProFTPdをインストールできます。
yum install proftpd
セキュリティ上の理由から、次の行を/etc/proftpd.confに追加することもできます(Reinaldo Carvalhoに感謝します。詳細については、http://proftpd.org/localsite/Userguide/linked/userguide.htmlを参照してください)。
vi /etc/proftpd.conf
[...] IdentLookups off [...] |
これで、ProFTPdのシステム起動リンクを作成できます:
chkconfig --levels 235 proftpd on
そして最後にProftpdを起動します:
/etc/init.d/proftpd start
14 Webalizer
webalizerをインストールするには、
を実行するだけです。yum install webalizer
15システム時計を同期する
システムクロックをNTPサーバーと同期させる場合は、次の手順を実行します。
yum install ntp
chkconfig --levels 235 ntpd on
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start
16いくつかのPerlモジュールをインストールする
ISPConfigにはSpamAssassinが付属しており、動作するにはいくつかのPerlモジュールが必要です。必要なPerlモジュールを1つのコマンドでインストールします:
yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-Archive-Tar perl-NetAddr-IP
17終わり
これでサーバーの構成は完了です。これで、次の手順に従ってISPConfigをインストールできます。http://www.ispconfig.org/manual_installation.htm
ISPConfigをインストールする前に、実行しなければならない重要なことが1つあります。 /usr/include/stdio.hを開き、673行目でgetlineをparselineに置き換えます。
vim /usr/include/stdio.h
[...] /* Like `getdelim', but reads up to a newline. This function is not part of POSIX and therefore no official cancellation point. But due to similarity with an POSIX interface or due to the implementation it is a cancellation point and therefore not marked with __THROW. */ extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur; #endif [...] |
これを行わないと、次のエラーが原因でインストールが失敗します。
htpasswd.c:101:エラー:âgetlineâのタイプが競合しています
/usr/include/stdio.h:673:注:âgetlineâの以前の宣言はここにありました
make [2]:***[htpasswd。 o]エラー1
make [2]:ディレクトリ`/home/install_ispconfig/compile_aps/apache_1.3.41/src/support'を離れる'
make [1]:***[build-support]エラー1
make [1]:ディレクトリ`/home/install_ispconfig/compile_aps/apache_1.3.41'を離れる'
make:***[build]エラー2
エラー:Apacheを作成できませんでした
ISPConfigのインストールが成功した後、/ usr / include / stdio.hへの変更を元に戻すことができます(ただし、ISPConfigを更新するときはいつでも元に戻すことを忘れないでください!)。
17.1SuExecに関する注記
suExecでCGIスクリプトを実行する場合は、CentOSのsuExecがDoc_Rootとして/ var / wwwでコンパイルされるため、ISPConfigによって作成されたWebサイトのホームディレクトリとして/ var/wwwを指定する必要があります。実行
/usr/sbin/suexec -V
出力は次のようになります。
[[email protected]〜]#/ usr / sbin / suexec -V
-D AP_DOC_ROOT ="/ var / www"
-D AP_GID_MIN =100
-D AP_HTTPD_USER ="apache "
-D AP_LOG_EXEC =" / var / log / httpd / suexec.log "
-D AP_SAFE_PATH =" / usr / local / bin:/ usr / bin:/ bin "
- D AP_UID_MIN =500
-D AP_USERDIR_SUFFIX ="public_html"
[[email protected]〜]#
したがって、ISPconfigでsuExecを使用する場合、ISPConfigのインストール中にエキスパートモードを使用する場合は、デフォルトのWebルート(/ var / www)を変更しないでください(標準モードでは、Webルートを変更できないため、いずれの場合もsuExecを使用できます)。
18リンク
- CentOS:http://www.centos.org/
- ISPConfig 2:http://www.ispconfig.org/ispconfig-2/