Webコンサルタントの愚痴とアジャイル,生産性向上,Trac,オープンソースなどの与太話
自宅のサーバで、CentOS上でOpenVZを動作させている環境での話し。
OpenVZは通常のCentOS用のKernelではなくて、OpenVZ専用のKernelを起動時にロードしないと使えないのだけど、Kernelのバージョンアップによって、標準では、通常のKernelがロードされるようになってしまい、リモートからサーバ再起動すると悲しいことになっていた。
#調べずに放置しておいた。
で、Kernelの指定方法を調べたのだが、すごい簡単。
うちではブートローダにgrubを利用しているのだが、/etc/grub/grub.confの設定を変えるだけで設定変更可能だ。
defaultの箇所が、デフォルトで選択するKernelのインデックス番号になる。現在は0なので、先頭のKernelが起動される。
OpenVZ用Kernelは2番目なので、このdefaultを1にすれば指定完了だ。
ちなみに起動中のKernelのバージョンを確認するためには
のようにunameを使う。-aだともっと細かい情報が出る
Xincを色々いじくっているんだけど、バージョン要求が段々あがっていて、CentOSだと動かない。
仕方ないからPHPのバージョンを上げることになるんだけど、ソースでapacheとPHP管理するのは面倒だから野良でも良いのでrpmを使う。
んで、/etc/yum.repos.d/にutterramblings.repoという名前で以下の内容のファイルを作成
んで、最後に
完了したら、先ほど作成したutterramblings.repoの中のenabled=1を0に変えておく。
これをしておかないと不用意にphpのバージョンがあがってしまうこともありえる。
ちょっと嵌ったのでメモ。
CentOS4.6のサーバでSubversionのバージョンを、1.4.4-1にあげたのだけど、その際、mod_dav_svnがアップデートできないよ~って言われたので、「とりあえず消しちまえ」(欝)って消して、無理やりバージョンアップした。
えーーと、良く考えたら、こんなことしたら、
http経由でSubversion触れない(汗)
ということでRPMforgeをyumのレポジトリに追加して、そっちも見に行くことで、依存性を解決することに。
終わったら、/etc/yum.repos.d/rpmforge.repoを開いて、enable=0に変えておくこと。
こうしておかないと、以降yumコマンドを動かすと、面倒なことになってくる。
段々サーバが汚れていく気がするが、まぁいいか。
※directoryはuserのホームディレクトリが基点になる。ルートディレクトリから指定したい場合は//から開始。
ftpのmgetコマンドって再帰してくれるわけではないのか・・・。
開発機の証明書の期限が切れていたので更新。そのメモ。
まず秘密鍵を作る。パスフレーズはどうせ解除するので1234とかにしとく。
そのままだとapacheの起動時にパスフレーズの入力が必要になってしまうので、除去しておく。
オレオレ証明書を作成。面倒なので有効期限を10年くらいにしちゃうため、-daysオプションを指定。
Country Name (2 letter code) [AU]: JP
State or Province Name (full name) [Some-State]: Test
Locality Name (eg, city) []: Test
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Test
Organizational Unit Name (eg, section) []: Test
Common Name (eg, YOUR name) []: FQDN
Email Address []:
これで用意は完了。あとは作った鍵ファイルと証明書を以下に上書きコピーする。
最後にapache再起動。
#当然ながらオレオレ証明書なので、外向き公開サービスに使ってはいけない。あくまで開発テスト用。
Subversionでは、hookと呼ばれる機能を利用して、レポジトリの変更前後に色々な作業を自動で行うことができる。
例えば
ソースのバージョン管理をするのは当たり前として、何故そのソースが変更されたのか、何の依頼によってその変更がなされたのかをトレース可能にする必要がある。
つうことで、4番目のコミットしようとした時に、コミットログが含まれていなかったらコミットさせないようにする方法を以下に記録しておく。
以上である。これによって登録時にエラーが出て登録できないようになる。下記はTortoiseSVNでの登録エラー画面。

似たような感じで、チケットへの参照を必須にするとか、そういうことも出来る。
実は簡単。
/etc/postfix/main.cfに以下を追加する
そしたら/etc/rc.d/init.d/postfix reloadを実行し、設定を反映。
あとは、指定時間に
とすれば良い。これで1時間に1回まとめてメール送ったり出来る。(cronと組み合わせる)
最近やっていることのいくつかのメモ。
/etc/selinux/configで、SELINUXをdisabledにしてサーバ再起動すれば良い。
/etc/yum.confにおいて
e1000_clean_tx_irqというエラーはNICで発生しているエラーでモジュールとしてはカーネルでロードされているドライバだ。
新たにVMWareにOSをインストールした際に、pingやらネットワークに関係するコマンド叩くと、すべてこのエラーが出ていたのだが、解決。
VMWareの設定で仮想OS起動時にNICをActiveに設定すれば良い(するの忘れてた・・・。かなりアホ)
それにしても、NICがActiveでないときにこのエラーってのは想像つかなかった。
今日、24時ちょうど頃、サーバが急に応答しなくなり自動リブートを数回繰り返した。
ようやくログインできたのだが、直ぐに自動再起動・・・。
何回か試行したあげくようやくログインし、shutdownコマンドを発動し、サーバを停止。
その数分後、なんかすごいコゲくさい匂いが・・・。
サーバ激しく使いすぎて燃え尽きたか・・・。
それにしても家中のマシンが調子悪い。
#とりあえず焦げ臭いので書斎の窓は開けっ放しにすることにする。
どうも記憶力が格段に劣化したらしいのでメモ。
リモートからMySQLに接続するための準備
ちなみにpostgresqlはローカルとリモート用のアカウントに区別はない。リモートからの接続を受け付けたい場合は、pg_hba.confで接続を許可するホストを指定して、かつpostgresql.confのtcpip_socketをtrueにすれば良い。
日記 PHP オープンソース Linux Trac Perl wordpress フリーソフト Agile 自宅サーバ phpMyFaq Plugin 書評 Delphi apache プラグイン Subversion アジャイル mojavi セキュリティ Ruby Firefox Ajax/Web2.0 eclipse サーバ Zope フレームワーク CakePHP 文字化け scuttle OpenVZ 自宅 phpBB CMS 翻訳・日本語化 Excel ApacheDS 生産性向上 仮想化 hacks CodeIgniter XAMPP LDAP SBM taskfreak Ajax 修正 言語ファイル mod_security ダウンロード HTML::FillInForm 情報共有 格安 メンテナンス 移転 アンケート レンタル PhpScheduleIt 翻訳 API