header image

Categories

FEED

  • goo RSSリーダーへ追加
  • Livedoorリーダーへ追加
  • はてなRSSへ追加
  • Googleへ追加
  • myyahooへ追加
  • feedpathへ追加
  • NewsGator Onlineへ追加
  • Bloglinesへ追加

携帯対応

QRコード

RING

人気ブログランキング



2008/10/11 17:47:17 Linux, 自宅サーバ none Comments
add Hatena Bookmark

自宅のサーバで、CentOS上でOpenVZを動作させている環境での話し。
OpenVZは通常のCentOS用のKernelではなくて、OpenVZ専用のKernelを起動時にロードしないと使えないのだけど、Kernelのバージョンアップによって、標準では、通常のKernelがロードされるようになってしまい、リモートからサーバ再起動すると悲しいことになっていた。
#調べずに放置しておいた。

で、Kernelの指定方法を調べたのだが、すごい簡単。
うちではブートローダにgrubを利用しているのだが、/etc/grub/grub.confの設定を変えるだけで設定変更可能だ。

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.9-78.0.1.plus.c4)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-78.0.1.plus.c4 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.9-78.0.1.plus.c4.img
title CentOS (2.6.18-92.1.1.el5.028stab057.2)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.1.1.el5.028stab057.2 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-92.1.1.el5.028stab057.2.img

defaultの箇所が、デフォルトで選択するKernelのインデックス番号になる。現在は0なので、先頭のKernelが起動される。
OpenVZ用Kernelは2番目なので、このdefaultを1にすれば指定完了だ。

ちなみに起動中のKernelのバージョンを確認するためには

[root@kamakura staff]# uname -r
2.6.18-92.1.1.el5.028stab057.2

のようにunameを使う。-aだともっと細かい情報が出る

2008/09/28 06:24:33 Linux, PHP 1 Comments
add Hatena Bookmark

Xincを色々いじくっているんだけど、バージョン要求が段々あがっていて、CentOSだと動かない。
仕方ないからPHPのバージョンを上げることになるんだけど、ソースでapacheとPHP管理するのは面倒だから野良でも良いのでrpmを使う。

rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

んで、/etc/yum.repos.d/にutterramblings.repoという名前で以下の内容のファイルを作成

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

んで、最後に

yum upgrade php

完了したら、先ほど作成したutterramblings.repoの中のenabled=1を0に変えておく。
これをしておかないと不用意にphpのバージョンがあがってしまうこともありえる。

2008/07/03 06:38:01 Linux none Comments
add Hatena Bookmark

ちょっと嵌ったのでメモ。
CentOS4.6のサーバでSubversionのバージョンを、1.4.4-1にあげたのだけど、その際、mod_dav_svnがアップデートできないよ~って言われたので、「とりあえず消しちまえ」(欝)って消して、無理やりバージョンアップした。

えーーと、良く考えたら、こんなことしたら、
http経由でSubversion触れない(汗)

ということでRPMforgeをyumのレポジトリに追加して、そっちも見に行くことで、依存性を解決することに。

# wget \
  http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm
# rpm -Uhv rpmforge-release-0.3.6-1.el4.rf.i386.rpm
# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
# yum install mod_dav_svn

終わったら、/etc/yum.repos.d/rpmforge.repoを開いて、enable=0に変えておくこと。
こうしておかないと、以降yumコマンドを動かすと、面倒なことになってくる。

段々サーバが汚れていく気がするが、まぁいいか。

2008/07/01 06:47:11 Linux none Comments
add Hatena Bookmark
wget -mck --passive-ftp ftp://user:password@host/directory

※directoryはuserのホームディレクトリが基点になる。ルートディレクトリから指定したい場合は//から開始。

ftpのmgetコマンドって再帰してくれるわけではないのか・・・。

2008/06/11 20:06:35 Linux none Comments
add Hatena Bookmark

開発機の証明書の期限が切れていたので更新。そのメモ。

まず秘密鍵を作る。パスフレーズはどうせ解除するので1234とかにしとく。

openssl genrsa -des3 -out server.key 1024

そのままだとapacheの起動時にパスフレーズの入力が必要になってしまうので、除去しておく。

openssl rsa -in server.key -out server.key

オレオレ証明書を作成。面倒なので有効期限を10年くらいにしちゃうため、-daysオプションを指定。

openssl req -new -key server.key -x509 -days 3650 -out server.crt

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 []:

これで用意は完了。あとは作った鍵ファイルと証明書を以下に上書きコピーする。

/etc/httpd/conf/ssl.key/server.key
/etc/httpd/conf/ssl.crt/server.crt

最後にapache再起動。

