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

完璧なサーバー-CentOS5.6x86_64 [ISPConfig 2]

完璧なサーバー-CentOS5.6x86_64 [ISPConfig 2]

このチュートリアルでは、 CentOS 5.6を設定する方法を示します。 ISPおよびWebホスティング業者が必要とするすべてのサービスを提供するサーバー(x86_64):Apache Webサーバー(SSL対応)、SMTP-AUTHおよびTLSを備えたPostfixメールサーバー、BIND DNSサーバー、Proftpd FTPサーバー、MySQLサーバー、Dovecot POP3 / IMAP、クォータ、ファイアウォールなど。このチュートリアルは、CentOS 5.6の64ビットバージョン用に作成されていますが、ほとんど変更を加えずに32ビットバージョンにも適用できます。最終的には、確実に機能するシステムが必要です。必要に応じて、無料のウェブホスティングコントロールパネルISPConfig 2をインストールできます(つまり、ISPConfigは箱から出してすぐに実行できます)。

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

  • Webサーバー:PHP5.1.6を使用したApache2.2
  • データベースサーバー:MySQL 5.0
  • メールサーバー:Postfix
  • DNSサーバー:BIND9(chrooted)
  • FTPサーバー:Proftpd
  • POP3 / IMAPサーバー:Dovecot
  • Webサイト統計用のWebalizer

この設定はISPConfig3では機能しないことに注意してください ! ISPConfig2でのみ有効です。

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

