サーバー設定 · 2 min read · Nov 19, 2025
完璧なサーバー - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3) - ページ 3
8 Postfix、Dovecot、MySQLのインストール
実行します
zypper install postfix postfix-mysql mysql-community-server libmysqlclient-devel dovecot21 dovecot21-backend-mysql pwgen cron python次のメッセージが表示された場合は、sendmailをアンインストールするように選択してください:
Problem: sendmail-8.14.5-85.1.2.x86_64 conflicts with postfix provided by postfix-2.9.6-1.2.1.x86_64
Solution 1: Following actions will be done:
do not install postfix-2.9.6-1.2.1.x86_64
do not install postfix-mysql-2.9.6-1.2.1.x86_64
Solution 2: deinstallation of sendmail-8.14.5-85.1.2.x86_64
Choose from above solutions by number or cancel [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
NOTE: このスクリプトのすべての部分を実行することは、すべてのMySQLサーバーで推奨されます。
本番環境で使用する場合は、各ステップを注意深くお読みください!
MySQLにログインして安全にするためには、現在の
rootユーザーのパスワードが必要です。
MySQLをインストールしたばかりで、まだrootパスワードを設定していない場合、
パスワードは空白になりますので、ここではただEnterを押してください。
rootの現在のパスワードを入力してください(なしの場合は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ファイルのチェック #if test -f $AMAVIS_PID ; then # checkproc -p $AMAVIS_PID amavisd # if test $? -ge 1 ; then # # pidファイルが古いです。削除します。 # echo -n "(古いamavisd pidファイル $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新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。