2015/03/26

squidが遅い場合の対処

CentOS+squidでプロキシを作っていたたが、
昼間になって利用が多くなるとsquidの反応が非常に悪くなる。
CPUもメモリも色々と疑って色々試すこと数ヶ月(とびとびだけど)。
よくよく見ると、
/var/log/squid/cache.logに
WARNING! Your cache is running out of filedescriptors
というメッセージが!
しかし、なまったなあ。こんなメッセージにも気付いていなかったなんて。
要は、接続数が多すぎて、file descriptorが不足しているらしい。
調べてみると、squidとOSの標準は1024らしい。
ということで、設定変更。
# vi /etc/squid/squid.conf
max_filedescriptors 0
をコメントアウト。ここで指定がいるかと思ったら、0のままに
しておくとOS側の設定となるらしい。
なので、squidの起動スクリプト(/etc/init.d/squid)に
ulimit -HSn 4096
と追加。
まったく問題なくなりました。

この辺を参考に。
http://takeda-h.hatenablog.com/entry/2014/12/09/005533
ありがとうございます。



Mailman会員管理画面の表示件数

mailman/Mailman/Defaults.pyに
DEFAULT_ADMIN_MEMBER_CHUNKSIZE = 30
とあるので、mm_cfg.pyに

DEFAULT_ADMIN_MEMBER_CHUNKSIZE = 100
として追記、mailmanを再起動。

既にあるメーリングリストについては、
$ python -i bin/withlist ml-list-name
>>> m.Lock()
>>> m.admin_member_chunksize = 100
>>> m.Save()
>>> m.Unlock()
>>> ^D
>>> ^D

以上。
これで100件になった。

2015/03/06

MLサーバでpostfixのエラー

Postfix+mailmanでMLサーバを構築。
普通にローカルユーザ宛のメールは届くが、mailmanで作成したメールアドレスに送ると、登録ユーザ宛に送信されない。
ログを見ると、
・NOQUEUE: reject: RCPT from localhost[::1]: 554 5.7.1
・Relay access denied
あたりが出ているので、localhost内でのpipemail(?)とpostfixでの問題かと。
解決策としては、
/etc/postfix/main.cfで、
 inet_protocols = all
    ↓
  inet_protocols = ipv4
とするだけでした。
よく見たら、[::1]じゃないか。。。 なまってるなあ。



2014/12/20

パスワードの生成と強度チェック

○パスワード生成
http://preshing.com/20110811/xkcd-password-generator/

○パスワード強度チェック
https://howsecureismypassword.net/


2014/10/03

squidでyoutubeをブロック

squidでyoutubeをブロック

# vi /etc/squid/squid.conf
acl deny_mime_type rep_mime_type ^video/
acl deny_url_regex url_regex ^http://ext\.nicovideo\.jp/swf/player/

http_reply_access deny deny_mime_type
http_reply_access deny deny_url_regex

2014/10/02

CentOSのアップデートエラー



# yum check-update
を実行すると
  [Errno 4] IOError: となってエラーになる。
DNSについても/etc/resolv.confの記述も正しいし、正常に名前も引けるし、
/etc/yum.conf.d/***.repoの問題かなあとか悩んでみたところ、

/etc/nsswitch.confが原因だった。

そういや内部利用専用だったので、hosts行からdns を削除していたのだった。
ということで、/etc/nsswitch.confで
hosts: files dns
としてエラー解消しました。

盲点でした。

2014/09/12

CentOS6.5とdovecot2.xでPOP3サーバ

CentOS6.5とdovecot2.xでPOPサーバを構築。しかし、かなりなまってるなあ、とおもいつつ作業を進めて、概ね出来たかと動作確認をしたところ、メールクライアントからPOPサーバの設定がうまくいかない。
サーバ側のログを見ると
----------------------
Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information.
---------------------
となっている。ディレクトリやファイルのパーミッションを確認しても問題ないようなのだがと調べたところ、
/var/spool/mailにあるメールスプールファイルのパーミッションが0600になっていないといけないとわかったので、
-----------------------------
# chmod 0600 /var/spool/mail/hogehoge
-----------------------------
でうまく動作した。
 
 

 しかし、これでは、useraddコマンドでユーザ追加を行うたびに上記のパーミッション変更操作が必要になるので、
・dovecotでのパーミッションチェックを回避できないか
・useradd でユーザを作成する際に、ホームディレクトリと同じパーミッション(0700)にできないか
とか色々と調べてみたが、良い解決策は見つからず。

よくよく考えると、useraddでメールスプールファイルを作らなければ良いだけなので、
/etc/default/useraddで、
CREATE_MAIL_SPOOL=yes
をコメントしてみた。(noにしても同じだろうと思えるが、とりあえず確認のため)。
結果、うまくいきました。
つまり、
・useraddではspoolファイルは作成されない
・新規登録ユーザにメールが届いた時点で、スプールファイルが0600のパーミッションで作られる。
となりました。

ということで、メモ。