GNU/Linux >> Linux の 問題 >  >> Debian

完璧なセットアップ-DebianSarge(3.1)

これは「コピー&ペースト」です ハウツー! このチュートリアルに従う最も簡単な方法は、コマンドラインクライアント/ SSHクライアント(PuTTY for Windowsなど)を使用し、コマンドをコピーして貼り付けることです(IPアドレス、ホスト名、パスワードなどの独自の情報を提供する必要がある場合を除く)。 )。これはタイプミスを回避するのに役立ちます。

PerfectSetup-Debian Sarge(3.1)

バージョン1.9
作成者:Falko Timme

これは、 Debianをセットアップするために実行する手順の詳細な説明です。 ベースサーバー(DebianSargeエイリアスDebian3.1)は、ISPおよびホスティング業者(Webサーバー(SSL対応)、メールサーバー(SMTP-AUTHおよびTLSを使用)、DNSサーバー、FTPサーバー、MySQLサーバー、POP3 / POP3s /)に必要なすべてのサービスを提供します。 IMAP / IMAP、クォータ、ファイアウォールなど)。

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

  • Webサーバー:Apache2.0.x
  • Mail Server:Postfix(sendmailよりも構成が簡単、sendmailよりもセキュリティホールの履歴が短い)
  • DNSサーバー:BIND9
  • FTPサーバー:proftpd
  • POP3 / POP3s / IMAP / IMAPs:この例では、従来のUNIXメールボックス形式から選択できます(次にipopd /を使用します)。 uw-imapd)またはMaildir形式(この場合はCourier-POP3 / Courier-IMAPを使用します)。
  • Webサイト統計用のWebalizer

最終的には、確実に動作し、無料のwebhostingコントロールパネルISPConfigの準備ができているシステムが必要です(つまり、ISPConfigはその上で実行されます。ボックス)。

最初に、このようなシステムを設定する方法はこれだけではないことをお伝えしたいと思います。この目標を達成する方法はたくさんありますが、これが私のやり方です。これがあなたのために働くという保証はありません!

要件

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

  • Debian SargeNetinstall CD(ここで入手可能:http://ftp.de.debian.org/debian-cd/3.1_r0a /i386/iso-cd/debian-31r0a-i386-netinst.iso)
  • このドキュメントでネットワークのインストールについて説明するので、インターネット接続

1TheBaseシステム

SargeNetinstall CDをシステムに挿入し、そこから起動します( と入力します) linux26 ブートプロンプトで2.6カーネルをインストールします)。インストールが開始され、最初に言語を選択する必要があります:

国を選択してください:

キーボードレイアウトを選択してください:

ハードウェアの検出が開始されます:

ホスト名を入力します。この例では、私のシステムの名前は server1 .example.com 、だから私は server1と入力します

ドメイン名を入力します。この例では、これは example.comです。

これで、ハードディスクをパーティション分割する必要があります。 1つの大きなパーティションを作成します(マウントポイント / )と少しのスワップパーティション:

これでベースシステムがインストールされました:

GRUBbootローダーをインストールします マスターブートレコードへ:

その後、Sarge Netinstall CDをシステムから取り出して再起動します:

タイムゾーンを構成します:

rootのパスワードを入力してください

2番目のユーザーを作成する admin

インストール方法を選択してください。ネットワーク経由でインストールを実行したいので、 httpを選択します。 または ftp

インストールするミラーを選択してください:

インストールのプロキシを入力します(必要な場合) 。通常、このフィールドは空のままにしておくことができます。

Debianソフトウェアの選択 メールサーバーのみを選択します 。他のすべてのサービスは後で手動でインストールします。

ネットワークのインストールが開始されます:

Maildirをサポートせずにlibc-clientのインストールを続行します。 Maildirを使用する場合は、 Courier-POP3をインストールできます。 / Courier-IMAP (後で説明します):

構成しないでください Exim Postfixに置き換えます。 後で:

