サーバー設定 · 4 min read · Feb 13, 2026

完璧なサーバー - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3) - ページ 2

今、インストール中に選択したユーザー名 root とパスワードでログインします。

4 ネットワーク設定の構成

Yast を使用して、ネットワークカードの設定を再構成します。最初の起動後、システムは DHCP で IP アドレスを取得するように構成されています。サーバー用に、静的 IP アドレスに切り替えます。

実行します

yast2

ネットワークデバイス > ネットワーク設定を選択します:

ネットワークカードを選択し、次に編集を選択します:

静的に割り当てられた IP アドレスを選択し、IP アドレス、サブネットマスク、ホスト名を入力し、次へを選択して変更を保存します:

次に、ホスト名/DNS を選択し、ホスト名 (例: server1.example.com) とネームサーバー (例: 192.168.1.200 と 8.8.8.8) を入力します:

次に、ルーティングを選択し、デフォルトゲートウェイを入力して OK を押します:

ファイアウォールを構成するには (基本インストール中に構成していない場合)、Yast でセキュリティとユーザー > ファイアウォールを選択します:

このチュートリアルの最後に ISPConfig をインストールしたいので、デフォルトの OpenSUSE ファイアウォールを無効にします。もちろん、必要に応じてそれをオンにして構成することもできます (ただし、その場合は後で他のファイアウォールを使用しない方が良いでしょう。おそらく OpenSUSE ファイアウォールと干渉するためです)。

ファイアウォールの自動起動を無効にし、今すぐファイアウォールを停止を選択し、次へを押します:

完了を押して Yast を終了します:

その後、次のコマンドで確認します

ifconfig

ネットワーク構成が正しいかどうかを確認します。正しくない場合 (たとえば、eth0 が欠けている場合)、システムを再起動します…

reboot

… その後、再度ネットワーク構成を確認します - これで正しくなっているはずです。

5 アップデートのインストール

今、openSUSE リポジトリから最新のアップデートをインストールします。実行します

zypper update

そして、カーネルのアップデートもインストールした可能性が高いため、サーバーを再起動します:

reboot

6 基本パッケージのインストール

実行します

zypper install findutils readline glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico sudo perl-TimeDate

7 ジャーナル付きクォータ

クォータをインストールするには、実行します

zypper install quota

/etc/fstab を次のように編集します (マウントポイント / と /srv に usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 を追加しました):

vi /etc/fstab

| /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part1 swap swap defaults 0 0 /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part2 / ext4 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part3 /srv ext4 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 2 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 |

その後、実行します:

mount -o remount /  
 mount -o remount /srv
quotacheck -avugm  
 quotaon -avug

これらのエラーメッセージが表示されても心配しないでください - quotacheck を初めて実行する際には正常です:

server1:~ # quotacheck -avugm  
 quotacheck: Scanning /dev/sda2 [/] done  
 quotacheck: Cannot stat old user quota file: No such file or directory  
 quotacheck: Cannot stat old group quota file: No such file or directory  
 quotacheck: Cannot stat old user quota file: No such file or directory  
 quotacheck: Cannot stat old group quota file: No such file or directory  
 quotacheck: Checked 3872 directories and 32991 files  
 quotacheck: Old file not found.  
 quotacheck: Old file not found.  
 quotacheck: Scanning /dev/sda3 [/srv] done  
 quotacheck: Cannot stat old user quota file: No such file or directory  
 quotacheck: Cannot stat old group quota file: No such file or directory  
 quotacheck: Cannot stat old user quota file: No such file or directory  
 quotacheck: Cannot stat old group quota file: No such file or directory  
 quotacheck: Checked 6 directories and 0 files  
 quotacheck: Old file not found.  
 quotacheck: Old file not found.  
 server1:~ #

8 Postfix、Dovecot、MySQL のインストール

実行します

zypper install postfix postfix-mysql mysql-community-server libmysqlclient-devel dovecot21 dovecot21-backend-mysql pwgen cron python

次のメッセージが表示された場合は、exim をアンインストールするように選択してください:

問題: sendmail-8.14.5-85.1.2.x86_64 は postfix-2.9.6-1.2.1.x86_64 によって提供される postfix と競合します
解決策 1: 次のアクションが実行されます:
postfix-2.9.6-1.2.1.x86_64 をインストールしない
postfix-mysql-2.9.6-1.2.1.x86_64 をインストールしない
解決策 2: sendmail-8.14.5-85.1.2.x86_64 のアンインストール

上記の解決策から番号を選択するか、キャンセル [1/2/c] (c): <– 2

次のシンボリックリンクを作成します:

ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

この時点で再起動する必要がありました。そうしないと、MySQL が起動を拒否しました:

Failed to issue method call: Unit mysql.service failed to load: No such file or directory. See system logs and 'systemctl status mysql.service' for details.
reboot

MySQL、Postfix、および Dovecot を起動し、サービスが起動時に開始されるように有効にします。

systemctl enable mysql.service  
 systemctl start mysql.service
systemctl enable postfix.service  
 systemctl start postfix.service
systemctl enable dovecot.service  
 systemctl start dovecot.service

次に、getmail パッケージをインストールします:

zypper install getmail

MySQL インストールを保護するには、実行します:

mysql_secure_installation

今、いくつかの質問がされます:

server1:~ # mysql_secure_installation

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

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

