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

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

パーフェクトサーバー-Fedora15x86_64 [ISPConfig 2]

これは、 Fedora 15のセットアップ方法に関する詳細な説明です。 ISPとホスティング業者が必要とするすべてのサービスを提供するサーバー:PHP5 / Ruby /Pythonを備えたApacheWebサーバー(SSL対応)、SMTP-AUTHとTLSを備えたPostfixメールサーバー、BIND DNSサーバー、Proftpd FTPサーバー、MySQLサーバー、Dovecot POP3 / IMAP、クォータ、ファイアウォールなど。このチュートリアルは、64ビットバージョンのFedora 15用に作成されていますが、ほとんど変更を加えずに32ビットバージョンにも適用できます。最終的には、確実に機能するシステムが必要です。必要に応じて、無料のWebホスティングコントロールパネルISPConfigをインストールできます(つまり、ISPConfigはそのまま実行されます)。

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

  • Webサーバー:Apache 2.2.17
  • PHP 5.3.6
  • ルビー
  • Python
  • データベースサーバー:MySQL 5.5.12
  • メールサーバー:Postfix
  • DNSサーバー:BIND9(chrooted)
  • FTPサーバー:proftpd
  • POP3 / IMAPサーバー:Dovecot
  • Webサイト統計用のWebalizer

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

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