1要件

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

  • 2枚のCentOS5.6DVDまたは8枚のCentOS5.6CDを隣のミラーからダウンロードします(ミラーのリストはここにあります:http://isoredirect.centos.org/centos/5/isos/x86_64/) 。
  • 高速インターネット接続。

2予備メモ

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

3ベースシステムのインストール

最初のCentOS5.6CD(CD 1)または最初のCentOS5.6DVDから起動します。起動プロンプトでを押します:

インストールメディアのテストには長い時間がかかる可能性があるため、ここではこのテストをスキップします:

CentOSインストーラーのウェルカム画面が表示されます。 [次へ]をクリックします:

次に言語を選択してください:

キーボードレイアウトを選択します:

CentOS 5.6を新しいシステムにインストールしているので、「このドライブを初期化してすべてのデータを消去しますか?」という質問に「はい」と答えます。

次に、インストール用のパーティショニングスキームを選択する必要があります。簡単にするために、[選択したドライブのLinuxパーティションを削除する]を選択し、デフォルトのレイアウトを作成します。これにより、小さな/ bootと大きな/パーティション、およびスワップパーティションが作成されます。もちろん、ハードドライブは好きなように自由にパーティション分割できます。次に、[次へ]をクリックします:

次の質問に「はい」で答えてください(本当にこれを実行しますか?):

ネットワーク設定に移ります。ここでのデフォルト設定はDHCPを使用してネットワークインターフェースを構成することですが、サーバーをインストールしているため、静的IPアドレスは悪い考えではありません...右上の[編集]ボタンをクリックしてください。

ポップアップ表示されるウィンドウで、[動的IP構成(DHCP)]と[IPv6サポートを有効にする]のチェックを外し、ネットワークカードに静的IPアドレス(このチュートリアルでは、デモ目的でIPアドレス192.168.0.100を使用しています)と適切なネットマスク(例: 255.255.255.0;正しい値がわからない場合は、http://www.subnetmask.infoが役立つ場合があります):

ホスト名を手動で設定します。例: server1.example.comにアクセスし、ゲートウェイ(192.168.0.1など)と最大2台のDNSサーバー(8.8.8.8と145.253.2.75など)を入力します。

タイムゾーンを選択してください:

rootにパスワードを与えます:

完璧なサーバー-CentOS5.6x86_64[ISPConfig2]-ページ2

4 / etc/hostsを調整します

次に、/ etc/hostsを編集します。次のようにします:

vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
192.168.0.100           server1.example.com server1
::1             localhost6.localdomain6 localhost6

5追加のIPアドレスを構成する

(このセクションは完全にオプションです。複数のIPアドレスが必要な場合にネットワークインターフェイスeth0にIPアドレスを追加する方法を示しています。1つのIPアドレスで問題がない場合は、このセクションをスキップできます。)

>

ネットワークインターフェイスがeth0であると仮定しましょう。次に、eth0の設定を含むファイル/ etc / sysconfig / network-scripts/ifcfg-eth0があります。これを新しい仮想ネットワークインターフェイスeth0:0のサンプルとして使用できます:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0

ここで、仮想インターフェイスeth0:0でIPアドレス192.168.0.101を使用します。したがって、ファイル/ etc / sysconfig / network-scripts / ifcfg-eth0:0を開き、次のように変更します(同じ物理ネットワークカードであるため、HWADDR行を省略できます)。

vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.101
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes

その後、ネットワークを再起動する必要があります:

/etc/init.d/network restart

新しいIPアドレスを追加した後、/ etc / hostsを調整することもできますが、これは必須ではありません。

を実行します
ifconfig

これで、出力に新しいIPアドレスが表示されます。

[[email protected]〜]#ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:78:BE
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255。 255.0
inet6 addr:fe80 ::20c:29ff:fefd:78be / 64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
ets:drop 0オーバーラン:0フレーム:0
TXパケット:534エラー:0ドロップ:0オーバーラン:0キャリア:0
衝突:0 txqueuelen:1000
RXバイト:43223(42.2 K bytes:100665(98.3 KiB)
ベースアドレス:0x1070メモリ:e8820000-e8840000

eth0:0 Link encap:Ethernet HWaddr 00:0C:29:FD:78:BE
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
0000 0000
ベースアドレス:0x1070 /> lo link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr:::1/128スコープ:ホスト
UP LOOPBACK RUNNING MTU:16436メトリック:1
RXパケット:8エラー:0ドロップ:0オーバーラン:0フレーム:0
:8エラー:0ドロップ:0オーバーラン:0キャリア:0
衝突:0 txqueuelen:0
RXバイト:560(560.0 b)TXバイト:560(560.0 b)

[[email protected]〜]#

6ファイアウォールとSELinuxを無効にする

(基本的なシステムインストールの最後に(セットアップエージェントで)ファイアウォールとSELinuxを既に無効にしている場合は、この章をスキップできます。)

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

SELinuxはCentOSのセキュリティ拡張であり、拡張セキュリティを提供する必要があります。私の意見では、安全なシステムを構成するためにそれを必要とせず、通常、利点よりも多くの問題を引き起こします(一部のサービスが期待どおりに機能しなかったため、1週間のトラブルシューティングを行った後、それを考えてください。すべてが問題ないことを確認してください。SELinuxのみが問題を引き起こしていました)。したがって、私も無効にします(後でISPConfigをインストールする場合は必須です)。

実行

system-config-securitylevel

セキュリティレベルとSELinuxの両方を無効に設定し、[OK]をクリックします:

その後、システムを再起動する必要があります:

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++

完璧なサーバー-CentOS5.6x86_64[ISPConfig2]-4ページ

8クォータ

(私が行ったのとは異なるパーティションスキームを選択した場合は、この章を調整して、必要なパーティションにクォータが適用されるようにする必要があります。)

クォータをインストールするには、次のコマンドを実行します:

yum install quota

/ etc / fstabを編集し、/パーティション(/ dev / VolGroup00 / LogVol00)に、usrquota、grpquotaを追加します。

vi /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults,usrquota,grpquota        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
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
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0

次に実行します

touch /aquota.user /aquota.group
chmod 600/aquota.*
mount -o remount /
quotecheck -avugm
quoteon -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 /usr/share/doc/bind-9.3.6/sample/var/named/named.local / var / named / chroot / var / named / named.local
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
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(ゾーンなど)を構成します。

10 MySQL(5.0)

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 *:* LISTEN linux>#line> [

そうでない場合は、/ 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〜]#

完璧なサーバー-CentOS5.6x86_64[ISPConfig2]-5ページ

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>

/usr/lib64/sasl2/smtpd.confを編集して、PostfixがPLAINおよびLOGINログインを許可するようにする必要があります。 32ビットCentos5.6では、代わりにファイル/usr/lib/sasl2/smtpd.confを編集する必要があります。次のようになります:

vi /usr/lib64/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login

その後、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
mail_owner = postfix
inet_interfaces = 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
         xxgdb $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.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/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.confを編集して、ラインプロトコル=imap imaps pop3 pop3sを有効にします:

vi /etc/dovecot.conf
[...]
# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
protocols = imap imaps pop3 pop3s
[...]

次に、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 LOGIN PLAIN 

すべて順調。

[[email protected] ssl]#telnet localhost 25
127.0.0.1を試しています...
localhost.localdomain(127.0.0.1)に接続しました。
エスケープ文字は「^]」です。
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250- VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH =LOGIN PLAIN
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

完璧なサーバー-CentOS5.6x86_64[ISPConfig2]-6ページ

12 Apache2 with PHP、Ruby、Python、WebDAV

次に、PHPを使用してApacheをインストールします(これはPHP 5.1.6です):

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>
  # Use of the "ZTS" build with worker is experimental, and no shared
  # modules are supported.
  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 5.6の場合、使用可能なmod_rubyパッケージがないため、自分でコンパイルする必要があります。まず、いくつかの前提条件をインストールします:

yum install httpd-devel ruby ruby-devel

次に、mod_rubyを次のようにダウンロードしてインストールします。

cd / tmp
wget http://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

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

/etc/init.d/httpd restart

12.3mod_pythonのインストール

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

CentOSにはproftpdパッケージがないため、Proftpdを手動でコンパイルする必要があります。

cd / tmp /
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3e.tar.gz
tar xvfz proftpd-1.3.3e.tar .gz
cd proftpd-1.3.3e /
./configure --sysconfdir =/ etc
make
make install
cd ..
rm- fr proftpd-1.3.3e *

proftpdバイナリは/usr/ local / sbinにインストールされますが、/ usr / sbinに必要なので、シンボリックリンクを作成します:

ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd

次に、initスクリプト/etc/init.d/proftpdを作成します:

vi /etc/init.d/proftpd
#!/bin/sh
# $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $
#
# proftpd        This shell script takes care of starting and stopping
#                proftpd.
#
# chkconfig: - 80 30
# description: ProFTPD is an enhanced FTP server with a focus towards \
#              simplicity, security, and ease of configuration. \
#              It features a very Apache-like configuration syntax, \
#              and a highly customizable server infrastructure, \
#              including support for multiple 'virtual' FTP servers, \
#              anonymous FTP, and permission-based directory visibility.
# processname: proftpd
# config: /etc/proftp.conf
# pidfile: /var/run/proftpd.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x /usr/sbin/proftpd ] || exit 0

RETVAL=0

prog="proftpd"

start() {
        echo -n $"Starting $prog: "
        daemon proftpd
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
}

stop() {
        echo -n $"Shutting down $prog: "
        killproc proftpd
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status proftpd
        RETVAL=$?
        ;;
  restart)
        stop
        start
        ;;
  condrestart)
        if [ -f /var/lock/subsys/proftpd ]; then
          stop
          start
        fi
        ;;
  reload)
        echo -n $"Re-reading $prog configuration: "
        killproc proftpd -HUP
        RETVAL=$?
        echo
        ;;
  *)
        echo "Usage: $prog {start|stop|restart|reload|condrestart|status}"
        exit 1
