ClamAVをCGroupで管理してCPUを節約する
コレ太田くんが調べてくれたネタ・・・夜間バッチが動作するサーバとかには必須なので覚書しておく
http://dev.classmethod.jp/cloud/aws/clamav-process-controled-by-cgroup/
コレ太田くんが調べてくれたネタ・・・夜間バッチが動作するサーバとかには必須なので覚書しておく
http://dev.classmethod.jp/cloud/aws/clamav-process-controled-by-cgroup/
結局PHPは5.6を使うことにしたのでインストール手順のまとめ
(yumで入るけどそのままじゃ入らないので覚書き~)
①インスト済みのPHPのバージョン確認
rpm -qa | grep php
②デフォルトインストールの5.3を削除する
yum remove php-*
③EPELとRemiリポジトリを追加
・EPELリポジトリ
rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
・Remiリポジトリ
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
④PHP5.6をインストール
yum install –enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd
(※上記の– enablerepo=remi-php56ってのは今後も使う)
⑤インスト確認
rpm -qa | grep php
php -v
基本はこれだけなんだけど、結構苦労した・・・・(参考サイトはどれも完璧なのがなくて)
「社内サーバを入れ替えるにあたって」
社内で利用しているサービスにも、PHPで書かれているものもいくつかあるんですが
PHPバージョンが古いのが気になって調べてみると。。。
この通り・・・

サポート切れしているわけでして。。。
色々と調べていくとこんな記事があったので掲載しとく。
(だいぶ古いけど)
”安全なPHPを使っていますか? – PHPバージョンアップとの付き合い方を考える”
”RHEL/CentOS 6のPHP5.3.3 は安全か?”
”まだしばらくは” 安全なのかなぁ・・・(まぁ使うけど)
以下の設定はお忘れなく。
/**
* CakePHP Debug Level:
*
* Production Mode:
* 0: No error messages, errors, or warnings shown. Flash messages redirect.
*
* Development Mode:
* 1: Errors and warnings shown, model caches refreshed, flash messages halted.
* 2: As in 1, but also with full debug messages and SQL output.
*
* In production mode, flash messages redirect after a time interval.
* In development mode, you need to click the flash message to continue.
*/
Configure::write('debug', 0);
CentOs上のphpからPDOを使ってSQLServerに接続しようとしたところ、以下のエラーが表示されて繋がらないとのことで軽い気持ちで解析を手伝っていたら、unixODBCだったりFreeTDSだったりと複雑な環境もあり、・・・・・・ハマった。
◆エラー・・・というよりExeptionのメッセージ
[unixODBC][FreeTDS][SQL Server] Unable to connect: Adaptive Server is unavailable or does not existtest
◆ソース
?php
$dsn = 'odbc:AAAA';
$user = 'XXX';
$password = 'YYY';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?
◆解決した方法
今回の問題はSELinuxとやらの設定だった。参考→ ここ
httpd_can_network_connect がoff(無効)になっているのを有効に変えただけ。
設定の確認コマンド
# getsebool httpd_can_network_connect
httpd_can_network_connect --> on (有効の場合)
httpd_can_network_connect --> off (無効の場合)
設定の変更コマンド
# setsebool httpd_can_network_connect 1
※getseboolで確認だったので、勘でsetseboolでやってみたところできてしまった。1にしたらonになったので、0だったらoffだと思。
※真面目に使う人はちゃんと調べましょう。
unixODBCでも、FreeTDSでも、SQL Serverでも、apacheでも、php.iniでもないとか・・・ハマれるっ!! で、SELinuxって何?
聞いてみたところ、SELinuxはdisableにしちゃうのが普通らしい。
なぜだか見えなくなったらしい。
アクセスすると…
「XXXXXXにアクセスできません。このネットワーク リソースを使用するアクセス許可がない可能性があります。アクセス許可があるかどうかこのサーバーの管理者に問い合わせてください。」
などと出ている。
いろいろ試した結果、共有側(Win7)の「LAN Manager 認証レベル」とやらを変更すると解決した。
※Win7 ”Pro”以上なら以下の手順で。
※ちなみに、Win7 Homeなどでは、上記の設定画面とやらがないらしいので、レジストリを直接修正しないとダメっぽい
問題の解決には Windows 7 の Security を下げる必要が有ります。
Windows 7 では secpol.mscから→「ネットワークセキュリティ:LAN Manager 認証レベル」の設定をしなければなりません。しかしこのsecpol.msc機能は多くの方が使用しているHome Premiumでは使用できません。
そこで初心者には危険ですが、Windows Directory に有る regedit.exe を立ち上げ、以下のキーを付加する事で解決できます。
1. HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control¥Lsa を開きます。
2. LmCompatibilityLevel をダブルクリック(または右クリックて[修正]を選択)して値のデータ
を [2] にする。
(注意)LmCompatibilityLevel が存在しない場合は(通常は存在しません)左側のレジストリツリーの Lsa上か、Lsaを選択した状態で右側の何もないところで、右クリックし、 [新規]-[DWORD」を選択します。「新しい値 #1」というエントリーが作成されます。「新しい値 #1」という名前を「LmCompatibilityLevel」に変更します。そして、「LmCompatibilityLevel」を右クリックして[修正]を選び(またはダブルクリック)値のデータを変更します。横に出ている10進、16進はどちらでもかまいません。(2の値は10進でも16進でも変わりません)
レジストリーを変更すると即その変更が反映されるので保存という操作は有りません。
regedit.exe を閉じて、Windows 7 を再起動します。
参考 → ここ
返信
コメントを投稿するにはログインしてください。