| |||||||||||||||||||||||||||||||||||||||||
code:Haemophilus influenzae |
ここに書かれていることは無保証です。同じことを行って問題が発生しても、龍義は責任をとりません。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
■ 8/5 一昨日の続き。必要な rpm を入れて semanage を動かしてみる。こうなると、 yum の便利さがわかるな。 [root@mygeeto /]# rpm -i http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/os/x86_64/Pac kages/audit-libs-python-2.4.1-5.el7.x86_64.rpm [root@mygeeto /]# rpm -i http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/os/x86_64/Pac kages/setools-libs-3.3.7-46.el7.x86_64.rpm [root@mygeeto /]# rpm -i http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/os/x86_64/Pac kages/checkpolicy-2.1.12-6.el7.x86_64.rpm [root@mygeeto /]# rpm -i http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/os/x86_64/Pac kages/libcgroup-0.41-8.el7.x86_64.rpm [root@mygeeto /]# rpm -i http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/os/x86_64/Pac kages/python-IPy-0.75-6.el7.noarch.rpm [root@mygeeto /]# rpm -i http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/os/x86_64/Pac kages/libsemanage-python-2.1.10-16.el7.x86_64.rpm [root@mygeeto /]# rpm -i http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/os/x86_64/Pac kages/policycoreutils-python-2.2.5-15.el7.x86_64.rpm さらなる依存はなかったので少し安心した。semanage を実行して port 設定の 確認をする。 [root@mygeeto /]# semanage port -l SELinux Port Type Proto Port Number afs3_callback_port_t tcp 7001 afs3_callback_port_t udp 7001 afs_bos_port_t udp 7007 ~snip~ ssdp_port_t udp 1900 ssh_port_t tcp 22 svn_port_t tcp 3690 svn_port_t udp 3690 ~snip~ 400行近い結果が出て来た。ssh_port_t が該当するものみたいなので、この値に 新しい番号を追加してみる。 [root@mygeeto /]# semanage port -a -t ssh_port_t -p tcp 3515 固まったかと思ったら、30秒ぐらい経ってコマンドが終了した。もう一度ポートの 設定を確認してみる。 [root@mygeeto /]# semanage port -l | grep ssh_port_t ssh_port_t tcp 3515, 22 selinux の設定ができたので、これで systemctl から sshd を起動してみる。 /usr/sbin/sshd で起動していたのを落としてから起動。 [root@mygeeto /]# pkill sshd [root@mygeeto /]# systemctl start sshd [root@mygeeto /]# systemctl status sshd sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled) Active: active (running) since Mon 2015-08-05 21:44:21 JST; 12s ago Main PID: 3436 (sshd) CGroup: /system.slice/sshd.service `-3436 /usr/sbin/sshd -D Aug 5 21:44:21 mygeeto.tatsuyoshi.net systemd[1]: Starting OpenSSH server daemo n... Aug 5 21:44:21 mygeeto.tatsuyoshi.net systemd[1]: Started OpenSSH server daemon . Aug 5 21:44:21 mygeeto.tatsuyoshi.net sshd[3436]: Server listening on 0.0.0.0 p ort 3515. Aug 5 21:44:21 mygeeto.tatsuyoshi.net sshd[3436]: Server listening on :: port 3 515. 無事に起動した。ssh のポート番号変更ごときで、こんなに面倒臭いとは、仕方が ないことなのかもしれないけど。 ■ 8/6 一昨日の続き。昨日の ping の結果。夜中の2時に loss 率が上がっていたり、 気温が最も高い14時15時の loss 率が低かったりしているので、温度とはあまり 関係ない結果が出た。 そして、今日の ping の結果。今日の結果は落ち着いているのと、20時の結果は 別にすると、温度に影響があるような結果になった。わからなくなる。 3日の平均をとってみた。気温の変換に影響があると断言できる結果ではないが、 夜中は落ち着いているようには見える。 Yahoo BB は5営業日で改善するとか言っていたが、明日までに本当に直るかどうか 疑問だな。 ■ 8/7 一昨日の sshd 起動時のメッセージを見直したら、IPv6 での listen もしようと している。 sshd[3436]: Server listening on :: port 3515. IPv6 は無効にしているので、listen しないように変更してみる。 [root@mygeeto /]# vi /etc/ssh/sshd_config ListenAddress のコメントになっている部分の IPv4 設定のコメントを外すだけで 良いみたいなので、編集する。 Port 3515 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: という設定だった ListenAddress 0.0.0.0 の部分だけ、コメントを外して、IPv6 の 設定はコメントのままに。 Port 3515 #AddressFamily any ListenAddress 0.0.0.0 #ListenAddress :: systemctl で sshd の再起動して、status を確認してみた。 [root@mygeeto /]# systemctl restart sshd [root@mygeeto /]# systemctl status sshd sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled) Active: active (running) since Mon 2015-08-07 20:13:14 JST; 3s ago Main PID: 3581 (sshd) CGroup: /system.slice/sshd.service `-3581 /usr/sbin/sshd -D Aug 7 20:13:14 mygeeto.tatsuyoshi.net systemd[1]: Started OpenSSH server daemon . Aug 7 20:13:14 mygeeto.tatsuyoshi.net sshd[3581]: Server listening on 0.0.0.0 p ort 3515. ログを見る限り、IPv6 で起動しようとしていたのが無くなった。なんだか細かな 変更がまだまだ必要だな。 ■ 8/8 中国から電池ボックスと電圧制御の基板が届いた。中国から直接発送している とは思わなかったので、少し驚く。合わせて450円で、送料込みの値段だから、 元はどんな値段なんだろう。 まずは、18650 の電池ボックス。2A 以上流すには、ちょっと線が細い気がするが 駄目そうだったら付け直しする予定。 そして、電圧制御の基板。ビニールの袋に入っているが、ポストに入れられた ものなので部品が取れてないかちょっと心配。 Amazon の商品ページとは抵抗の配置とか、可変抵抗の部品が異なっているが、 コメントにあったようにコンデンサの向きが違っていることはなさそう。 18650 の電池が届いたら、繋げてみる。 ■ 8/9 電話線に繋がる交換機の変更をお願いして、1週間経った。ネットワークが切断 されることはほとんどなくなったが、えらく速度が遅い。 ------ BNRスピードテスト (ダウンロード速度) ------ 測定サイト: http://www.musen-lan.com/speed/ Ver5.6001 測定日時: 2015/08/09 08:23:11 回線/ISP/地域: -------------------------------------------------- 1.NTTPC(WebARENA)1: 421.03Kbps (52.46KB/sec) 2.NTTPC(WebARENA)2: 417.52Kbps (51.88KB/sec) 推定転送速度: 421.03Mbps (52.46KB/sec) Youtube なんかの動画は再生できないし、PDF なんかのダウンロードもかなり 時間がかかる。これじゃ実用的じゃないということで、Yahoo BB に電話した。 何やら交換機の接続変更ができたか確認しないといけないらしく、Yahoo BB に 聞いたら「NTT東日本のことなので私どもはできません」とか。仕方なく聞いた 電話番号に掛けたら「ソフトバンク接続確認センター」という自動応答になる。 NTT 東日本じゃないし。 そんなこともあったりして、再度回線の調整をすることになった。ADSL モデムが ときどきカチカチいって切断されたりして、夕方その合間に速度を計測すると、 3.5Mbps ぐらいに上がっている。 ------ BNRスピードテスト (ダウンロード速度) ------ 測定サイト: http://www.musen-lan.com/speed/ Ver5.6001 測定日時: 2015/08/09 19:18:50 回線/ISP/地域: -------------------------------------------------- 1.NTTPC(WebARENA)1: 3.51Mbps (437.23KB/sec) 2.NTTPC(WebARENA)2: 3.5Mbps (437.18KB/sec) 推定転送速度: 3.51Mbps (437.23KB/sec) また24時間かかるので、明日まで様子見。それにしても、Yahoo BB のサポートは 酷いと言うか。昔よりも繋がるようにはなったけど、ADSL の電波の状況がどうとか 言い出すし、近くにビルが出来ると遅くなると言うので理由を聞いても、きちんと 説明ができないし。サポートの人4人ぐらいに聞いたけど、そもそも ADSL って 何の略?とか ADSL ってどんな意味?って聞いて、きちんと説明できる人は皆無 だった。なんだかな。 ■ 8/10 再々度 Yahoo BB の調整とやらを行って、昨日の時点で 3.5Mbps ぐらいは出る 感じに上がったが、24時間を経過した後に再計測してみた。 ------ BNRスピードテスト (ダウンロード速度) ------ 測定サイト: http://www.musen-lan.com/speed/ Ver5.6001 測定日時: 2015/08/10 21:13:21 回線/ISP/地域: -------------------------------------------------- 1.NTTPC(WebARENA)1: 2.33Mbps (290.49KB/sec) 2.NTTPC(WebARENA)2: 2.41Mbps (301.02KB/sec) 推定転送速度: 2.41Mbps (301.02KB/sec) 速度がまた落ちたな。ADSL で 2.5Mbps だと、良くある速度かもしれないが、 Yahoo BB に入ったときに測った速度は 4500kbps~8000kbps ぐらいだったので、 まだ納得できないような感じ。今度、また調整をしてもらうかな。 ■ 8/11 UltraFire 18560 サイズのリチウムイオン電池2本と、その充電器が届いたので、 開封してみる。 この充電器は 240V まで対応しているのと、12VDC 入力もできる。12V 入力は 何で付いているのだろう。 電池を箱から出して充電器に入れてみたら、コンセントにまだ繋いでないのに 緑の LED が点った。変な仕様だな。 今日はもう遅いし、保護機能がない電池なので、明日様子を見ながら充電する。 ■ 8/12 昨日の続き。充電器に電池を入れてコンセントを繋ぐと、LED が赤く光った。 しばらく触って熱を確認をしたが問題なさそう。4時間ぐらいして1本が充電完了。 もう1本はさらに1時間かかった。充電された状態じゃなかったみたい。 充電が終わった電池を電池ボックスに入れて電圧を測ったら2本で 8.39V もあった。 無負荷で1本 4.2V ぐらいもあるのか。 ■ 8/13 中国から来た定電圧回路を、充電したリチウムイオン電池の電池ボックスを繋いで 電圧を出してみた。2年振りぐらいに半田ごてを出してきて、ちゃっちゃと半田で 接続した。 出力の電圧は 7.8V とかだったので、可変抵抗をグリグリ回して 5.02V に調整 した。可変抵抗はもう10回転ぐらい回した。この状態で一度電池ボックスからの 線を外して電圧を測ってみた。無負荷状態で 7.41mV だった。無負荷でも結構 電流が流れるな。出力をさせたいのだけど、どうやって接続しようかな。 ■ 8/14 電線袋をごそごそやっていたら、USB メモリに付いてきた USB 延長ケーブルを 見つけた。これを昨日の回路に繋げてみる。 ちょっともったいない気がするけど、途中で切って中の線を出す。オレンジ、 青、赤、黒の線が出ている。何も考えずにオレンジと青の線は切ってしまって 赤と黒の線を使うことに。 これで USB 機器が繋げることができる。このために買ってきた LED ライトを 繋いでみることに。 しかしライトは光らず。どうも赤と黒の線をそのまま繋いだが、線が違うみたい。 もう一度 USB 延長ケーブルを切り直して、4本の線がどこに繋がっているかを 確認してみた。5V の電源は赤じゃなくてオレンジの線だった。オレンジの線と 黒の線の繋いで、LED ライトを接続してみると、無事に光った。 LED ライトがどのぐらい電流を消費するのかわからないが、繋いだときの出力 電圧は 4.98V になった。そこそこ安定しているのかな。あとは、AC アダプタ からの出力と、リチウムイオン電池との切り替え回路を考えないと。 ■ 8/15 昨日の続きで。AC アダプタからの電気が途切れたときに、自動的にバッテリーの 電気に切り替えたい。色々と調べていたら、FETを用いたUSB機器の電池/Vbus切り 替え回路というページを見つけた。解説も付いていてわかりやすいと言えばわかり やすいのだけど、頭の中でどうやって動作するのかすぐには考えられない。色々 考えていたら、最初に 5V に変更しなければ、ダイオード2本だけでいけるんじゃ ないかと思ってきた。 リチウムイオン電池に影響を及ぼさないため、逆電流がなるべく少ないものを 使わないといけない。ショットキーダイオードではなく、シリコンダイオードで 良い感じのものを探してみる。 ■ 8/16 Yahoo BB の ADSL が、先月ほどではないけど日に2、3回ぐらい切れる。速度も 前ほど出ないし、光にしてしまおうかと値段を調べてみた。キャッシュバックとか 考えないで月々の料金は5千円ぐらいで、値段が下がってきている感じはない。 3000円ぐらいだったら手が出るのだけど、5000円じゃ手が出ない。UQ WiMAX は 容量無制限にすると、そこそこの値段になってしまうし。そこそこの速度で良い から、きちんと繋がって3000円ぐらいのサービスがあればな。 ■ 8/17 手元にある AC アダプタのプラグを受けるジャックが欲しいが、ノギスがない ので 0.1mm 単位の大きさが測れない。そもそも規格があるのか調べてみると、 昔の EIAJ が規格化したようで、#1~#5 まであるみたい。世の中に出回っている ものはそれ以外にかなりあり、乱立している状況みたい。EIAJ は電圧が規定されて いるのだけど、極性が決められていないので逆に危ない。5V は USB でほぼ統一 されているようになっていけば、製品も増えるし助かるのに。 手元の AC アダプタを見ると、19V の出力だが EIAJ#03 が使われている。EIAJ では 6.3V~10.5V と決まっているので、規格外の使い方。これを受けるジャックを 買って使ったとして、規格外の電圧なので壊れても文句が言えないという状況に なってしまう。きっちりとした規格化をして欲しい。 明日、明後日は更新がありません。 ■ 8/20 昨日、遠方から JR に乗って帰ってきた。新幹線の特急券と乗車券を買うときに、 自動券売機で駅名を選ぶのが面倒だったので、横浜市内の切符を買った。改札を 出るときに清算したが、調べてみると直接の切符を買うより安かったみたい。 なんだか不思議なので、調べてみた。 まずは、名古屋から新幹線に乗って新横浜に行き、藤沢に下りた場合の乗車券。
■ 8/21 家の窓の1つに網戸がない。網戸のレールはあるけど網戸はなく、別な大きさの 網戸が余っているのでそれを利用するか、新たに買うか。サッシには新日軽 84 と 書いてあるので、このサッシ用の網戸が手に入るかまず調べてみた。新日軽は いくつかの会社と合併して LIXIL になった。その LIXIL で新日軽ブランドの サッシは2013年に販売終了したみたいで。今はトステムブランドに統一している みたい。web ページに昔のカタログとか置いてないか検索してみたけど、なさ そうだし。今まだ商品あるのか不明なので、ショールームとかで聞いてみないと わからないな。 他に何か手はないかと調べていたら、セイキ販売という会社がフリーサイズ網戸 というのを作っていて、これが使えそう。Monotaro でも売っていて、850×850 ぐらいの30-60型が、定価10770円のを5990円で売っている。これを買うのが一番 手っ取り早そうだな。 ■ 8/22 昨日の続き。余っている網戸を外して、小さくできるか見てみることにした。 汚れている網戸を洗って、乾いたところで見てみる。この網戸はトステム製の ものみたい。 四隅を見てみると、戸車なんかと共締めしているネジが怪しい。まず網を外して から、ネジを外してみることにした。 二か所外したら、あっさり外れてしまった。この感じで戸車と外れ止めを全て 取ってしまう。 全て外れた。接合部分を見てみると、単純に切った感じではないが、なんとか 加工できそうな感じ。 戸車と外れ止めを外したら、その周りが汚れていたので再度水洗い。戸車なんかも 洗って干す。この戸車はトステムの BMPU164 というものだった。 アルミをカットするにはグラインダがあるけど、金ノコがない。細かな切り込みが 必要なので、金ノコが欲しいところ。明日晴れたら実家のを借りて来ようかな。 ■ 8/23 昨日の続き。網戸の加工をするべく、実家に行って金ノコを取ってきた。良くある 金ノコはなくて、パイプ用のものがあった。アルミニウムにも対応しているので、 これを使うことに。 他に使った道具は、グラインダとやすりとドリル。まず、グラインダで 25mm ほど カットした。そして、突起の部分は金ノコでゴリゴリ切っていって、グラインダの 刃が入るところは、削っていく。 あとはやすりで削っていく。凹になっていてグラインダが入らない部分があって、 ひたすらやすりで削るので、終わるまで3時間以上かかった。 穴あけをしようとしたら、少し雨が落ちてきた。急いでドリルで穴あけをして、 枠を組み立て直し。網を張る前に窓枠に入れてみた。ピッタリはまって虫よけの ブラシもちゃんと窓側に着いていて機能している。新日軽の窓枠にトステムの 網戸が使えることがわかった。今はどちらも同じ会社になったけど。これで網を 張り直して完成予定。 ■ 8/24 7月17日の続き。自前で作った var.service がうまく動いてくれない。どんな 状況になっているのか、確認してみた。 [root@mygeeto system]# systemctl status var.service var.service - Make directory and symboic link for /var Loaded: loaded (/usr/lib/systemd/system/var.service; enabled) Active: failed (Result: exit-code) since Mon 2015-08-07 20:13:12 JST; 19 days ago Docs: man:systemd-tmpfiles(8) Process: 318 ExecStart=/bin/mkdir -p /var/log (code=exited, status=1/FAILURE) Main PID: 318 (code=exited, status=1/FAILURE) Aug 7 20:13:12 mygeeto.tatsuyoshi.net mkdir[318]: /bin/mkdir: cannot create dir ectory '/var/log': Read-only file system ファイルシステム自体が読み込み専用になっているとかで。そもそもどの順序で 実行されているのか systemd-analyze で出力させてみた。 [root@mygeeto /]# systemd-analyze plot > plot_20150824.svg この画像を確認してみると、var.mount のだいぶ前に実行されている。下の画像は 出力して出て来た一部。 起動の順序を指定するのが間違っているっぽい。明日、確認してみよう。 ■ 8/25 昨日書いた自作サービスの var.service をうまく動かす。現在の var.service の 依存関係はこんな感じ。 ConditionPathIsDirectory=/var After=var.path Before=systemd-tmpfiles-setup.service rsyslog.service systemd-journald.service 昨日の systemd-analyze の結果を見る限り、var.path が間違っている気がして、 そもそも var.mount じゃなくて var.path にしたのは何でだろう。ということで、 var.path を var.mount に書き換えた。これで再起動してみた。var.service が 問題なく実行された。起動順序を確認してみると、ここも完璧。 しかし、sshd が起動されなかった。messages を確認すると、以下のログが残って いた。 type=1400 audit(1441017930.271:184): avc: denied { read } for pid=990 comm="s shd" name="run" dev="tmpfs" ino=11336 scontext=system_u:system_r:sshd_t:s0-s0:c0 .c1023 tcontext=system_u:object_r:tmpfs_t:s0 tclass=lnk_file どうも /tmp がリンクなのが気に入らないようで、sshd 以外でも同じエラーを 出している。tmp_t を見るため、ls に -Z オプションを付けてみた。 [toyota@mygeeto ~]$ cd / [toyota@mygeeto /]$ ls -Z tmp lrwxrwxrwx. root root system_u:object_r:tmp_t:s0 tmp -> /var/tmp メモリが 2GB しかないので、/var と /tmp を2つとも tmpfs にするのを嫌って /tmp を /var/tmp のリンクにしたのが問題なのかな。解決策は、/tmp も tmpfs に するか、この tmp_t の指定を変更するか。現在の設定を確認してみる。この辺りも SELinux のセキュリティコンテキストに絡んでいて、変更は chcon コマンドを 使うらしいので、man chcon を眺めてみる。 -L traverse every symbolic link to a directory encountered とのことなので、-L オプションをつけてやってみた。 [root@mygeeto /]# chcon -L -t tmp_t /tmp これで systemctl start sshd を実行してみたが状況は変わらず。/tmp の tmpfs を 作った方が早そうな気がしたので、作ることにした。 [root@mygeeto /]# cd /usr/lib/systemd/system [root@mygeeto system]# cp var.mount tmp.mount [root@mygeeto system]# vi tmp.mount 再起動したけど、/tmp の tmpfs マウントが動いていない。/tmp ディレクトリを 削除してから再起動したりするが、マウントされず。続きは明日に。 ■ 8/26 昨日は /tmp のための tmp.mount を作成したけど再起動しても /tmp が作られ なかった。systemctl を使って手動でマウントしたら、あっさり /tmp ができた。 起動時にマウントされないのは disabled と有効になってないからみたい。 [root@mygeeto /]# systemctl status tmp.mount tmp.mount - Temporary Directory Loaded: loaded (/usr/lib/systemd/system/tmp.mount; disabled) Active: active (mounted) since Tue 2015-08-25 23:05:13 JST; 22h 10min ago Where: /tmp What: tmpfs Docs: man:hier(7) http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems Process: 1351 ExecMount=/bin/mount tmpfs /tmp -t tmpfs -o mode=1777,strictatim e (code=exited, status=0/SUCCESS) Warning: Journal has been rotated since unit was started. Log output is incomple te or unavailable. 意外と単純な理由で良かった。有効にして再起動する。 [root@mygeeto /]# systemctl enable tmp.mount ln -s '/usr/lib/systemd/system/tmp.mount' '/etc/systemd/system/local-fs.target.w ants/tmp.mount' [root@mygeeto /]# sync [root@mygeeto /]# sync [root@mygeeto /]# sync [root@mygeeto /]# reboot 無事に起動し、sshd が起動できない問題も消え去った。起動後の df の結果は。 [toyota@mygeeto ~]$ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mmcblk0p4 55526788 1490328 51215804 3% / devtmpfs 962104 0 962104 0% /dev tmpfs 969728 0 969728 0% /dev/shm tmpfs 969728 8512 961216 1% /run tmpfs 969728 0 969728 0% /sys/fs/cgroup tmpfs 969728 156 969572 1% /var tmpfs 969728 0 969728 0% /tmp /dev/mmcblk0p2 495844 93320 376924 20% /boot /dev/mmcblk0p1 204580 9992 194588 5% /boot/efi tmpfs だらけだな。これで、起動に関する問題はなくなったのかな。あとは、 web サーバにすべく Apache の変更か。起動順序も確認すると。 問題なさそう。 ■ 8/27 Apache の起動の設定。ログを吐くディレクトリがないようなので、var.service で作成するように変更。ついでに、その他のディレクトリも作成しておく。 [root@mygeeto /]# cd /usr/lib/systemd/system [root@mygeeto system]# cat var.service ~snip~ [Service] ExecStart=/bin/chmod 0755 /var ExecStart=/bin/mkdir -p /var/log ExecStart=/bin/mkdir -p -m 750 /var/log/audit ExecStart=/bin/mkdir -p -m 700 /var/log/httpd ExecStart=/bin/mkdir -p -m 755 /var/log/sa ExecStart=/bin/mkdir -p -m 755 /var/log/tuned ExecStart=/bin/mkdir -p -m 755 /var/log/chrony ExecStart=/bin/chown chrony:chrony /var/log/chrony ~snip~ このディレクトリを一旦手動で作成して、httpd を動かすのと、起動時にも動く ように変更する。 [root@mygeeto system]# mkdir -p -m 700 /var/log/httpd [root@mygeeto system]# systemctl start httpd [root@mygeeto system]# systemctl enable httpd ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.ta rget.wants/httpd.service' 起動に関しては大丈夫そう。ログの設定をする。 [root@mygeeto system]# cd /etc/logrotate.d [root@mygeeto logrotate.d]# cat httpd /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } sharedscripts の意味が良くわからないので、調べてみた。man logrotate に よると、default で設定されて、設定されると prerotate と postrotate は、 複数のログファイルをローテートしたときに1回だけ実行されると書いてある。 手元の Apache の場合、ログのファイルは access_log と error_log の2つある。 preroteta はこの2つのログをローテートする前に1回だけ実行され、同じように postrotate は2つのログをローテートした後に1回だけ実行する、というような 意味みたい。色々書き換えて以下のようになった。 /var/log/httpd/*log { weekly rotate 520 missingok notifempty sharedscripts compress dateext postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript # lastaction # /bin/mv /var/log/httpd/*.gz /var_stable/log/httpd/ # endscript } ローテート後のファイル名がまだはっきりしないので、lastaction の部分は後で ファイル名を確認して有効にする。これでログについては1週間以上経ったら、 再設定することに。Apache の設定は、明日にしよう。 ■ 8/28 Apache の設定を始める。設定ファイルをバックアップして、使わないファイルの 削除なんかを行う。 [root@mygeeto /]# cd /etc/httpd/ [root@mygeeto httpd]# cp -p -r conf.modules.d conf.modules.d_org [root@mygeeto httpd]# cd conf.modules.d [root@mygeeto conf.modules.d]# ls 00-base.conf 00-lua.conf 00-proxy.conf 01-cgi.conf 00-dav.conf 00-mpm.conf 00-systemd.conf [root@mygeeto conf.modules.d]# rm 00-dav.conf [root@mygeeto conf.modules.d]# rm 00-lua.conf [root@mygeeto conf.modules.d]# rm 00-proxy.conf [root@mygeeto conf.modules.d]# vi 00-base.conf [root@mygeeto conf.modules.d]# diff ../conf.modules.d_org/00-base.conf 00-base.c onf 10,24c10,24 < LoadModule auth_basic_module modules/mod_auth_basic.so < LoadModule auth_digest_module modules/mod_auth_digest.so < LoadModule authn_anon_module modules/mod_authn_anon.so < LoadModule authn_core_module modules/mod_authn_core.so < LoadModule authn_dbd_module modules/mod_authn_dbd.so < LoadModule authn_dbm_module modules/mod_authn_dbm.so < LoadModule authn_file_module modules/mod_authn_file.so < LoadModule authn_socache_module modules/mod_authn_socache.so < LoadModule authz_core_module modules/mod_authz_core.so < LoadModule authz_dbd_module modules/mod_authz_dbd.so < LoadModule authz_dbm_module modules/mod_authz_dbm.so < LoadModule authz_groupfile_module modules/mod_authz_groupfile.so < LoadModule authz_host_module modules/mod_authz_host.so < LoadModule authz_owner_module modules/mod_authz_owner.so < LoadModule authz_user_module modules/mod_authz_user.so --- > #LoadModule auth_basic_module modules/mod_auth_basic.so > #LoadModule auth_digest_module modules/mod_auth_digest.so > #LoadModule authn_anon_module modules/mod_authn_anon.so > #LoadModule authn_core_module modules/mod_authn_core.so > #LoadModule authn_dbd_module modules/mod_authn_dbd.so > #LoadModule authn_dbm_module modules/mod_authn_dbm.so > #LoadModule authn_file_module modules/mod_authn_file.so > #LoadModule authn_socache_module modules/mod_authn_socache.so > #LoadModule authz_core_module modules/mod_authz_core.so > #LoadModule authz_dbd_module modules/mod_authz_dbd.so > #LoadModule authz_dbm_module modules/mod_authz_dbm.so > #LoadModule authz_groupfile_module modules/mod_authz_groupfile.so > #LoadModule authz_host_module modules/mod_authz_host.so > #LoadModule authz_owner_module modules/mod_authz_owner.so > #LoadModule authz_user_module modules/mod_authz_user.so 29c29 < LoadModule dbd_module modules/mod_dbd.so --- > #LoadModule dbd_module modules/mod_dbd.so 33c33 < LoadModule echo_module modules/mod_echo.so --- > #LoadModule echo_module modules/mod_echo.so 37c37 < LoadModule filter_module modules/mod_filter.so --- > #LoadModule filter_module modules/mod_filter.so 39,40c39,40 < LoadModule include_module modules/mod_include.so < LoadModule info_module modules/mod_info.so --- > #LoadModule include_module modules/mod_include.so > #LoadModule info_module modules/mod_info.so 48c48 < LoadModule rewrite_module modules/mod_rewrite.so --- > #LoadModule rewrite_module modules/mod_rewrite.so 56,57c56,57 < LoadModule substitute_module modules/mod_substitute.so < LoadModule suexec_module modules/mod_suexec.so --- > #LoadModule substitute_module modules/mod_substitute.so > #LoadModule suexec_module modules/mod_suexec.so 使わない/使ってないモジュールを落とした。メインの設定ファイル httpd.conf を編集する。 [root@mygeeto conf.modules.d]# cd ../conf [root@mygeeto conf]# cp -p -r httpd.conf httpd.conf_org [root@mygeeto conf]# vi httpd.conf [root@mygeeto conf]# diff httpd.conf_org httpd.conf 86c86 < ServerAdmin root@localhost --- > ServerAdmin luke@mygeeto.tatsuyoshi.net 95c95 < #ServerName www.example.com:80 --- > ServerName mygeeto.tatsuyoshi.net:80 119c119 < DocumentRoot "/var/www/html" --- > DocumentRoot "/var_stable/www/html" 122c122 < # Relax access to content within /var/www. --- > # Relax access to content within /var_stable/www. 124c124 < <Directory "/var/www"> --- > <Directory "/var_stable/www"> 131c131 < <Directory "/var/www/html"> --- > <Directory "/var_stable/www/html"> 247c247 < ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" --- > ScriptAlias /cgi-bin/ "/var_stable/www/cgi-bin/" 252c252 < # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased --- > # "/var_stable/www/cgi-bin" should be changed to whatever your ScriptAliased 255c255 < <Directory "/var/www/cgi-bin"> --- > <Directory "/var_stable/www/cgi-bin"> 305,306c305,306 < AddType text/html .shtml < AddOutputFilter INCLUDES .shtml --- > #AddType text/html .shtml > #AddOutputFilter INCLUDES .shtml /var/ は一括変換したので、コメントの部分も書き換えられてしまった。その他の 設定ファイルを削除して、httpd の再起動。 [root@mygeeto conf]# cd ../conf.d [root@mygeeto conf.d]# ls README autoindex.conf userdir.conf welcome.conf [root@mygeeto conf.d]# rm autoindex.conf [root@mygeeto conf.d]# rm welcome.conf [root@mygeeto conf.d]# rm userdir.conf [root@mygeeto conf.d]# systemctl restart httpd Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalc tl -xn' for details. 起動しなかった。ログの確認をすると、 httpd[12208]: AH00526: Syntax error on line 104 of /etc/httpd/conf/httpd.conf: httpd[12208]: Invalid command 'Require', perhaps misspelled or defined by a modu le not included in the server configuration とのことで、Require がおかしいと。該当部分は。 <Directory /> AllowOverride none Require all denied </Directory> 調べると、Require では、authz_core_module が必要だけど、00-base.conf で そのモジュールを読み込まないようにしたためだった。読み込むようにコメントを 外したら、無事に起動した。色々と、あと一息だな。 ■ 8/29 昨日削除したファイル userdir.conf に気になる記述があった。バックアップした ファイルから戻して。 [root@mygeeto /]# cd cd /etc/httpd/conf.d [root@mygeeto conf.d]# ls README userdir.conf [root@mygeeto conf.d]# cat userdir.conf # # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. # # The path to the end user account 'public_html' directory must be # accessible to the webserver userid. This usually means that ~userid # must have permissions of 711, ~userid/public_html must have permissions # of 755, and documents contained therein must be world-readable. # Otherwise, the client will only receive a "403 Forbidden" message. # <IfModule mod_userdir.c> # # UserDir is disabled by default since it can confirm the presence # of a username on the system (depending on home directory # permissions). # UserDir disabled # # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disabled" line above, and uncomment # the following line instead: # #UserDir public_html </IfModule> # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # <Directory "/home/*/public_html"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS </Directory> Require method に HEAD がないけど、どうなの?って。使う予定はないけど、 気になるので動かしてみる。 [root@mygeeto conf.d]# vi userdir.conf [root@mygeeto conf.d]# cat userdir.conf # # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. # # The path to the end user account 'public_html' directory must be # accessible to the webserver userid. This usually means that ~userid # must have permissions of 711, ~userid/public_html must have permissions # of 755, and documents contained therein must be world-readable. # Otherwise, the client will only receive a "403 Forbidden" message. # <IfModule mod_userdir.c> # # UserDir is disabled by default since it can confirm the presence # of a username on the system (depending on home directory # permissions). # UserDir disabled UserDir enabled toyota # # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disabled" line above, and uncomment # the following line instead: # UserDir public_html </IfModule> # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # <Directory "/home/*/public_html"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS </Directory> httpd を再起動する。 [root@mygeeto conf.d]# systemctl restart httpd 一般のユーザで public_html ディレクトリとファイルを作って、応答を確かめて みた。 [toyota@mygeeto ~]$ mkdir public_html [toyota@mygeeto ~]$ chmod 755 public_html [toyota@mygeeto ~]$ cd public_html [toyota@mygeeto public_html]$ vi index.html [toyota@mygeeto public_html]$ chmod 755 index.html [toyota@mygeeto public_html]$ cat index.html <html> <body> test </body> </html> [toyota@mygeeto home]$ telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /~toyota/ HTTP/1.1 Host: mygeeto.tatsuyoshi.net HTTP/1.1 200 OK Date: Fri, 28 Aug 2015 11:16:29 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Fri, 28 Aug 2015 11:12:22 GMT ETag: "23-51f5da4e5cd06" Accept-Ranges: bytes Content-Length: 35 Content-Type: text/html; charset=UTF-8 <html> <body> test </body> </html> Connection closed by foreign host. [toyota@mygeeto home]$ telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. HEAD /~toyota/ HTTP/1.1 Host: mygeeto.tatsuyoshi.net HTTP/1.1 200 OK Date: Fri, 28 Aug 2015 11:16:48 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Fri, 28 Aug 2015 11:12:22 GMT ETag: "23-51f5da4e5cd06" Accept-Ranges: bytes Content-Length: 35 Content-Type: text/html; charset=UTF-8 Connection closed by foreign host. HEAD は返ってきたな。念のため、設定を Require method POST OPTIONS と GET を無効にして、httpd の再起動をして繋いでみた。 [toyota@mygeeto home]$ telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /~toyota/ HTTP/1.1 Host: mygeeto.tatsuyoshi.net HTTP/1.1 403 Forbidden Date: Fri, 28 Aug 2015 11:20:28 GMT Server: Apache/2.4.6 (CentOS) Content-Length: 210 Content-Type: text/html; charset=iso-8859-1 <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access /~toyota/ on this server.</p> </body></html> Connection closed by foreign host. 設定自体は効いているみたい。この状態でも HEAD で応答が返ってきたので、 Require method は HTTP メソッドを限定するが、HEAD についてはその限りでは ない、ということのようで。Limit ディレクティブはどうなのだろうか。今度 やってみよう。 ■ 8/30 Buffalo の BSMOW08 という無線マウスを使っている。今日電池が切れたようで 反応が無くなった。今年2回目なので、電池のもちが悪い気がして調べてみた。 Buffalo のページを見ると、想定使用可能時間は120日とあった。そのぐらいと 言えばそのぐらいだな。電池代がもったいないので、ニッケル水素電池の値段を 調べてみる。少し安い eneloop があって、色が青い。これは何だろうと調べて みると、eneloop lite とあった。そんなものが出ているのかと調べてみると、 eneloop, eneloop lite, eneloop pro と三種類も出ていた。デザインが不評な 国内版と海外版の写真を。 eneloop eneloop lite eneloop pro 容量は単四でそれぞれ 750mAh, 550mAh, 950mAh で、繰り返し使用回数はそれぞれ 2100回, 5000回, 500回 とあった。海外版だと、800mAh, 600mAh, 950mAh と微妙に 容量が違っており、繰り返し使用回数も2100回, 3000回, 500回と書いてあった。 eneloop 買うのだったら海外版の方が性能が良いと言うことになるな。今回の マウスに使うには、4本買って2本づつ繰り返して使えば、値段の安い eneloop lite で十分だな。色々見ていたら、Amazon ブランドのニッケル水素電池を見つけた。 Amazon basics 値段は4本で798円、容量は 750mAh なので、eneloop と同じだけど、1000回使用 可能とあるので、繰り返し性能は悪そう。どうしたものかと考えて、電池が入って いる引き出しを開けたら単四アルカリ電池の10本パックがあった。これを使わずに 液漏れさせてしまうぐらいだったら先に使ってしまおうという結論になった。 手元の電池が無くなったら、ニッケル水素電池を買うことにしよう。 ■ 8/31 17日にも少し書いたが、それとは別でとある機器を実家から持ってきた。使うのは 10年振りぐらいで、中に入っていたアルカリ電池が完全に腐ってしまい、機器にも 悪影響が出ているぐらい。仕方なく AC アダプタを使って動作させようとしたが、 ジャックが EIAJ-02 の大きさで、合うプラグと電圧の AC アダプタが無かった。 いらない AC アダプタがあるので、この線を途中で切ってプラグを付けようかと 思ったが、秋月電子では EIAJ-02 のプラグが売ってないんだよね。売っているのは 外径 5.5 mm 、内径 2.1mm か 2.5mm のものばかり。送料もかかるし、どうした ものかと Amazon を検索していたら、プラグ変換のセットが送料込みで 500円と 送料を考えると安かったので、買ってみた。外径 5.5mm 、内径 2.1mm から各種 大きさに変換するもの。 プラグ変換 これで、目的の機器は使えるようになった。このセット、中心と外側の極性を 変換するプラグも付いていれば、さらに使い道が広がったのに。 |
by Tatsuyoshi since 2003 |