現在のパスワードを入力してください (なしの場合は Enter): <– ENTER
OK、パスワードが正常に使用されました。次に進みます…

root パスワードを設定することで、誰もが適切な
認証なしに MySQL root ユーザーにログインできないようにします。

root パスワードを設定しますか? [Y/n] <– Y
新しいパスワード: <– yourrootsqlpassword
新しいパスワードを再入力: <– yourrootsqlpassword
パスワードが正常に更新されました!
特権テーブルを再読み込み中..
… 成功!

デフォルトでは、MySQL インストールには匿名ユーザーがあり、 誰でもユーザーアカウントを作成せずに MySQL にログインできます。
これはテスト用にのみ意図されており、 インストールを少しスムーズにするためのものです。
本番環境に移行する前に、それらを削除する必要があります。

匿名ユーザーを削除しますか? [Y/n] <– Y
… 成功!

通常、root は ‘localhost’ からのみ接続を許可されるべきです。
これにより、誰かがネットワークから root パスワードを推測できないようにします。

リモートからの root ログインを禁止しますか? [Y/n] <– Y
… 成功!

デフォルトでは、MySQL には誰でもアクセスできる ‘test’ という名前のデータベースがあります。
これもテスト用にのみ意図されており、 本番環境に移行する前に削除する必要があります。

テストデータベースとそのアクセスを削除しますか? [Y/n] <– Y

  • テストデータベースを削除中…
    … 成功!
  • テストデータベースの特権を削除中…
    … 成功!

特権テーブルを再読み込みすることで、これまでに行ったすべての変更が 直ちに有効になります。

特権テーブルを今すぐ再読み込みしますか? [Y/n] <– Y
… 成功!

クリーンアップ中…

すべて完了!
上記のすべてのステップを完了した場合、 あなたの MySQL インストールは今や安全であるはずです。

MySQL を使用していただきありがとうございます!

server1:~ #

今、あなたの MySQL セットアップは安全であるはずです。

9 Amavisd-new、Spamassassin と Clamav

Amavisd-new、Spamassassin および Clamav アンチウイルスをインストールします。実行します

zypper install amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql

/etc/amavisd.conf を開きます…

vi /etc/amavisd.conf

… そして、$mydomain 行の下に正しいホスト名を持つ $myhostname 行を追加します:

| [...] $mydomain = 'example.com'; # 他の設定の便利なデフォルト $myhostname = "server1.$mydomain"; [...] |

次に、/var/run/clamav/clamd から /var/lib/clamav/clamd-socket へのシンボリックリンクを作成します:

mkdir -p /var/run/clamav  
 ln -s /var/lib/clamav/clamd-socket /var/run/clamav/clamd

OpenSUSE 12.3 にはランタイムデータを保存するための /run ディレクトリがあります。/run は現在 tmpfs であり、/var/run は tmpfs から /run にバインドマウントされており、再起動時に空になります。

これは、再起動後に私たちが作成した /var/run/clamav ディレクトリが存在しなくなり、したがって clamd が起動に失敗することを意味します。したがって、システム起動時にこのディレクトリを作成する /etc/tmpfiles.d/clamav.conf ファイルを作成します (詳細については http://0pointer.de/public/systemd-man/tmpfiles.d.html を参照してください):

vi /etc/tmpfiles.d/clamav.conf

| D /var/run/clamav 0755 root root - |

amavisd と clamd を開始する前に、/etc/init.d/amavis 初期スクリプトを編集する必要があります - デフォルトの初期スクリプトで amavisd を信頼性よく開始、停止、再起動することができませんでした:

vi /etc/init.d/amavis

開始と停止のセクションで次の行をコメントアウトします:

| [...] start) # ZMI 20100428 stale pid file のチェック #if test -f $AMAVIS_PID ; then # checkproc -p $AMAVIS_PID amavisd # if test $? -ge 1 ; then # # pid file は古くなっています。削除します # echo -n "(古い amavisd pid file $AMAVIS_PID が見つかりました。削除します。amavisd はクラッシュしましたか?)" # rm -f $AMAVIS_PID # fi #fi echo -n "ウイルススキャナー (amavisd-new) を開始しています: " $AMAVISD_BIN start #if ! checkproc amavisd; then # rc_failed 7 #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "amavis-milter を開始しています:" # startproc -u vscan $AMAVIS_MILTER_BIN -p $AMAVIS_MILTER_SOCK > /dev/null 2>&1 # rc_status -v #fi ;; stop) echo -n "ウイルススキャナー (amavisd-new) をシャットダウンしています: " #if checkproc amavisd; then # rc_reset $AMAVISD_BIN stop #else # rc_reset #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "amavis-milter をシャットダウンしています: " # killproc -TERM $AMAVIS_MILTER_BIN # rc_status -v #fi ;; [...] |

初期スクリプトを変更したため、次のコマンドを実行する必要があります

systemctl --system daemon-reload

clamav を開始するには、データベースをダウンロードする必要があり、次のコマンドを実行します

freshclam

注意: データベースのダウンロードには多くの時間がかかります。中断せず、freshclam 更新サービスを途中で停止しないことをお勧めします。

サービスを有効にするには、実行します:

systemctl enable amavis.service  
 systemctl enable clamd.service  
 systemctl start amavis.service  
 systemctl start clamd.service
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。