おめでとうございます!ベースシステムはこれで完成です:

次のステップに進みます...

2システムの残りの部分のインストールと構成

TheNetworkの構成

DebianSargeインストーラーはDHCP経由でネットワーク設定を取得するようにシステムを構成しているため、サーバーには静的なものが必要であるため、今すぐ変更する必要がありますIPアドレス。 / etc / network / interfacesを編集します。 必要に応じて調整します(このセットアップ例では、IPアドレス 192.168.0.100を使用します ):

#/ etc / network / interfaces --ifup(8)、ifdown(8)の構成ファイル

#ループバックインターフェイス
autolo
iface lo inet loopback

#最初のネットワークカード-このエントリはDebianのインストール中に作成されました
#(ネットワーク、ブロードキャスト、ゲートウェイはオプション)
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
ゲートウェイ192.168.0.1

IPアドレスを追加する場合 192.168.0.101 > インターフェイス eth0 次のようにファイルを変更する必要があります:

#/ etc / network / interfaces --ifup(8)、ifdown(8)の構成ファイル

#ループバックインターフェイス
autolo
iface lo inet loopback

#最初のネットワークカード-このエントリはDebianのインストール中に作成されました
#(ネットワーク、ブロードキャスト、ゲートウェイはオプション)
auto eth0
iface eth0 inet static
アドレス192.168.0.100
ネットマスク255.255.255.0
ネットワーク192.168.0.0
ブロードキャスト192.168.0.255
ゲートウェイ192.168.0.1

auto eth0:0
iface eth0:0 inet static
アドレス192.168.0.101
ネットマスク255.255.255.0
ネットワーク192.168 .0.0
ブロードキャスト192.168.0.255
ゲートウェイ192.168.0.1

次に、ネットワークを再起動します:

/etc/init.d/networkingrestart

編集 /etc/resolv.conf いくつかのネームサーバーを追加します:

検索サーバー
nameserver145.253.2.75
nameserver 193.174.32.18
nameserver 194.25.0.60

編集 / etc / hosts 新しいIPアドレスを追加します:

 127.0.0.1 localhost.localdomain localhost server1 
192.168.0.100 server1.example.com server1
192.168.0.101 virtual-ip1 .example.com virtual-ip1


#IPv6対応ホストには次の行が望ましい
::1 ip6-localhost ip6-loopback
fe00 ::0 ip6-localnet
ff00 ::0 ip6-mcastprefix
ff02 ::1 ip6-allnodes
ff02 ::2 ip6-allrouters
ff02 ::3 ip6-allhosts
>

ホスト名の設定

echo server1.example.com> / etc / hostname
/ bin / hostname -F / etc / hostname

一部のソフトウェアのインストール/削除

次に、必要なソフトウェアをインストールし、不要なパッケージを削除しましょう。

apt-get install wget bzip2rdate fetchmail libdb3 ++-dev unzip zip ncftp xlispstat libarchive-zip-perl zlib1g-devlibpopt-dev nmap openssl lynx fileutils g ++
apt-get remove lpr nfs-commonportmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig

update-rc.d -f exim remove
update-inetd --removedaytime
update-inetd --remove telnet
update-inetd- -時間の削除
update-inetd--remove finger
update-inetd --remove talk
update-inetd --remove ntalk
update-inetd --remove ftp
update-inetd --remove destroy
<-はい

/etc/init.d/openbsd-inetdリロード


割り当て

apt-get installquotaquotatool
<-いいえ

編集 / etc / fstab このように表示します( 、usrquota、grpquotaを追加しました マウントポイントのあるパーティションに / ):

#/ etc / fstab:静的ファイルシステム情報。

#<ファイルシステム><マウントポイント>
proc / proc proc defaults 0 0
/ dev / sda1 / ext3 defaults、errors =remount-ro、usrquota、grpquota 0 1
/ dev / sda5 none swap sw 0 0
/ dev / hdc / media / cdrom0 iso9660 ro、user、noauto 0 0
/ dev / fd0 / media / floppy0 auto rw、user、noauto 0 0
>

