2016年06月

2016年06月23日
起動するときにはデーモンの起動状況が画面に表示されます。通常は OK という緑の表示が並んででてきますよね。
しかし 最近借りたさくらクラウドのサーバーの起動画面をコンソールで表示させると、 Determining if ip address X.X.X.X is already in use for device eth0 という表示が出ていました。
もちろんエラーなどになるわけでは無く、一瞬止まったのかな?と心配にはなりますが、問題無く起動します。

調べてみたところ、IPアドレスの重複を確認しているようです。

起動時間の短縮などの場合には、 interface の設定を変更すればいいようです。

/etc/sysconfig/network-scripts/ifcfg-eth0
ARPCHECK=no

参考
CentOS6.5 のネットワーク再起動で出力される Determining if ip address 192.168.xxx.xxx is already in use for device eth0…



stock_value at 13:37|この記事のURLComments(0)TrackBack(0)技術 
2016年06月22日
Plesk コントロールパネルの画面がすごく遅いことに気づきました。
もともと負荷も大きくなりつつあったサーバーだったので、サーバーの能力的な問題なのか、それともプログラムの動作の問題なのか。。。色々調査をおこなってみました。

結論から言うと、以下の通りです。

本語版で[ウェブサイトとドメイン]タブと[ファイル]タブへのアクセスに時間がかかります

vmstat で負荷の状況を見てみました。
# vmstat -n 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 31360 2946020 325700 4698128 0 0 121 27 2 2 3 1 95 1 0
1 0 31360 2945472 325700 4698152 0 0 0 8 4283 550 1 1 99 0 0
0 0 31360 2943968 325700 4698152 0 0 0 8 4370 709 1 1 98 0 0
0 0 31360 2941336 325704 4698176 0 0 0 264 4517 851 1 1 98 0 0
0 0 31360 2942688 325708 4698176 0 0 0 440 5236 2249 8 4 88 0 0
0 0 31360 2942804 325708 4698168 0 0 0 0 4134 237 0 0 100 0 0
0 0 31360 2942812 325708 4698168 0 0 0 4 4189 365 0 1 99 0 0
0 0 31360 2942192 325708 4698172 0 0 4 0 4345 738 6 0 94 1 0
3 1 31360 2967448 325712 4698168 0 0 0 96 4326 723 1 1 98 0 0
0 0 31360 2967864 325712 4698196 0 0 0 4 4366 687 1 0 99 0 0
0 0 31360 2967732 325716 4698172 0 0 0 112 4162 237 0 0 99 0 0
0 0 31360 2967600 325716 4698172 0 0 0 0 4095 173 0 0 100 0 0
0 0 31360 2967576 325716 4698432 0 0 256 16 4213 345 0 0 99 0 0
0 0 31360 2967476 325716 4698816 0 0 512 0 4292 249 0 0 99 0 0
0 0 31360 2966668 325716 4699052 0 0 108 12 4611 732 1 1 98 0 0

io の値で bo がいつも100以上になっているのは気になっていました。※上記ではほとんど 0 でした。この記事を書くために値を取得したのですが、昼頃はそんなに負荷もないようです。午前中などは常に100を越えているような感じでした。
ただしこの値が負荷が高いのか・・そう言われると正直微妙な感じはします。

それ以外の値は、特に気になるような物はありませんでした。とくにサーバーのスペックを考えてもCPUなどはボトルネックにはなりにくく、やはりディスクが疑わしいと考えていました。


・Plesk をデバッグモードで実行する
デバッグモードで実行するために以下のファイルをコピーします。
# cp -p /usr/local/psa/admin/conf/panel.ini.sample /usr/local/psa/admin/conf/panel.ini

コピーしたファイルを編集します
# vi /usr/local/psa/admin/conf/panel.ini

コメントをはずす
[debug]

; Enable debug mode (do not use in production environment)
enabled = on

これで以下のファイルを監視します。
# tail -f /usr/local/psa/admin/logs/panel.log

すると以下のような行が出力されました。
[22-Jun-2016 11:35:59 Asia/Tokyo] PHP Notice: Undefined variable: 、; File: /usr/local/psa/admin/application/default/resources/languages/ja-JP/components/validators.php, Line: 127

[22-Jun-2016 11:35:59 Asia/Tokyo] Exception: PHP Notice: Undefined variable: 、; File: /usr/local/psa/admin/application/default/resources/languages/ja-JP/components/validators.php, Line: 127

このことから、何かPHPファイルでエラーがでていることが分かりました。
あとはこのエラーの出ているファイル名で検索します。

そして最初に挙げた plesk のサイトがヒットしました。

/usr/local/psa/admin/application/default/resources/languages/ja-JP/components/validators.php
'passwordStrength' => "このパスワードの強度は、サーバセキュリティポリシーを満たしていません。最低限のパスワード強度は「%strength%」です。数字、アルファベットの大文字/小文字、特殊文字(!、@、#、\$、%、^、&、*、?、_、~)を使用して、パスワードを強化してください。",
上記のドル記号についてバックスラッシュ(\マーク)でエスケープします。

/usr/local/psa/admin/application/default/resources/languages/ja-JP/components/password-meter.php
'specialChar1' => "特殊文字(!、@、#、\$、%、^、&、、?、、~ など)を 1 つ以上使用します。",
'specialChar2' => "特殊文字(!、@、#、\$、%、^、&、、?、、~ など)を 2 つ以上使用します。",
こちらも同様にバックスラッシュ(\マーク)でエスケープします。

これでサクッと動くようになりました。
英語で検索してたのですが、なかなか情報が出てこないわけですね。

