きぬろぐ
久しぶりにProFTPdの設定を行ったときに調べたことをメモ。
ProFTPdではFTPクライアントからPASVコマンドが送出された際に、クライアントに返却するポート番号を特定のレンジから選択する「PassivePorts」という設定項目があります。コレを使うことでクライアントに返却するポートを49152-65534に絞ることも出来るというもの。
ただし、設定したポート範囲でポートオープン出来ない場合は、Kernelでポート選択をしてもらった上でログに書き出すとのこと。実用性を考慮すればまぁこうなりますか・・と思った次第です。
FreeBSD 7.3 から 8.1にバージョンアップ
投稿者: kinusati, カテゴリー: freebsd
当サイトはFreeBSD(amd64) 7.3 で運営しているのですが、そろそろFreeBSDの8系にバージョンアップしようかなと思って7.3から8.1にバージョンアップしました。
以前当ブログで書いたのですが、バージョンアップ、大変面倒でした・・・。ただ以下ようにやれば、時間はかかるものの楽にバージョンアップ出来ることはわかったので、そこは収穫かな。
下準備
バージョンアップを行う前に、以下の点を確認および変更します。
- /usr/local/bin/bash等のログインシェルを持っているユーザがいるかどうかの確認。存在した場合はvipwコマンドを利用し/bin/tcshに変更しましょう。
- portsのmisc/compat7xは事前にダウンロードしましょう。
- portsのportupgradeはインストールしておきましょう。
FreeBSD 8系からライブラリの仕様変更が入っていて、↑の対応を行っていないとバージョンアップ作業中にシェルが使えなくなるとか、portsの再構築作業が出来ない等が発生して致命的なダメージを受けます。
なおmisc/compat7xは以下のようにダウンロードしました。
# fetch ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.1-release/misc/compat7x-amd64-7.2.702000.200906.1.tbz
バージョンアップ作業
以下のようにやればOKです。
まず最初に、バージョンアップのためのデータを一式ダウンロードします。
# portsnap fetch update # freebsd-update upgrade -r 8.1-RELEASE
続いて、Kernelをインストールします。再起動が必要です。なおportsの再構築を行うためサービスは自動再起動しない方がいいでしょう。
# freebsd-update install # shutdown -r now
さて、ここからが本番。再起動後に8.1系のバイナリ一式をインストールしますが、くれぐれも手順は間違えないように・・。portsの再構築はホント時間かかる・・
# freebsd-update install # pkg_add compat7x-amd64-7.2.702000.200906.1.tbz # portupgrade -rf "lang/ruby*" # portupgrade -raf -x "misc/compat*" -x "lang/ruby*" # freebsd-update install # shutdown -r now
1. misc/compat7x -> 2. rubyのrebuild -> 3. misc/compat*, lang/ruby*以外のportsを再構築 -> 7系のライブラリ等を削除(freebsd-update install)という手順を踏まないと再構築に失敗します・・・
最後にcompat7xを削除します。なおゴミが残るのでそこは手動で削除。
# pkg_delete compat7x-amd64-7.2.702000.200906.1 # rm -rf rm -rf /usr/local/lib/compat/pkg
当サイトは上記で対応できました。やれやれ。
phpがcore dumpするようになったので・・・
投稿者: kinusati, カテゴリー: freebsd
phpのバージョンを5.3.3にバージョンアップしたらcore dumpする用になりました。
dmesgコマンドを実行すると以下のエラーが・・・
pid 66980 (php), uid 107: exited on signal 11 pid 66974 (php), uid 107: exited on signal 11 pid 66964 (php), uid 107: exited on signal 11
cactiユーザのcron実行時にcore dumpしている模様。なぜと思ったら、そもそもphpを実行したとき全部でcore dumpが発生している。
# php -v PHP 5.3.3 with Suhosin-Patch (cli) (built: Aug 1 2010 11:11:50) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies Segmentation fault: 11 (コアダンプ)
なんでだろう・・と思っていたら、MySQLのextensionを組み込むと具合が悪い。/usr/local/etc/php/extensions.iniからextension=mysql.soの行を外すと正常動作する。。。
そういえば!php5.3.3にバージョンアップするときにMySQLも5.5.4から5.5.5にバージョンアップしたなと思いだし、mysql55-clientを再度インストールし直したら、core dumpが出ないようになりました。
原因はわからないが動くようになったので、よしとしよう。
ログイン時に自動でログをとる方法
投稿者: kinusati, カテゴリー: freebsd
ログイン時にサーバ上で自動でログを取得する方法を探していたら、以下のページがありました。
Linux/UNIX 上でコマンドの実行履歴を残す方法
そこに、scriptコマンドを利用したログ取得スクリプトが載っていたのですがLinux専用だったのでFreeBSD版に修正してみました。ただし注意があり、FreeBSDでbashを使う場合だけ利用できます。bashはportsからインストールしないとだめなので、rootの管理用シェルには使えないと思います。
now=`date +%Y%m%d%H%M%S`
user=`whoami`
logfile=/var/tmp/log/script_logs/$user/$now
if [ ! -e /var/tmp/log/script_logs/$user ]
then
mkdir -p /var/tmp/log/script_logs/$user
fi
if [ -e $logfile ]
then
mv -f $logfile $logfile.bak
fi
p_proc=`ps -O ppid|grep $PPID|grep bash|awk '{print $6}'`
if [ "$p_proc" = -bash ]
then
script -q $logfile
exit
fi
久しぶりにFreeBSDサーバをいじったら結構アップグレードしていましたね。
FreeBSD 7.3-RELEASE-p2
7/13付けでリリースされています。セキュリティアップデートの模様です。
MySQL 5.5.5
7/06付けでリリースされています。かなり変更点が入ってるようですね。
デフォルトDBエンジンがMyISAMからInnoDBに変わったとのこと。ただしシステムファイルはMyISAMのままです。
Cacti 0.8.7g
セキュリティFIXがメインですね。
Important Security Fixes
- SQL injection and shell escaping issues reported by Bonsai Information Security (http://www.bonsai-sec.com)
- MOPS-2010-023: Cacti Graph Viewer SQL Injection Vulnerability (http://php-security.org)
- Cross-site scripting issues reported by VUPEN Security (http://www.vupen.com)
- Cross-site scripting issues reported by Red Hat Security Response Team
Important Bug Fixes and Features
There are quite a few bug fixes in the 0.8.7g release. Some highlights include:
- Fixed various issues with exporting and importing templates that contain special characters
- Fixed condition that could cause RRDtool to segfault
- Many fixes to html generation and presentation
Important Notices
- Boost 4.0 Plugin is required to work with Cacti 0.8.7g
WordPress 3.0 日本語版がリリースされました。
投稿者: kinusati, カテゴリー: freebsd
WordPress 3.0 日本語版がリリースされています。
http://ja.wordpress.org/2010/06/22/wordpress-30-ja/
新規機能
- 新デフォルトテーマ、Twenty Ten (トゥエンティテン)
- カスタマイズ可能な背景、ヘッダー、ショートリンク、メニュー 、投稿タイプ、そして分類 を簡単に実装できる新しい API
- WordPress と WordPress MU の統合
- ライトになったインターフェースの色調
- すべての画面に含まれたコンテクストに基づくヘルプテキスト
- 1,217 件のバグ修正と機能強化
- 15個までのプラグインをクリックひとつでアップグレードできる一括更新
- 他多数(動画を見てくれとのこと)
当サイトはWordPressで運用しているのですが、早速アップグレードしました。相変わらずアップグレードはWebUIから一発なので簡単ですね。
net-snmp 5.5にバージョンアップしたらアクセス拒否された
投稿者: kinusati, カテゴリー: freebsd
kinusati.netのサーバはcacti + rrdtool + net-snmpでリソースを取得していますが、net-snmpを5.5にバージョンアップしたら急に以下エラーログが出力されるようになり、リソースがとれなくなりました。
Connection from UDP: [127.0.0.1]:65336->[0.0.0.0]
ローカルホスト(127.0.0.1)からsnmpdに対してアクセスしても応答が返ってこなかったんです。おかしいです。
原因を調べてみると、かけまわる子犬さんのページに同じ事象が載っていました。
http://www.running-dog.net/2008/01/netsnmp532_etchostsallow.html
解決策は、/etc/hosts.allowに以下の行を加えればよいとのこと。
snmpd : 0.0.0.0 : allow
軽く意味不明ですが、設定後はばっちり動きました。
FreeBSD 7.3-RELEASE-p1がリリースされています
投稿者: kinusati, カテゴリー: freebsd
FreeBSD 7.3-RELEASE-p1が5/27付けでリリースされているようですね。
PHP 5.2.13 から PHP 5.3.2にアップグレード
投稿者: kinusati, カテゴリー: freebsd
当サイトはFreeBSD7.3(amd64)で構築しています。コンテンツはWordpress/MediaWiki等PHPをばりばり利用する物が多いです。
今日portsnap fetch;portsnap updateを行うと、PHP5のリビジョンが5.2.13から5.3.2にバージョンアップしていたので、これを機にバージョンアップ作業を行おうと一念発起してバージョンアップ作業を行いました。まぁ例のごとくインストールが大変だったり、動かなかったりだったので、気になった点をメモします。
1. MediaWikiのgoogle analytics extensionが動かない
以下のエラーが出て、Mediawikiが動作しませんでした。
PHP Warning: Parameter 1 to efGoogleAnalyticsHookText() expected to be a reference, value given in /usr/local/wiki/includes/Hooks.php on line 117
どうやらPHP5.3系との組み合わせで発生するとのこと。以下の記事に対応策も載っています。
http://www.mediawiki.org/wiki/Extension_talk:Google_Analytics_Integration#Not_working_with_PHP_5.3.0
2. APCが動作しない
PHPのキャッシュアクセラレータにAPCを利用していたが、以下のエラーが出ます。
APC-3.0.19/php_apc.c:959: error: duplicate 'static'
ベータではありますが、3.1.3p1を利用すれば大丈夫とのことですね。
久々にWikiページを更新しました。
今回のねたはまぁまぁ大作です。
Soaris関係
Solaris10で以下の導入メモをまとめました。特にApacheとredmineの連携はSolaris10の環境だとはまりどころが多いようなので、参考になるかと思います。
FreeBSD関係
MySQL関係
TIPSを更新しました。MySQLデータベースのアップグレード他を記載しました。