エントリー

カテゴリー「本サーバ関連」の検索結果は以下のとおりです。

ページ移動

サーバメンテナンス

実に1年1カ月ぶりにリスタートしてソフトウェアのアップデートなどメンテナンスを実施

20181103_uptime-year.png

この1年間には停電もありUPSを含めたシステムの信頼性実績を残せたことは喜ばしい

やはり単純なハードウェアは壊れにくいかな

尚,来年1月に現在使用中のフレッツ光が終了するためネット装置を更新する必要がある

早く更新したかったがTEL関係で簡単には更新できない事情があり現在も対応対策中である

この後下手するとしばらくサーバが停止になるかもしれない

メールサーバ構築

7月中頃にメールクライアントPCのOSが不良(不調かな)となり,またメールが読めなくなってしまった(実はこの1年半で3度目)

拙者はセキュリティのためメール読み込み用PCを単独で置いてあるのだが,ここのところ何故か良く壊れる

で,ようやく復旧できた訳だが・・・これはタイトルにあるメールサーバ構築を実施するトリガーである

本題はここから

今年の暑さは凄まじく玄箱の設置している部屋の温度も放出した熱で上昇ぎみなので空冷での冷却は無理と判断し玄箱を諦めることに

玄箱ではメールサーバを運用していたのでこれを移行しなければならない

そこでまず試験的に既存サーバにメールサーバを置いて最終的には熱放出の少ないメールサーバに移行することにした

玄箱でのメールサーバは「postfix」と「popa3d」で運用,今回は「exim4」と「dovecot」を使ってみる

参考サイトもあるが,いろいろ嵌ったので記録しておこうと思う(ただしセキュリティの問題があるので非公開部分もある)

尚,当初は簡単に終わるはずだったのだが・・・随分と時間を費やしてしまう

exim4の設定方法

参考サイト1参考サイト2で問題ないが,参考サイト3(英語)が一番良い

前提としてプロバイダ配下のSMTPサーバはOP25対策のためプロバイダのSMTPをリレーしなければならない

①これを踏まえて以下のコマンドでexim4の設定を行う

# dpkg-reconfigure exim4-config 

/etc/exim4/update-exim4.conf.conf が作成される(以下参考)

# /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'
#
# Please note that this is _not_ a dpkg-conffile and that automatic changes
# to this file might happen. The code handling this will honor your local
# changes, so this is usually fine, but will break local schemes that mess
# around with multiple versions of the file.
#
# update-exim4.conf uses this file to determine variable values to generate
# exim configuration macros for the configuration file.
#
# Most settings found in here do have corresponding questions in the
# Debconf configuration, but not all of them.
#
# This is a Debian specific file

dc_eximconfig_configtype='smarthost'
dc_other_hostnames='mail.inoshita.jp; inoshita.jp'
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='xxxx.xxxx.xxx::587' # ::(コロン2個)ポート番号
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

直接編集しても良いが反映させるには

# update-exim4.conf

を実行すること

②/etc/exim4/passwd.clientの編集

プロバイダのSMTPサーバに接続するためのIDとパスワートを書き込む(プレーンテキスト)

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
smtp.xxx.ne.jp:hoge:hoge-hoge        #プロバイダのSMTP:認証ユーザID:認証パスワード

③/etc/email-addressesの編集

送信元メールアドレスがプロバイダに登録認証されているメールアドレスでないと蹴られるのでメールを送信するUIDに対応した書き換えリストを作成する

# This is /etc/email-addresses. It is part of the exim package
#
# This file contains email addresses to use for outgoing mail. Any local
# part not in here will be qualified by the system domain as normal.
#
# It should contain lines of the form:
#
#user: someone@isp.com
#otheruser: someoneelse@anotherisp.com
user1: hoge@xxxx.xxxx.ne.jp
user1@localhost: hoge@xxxx.xxxx.ne.jp
user2: hoge@xxxx.xxxx.ne.jp

