|
2012年 01月 16日
2010年 12月 20日
■現象 serversman@vpsにsubversion-1.6.13をソースから入れていた。 その際にsubversion-1.6.13が参照しているopenssl-develをyumで入れたらssh接続できなくなった。 ■原因 openssl-develを入れたことにより /var/empty/sshdの権限が勝手に変更された。 【変更される前】drwx--x--x 3 root root 【変更された後】drwx-wx--x 3 root root ← 書き込み権限が入るとダメらしい。 ■発生時のサーバーのログ(/var/log/message) Dec 18 22:51:26 dti-vps-srvXX yum: Installed: keyutils-libs-devel-1.2-1.el5.i386 Dec 18 22:51:26 dti-vps-srvXX yum: Installed: e2fsprogs-devel-1.39-23.el5_5.1.i386 Dec 18 22:51:26 dti-vps-srvXX yum: Installed: zlib-devel-1.2.3-3.i386 Dec 18 22:51:26 dti-vps-srvXX yum: Installed: libsepol-devel-1.15.2-3.el5.i386 Dec 18 22:51:27 dti-vps-srvXX yum: Installed: libselinux-devel-1.33.4-5.5.el5.i386 Dec 18 22:51:27 dti-vps-srvXX yum: Installed: krb5-devel-1.6.1-36.el5_5.6.i386 Dec 18 22:51:29 dti-vps-srvXX yum: Installed: openssl-devel-0.9.8e-12.el5_5.7.i386 Dec 19 14:28:17 dti-vps-srvXX sshd[50441]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:28:20 dti-vps-srvXX sshd[50486]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:28:25 dti-vps-srvXX sshd[50537]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:28:38 dti-vps-srvXX sshd[50653]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:28:50 dti-vps-srvXX sshd[50744]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:32:27 dti-vps-srvXX sshd[58718]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:32:36 dti-vps-srvXX sshd[58811]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:35:11 dti-vps-srvXX sshd[65365]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:44:43 dti-vps-srvXX sshd[19759]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:45:21 dti-vps-srvXX sshd[22117]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:45:28 dti-vps-srvXX sshd[22155]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:45:36 dti-vps-srvXX sshd[22257]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:47:04 dti-vps-srvXX sshd[24465]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 14:48:34 dti-vps-srvXX sshd[26559]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. Dec 19 18:20:07 dti-vps-srvXX sshd[3534]: fatal: /var/empty/sshd must be owned by root and not group or world-writable. ■発生時のクライアントのログ >>ssh hoge@xxx.xxx.xxx.xxx ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused ■解決法 serversmanのサポートに連絡して /var/empty/sshdの権限を下記の通り元に戻してもらった。 drwx--x--x 3 root root /var/empty/sshdの権限が元に戻れば通常通りssh接続できるようになった。 ■参考サイト http://neetup.wordpress.com/2008/08/ http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=262 # by iamaprogrammer | 2010-12-20 22:57
2010年 11月 27日
最近Struts2.2系,Spring2.5系(とiBATISとFreeMarker)で開発しているんですが、 Springにはorg.springframework.scheduling.quartzパッケージというのがあって、それらを使ったらJavaだけでcron設定からbatch処理を実行できるんです。 これまではbatchのときだけ不慣れなPerlを書く局面があって少々辟易していたんですが、これからはJavaで手軽にbatchが書けます。 #もちろん本エントリのようにSpringなんて使わなくても素のJavaでbatchは書けますが、何故か「batchはPerlで書いて」という場合が多かったんです。 今日早速試してみました。 まずQuartzJobBeanを継承したクラスを作成してexecuteInternalメソッドをOverrideします。 executeInternalメソッドはmain処理を記述するところのようです。 package jp.struts2spring_test.batch; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class BatchTest extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { Date date = Calendar.getInstance().getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(sdf.format(date) + " -> cron running is success."); } } applicationContext.xmlは以下な感じに。 テストとして5秒間隔で実行してみました。 見ての通り上記の自分で作成したQuartzJobBeanを継承したクラスをbean登録して、そいつにcron設定して、さらにそれをtriggerとしてbean登録するだけです。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <!-- cron --> <bean name="cron_BatchTest" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="jp.struts2spring_test.batch.BatchTest" /> </bean> <bean id="cronTrigger_BatchTest" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="cron_BatchTest" /> <property name="cronExpression" value="0/5 * * * * ?" /> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTrigger_BatchTest" /> </list> </property> </bean> </beans> 実行結果と動かしたproject構成は以下の画像のとおりです。 ![]() このサンプルはコンテキスト(war)にbatchを突っ込んでます。なので軽い処理をcron実行したい場合のサンプルです。 高負荷なユーザーサイトの場合はbacth用のプロジェクト(jar)を別で作成して行うんだと思います。 他にも微妙に違うsimpleTriggerとかいろいろあるみたいですが、普通のcron設定は上記のサンプルで問題なく動きました。 詳細は以下サイトを。 http://static.springsource.org/spring/docs/2.0.x/reference/scheduling.html http://www.quartz-scheduler.org/ http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html # by iamaprogrammer | 2010-11-27 00:38
2010年 11月 20日
最近周りの影響でEclipseのWTPを使ってWebアプリを開発したりtomcatを起動したりしているんですが、それでハマったことのメモ。 プロジェクトエクスプローラーなどで右クリック → 「その他」 → 「Web」 → 「動的Webプロジェクト」でWTPを使う雰囲気のeclipseプロジェクトが新規作成されたところからの話として。 eclipseのj2eeパースペクティブの(WTPの?)「サーバー」ビューからサーバーを起動すると、下記エラーメッセージが表示された。 サーバー ローカル・ホスト の Tomcat v6.0 サーバー は 45 秒内に始動できませんでした。サーバーがより多くの時間を必要とする場合、サーバー・エディターでタイムアウトを大きくしてください。 下記画像のとおり「サーバー」ビューのサーバーをダブルクリックでポートやタイムアウトを時間を設定できるビューが表示されます。そこで時間を変更しても解決しなかった。 ![]() で、原因としては、tomcatのserver.xmlのportの設定でした。 基本的にapacheとtomcatをajpで連携さして開発しているので、tomcatのserver.xmlの8080をコメントアウトしていたことが原因でした。下記のように8080をコメントイン(有効)すると解決しました。 ![]() なので(上記画像は解決後のキャプチャなので「ポート」の項目に、8005、8080、8009と3つリッスンされている)、上記画像の「ポート」の項目には、8005、8009しか表示されていませんでした。 どうもWTPの?「サーバー」ビュー(機能?)は8080が有効でないとtomcatを起動しない仕様になっているみたいです。。。 ちなみにまだWTPの何がいいのか分かっていません(笑) mavenで今回の話の「動的Webプロジェクト」の「WebContent/WEB-INF」みたいな違和感のあるプロジェクトを作成してくれるarchetypeがあるどうか知らないし、普通にtomcat起動するのと比べてどんなメリットがあるのかを知らないので。 たぶんSpringとSeasarの違いのように、どっちも機能的にそんなに変わらないんで慣れてるほうでいい。みたいに大した違いは無いんだろうと思っています。 そうでなくWTPが凄いというような発見があればその都度書いていきます。 #ほんとIT業はこんなの多すぎ。w3cはhtmlとかcssだけじゃなくその他開発言語、フレームワーク、IDEレベルでも統一を図ってほしい。 # by iamaprogrammer | 2010-11-20 17:49
2010年 10月 30日
quickrun.vimというのが便利そうなので入れてみた。 http://github.com/thinca/vim-quickrunからthinca-vim-quickrun-v0.4.2-0-g666ef7e.tarをダウンロード&解凍して、 ~/.vim/配下に以下な感じに入れると使えました。 .vim/ |-- autoload | `-- quickrun.vim `-- plugin |-- quicklaunch.vim `-- quickrun.vim vimのノーマルモード時に¥rで実行されます。 ![]() 同じようなプラグインを二人の人間が作ってるみたいだけど、どうもthincaさんという人が作ったのを入れておけば機能的にいいらしい。 #それにしてもIT業やってて思うのが、OSも文字コードも開発言語もIDEもエディタもDBもetc.全部1種類に統一されればいいのにということ。Javaのフレームワークだって吐き気がするほどあるし。ここでボヤいてもしょうがないけど。 参考サイト:vimに欠かせない3つのプラグイン # by iamaprogrammer | 2010-10-30 00:40
2010年 10月 24日
eclipse3.5でm2eclipseを使用してwarを作成しようと思い、 eclipseプロジェクトを右クリック → 実行 → Maven Package を行うと、eclipseコンソールに下記エラーが表示された。 [ERROR] Error executing Maven. [ERROR] The specified user settings file does not exist: /Users/ユーザー名/.m2/settings.xml /Users/ユーザー名/.m2/ に下記内容のとおりの空のsetting.xmlファイルを新規作成で解決。 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> </settings> 参考サイト:Flex On Java # by iamaprogrammer | 2010-10-24 14:33
2010年 10月 23日
入れっぱなしで使ってないアプリやミドルウェアってたまにあるけど、djangoがそんな感じで入っていたんでアンインストールした。 [me@macbook]:>python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" /Library/Python/2.5/site-packages [me@macbook]:>sudo rm -rf /Library/Python/2.5/site-packages/django/ [me@macbook]:>sudo rm -rf /Library/Python/2.5/site-packages/Django-1.0.2_final-py2.5.egg-info これでいいらしい。 参考サイト:Django v1.1 documentation # by iamaprogrammer | 2010-10-23 23:59
2010年 10月 22日
dmgからインストールしたMySQLのアンインストール MySQLバージョンによって微妙にMySQLCOMがあったりなかったりらしいです。 参考までのメモです。 rm -rf /usr/local/mysql-5.0.86-osx10.5-x86 rm -rf /Library/StartupItems/MySQLCOM rm -rf /Library/Receipts/mysql-5.0.86-osx10.5-x86.pkg rm -rf /Library/Receipts/MySQLStartupItem.pkg システム環境設定パネルのMySQLを右クリックメニューで取り除く 以上です。 # by iamaprogrammer | 2010-10-22 23:29
2010年 10月 21日
memcachedの軽い検証をやってみた。 memcached用Java APIが下記のとおり2種類あったので両方試してみた。 ①memcached java client memcachedの開発元であるDanga Interactive社が提供しているAPIらしい。 http://github.com/gwhalin/Memcached-Java-Client/downloads/ ②spymemcached 第三者が公開しているAPI http://code.google.com/p/spymemcached/ 100、1000、10000、50000、100000回のリクエストで単純に検証アプリの実行速度を測ってみたんですが、 memcached java clientを使った場合が2〜3倍速くなってました。 spymemcachedはどういうわけか、memcachedを使わない場合と大差ない結果でした。 ということで本家が公開しているAPIのmemcached java clientを使っとけば間違いないようです。 あと複数台のmemcachedサーバーを用意して使用する場合は下記の初期化コードに接続先を配列で入れるだけで、ランダム?に振り分けてくれるみたいです。 2台のmemcachedサーバーで試してみたらきっちり分散されてました。 #memcached java clientの場合のサンプルコード SockIOPool pool = SockIOPool.getInstance();
pool.setServers(new String[] {"xxx.xxx.xxx.xxx:11211", "yyy.yyy.yyy.yyy:11212"}); pool.initialize(); # by iamaprogrammer | 2010-10-21 21:48
2010年 09月 23日
Operaのウィジェット開発の勉強は今後いろいろ役に立ちそう。HTML5やCSS3やJavaScriptの勉強になるし。そう思って今日簡単なサンプルの作成から初めて、例外なくハマったことのメモ。 Opera ウィジェットの作り方というサイトを参考に作成したところ、自分の環境ではどうもOperaがウィジェットを認識してくれない。(Operaに*.wgtファイルをドラッグしても認識されない) なので、例外なくITに非常にうんざりしながら、本家Operaのデベロッパーサイト を読んでると、 Select both the files you have so far, and compress them into a .zip fileとあったのでピンと来て試したら解決しました。 何のことはないzipに圧縮する際に、ウィジェットを構成する全ファイルを選択して圧縮すればいいだけでした。 いつもの癖で、hogeディレクトリを作成して、その中にindex.html,config.xmlを放り込んで、zipに固めて*.wgtに名称変更という流れでやったのがよろしくなかったようです。 # それにしてもなんでこれでダメなんでしょ?ディレクトリ構成変わるわけじゃないのに。 ![]() # by iamaprogrammer | 2010-09-23 00:10
|
アバウト
about
ブログパーツ
以前の記事
2012年 01月
2010年 12月 2010年 11月 2010年 10月 2010年 09月 2010年 06月 2010年 01月 2009年 12月 2009年 02月 2009年 01月 2008年 12月 2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 10月 2007年 09月 2007年 08月 ライフログ
タグ
CentOS
BASIC認証
maven
MySQL
VirtualBox
httpd-vhosts.conf
Linux
m2eclipse
ssh
CD/DVDドライブ
Tomcat
HTML5
memcached
openssl
Apache
mac
Mac OS X
Opera
eclipse
Google
最新のコメント
最新のトラックバック
検索
おすすめキーワード(PR)
| |||||||||||||||||||||||||||||||||