各種設定
CentOS7 ssh
Server refused our key
sshd_configの設定は以前と一緒だが、Server refused our keyのエラーが表示される。
~/.ssh にはデフォルトでssh_home_tという適切なコンテキストが付与されているのでそれを復帰する作業が必要とのこと。
restorecon -R -v /home/USERNAME/.ssh
PLESKのIPアクセス制限管理
間違えてログイン出来なくなった場合の解除方法
エラー: 現在適用されている IP アクセス制限ポリシーにより、アドレス '111.222.333.444' からの管理者アクセスは制限されています。
と表示されるようになり、困りました。Pleskのサーバー、管理者情報、アクセスの「リストにないネットワークからの接続を拒否する」を「リストに存在するネットワークからの接続を拒否する」にしてしまったようで、
mysqlのDB psa のmiscテーブルに該当パラメータparam=access_policy があり、val=denyをallowに変えると直る。
IPアドレスを間違えた場合は上のDNS_Allow_Transfer0やDNS_Allow_Transfer1のvalを直せばOK。サブネットがあるようなら111.222.333.444/29こんな感じ。
rsyncによるディレクトリコピー
下記HDDの自動マウントにも書いたが、rsyncでソフトウェアRAID的なことをしているが、書き方ひとつで大変なことになったのでメモ。
1 5 * * * rsync -auv --delete /var/ /backup/var/
1 3 * * * rsync -auv --delete /etc/ /backup/etc/
1 4 * * * rsync -auv --delete /home/ /backup/home/
Cronに上記の通り記載しているが、これのディレクトリの一番最後の/を外すと
1 5 * * * rsync -auv --delete /var /backup/var
1 3 * * * rsync -auv --delete /etc /backup/etc
1 4 * * * rsync -auv --delete /home /backup/home
CentOSではvar home etcなどが日々再帰的にコピーされてしまい、1ヶ月程度でHDDが埋まってしまいあせりました。(^^ゞ
HDDの自動マウント
vi /etc/fstab
debianで、起動ディスク以外は起動時に自動でmountされない。fstabファイルに下記のような記述を追加。
/dev/sdb1 /mount ext3 errors=remount-ro 0 0
HDDのまるごとコピー
dd if=/dev/sda of=/dev/sdb bs=4096
ddというコマンドで簡単にまるごとコピーを取ることが出来る。これでsdbのhddをsdaの挿さっていたところに挿せば問題なく起動できる。
これを使って毎朝rsyncでソフトウェアRAID的なことをしてバックアップしてます。
qmail
qmailの設定に関すること。
Debianでqmailの設定
apt-get remove --purge exim4 exim4-base exim4-config apt-get install ucspi-tcp-src build-ucspi-tcp apt-get install qmail-src cd /usr/local/src wget http://jaist.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.27.tar.gz -> 27はmakeファイルがおかしい。下記エラーがでます。 gcc -g -O2 -Wall -o vchkpw vchkpw.o md5.o hmac_md5.o libvpopmail.a -lcrypt libvpopmail.a(libvpopmail_a-vpopmail.o): In function `vdeluser': /root/vpopmail-5.4.27/vpopmail.c:1769: undefined reference to `backfill' libvpopmail.a(libvpopmail_a-vpopmail.o): In function `make_user_dir': /root/vpopmail-5.4.27/vpopmail.c:2371: undefined reference to `backfill' collect2: ld はステータス 1 で終了しました make[2]: *** [vchkpw] エラー 1 make[2]: ディレクトリ `/root/vpopmail-5.4.27' から出ます make[1]: *** [all-recursive] エラー 1 make[1]: ディレクトリ `/root/vpopmail-5.4.27' から出ます make: *** [all] エラー 2 tar xvzf vpopmail-5.4.27.tar.gz groupadd -g 90 vchkpw mkdir /home/vpopmail/ mkdir /home/vpopmail/etc useradd -g vchkpw -d /home/vpopmail -u 90 -s /bin/false vpopmail cd /home/vpopmail/etc vi vpopmail.mysql localhost|0|vpopmailuser|vpopmailpassword|vpopmaildb mysql -u root -p CREATE DATABASE vpopmaildb; GRANT select,insert,update,delete,create,drop ON vpopmaildb.* TO vpopmailuser@localhost IDENTIFIED BY 'vpopmailpassword'; quit apt-get install libmysqlclient15-dev ./configure \ --enable-roaming-users \ # pop-before-smtpを許可 --enable-relay-clear-minutes=30 \ # pop認証結果を30分保存する(デフォルト180) --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \ --enable-logging=p \ # popエラーをsyslog(/var/log/maillog)に --disable-ip-alias-domains \ # IPエイリアスドメインをサポートしない --disable-passwd \ # /etc/passwdユーザーを使わない --enable-clear-passwd \ # 管理人がvuserinfoなどを使って平文のパスワードを読める (以下はmysqlを使うときのみ指定) --enable-auth-module=mysql \ # ドメイン、アカウント管理はcdbでなくmysqlを使う --enable-incdir=/usr/include/mysql \ # MySQLインストール時のものを --enable-libdir=/usr/lib/mysql \ # 同上 --enable-many-domains \ # ドメイン毎にテーブルを作らない --enable-auth-logging \ # 最後のpop認証データをmysqlに保存する --enable-sql-logging \ # pop認証エラーをmysqlのvlogテーブルに保存する --disable-valias \ # MySqlにvalias処理用データを格納しない --disable-mysql-limits # MySQLでなく.qmailadmin-limitsファイルを使う ./configure --enable-roaming-users --enable-relay-clear-minutes=10 --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-logging=p --disable-ip-alias-domains --disable-passwd --enable-clear-passwd --enable-auth-module=mysql --enable--sqlincdir=/usr/include/mysql --enable-libdir=/var/lib/mysql --enable-many-domains --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits vpopmail 5.4.27 Current settings --------------------------------------- vpopmail directory = /home/vpopmail domains directory = /home/vpopmail/domains uid = 90 gid = 90 roaming users = ON --enable-roaming-users tcpserver file = /home/vpopmail/etc/tcp.smtp open_smtp file = /home/vpopmail/etc/open-smtp rebuild tcpserver file = ON --enable-rebuild-tcpserver-file (default) password learning = OFF --disable-learn-passwords (default) md5 passwords = ON --enable-md5-passwords (default) file locking = ON --enable-file-locking (default) vdelivermail fsync = OFF --disable-file-sync (default) make seekable = ON --enable-make-seekable (default) clear passwd = ON --enable-clear-passwd (default) user dir hashing = ON --enable-users-big-dir (default) address extensions = OFF --disable-qmail-ext (default) ip alias = OFF --disable-ip-alias-domains (default) onchange script = OFF --disable-onchange-script (default) auth module = mysql --enable-auth-module=mysql mysql replication = OFF --disable-mysql-replication (default) sql logging = ON --enable-sql-logging mysql limits = OFF --disable-mysql-limits (default) SQL valias table = OFF --disable-valias (default) auth inc = -I/usr/include/mysql auth lib = -Xlinker -R -Xlinker /var/lib/mysql -L/var/lib/mysql -lmysqlclient -lz -lm system passwords = OFF --disable-passwd (default) pop syslog = show failed attempts with clear text password --enable-logging=p auth logging = ON --enable-auth-logging (default) all domains in one SQL table = --enable-many-domains (default) spamassassin = OFF --disable-spamassassin (default) maildrop = OFF --disable-maildrop (default) vi /home/vpopmail/etc/tcp.smtp 127.:allow,RELAYCLIENT="" 192.168.:allow,RELAYCLIENT="" #clearopensmtp 0-59/10 * * * * root /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null cd /var/qmail/ vi ./rc #!/bin/sh # Using splogger to send the log through syslog. # Using qmail-local to deliver messages to ~/Mailbox by default. exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start ./Maildir splogger qmail chmod 755 ./rc vi /etc/rc.d/init.d/qmail ================================================================= 起動シェル ================================================================= chmod 755 qmail /etc/rc.d/init.d/qmail cdb <- 上記tcp.smtpをcdb化 chkconfig --add qmail /home/vpopmail/bin/vadddomain ドメイン名 cd /usr/local/src wget http://www.inter7.com/devel/ezmlm-0.53-idx-0.41.tar.gz tar xvzf ezmlm-0.53-idx-0.41.tar.gz make make setup wget http://jaist.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.12.tar.gz tar xvzf qmailadmin-1.2.12.tar.gz cd qmailadmin-1.2.12 ※autoresponderを入れていないので、--enable-autoresponder-path=nとする ./configure --enable-autoresponder-path=n --enable-htmldir=/var/www --enable-cgibindir=/usr/lib/cgi-bin/ make qmailadmin 1.2.12 Current settings --------------------------------------- cgi-bin dir = /usr/lib/cgi-bin/ html dir = /var/www image dir = /var/www/images/qmailadmin image URL = /images/qmailadmin template dir = /usr/local/share/qmailadmin qmail dir = /var/qmail vpopmail dir = /home/vpopmail autorespond dir = n ezmlm dir = /usr/local/bin/ezmlm ezmlm idx = yes mysql for ezmlm = yes help = no modify quota = no domain autofill = no modify spam check = no make install-strip mailコマンドでテスト! # apt-get install mailutils
qmailの削除 qmailのqueueを削除するには?
qmailをアンインストールする必要があり、普通にdpkgで削除しようとしたら固まって先に進みません。
いろいろ見ていたらキューに残っていると削除できないことが判明。
今回のように全削除なら、/var/qmail/queue の配下mess,info,remote,localディレクトリの下にある、数字ディレクトリの中の数字だけのファイルを全部削除すれば良いようです。
開放ポート
DNSやWEBサーバーの設定を確認する。
LSOF
このコマンドは「ファイルやデバイスなどを開いているユーザーを調べるコマンド」です。オプションでポートを利用しているプロセスを調べることが出来ます。
lsof -i:80
-i でポートを調べる。 :80でポート番号を指定。
Debian 3.1での結果
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME apache2 4187 www-data 4u IPv4 1300861 TCP *:www (LISTEN) apache2 21450 root 4u IPv4 1300861 TCP *:www (LISTEN) apache2 21531 www-data 4u IPv4 1300861 TCP *:www (LISTEN) apache2 21532 www-data 4u IPv4 1300861 TCP *:www (LISTEN) apache2 21533 www-data 4u IPv4 1300861 TCP *:www (LISTEN)
Apacheが待ち受けていることが分かる。
DNS
スペルミスで嫌な思いをする前に下記コマンドで確認!
nslookup
nslookup ドメイン名
Windowsからも同名のコマンドで確認可能。
OKの場合
>nslookup a-pock.co.jp Server: 127.0.0.1 Address: 127.0.0.1#53 Name: a-pock.co.jp Address: 122.249.88.122IPアドレスが返ってくる。
NGの場合
>nslookup apock.co.jp Server: 127.0.0.1 Address: 127.0.0.1#53 ** server can't find apock.co.jp: NXDOMAINこのようにIPアドレスが返ってこない。
dig
dig @a-pock.co.jp a-pock.co.jp
@が問合せするDNS。省略可能
OKの場合
; <<>> DiG 9.2.4 <<>> a-pock.co.jp ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13058 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 2 ;; QUESTION SECTION: ;a-pock.co.jp. IN A ;; ANSWER SECTION: a-pock.co.jp. 86400 IN A 122.249.88.122 ;; AUTHORITY SECTION: a-pock.co.jp. 86400 IN NS dns2.a-pock.co.jp. a-pock.co.jp. 86400 IN NS ns.a-pock.co.jp. a-pock.co.jp. 86400 IN NS ns2.a-pock.co.jp. a-pock.co.jp. 86400 IN NS dns1.a-pock.co.jp. ;; ADDITIONAL SECTION: ns.a-pock.co.jp. 86400 IN A 122.249.88.123 ns2.a-pock.co.jp. 86400 IN A 122.249.88.122 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sat May 17 16:31:21 2008 ;; MSG SIZE rcvd: 151
NGの場合
; <<>> DiG 9.2.4 <<>> apock.co.jp ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 63389 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;apock.co.jp. IN A ;; AUTHORITY SECTION: jp. 649 IN SOA z.dns.jp. root.dns.jp. 1211008501 3600 900 604800 900 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sat May 17 16:34:11 2008 ;; MSG SIZE rcvd: 76
dig @a-pock.co.jp a-pock.co.jp MX
一番後ろに「MX A NS」などを付けることで、該当するレコードを返してくれる。省略時はA
; <<>> DiG 9.2.4 <<>> a-pock.co.jp mx ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17927 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 2 ;; QUESTION SECTION: ;a-pock.co.jp. IN MX ;; ANSWER SECTION: a-pock.co.jp. 86400 IN MX 10 ns.a-pock.co.jp. ;; AUTHORITY SECTION: a-pock.co.jp. 86400 IN NS dns1.a-pock.co.jp. a-pock.co.jp. 86400 IN NS dns2.a-pock.co.jp. a-pock.co.jp. 86400 IN NS ns.a-pock.co.jp. a-pock.co.jp. 86400 IN NS ns2.a-pock.co.jp. ;; ADDITIONAL SECTION: ns.a-pock.co.jp. 86400 IN A 122.249.88.123 ns2.a-pock.co.jp. 86400 IN A 122.249.88.122 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sat May 17 16:37:22 2008 ;; MSG SIZE rcvd: 151
※バグなどがありましたら、ダウンロードしたソースにあるメールアドレスまでご一報ください。