結果,送信元メールアドレスはすべて同じになる

これをミスると接続できない旨のログが出て苦しむ(拙者はtelnetで接続確認したがログインできず嵌った)

④/etc/exim4/passwdの編集

MUAから接続するためのIDとパスワートで,/etc/shadow からコピーするか exim-adduser で追加する

形式:

user:password:comment

/etc/shadow からコピーすると3フィールド以上あるが最初の3つしか利用してないので問題なし

送信元メールアドレスがすべて同じになるのが問題なのでSMTPサーバをプロバイダからMyDNSのメールリレーサービスを利用させていただくことにしたが今度は認証しようとするのを外せず断念して「postfix」を使うことに変更(exim4 は色々できるが調整部分が多く面倒すぎる)

postfixの設定

これはこここちらを参考にすれば問題なし

「postfix」の設定はログの扱いを考えるだけで他は問題なし

(追記)

ローカルのMUAからSMTP経由でメールする場合は以下の編集が必要

/etc/postfix/master.cf の編集

submission inet n       -       -       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

/etc/postfix/main.cf の追加編集(「Relay access denied」となる)

mynetworks = 127.0.0.0/8, [メール送信元IP]/32
doveconfの設定

上記の「postfix」の参考サイトにある

pop で悩むのは,mboxの扱いでsmtpソフトとの兼ね合いもあるのだが,最近はディレクトリ展開が当たり前なのか

imap も使うなら ディレクトリ展開 の方が良いけどユーザHOMEディレクトリを作成しないといけないので無駄(popだけならいらない)

なので

mail_location = INBOX=/var/mail/%u

だけにしたのだけど動作不良に陥る(既にimapの環境になってしまっている?)

仕方ないので

mail_location = mbox:~/.mbox:INBOX=/var/mail/%u

として各ユーザのHOMEを作成

メール受信時

pop3(user01): Error: file_dotlock_create(/var/mail/user01) failed: Permission denied 
(euid=1001(user01) egid=100(users) missing +w perm: /var/mail, we're not in group 8(mail),
dir owned by 0:8 mode=0775) (set mail_privileged_group=mail)

というエラーが出て、受信したメールが/var/spool/mail/から消えない,/etc/dovecot/conf.d/10-mail.confに

mail_privileged_group = mail

を追加で解決

メンテナンスとnfsの設定

ラズパイから共有ディレクトリを参照できるようにするためnfsの設定を行う

メンテナンス

パッケージのアップデートを実施

# aptitude safe-upgrade
依存関係を解決中...
以下のパッケージが更新されます:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
  bind9 bind9-host bind9utils dnsutils exim4-base exim4-config
  exim4-daemon-light libbind9-80 libc-bin libc-dev-bin libc6 libc6-dev
  libdns88 libexpat1 libffi5 libisc84 libisccc80 libisccfg82 libldap-2.4-2
  liblwres80 libonig2 libtasn1-3 libwbclient0 libxml2 linux-libc-dev
  locales multiarch-support perl perl-base perl-modules samba samba-common
  samba-common-bin sudo
更新: 39 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。
36.5 M バイトのアーカイブを取得する必要があります。展開後に 46.1 k バイトのディ スク領域が解放されます。
先に進みますか? [Y/n/?] y

(以下略)
nfsサーバのセットアップ
# aptitude install nfs-kernel-server
以下の新規パッケージがインストールされます:
  libgssglue1{a} libnfsidmap2{a} libtirpc1{a} nfs-common{a}
  nfs-kernel-server rpcbind{a}
更新: 0 個、新規インストール: 6 個、削除: 0 個、保留: 1 個。
565 k バイトのアーカイブを取得する必要があります。展開後に 1,394 k バイトのディ スク領域が新たに消費されます。
先に進みますか? [Y/n/?] y

(略)

# vi /etc/exports

(編集)

# cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/srv/share xx.xx.xx.xx/xx(rw,sync,no_root_squash)
# service nfs-kernel-server restart
[ ok ] Stopping NFS kernel daemon: mountd nfsd.
[ ok ] Unexporting directories for NFS kernel daemon....
[....] Exporting directories for NFS kernel daemon...exportfs: /etc/exports
[1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.24.0/24:/srv/share".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x

. ok
[ ok ] Starting NFS kernel daemon: nfsd mountd.
#
exports設定のオプション
オプション 説明
rw 読み込みと書き込みの両方を許可する
ro 読み込みを許可する
sync 同期書き込みを有効にする (デフォルト)
async 非同期書き込みを有効にする
secure 1024番ポートより小さいポートからのリクエストのみ受け付ける (デフォルト)
insecure 1024番ポート以降のポートからのリクエストも受け付ける
wdelay 別の書き込み要求が実行中/発生予定の場合、書き込みを遅らせる (デフォルト)
no_wdelay wdelay を無効にする。async と合わせて設定する
subtree_check サブツリーのチェックを行う。(デフォルト)
一般的な指針として、多くは読み込みのみでファイル名の変更があまり行われないようなディレクトリをエクスポートする場合は、 サブツリーチェック有効の方がよいとされる。
no_subtree_check サブツリーのチェックを無効にする。
一般的な指針として、ホームディレクトリのような細かなファイルが多く、変更も多いディレクトリをエクスポートする場合は、 サブツリーのチェックを無効にした方がよいとされる。
root_squash root UID/GID を anonymous UID/GID にマッピングする
no_root_squash root を anonymous UID/GID にマッピングしない
all_squash 全 UID/GID を anonymous UID/GID にマッピングする
no_all_squash 全 UID/GID を anonymous UID/GID にマッピングしない (デフォルト)
anonuid=UID 指定の UID を anonymous UID にマッピングする
anongid=GID 指定の GID を anonymous GID にマッピングする
クライアントセットアップ
# aptitude install nfs-client

(略)

# mount -t nfs xx.xx.xx.xx:/srv/share /share

必ずmountさせるなら/etc/fstabに記述する

xx.xx.xx.xx:/srv/share   /srv/share  nfs     defaults        0       0

ダイナミックにmountするにはautomountを使う

root@retropie:/# aptitude install autofs

(略)

root@retropie:/# vi /etc/auto.master

最終行に

/-      /etc/share.mount

を,追加

root@retropie:/# vi /etc/share.mount

(編集)

root@retropie:/# cat /etc/share.mount
/srv/share -fstype=nfs,rw  xx.xx.xx.xx:/srv/share
root@retropie:/# systemctl restart autofs

 

AWstatsが正常に動作してなかったので再設定

AWstatsはWebのアクセスログを解析してレポート出力するソフトなのだがCubieboardで運用開始後2年間正常に動作してなかったようだ

過去1年分のアクセスログは残っているので1年前からのログをレポート出力できるよう再設定することにした

AWstatsの基本設定は玄箱の場合と同じ(こちら

過去1年分のログの再収集は以下のとおり

①これまでの収集データを消す

/var/lib/awstats/*.txtを全て削除(.bakを付けてバックアップが最良)

②Apacheアクセスログを古い順に再登録

mkawstats -update -logfile=<ログファイル>

(注)過去のログは追加登録対象にならないのでログは古い順に登録する

尚,/usr/share/awstats/tools/にAWstatsのツールがある(logresolvemerge.pl等を必要なら使う)

ページ移動

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

Re:NOAA受信システム復旧
2025/06/11 from admin
Re:NOAA受信システム復旧
2025/06/11 from とおりすがり
Re:SDRplay社RSP1クローンを購入
2025/05/25 from 匿名希望
Re:Mozilla FirefoxではNHKプラスを再生できない件
2025/05/09 from Donabeyaki
Re:ATS-25を作製する
2025/03/23 from kazu

過去ログ

Feed