サーバー設定 · 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そして、カーネルのアップデートもインストールした可能性が高いため、サーバーを再起動します:
reboot6 基本パッケージのインストール
実行します
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-TimeDate7 ジャーナル付きクォータ
クォータをインストールするには、実行します
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 /srvquotacheck -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.rebootMySQL、Postfix、および Dovecot を起動し、サービスが起動時に開始されるように有効にします。
systemctl enable mysql.service
systemctl start mysql.servicesystemctl enable postfix.service
systemctl start postfix.servicesystemctl enable dovecot.service
systemctl start dovecot.service次に、getmail パッケージをインストールします:
zypper install getmailMySQL インストールを保護するには、実行します:
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/clamdOpenSUSE 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-reloadclamav を開始するには、データベースをダウンロードする必要があり、次のコマンドを実行します
freshclam
注意: データベースのダウンロードには多くの時間がかかります。中断せず、freshclam 更新サービスを途中で停止しないことをお勧めします。
サービスを有効にするには、実行します:
systemctl enable amavis.service
systemctl enable clamd.service
systemctl start amavis.service
systemctl start clamd.service新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。