次に実行:

touch /quota.user /quota.group
chmod 600/quota.*
mount -o remount /
quotecheck -avugm
quoteon -avug


DNSサーバー

apt-getinstall bind9

セキュリティ上の理由から、BINDをchrootして実行したいので、次の手順を実行する必要があります。

/etc/init.d/bind9 stop

ファイルを編集 / etc / default / bind9 デーモンが非特権ユーザーとして実行されるように、' バインド '、chrooted to / var / lib / named 。行を変更します: OPTS =" -ubind " OPTS ="-u bind-t / var / lib / named"と表示されます。

 OPTIONS ="-u bind -t / var / lib / named" 

/ var / libの下に必要なディレクトリを作成します

mkdir -p / var / lib / named / etc
mkdir / var / lib / named / dev
mkdir -p / var / lib / named / var / cache / bind
mkdir -p / var / lib / named / var / run / bind / run

次に、configdirectoryをから移動します / etc から / var / lib / named / etc

mv / etc / bind / var / lib / named / etc

古い場所から新しい構成ディレクトリへのシンボリックリンクを作成します(将来、bindisがアップグレードされる際の問題を回避するため):

ln -s / var / lib / named / etc / bind / etc / bind

nullおよびrandomdevicesを作成し、ディレクトリの権限を修正します:

mknod / var / lib / named / dev / nullc 1 3
mknod / var / lib / named / dev / random c 1 8
chmod 666 / var / lib / named / dev / null / var / lib / named / dev / random
chown -R bind:bind / var / lib / named / var / *
chown -R bind:bind / var / lib / named / etc / bind

起動スクリプトを変更する必要があります /etc/init.d/ sysklogd sysklogd 重要なメッセージをシステムログに記録できるようにします。次の行を変更します: SYSLOGD ="" SYSLOGD ="-a / var / lib / named / dev / log"

#! / bin / sh 
#/etc/init.d/sysklogd:システムログデーモンを起動します。

PATH =/ bin:/ usr / bin:/ sbin:/ usr / sbin

pidfile =/var/run/syslogd.pid
binpath =/ sbin / syslogd

test -x $ binpath || exit 0

#デーモンを開始/再起動するためのオプション
#リモートUDPロギングには、SYSLOGD ="-r"

SYSLOGD ="-a/varを使用します/ lib / named / dev / log "

create_xconsole()
{
if [! -e / dev / xconsole];次に
mknod-m 640 / dev / xconsole p
else
chmod 0640 / dev / xconsole
fi
chown root:adm / dev / xconsole
}

running()
{
#pidfileがない、おそらくデーモンが存在しない

if [! -f $ pidfile]
then
return 1
fi

pid =`cat $ pidfile`

#pidがない、おそらくないデーモンが存在します

if [-z "$ pid"]
then
return 1
fi

if [! -d / proc / $ pid]
then
return 1
fi

cmd =`cat / proc / $ pid / cmdline | tr "\ 000" "\ n" | head -n 1`

#syslogdはありませんか?

if ["$ cmd"!="$ binpath"]
then
return 1
fi

return 0
}