#当然ながらオレオレ証明書なので、外向き公開サービスに使ってはいけない。あくまで開発テスト用。

2008/04/19 20:34:12 Linux none Comments
add Hatena Bookmark Tags:

Subversionでは、hookと呼ばれる機能を利用して、レポジトリの変更前後に色々な作業を自動で行うことができる。
例えば

  • コミット完了(post-commit)メールで関係者に通知
  • コミット完了(post-commit)で関連するチケットを自動でクローズ
  • コミットしようとする(pre-commit)と自動でユニットテストを実行し、NGだったらコミットをさせない
  • コミットしようとした(pre-commit)時に、コミットログが含まれていなかったらコミットさせない

ソースのバージョン管理をするのは当たり前として、何故そのソースが変更されたのか、何の依頼によってその変更がなされたのかをトレース可能にする必要がある。
つうことで、4番目のコミットしようとした時に、コミットログが含まれていなかったらコミットさせないようにする方法を以下に記録しておく。

  1. こちらのサイトにいきフック用ファイルを入手する
  2. レポジトリのhooksディレクトリに上記で入手したファイル(pre-commit)を配置し実行権限をつける。(pythonのパスとsvnlookのパスは書き換える)

以上である。これによって登録時にエラーが出て登録できないようになる。下記はTortoiseSVNでの登録エラー画面。
SVNコメント無しでエラー

似たような感じで、チケットへの参照を必須にするとか、そういうことも出来る。

実は簡単。

/etc/postfix/main.cfに以下を追加する

defer_transports = smtp

そしたら/etc/rc.d/init.d/postfix reloadを実行し、設定を反映。

あとは、指定時間に

/usr/sbin/postqueue -f

とすれば良い。これで1時間に1回まとめてメール送ったり出来る。(cronと組み合わせる)

2008/01/26 13:12:07 Linux none Comments
add Hatena Bookmark Tags:

最近やっていることのいくつかのメモ。

SELinuxを無効にする

/etc/selinux/configで、SELINUXをdisabledにしてサーバ再起動すれば良い。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

yumでproxyを使う

/etc/yum.confにおいて

proxy=http://ServerName:Port/

VMWareで、e1000_clean_tx_irqエラー

e1000: eth0: e1000_clean_tx_irq: Detected Tx Unit Hang
  Tx Queue             <0>
  TDH                  <f1 >
  TDT                  <2
  next_to_use          <2
  next_to_clean        <f1>
buffer_info[next_to_clean]
  time_stamp           <28db9>
  next_to_watch        <f1>
  jiffies              <29609
  next_to_watch.status <0
e1000: eth0: e1000_clean_tx_irq: Detected Tx Unit Hang
  Tx Queue             <0
  TDH                  <f1>
  TDT                  <2
  next_to_use          <2
  next_to_clean        <f1>
buffer_info[next_to_clean]
(以下略)

e1000_clean_tx_irqというエラーはNICで発生しているエラーでモジュールとしてはカーネルでロードされているドライバだ。
新たにVMWareにOSをインストールした際に、pingやらネットワークに関係するコマンド叩くと、すべてこのエラーが出ていたのだが、解決。

VMWareの設定で仮想OS起動時にNICをActiveに設定すれば良い(するの忘れてた・・・。かなりアホ)

それにしても、NICがActiveでないときにこのエラーってのは想像つかなかった。

2007/12/26 01:16:51 Linux none Comments
add Hatena Bookmark Tags:

今日、24時ちょうど頃、サーバが急に応答しなくなり自動リブートを数回繰り返した。
ようやくログインできたのだが、直ぐに自動再起動・・・。
何回か試行したあげくようやくログインし、shutdownコマンドを発動し、サーバを停止。
その数分後、なんかすごいコゲくさい匂いが・・・。

サーバ激しく使いすぎて燃え尽きたか・・・。

それにしても家中のマシンが調子悪い。

#とりあえず焦げ臭いので書斎の窓は開けっ放しにすることにする。

2007/12/24 09:14:46 Linux none Comments
add Hatena Bookmark Tags:

どうも記憶力が格段に劣化したらしいのでメモ。

リモートからMySQLに接続するための準備

  1. iptablesなどで3306ポートを通るようにしてあること。
  2. MySQL側にリモートから利用可能なアカウントを用意していること。
    mysql> GRANT ALL PRIVILEGES ON *.* TO hogehoge@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;

ちなみにpostgresqlはローカルとリモート用のアカウントに区別はない。リモートからの接続を受け付けたい場合は、pg_hba.confで接続を許可するホストを指定して、かつpostgresql.confのtcpip_socketをtrueにすれば良い。

« 前の記事 


ads

Ryuzeeのお気に入り