esac

exit $RETVAL

次に、initスクリプトを実行可能にします。

chmod 755 /etc/init.d/proftpd

次に、/ etc / proftpd.confを開き、Groupをnobodyに変更します。

vi /etc/proftpd.conf
[...]
Group                           nobody
[...]

セキュリティ上の理由から、次の行を/etc/proftpd.confに追加することもできます(Reinaldo Carvalhoに感謝します。詳細については、http://proftpd.org/localsite/Userguide/linked/userguide.htmlを参照してください)。

vi /etc/proftpd.conf
[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]

FTPユーザーがchmodコマンドを使用できるようにするには、セクションをコメントアウトします。

[...]
# Bar use of SITE CHMOD by default
#<Limit SITE_CHMOD>
#  DenyAll
#</Limit>
[...]

これで、Proftpdのシステム起動リンクを作成できます:

chkconfig --levels 235 proftpd on

そして最後にProftpdを起動します:

/etc/init.d/proftpd start

完璧なサーバー-CentOS5.6x86_64[ISPConfig2]-7ページ

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をインストールする必要があります。これは、公式のCentOSリポジトリではなく、RPMforgeから入手できます。次のようにインストールできます:

rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/perl-NetAddr-IP-4.042-1.el5.rf.x86_64.rpm

(パッケージがもう存在しない場合は、http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/で最新バージョンを見つけることができます。)

17終わり

これでサーバーの構成が完了しました。必要に応じて、サーバーにISPConfig2をインストールできます。

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を使用できます)。

  • CentOS:http://www.centos.org/
  • ISPConfig 2:http://www.ispconfig.org/ispconfig-2/

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

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

  3. 完璧なサーバー-Ubuntu11.04[ISPConfig 3]

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

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

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

  1. 完璧なサーバー-CentOS5.7x86_64 [ISPConfig 2]

  2. 完璧なサーバー-CentOS5.7x86_64 [ISPConfig 3]

  3. 完璧なサーバー-CentOS6.0x86_64 [ISPConfig 2]