case "$ 1" in
start)
echo -n "システムログデーモンの開始:syslogd"
create_xconsole
start-stop-daemon --start --quiet --exec $ binpath-$ SYSLOGD
echo"。 "
;;
stop)
echo -n"システムログデーモンを停止しています:syslogd "
start-stop-daemon --stop --quiet --exec $ binpath- pidfile $ pidfile
echo"。"
;;
reload | force-reload)
echo -n "システムログデーモンのリロード:syslogd"
start-stop-デーモン--stop--quiet--signal 1 --exec $ binpath --pidfile $ pidfile
echo"。"
;;
restart)
echo-n"再起動システムログデーモン:syslogd "
start-stop-daemon --stop --quiet --exec $ binpath --pidfile $ pidfile
sleep 1
start-stop-daemon --start- -quiet --exec $ binp ath-$ SYSLOGD
echo"。"
;;
reload-or-restart)
実行中の場合
then
echo-n"システムをリロードしていますログデーモン:syslogd "
start-stop-daemon --stop --quiet --signal 1 --exec $ binpath --pidfile $ pidfile
else
echo-n"システムログを再起動していますデーモン:syslogd "
start-stop-daemon --start --quiet --exec $ binpath-$ SYSLOGD
fi
echo"。"
;;
*)
echo "使用法:/etc/init.d/sysklogd {start | stop | reload | restart | force-reload | reload-or-restart}"
exit 1
esac

0を終了

ロギングデーモンを再起動します:

/etc/init.d/sysklogd再起動

BINDを起動し、 / var / log /syslog<を確認します。 / font> エラーの場合:

/etc/init.d/bind9 start

MySQL

apt-getinstall mysql-server mysql-client libmysqlclient12-dev

mysqladmin -u root passwordyourrootsqlpassword

netstat-tapを実行する場合 次のような行が表示されます:

 tcp 0 0 localhost.localdo:mysql *:* LISTEN 2449 / mysqld 

これは、MySQLがポート3306の127.0.0.1でアクセス可能であることを意味します。次のセクション(Postfix)に進むことができます。表示されない場合この行で、 /etc/mysql/my.cnfを編集します。 スキップネットワーキングをコメントアウトします

#skip-networking 

MySQLで利用可能なすべてのIPアドレスをリッスンする場合は、 を編集します。 /etc/mysql/my.cnf bind-address =127.0.0.1をコメントアウトします

#bind-address =127.0.0.1 

編集する必要がある場合 /etc/mysql/my.cnf MySQLを再起動する必要があります:

/etc/init.d/mysql restart

MySQLがすべてのインターフェイスでリッスンしている場合は、 server1.example.com そうしないと、誰もがデータベースにアクセスする可能性があるためです:

mysqladmin -h server1.example.com -u root password yourrootsqlpassword


Postfix / POP3 / IMAP

SMTP-AUTHとTLS、およびPOP3(ポート995)を実行するPOP3サーバーとIMAPサーバーを使用してPostfixをインストールするためIMAP(ポート993)で次の手順を実行することもできます:

apt-get install postfixpostfix-tls libsasl2 sasl2-bin libsasl2-modules ipopd-ssl uw-imapd-ssl (1line!)

<-pop3およびpop3s
<-いいえ
<-インターネットサイト
<-なし
<-server1.example.com
<-server1.example.com、localhost.example.com、localhost
<-いいえ

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'
postconf -e' smtpd_recipient_restrictions =permit_sasl_authenticated、permit_mynetworks、reject_unauth_destination'
postconf -e' inet_interfaces =all'
e saslauthd'>> /etc/postfix/sasl/smtpd.conf
echo' mech_list:プレーンログイン'>> /etc/postfix/sasl/smtpd.conf

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 -keyoutcakey.pem -out cacert.pem -days3650

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'

ファイル /etc/postfix/main.cf > これで次のようになります:

#コメント付きのより完全なバージョンについては、/ usr / share / postfix/main.cf.distを参照してくださいmtpd_banner=$ myhostname ESMTP $ mail_name(Debian / GNU )biff =no#.domainを追加するのはMUAの仕事です。append_dot_mydomain=no#次の行のコメントを解除して、「遅延メール」警告を生成します。 / aliasmyorigin =/ etc / mailnamemydestination =server1.example.com、localhost.example.com、localhostrelayhost =mynetworks =127.0.0.0/8mailbox_command =procmail -a "$ EXTENSION" mailbox_size_limit =0recipient_delimiter =+ inet_interfaces =allsmtpd_sasl_local_domain =allsmtpd_sasl_local_domain noanonymousbroken_sasl_auth_clients =yessmtpd_recipient_restrictions =permit_sasl_authenticated、permit_mynetworks、reject_unauth_destinationsmtpd_tls_auth_only =nosmtp_use_tls =yessmtpd_use_tls =yessmtp_tls_note_starttls_ postfix / ssl / smtpd.keysmtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crtsmtpd_tls_CAfile =/etc/postfix/ssl/cacert.pemsmtpd_tls_loglevel =1smtpd_tls_received_header =yessmtpd_tls_received_header =yessmtpd_tls_session_cache 