1要件

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

  • お近くのミラーからFedora15DVD isoイメージをダウンロードします(ミラーのリストはここにあります:http://mirrors.fedoraproject.org/publiclist/Fedora/15/)。 http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/15/Fedora/x86_64/iso/Fedora-15-x86_64-DVD.iso
  • インターネット接続...

2予備メモ

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

アップグレードするシステムに600MBを超えるRAMがあることを確認してください。そうしないと、次のメッセージが表示されて起動しようとしたときにシステムがハングする可能性があります。

Trying to unpack rootfs image as initramfs...

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

Fedora15DVDから起動します。 [新しいシステムをインストールする]または[既存のシステムをアップグレードする]を選択します。

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

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

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

ローカルに接続されたハードドライブを使用していると想定しているため、ここで基本ストレージデバイスを選択する必要があります:

Fedoraを新たにインストールしたいので、[はい、データを破棄します]ボタンをクリックします:

サーバーのホスト名を入力します:

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

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

次に、パーティショニングを行います。 [既存のLinuxシステムを置き換える]を選択します。これにより、小さな/bootパーティションと大きな/パーティションが作成されます。これは私たちの目的に適しています。

[変更をディスクに書き込む]を選択します:

ハードドライブがフォーマットされています:

次に、インストールするソフトウェアを選択します。グラフィカルデスクトップのチェックを外し、代わりにWebサーバーをチェックします。次に、[今すぐカスタマイズ]をオンにします。その後、追加のリポジトリFedora15-x86_64およびFedora15-x86_64-アップデートを選択します(i686システムを使用している場合、名前はおそらくFedora15-i686およびFedora15-i686-アップデートです):

最後の2つのリポジトリにはインターネット接続が必要なため、ネットワークカードを構成する必要がある場所に新しいウィンドウが表示されます。ネットワークカードを選択し、[OK]をクリックします:

[有線]タブに移動し、ネットワークインターフェイスを選択します(Fedora 15はデバイスにBIOS名を使用することに注意してください。そのため、ネットワークカードの名前はeth0ではなくp3p1になります。これは後で変更します。これについて詳しくは、 http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming)そして[編集...]をクリックします:

[自動的に接続する]チェックボックスをオンにして、[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など)に入力して、[保存...]ボタンをクリックします:

次に、[ネットワーク接続]ウィンドウで[閉じる]をクリックします。

完璧なサーバー-Fedora15x86_64[ISPConfig2]-ページ2

4NICの名前をethxに変更

次に、ネットワークインターフェイスにBIOSデバイス名を使用しないようにFedoraを構成する必要があります。 p3p1の代わりに、古き良きeth0を戻す必要があります(そうしないと、ISPConfigのファイアウォールが狂って、p3p1の代わりにeth0を予期しているため、すべてがブロックされます)。 /etc/grub.confを開きます...

vi /etc/grub.conf

...そしてbiosdevname=0をカーネルラインに追加します:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_server1-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.38.6-27.fc15.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.38.6-27.fc15.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=de rhgb quiet biosdevname=0
        initrd /initramfs-2.6.38.6-27.fc15.x86_64.img

次に、システムを再起動します。

reboot

再起動後、NICの名前はeth0になります。実行...

ifconfig

...確認する:

[[email protected]〜]#ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:15:60:FA
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255。 255.0
inet6 addr:fe80 ::20c:29ff:fe15:60fa / 64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
ets:drop RX 0オーバーラン:0フレーム:0
TXパケット:58エラー:0ドロップ:0オーバーラン:0キャリア:0
衝突:0 txqueuelen:1000
RXバイト:5226(5.1 K i bytes:9682(9.4 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
Scope:::1/128ホスト
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXパケット:2エラー:0ドロップ:0オーバーラン:0フレーム:0
実行:2エラー:0ドロップ0キャリア:0
衝突:0 txqueuelen:0
RXバイト:100(100.0 b)TXバイト:100(100.0 b)
[[email protected]〜]#

5 / 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

server1.example.comの行を追加し、127.0.0.1の行からserver1.example.comとserver1を削除することが重要です。

6ファイアウォールの構成

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

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

実行

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]〜]#

7SELinuxを無効にする

SELinuxはFedoraのセキュリティ拡張であり、拡張セキュリティを提供する必要があります。私の意見では、安全なシステムを構成するためにそれを必要とせず、通常、利点よりも多くの問題を引き起こします(一部のサービスが期待どおりに機能しなかったため、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

8いくつかのソフトウェアをインストールする

まず、ソフトウェアパッケージのGPGキーをインポートします。

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

次に、システム上の既存のパッケージを更新します:

yum update

次に、後で必要になるいくつかのソフトウェアパッケージをインストールします。

yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp gcc gcc-c++

9ジャーナルクォータ

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

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

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 May 25 15:57:24 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=366ba6a7-7e68-4ec9-9743-4b02dd105180 /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

クォータを有効にします。

10 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

次に、/ etc / sysconfig / namedを開き、/ var / named/chrootでchrootされて実行されていることをBINDに通知する次の行があることを確認します。

vi /etc/sysconfig/named
[...]
ROOTDIR=/var/named/chroot

次に/etc/rsyslog.confを開きます...

vi /etc/rsyslog.conf

...そして$AddUnixListenSocket/ var / named / chroot / dev / logという行を追加します:

[...]
$AddUnixListenSocket /var/named/chroot/dev/log

rsyslogを再起動します:

/etc/init.d/rsyslog restart

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

chkconfig --levels 235 named on

/var/named/chroot/etc/named.confがないために失敗するため、ここではBINDを開始しません。これは、後でISPConfigによって作成されます(ISPConfigのDNSマネージャーを使用している場合)。

完璧なサーバー-Fedora15x86_64[ISPConfig2]-4ページ

11 MySQL 5

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#1151 / mysqld
[例

そうでない場合は、/ etc / my.cnfを編集し、オプションskip-networkingをコメントアウトします。

vi /etc/my.cnf
[...]
#skip-networking
[...]

MySQLサーバーを再起動します:

/etc/init.d/mysqld restart 

実行

 mysql_secure_installation 

ユーザーrootのパスワードを設定します(そうしないと、誰でもMySQLデータベースにアクセスできます!)。

[[email protected]〜]#mysql_secure_installation




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


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

Enterルートの現在のパスワード(なしの場合は入力):<-ENTER
OK、パスワードの使用に成功し、次に進みます...

ルートパスワードを設定すると、誰も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〜]#

12PostfixとSMTP-AUTHおよびTLS

次に、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。 :1] / 128'

/usr/lib64/sasl2/smtpd.confを編集して、PostfixがPLAINおよびLOGINログインを許可するようにする必要があります(32ビットシステムでは、このファイルは/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
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.8.3/samples
readme_directory = /usr/share/doc/postfix-2.8.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 [::1]/128
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

次に、Postfixとsaslauthdを起動します:

chkconfig 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

Dovecotを開始する前に、プレーンテキスト認証を有効にする必要があります。 /etc/dovecot/conf.d/10-auth.conf ...

を開きます
vi /etc/dovecot/conf.d/10-auth.conf

...そして、disable_plaintext_auth =no:

という行を追加します。
[...]
# 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 = yes
disable_plaintext_auth = no
[...]
>

次に、Dovecotを起動します:

  /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
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 LOGIN PLAIN
250-AUTH =LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
<-quit
2212.0.0さようなら
外部ホストによって接続が閉じられました。
[[email protected]]#

タイプ

quit 

システムのシェルに戻ります。

12.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

完璧なサーバー-Fedora15x86_64[ISPConfig2]-5ページ

13 Apache2 with PHP、Ruby、Python、WebDAV

次に、ApacheをPHP5(これはPHP 5.3.6)とともにインストールします。

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy 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

13.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

13.2 Ruby

バージョン2.2.20以降、ISPConfigにはRubyのサポートが組み込まれています。 ISPConfigは、CGI / FastCGIを使用する代わりに、サーバーのApacheで使用可能なmod_rubyに依存しています。

Fedora 15の場合、利用可能な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
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:ルビーのエラー

mod_rubyの詳細については、この記事をご覧ください。

13.3mod_pythonのインストール

mod_pythonをインストールするには、単に実行します...

yum install mod_python

...その後Apacheを再起動します:

/etc/init.d/httpd restart

13.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

14 ProFTPd

ISPConfigはvsftpdよりもproftpdをサポートしているので、vsftpdを削除してproftpdをインストールしましょう:

yum remove vsftpd
yum install proftpd

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

chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start

15 Webalizer

webalizerをインストールするには、

を実行するだけです。
yum install webalizer

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

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

yum install ntp

chkconfig --levels 235 ntpd on
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start

17いくつかのPerlモジュールをインストールする

ISPConfigにはSpamAssassinが付属しており、動作するにはいくつかのPerlモジュールが必要です。必要なPerlモジュールを1つのコマンドでインストールします:

yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall perl-NetAddr-IP perl-Archive-Tar

18 ISPConfig

The configuration of the server is now finished. You can now install ISPConfig on it, following these instructions:http://www.ispconfig.org/manual_installation.htm

Before you install ISPConfig, there's one important thing you must do. Open /usr/include/stdio.h and replace getline with parseline in line 673:

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
[...]

If you don't do this, the installation will fail because of the following error:

htpasswd.c:101:error:conflicting types for âgetlineâ
/usr/include/stdio.h:653:note:previous declaration of âgetlineâ was here
make[2]:*** [htpasswd.o] Error 1
make[2]:Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]:*** [build-support] Error 1
make[1]:Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41'
make:*** [build] Error 2
ERROR:Could not make Apache

You can undo the change to /usr/include/stdio.h after the successful ISPConfig installation (but don't forget to change it back whenever you want to update ISPConfig!).

18.1 A Note On SuExec

If you want to run CGI scripts under suExec, you should specify /var/www as the web root for websites created by ISPConfig as Fedora's suExec is compiled with /var/www as Doc_Root. Run

/usr/sbin/suexec -V

and the output should look like this:

[[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] ~]#

So if you want to use suExec with ISPconfig, don't change the default web root (which is /var/www) if you use expert mode during the ISPConfig installation (in standard mode you can't change the web root anyway so you'll be able to use suExec in any case).

  • Fedora:http://fedoraproject.org/
  • Network Device Naming:http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming
  • ISPConfig:http://www.ispconfig.org/

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

  2. 完璧なサーバー-UbuntuNattyNarwhal(Ubuntu 11.04)[ISPConfig 2]

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

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

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

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

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

  2. 完璧なサーバー-Nginxを搭載したUbuntu11.10[ISPConfig 3]

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