clamscanが停止しない場合の対処


数ヶ月前からウイルス対策ソフトのclamavがスキャン後も停止しないというトラブルに見舞われていました。
放置するとclamscanのプロセスがいくつも上がったままになり負荷が非常に大きいです。
そこで何も対処しないと日々プロセスを手動で落とすことになります。
毎日のようにプロセスを落としながら様子を見ているうちに、今月にclamavがアップデートされましたが、この不具合は収まらず・・・
そこでこちらで対処をすることにしました。
情報によれば/sys をscanから外すとちゃんと停止するようです。
自分はclamavはcronで設定していたのでそれに追記することにしました。

0 3 * * * clamscan –exclude=/sys/ –infected –remove –recursive >> /root/hoge.log

斜め部分が追記箇所。
とりあえずこれで収まりました。

yumが動作しなかった


久々にサーバー内のパッケージをアップデートしようと思ってyumを叩いたところ反応しませんでした。

# yum -y update
Loaded plugins: changelog, fastestmirror, list-data, priorities, security, versionlock

これだけで何の反応もなし。
エラーメッセージすら無しで、ログにも記載なし。
仕方ないのでクライアントをサーバーから切断する以外無いという有様でした。

色々調べてみて解決したのが、下記リンクで示されていた方法。
yumが動かないときの対処法

下記リンクに詳しくあります。
rpmコマンドがハングアップしてしまうときは

どうやらrpmのトラブルだったようです。
ちなみにこれに辿り着く前に確認したところでは
rpm:コマンド動作せず、ヘルプは参照可能。
yum:コマンド動作せず、ヘルプの参照も不可。
まあそれがどうしたという話ですが・・・

何とか動作しましたが、あまり長々と放置してはいけないと実感しました。

php.ini編集


xoopsでwebphotoモジュールをインストールしました。
インストール自体は上手く行ったのですが、画像を投稿しようとすると画面が真っ白で何も表示されないという事態に。
当初は権限関連かと思いましたがググって見たところ、memory_limitが関連している模様。
そこでモジュールの動作チェックで確認したところ、

memory_limmit = 16M

という状態でした。

そこでサーバにログインし、rootに切り替えてからetc配下のphp.iniをviで編集。

/memoryで移動すると

memory_limit = 16M ; Maximum amount of memory a script may consume

とありますのでこれを32Mに設定し、念のためApacheをrestartするとwebphotoの動作チェックにも反映されていました。

.htaccessでのリダイレクト


現在自宅サーバにてxoopsでのサイトを構築しています。
そのサイトのアドレスは本当はhttp://www.aaa.com/と言ったシンプルなものにしたいと考えて、confファイルのドキュメントルートやxoopsのmainfileを編集することで/home/aaa/public_html/xoopsをaaa.comドメインのドキュメントルートにしようとしましたが上手くいかず。

厳密に言えばhttp://www.aaa.com/でxoopsに直接アクセスは出来たのですが、ログインが上手く動作しないようで、ログインしてもゲストの画面に戻されてしまいましたのでhttp://www.aaa.com/からhttp://www.aaa.com/xoopsにリダイレクトすることに。

リダイレクトにもいくつか方法がある用ですが、今回は.htaccessファイルを利用することにしました。

Redirect permanent /home/aaa/public_html/index.html http://www.aaa.com/xoops/

Redirect permanent /home/aaa/public_html/index.html /home/aaa/public_html/xoops

上記の表記だとどちらも上手く行かず・・・

Redirect permanent /index.html http://www.aaa.com/xoops/

上の表記だとちゃんとリダイレクトできました、相対パス・・・ですか。

バーチャルホストでの複数ドメイン運用


複数ドメイン運用が可能になったので備忘録的に書いておきます。
その前にDNSサーバやDiceでの設定が必要です。
こちらの場合はDiceを使っていますので、新たにイベントと追加して起動させれば問題ありません。
肝心のバーチャルホストに関してはhttpd.confにて。

vi /etc/httpd/conf/httpd.conf

ServerName www.aaa.com
DocumentRoot /home/aaa/public_html/

ServerName www.bbb.com
DocumentRoot /home/bbb/public_html/
ErrorLog logs/bbb_error_log
CustomLog logs/bbb_access_log common

当初は上記のように記載しました。
aaaが最初からのドメイン、bbbが今回追加のドメインです。
内容はhttpd.conf内のサンプルを参考にしましたが・・・
しかしこれだとbbb.comがaaa.comと同じページに飛ばされてしまったので見直し・・・

NameVirtualHost *:80

ServerName www.aaa.com

ServerName www.bbb.com
DocumentRoot /home/bbb/public_html/
ErrorLog logs/bbb_error_log
CustomLog logs/bbb_access_log common

aaaのドキュメントルートはconfファイル内別の場所に記載しています。
これでそれぞれ別のドキュメントルートに割り振られました。

追記:confファイルを構文をチェックする apachectl configtest というコマンドは結構便利だと思いました。

Linuxの自宅サーバーにて運営しているブログ。主にサーバ運営に関する備忘録です。