/etc/init.d/postfixrestart

認証は saslauthdによって行われます。 正しく機能させるには、いくつか変更する必要があります。 Postfixは / var / spool / postfixで実行されているため we have to do the following:

mkdir -p /var/spool/postfix/var/run/saslauthd

Now we have toedit /etc/default/saslauthd in order to activate saslauthd .Remove # in front of START=yes and add the line PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" :

# This needs to be uncommented before saslauthd will be run automaticallySTART=yesPARAMS="-m /var/spool/postfix/var/run/saslauthd -r"# You must specify the authentication mechanisms you wish to use.# This defaults to "pam" for PAM support, but may also include# "shadow" or "sasldb", like this:# MECHANISMS="pam shadow"MECHANISMS="pam"

We must also edit /etc/init.d/saslauthd and change the location of saslauthd's PID file. Change the value of PIDFILE to /var/spool/postfix/var/run/${NAME}/saslauthd.pid

PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"

Now start saslauthd :

/etc/init.d/saslauthd start

Next we create the file /etc/c-client.cf with the following contents:

I accept the riskset disable-plaintext 0

and restart inetd :

/etc/init.d/openbsd-inetd restart

If we don't do this, then our POP3/IMAP logins will fail.

To see if SMTP-AUTHand TLS work properly now run the following command:

telnetlocalhost 25

After you haveestablished the connection to your postfix mail server type

ehlolocalhost

If you see thelines

250-STARTTLS

and

250-AUTH

everything is fine.

Type

quit

to return to thesystem's shell.

Courier-IMAP/Courier-POP3

If you want touse a POP3/IMAP daemon that has Maildir support (if you do not want to use thetraditional Unix mailbox format) you can install Courier-IMAP/Courier-IMAP-SSL(for IMAPs on port 993) and Courier-POP3/Courier-POP3-SSL (for POP3s on port995). Otherwise you can proceed with the Apache configuration.

apt-get install courier-imapcourier-imap-ssl courier-pop courier-pop-ssl

<- No

ipopd and UW-IMAPwill then be replaced.

Then configurePostfix to deliver emails to a user's Maildir*:

postconf -e 'home_mailbox=Maildir/'
postconf -e 'mailbox_command ='

/etc/init.d/postfix restart

*Please note:Youdo not have to do this if you intend to use ISPConfigon your system as ISPConfig does the necessary configuration using procmailrecipes. But please go sure to enable Maildir under Management -> Settings ->EMail in the ISPConfig web interface.


Debian
  1. Debian11でRsyslogサーバーをセットアップする方法

  2. ISPConfigPerfectServerをDebian10からDebian11に更新します

  3. Ubuntu 7.10サーバー(「完璧なセットアップ」+ ISPConfig)をUbuntu8.04LTSにアップグレードする方法

  1. Debian 11でRsyslogサーバーをセットアップする方法(Bullseye)

  2. 完璧なセットアップ-DebianWoody(3.0)

  3. 完璧なデスクトップ-DebianSqueeze

  1. 完璧なサーバー-Debian8Jessie(Apache2、BIND、Dovecot、ISPConfig 3)

  2. 完璧なサーバー-Debian8.4Jessie(Apache2、BIND、Dovecot、ISPConfig 3.1)

  3. 完璧なサーバー-Debian8.6(nginx、BIND、Dovecot、ISPConfig 3.1)