stock_value at 12:46|この記事のURLComments(0)TrackBack(0)技術 
2016年06月21日
まず僕は勘違いをしていました。SSHは暗号化されているので、とても安全ですよね。
一方でFTPは過去に様々な事がありました。ポートの問題とか平文の問題とか。

だからファイルのやりとりは、ちゃんとセキュアにやりたいと思ったのです。そしてSCPならそれが確実だろうと思っていました。
実際SCPは確実ですが、調べてみると SFTP もSSHを利用するため、SCPなどと同様だと言うことを知りました。

ちなみにSSLで暗号化されるFTPのことは FTPS という名称のようです。
クライアントソフトで、 FFFTP が SFTP に対応していないのはとても残念です。メニューには出てきているっぽいので、いずれは対応されるのでしょうか。


そしてFTPの時には、Webサーバーにファイルをアップロードするために便利だと思える機能がありました。
一番重要なのは、FTPユーザーに対して、ホームフォルダを設定し、それよりも上位のフォルダには行かせないことでした。

SCP や SFTP でも chroot ができるようです。

他の方のサイトを参考に設定しました。しかしまあ root 権限での読み取りがどうだとか・・・なんか意識しなければならないことが多くて、具体的にどのように設定したのかは忘れました。
しかし上の階層には行けなくなったのでヨシとします。

とりあえずのメモ。
# override default of no subsystems
Subsystem sftp internal-sftp ※以下の通り個別に設定している場合は、この部分は不要

Match User USERNAME<グループの方が簡単かも。>
ChrootDirectory /var/www/html ※Webコンテンツの更新のため
ForceCommand internal-sftp


参考
CentOS の OpenSSH で chroot を設定する
chrootされたsftp専用ユーザを作るメモ

stock_value at 13:50|この記事のURLComments(0)TrackBack(0)技術 
2016年06月20日
munin.conf には以下のような記載があります。

# a simple host tree
[servername]
address 127.0.0.1
use_node_name yes

ここで、 servername を利用するようで、名前解決ができないと、監視対象として追加してくれないようでした。
use_node_name yes が原因なのでしょうか?

とりあえず /etc/hosts に登録することにしました。

本件について、いくら時間が経過してもまったくグラフが更新されず、何が起きているのかわかりませんでした。ログもいまいち出ていなかったし。
ということで、以下のコマンドを実行することによって、詳細なログがはき出されました。
# su - munin --shell=/usr/bin/munin-cron & tail -f /var/log/munin/munin-update.log

これで servername の名前解決ができておらず、エラーになっていることが分かりました。よかった!

参考
【Tip】Muninのグラフ生成を”今すぐ”行う方法

stock_value at 13:01|この記事のURLComments(0)TrackBack(0)技術 
2016年06月19日
いくつか経験したのでメモ。

・エラーログが出ずに接続できない。エラーメッセージは「ユーザー認証に失敗しました」的なもの
ログには Connection closed by X.X.X.X という1行のみ。

で、結局これは home ディレクトリの .ssh の権限がダメでした。
以下の通りちゃんとやりましょう。※ちなみに権限の付与が重要であることを知っていたため、適当に両方とも600で設定していました。。。。だから本件は全然疑ってなくて、大ハマリ・・・
.ssh 700 / atuthorized_keys 600


・No supported authentication methods エラーがでる。
これは複数行のログが出ていたので比較的わかりやすかったです。

Authentication refused: bad ownership or modes for directory /XXX/XXX
No supported authentication methods

これは chroot 関連です。こちらも権限の付与の問題でした。
※SFTP + chroot という内容です。 chroot する場合には root の権限がうんぬんということのようです。本件の設定については後日記事にしたいと思います。

stock_value at 07:51|この記事のURLComments(0)TrackBack(0)技術 
2016年06月18日
以下のコマンドを実行すると、エラーになりました。
#yum install munin munin-node

Transaction Check Error:
file /usr/share/man/man3/XML::SAX::Base.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch
file /usr/share/man/man3/XML::SAX::Exception.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch

ということで、以下のブログを参考に。
Linux備忘録&ちょっと休憩しましょ
CentOS6.4でmuninをインストールすると、Transaction Check Error

以下のコマンドで解決となりました
# yum install perl-XML-SAX-0.96-7.el6.noarch

最後に改めて munin インストール
#yum install munin munin-node

stock_value at 15:28|この記事のURLComments(0)TrackBack(0)技術 
2016年06月17日
ちょっと時間が無くてやっつけな感じですが以下の通り作業しました。

■NFSインストール
# yum install nfs-utils
# rpm -q nfs-utils
nfs-utils-1.2.3-70.el6.x86_64

■rpcbind のインストールを確認
# rpm -qa |grep rpcbind
rpcbind-0.2.0-12.el6.x86_64

以前 rpcbind で戸惑ったことがありました。サーバー側でも必要な感じでした。
2015年11月23日:CentOSで NFS の mount エラー。

# /etc/init.d/rpcbind start
# rpcinfo -p

NFS設定
# vi /etc/exports

書式は以下の通りです。
export host(options)
----
export 公開されるディレクトリ
host アクセスを許可するホスト・IP
options 書き込みやセキュリティなどの設定

# /etc/init.d/nfs start
# /etc/rc.d/init.d/nfslock start

※設定を反映する場合
# exportfs -a

※設定が反映されているか確認
# showmount -e localhost

参考
【質問】NFSサーバ/NFSクライアントの設定例
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/nfs-serverconfig.html

stock_value at 11:33|この記事のURLComments(0)TrackBack(0)技術