スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

突然ルータがダウン?

自宅WebサーバのページをFTP接続でファイルを編集していたら、突然Webページが見れなくなりました。

ついに、サーバダウン!?
連続稼動1週間強でもうダウン!?

かと思いましたが、
CentOSは正常に稼動してるようでした・・・。

いろいろ、確認作業を行っていましたら、Windowsマシンからもインターネットが見れなくなってたので、どうやら、回線に異常をきたしているみたいです。

で、CentOS-Windowsも接続できないので、LAN接続、すなわち、ブロードバンドルータに異常があるかと・・。そんなことありえるのか?と思ってましたが、Windowsマシンからブロードバンドルータの設定自体もできないようでしたので、犯人はブロードバンドルータに特定されました。
でも、ブロードバンドルータのLEDは正常を告げるランプが点灯してます・・・。

ということで、まずはブロードバンドルータを再起動。っていうか、電源を一回落として、もう一度入れてみたら、正常に稼動しました。

ネットにもつながるようになりました・・何だったんでしょうか・・。原因究明中です。

復旧作業までに2時間くらい要したので、その間は我が家のWebサーバはダウンしてたのと同じです。このあたりが、自宅サーバの大変さであり、醍醐味である気がします。
スポンサーサイト

1ファイルのサイズが大きくなってきたaccess_logを分割出力させる

前回や、前々回の記事のように、access_logを確認しています。
まぁ、Webサーバ立ち上げたばかりなので、楽しくて見ているのですが・・・

情報発信は自宅から!低予算自宅サーバ奮闘メモ Googlebot襲来をリアルタイムに確認!
情報発信は自宅から!低予算自宅サーバ奮闘メモ Googlebotは仕事が早い。1日目のアクセスログ分析結果。

あることに気が付きました。

access_logのファイルサイズが1Mbyte近くにまでなっています。このままじゃ、Webサーバにアクセスされたときの負荷が大きくなる・・・。

Apacheの初期設定では、同じログファイル(acccess_log)に書き込むように設定されているようです。
次のファイルを修正することで、ログを日毎に分割してやります。

/etc/logrotate.d/httpd


開くと↓
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
daily
rotate 30
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}


これに、日毎であるdailyと無限にファイルを生成されても困るので、30ファイルをローテーションの回数を決めるやります→rotate 30

書き換えるとこのようになります↓

/var/log/httpd/*log {
missingok
notifempty
sharedscripts
daily
rotate 30
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}


ファイルを保存して、Apacheを再起動してやれば適用されます。
他には、以下のようなコマンドがあります。

コマンド内容
daily毎日
weekly毎週
monthly毎月
rotate指定した回数ローテーション(いくつログファイルを残すか)rotate[ローテーション回数]
compressログをgzipで圧縮
nocompress圧縮しない
ifemptyログファイルが空の場合でもローテーション
notifemptyログファイルが空の場合ローテーションしない
missingokログファイルが存在しない場合にエラーを出力しない
nomissingokログファイルが存在しない場合にエラーを出力
postrotateendscriptとの間に書いたコマンドをローテーション後に実行
prerotateendscriptとの間に書いたコマンドをローテーション前に実行
sizeログファイルが指定サイズ以上の場合ローテーション。書式:size[ファイルサイズ]
sharedscriptsログファイルを複数指定した場合、それぞれpostrotate、prerotate内のコマンドを実行
createローテーション後、空のログファイルを作成。書式:create[パーミッション][ユーザ名][グループ名]で権限の指定可能
nocreate空のログファイルを作成しない
olddir指定したディレクトリにローテーションしたログを保存。書式:olddir[ディレクトリ名]
noolddir元と同じディレクトリにローテーションしたログを保存

Googlebotは仕事が早い。1日目のアクセスログ分析結果。

昨日、公開したてのWebサーバにGooglebotが来た話を書きました。

情報発信は自宅から!低予算自宅サーバ奮闘メモ Googlebot襲来をリアルタイムに確認!

一日たった、今日見てみたところ、
何名か訪れてくださってることが、アクセスログよりわかりました。
しかも、Googleの検索エンジンから下記のようなキーワードで、我が家のWebページにたどり着いているようです。

aptana dojo サンプル



ずいぶん、奇特な方がいらっしゃるなと思って、
上記キーワードにて、検索してみたら検索結果上位に表示されたので、ビックリ!

オリジナルドメインってスゴイSEO対策なですね!自宅Webはちゃんと更新しないと・・。プレッシャーです。
このブログをはじめとする、ブログサービス業者が提供てしているブログはほとんどGoogle検索エンジンでヒットしないのに・・。

我が家のネット回線がもっと高速で、サーバマシンに余裕があれば、全部自宅Webにした方が良いかもしれません・・。

上記以外では、2回目のGooglebot襲来。
・Y!J-BSC/1.0(YahooのWebクローラ)
・BlogRangerCrawler(gooのWebクローラ)

今日は、生ログを肉眼で確認しましたが、解析ツールとかを使った方が良いかもしれませんね。

Googlebot襲来をリアルタイムに確認!

何気なく、アクセスログをtailコマンドで見ていたら、アクセスログが反応しました。

数時間前に、このブログでURLを掲載しただけなのに、↓

http://ajaxlab.dip.jp/

早くも我が家の自宅サーバにGooglebotが来ました。

66.249.73.57 - - [13/Apr/2008:21:34:45 +0900] "GET /robots.txt HTTP/1.1" 404 208 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.73.57 - - [13/Apr/2008:21:34:45 +0900] "GET / HTTP/1.1" 200 16877 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"



どうやら、robots.txtを確認してるみたいですね。
そんなもん、まだ置いてないので、変なところまで見られたかも・・・(lll/▽\lll)イヤンハズカシ♪
まぁ、良いのか悪いのか、これでGoogleのデータベースに登録されちゃいました。

祝!Webサーバひと段落

自宅サーバってかなり愛着湧きますけど、
自由すぎるってかなり大変です。僕も大人になったのかなぁ。

前回の記事の時点で、Webサーバとしては完成していたんですけど、

情報発信は自宅から!低予算自宅サーバ奮闘メモ 無料ドメインを取得してみる

このご時世、Webデザイナーでも無い限り、更新する毎にHTMLをごりごり触って、Webを作るなど大変なので、(昔やりましたけど・・)
Movable Typeを入れることにしました。

昔のMovable Type3とかは初心者でも、ごりごりカスタマイズができたんですが、Movable Type4は大人向けになっており、どこにスタイルシートがあるのか?どこに、モジュールがあるのか?探すのが大変です・・。その分、下記マニュアルをこしらえて、部品化しやすくしてるんでしょうね。きっと。

Movable Type 4 ドキュメント

おかげで、納得のレイアウトにするまでに、半日かかりました。そして、先程ようやく旧ブログから下記自宅サーバへ移転が完了しました。( ̄(ェ) ̄;;) 

↓癒し系のテンプレートにしました。
MTブログ完成

Dojo Toolkitで行うAjax Webアプリケーションサンプル

しかも、上記テンプレートを作ったやつ(たぶん、どっかの外人)、スタイルシートに変な記載をしてるもんだから、まともに動かねー。

その修正にも追われ、すっかり日が暮れてしまいました。
Dojoに関する勉強も、記事も投稿できず、日曜日が終わろうとしています・・。
徐々に更新していきます・・。

これで、自宅サーバ本格始動です。

テーマ : UNIX/Linux
ジャンル : コンピュータ

CGIが動かなねー。500 Internal Server Errorって何だ!?

ここまで順調すぎるくらいに、進めてきた自宅サーバですが、ここへきて大ハマりです。
一応、前回まででWebページは見れるようになっていたのですが、

情報発信は自宅から!低予算自宅サーバ奮闘メモ 無料ドメインを取得してみる

CGIが動いてくれません。
動かない手順は次の通りです。

Windowsマシンより、秀丸で、以下の簡単なtest.cgiを作成。
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n";
print "<title>テスト</title>\n";
print "</head>\n";
print "<body>\n";
print "CGIテスト\n";
print "</body>\n";
print "</html>\n";


FTPで下記パスへアップロード。

/var/www/html



ブラウザで確認↓
500 Internal Server Error

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.



な、なぜ??

/etc/httpd/conf/httpd.confの設定は↓このサイトを参考にさせていただきました。
Webサーバー構築(Apache) - CentOSで自宅サーバー構築

まぁ、ネットで調べてみると同じようなトラブルに巻き込まれている人は多いようですが、すぐに解決しませんでした。以下にあるある解決方法を記載しておきます。


あるあるパターン1
CGIファイルの先頭に記載している、
#!/usr/local/bin/perl と指定した場所に perl がない。

ここに関しては、端末より下記コマンドで確認できます。

whereis perl


何十回も確認しましたが、正しいパスでした。

あるあるパターン2
/etc/httpd/conf/httpd.confの設定に不備がある。
CGIを動かすには、上記ファイルを正しく設定してやる必要があります。上記のサイトの設定を忠実に守れば問題はありません。何回も見直しましたが、漏れや間違いはありませんでした。

あるあるパターン3
パーミッションの変更忘れ。
アップロードしたCGIファイルのパーミッションを以下の変更してやらなければなりません。

chmod 755 /var/www/html/test.cgi


何回かに1回忘れてました。

あるあるパターン4
CGIスクリプトファイルの改行コードがCR+LFになっている。
これは、Windows上の秀丸でCGIファイルを作成したときに、やりがちなミスで私もこのミスをやってました。コレだ!と思って秀丸で保存するときに、改行をLFにしてやればOKなのですが、それでも解決しませんでした・・・。

このパターン4には、もう一つあり、FTPクライアントでLinuxにファイルを転送する際にアスキーモードで送る必要があるそうです。ここも、FTPクライアントがアスキーモードになっていることを確認して転送しましたが、解決しませんでした・・・。

で、結局何が原因だったかというと、FTPサーバがアスキーモードになっておらず、サーバがバイナリモードで受け取っていたために、CGIが正しく実行されてなかったようです。わかるか!!そんな設定!!

ネットには、同じように苦しんだ方がいらっしゃったようで、おかげさまで解決できました。
具体的に申しますと、
CentOSのFTPサーバは、vsftpdです。このアプリの設定は/etc/vsftpd/vsftpd.confという場所に格納されており、このファイルはデフォルトで、アスキーモードが無効になっているようです。

#ascii_upload_enable=YES
#ascii_download_enable=YES



上記「#」をはずして、

ascii_upload_enable=YES
ascii_download_enable=YES



アスキーモードを有効にしてやり、vsftpdを再起動し、Windowsから再度転送してやれば、
うまくいきました↓
成功例


また、CGIのエラーが発生している場合、

/etc/httpd/logs


にある「error_log」ファイルにエラー内容を記載されているので、解決のヒントになるかもしれません。

我が家の無理やり!!静音設計(まねしない方が良いです・・・)

Webサーバを立ち上げたため、もちろん24時間稼動を目指します。

が、

この3万円程度で自作したメタボスペースなデスクトップLinuxマシンは、24時間連続稼動を想定していません。もともと、Linuxを使いたいという一心で・・。自作自体もほぼ初に近い私が、試行錯誤の末、マシンという形にさせたものです。とうてい、静音設計なるものなど、二の次、三の次でありまして・・。

また、我が家のメインマシンとして幅を利かせているWindowsマシンには勝てるはずもなく・・。(もともと、ハードのスペックから力の差がありすぎたし)やっぱり、Linuxはサーバとして陰ながら強い力を発揮する運命にあったのです。働きアリのごとく・・。

とは言え、私の住むこの閑静な住宅街では、車が入れないような路地にありますから、逆にその静けさがあだとなり、少々の騒音でもうるさく感じてしまいます。作り上げてしまったものを何とか、静音設計しなければ・・・。

文献をあさると、電源ファンやCPUファンを交換すれば良いと、貧しい私どもには酷なご意見ばかり・・。まぁ、貧乏人は工夫で乗り切るしかありません。

何も、マシン自体の設計ばかりとらわれなくても、
要は「寝るときに静かであれば良い」ということでありまして、

試行錯誤の結果下図のように、

無理やり静音設計


押入れの中で囲まれるような形、すなわち家具ごと静音設計という発想に至った次第です。
写真の下部は見えませんけど、パソコンケースが梱包されていた発泡スチロールを引き、その上にプチプチを乗せております。一応、押入れのスペースと熱対策はトレードオフな関係でありますので、最低5cm以上のスペースを四方に確保しております。電源ファンの部分は20cm程度のスペースを空けております。

もちろん、GUI育ちのヒヨっ子の私には、Windowsマシンからリモート操作できるように、VNCという強力な味方もいますので、何かあれば直接デスクトップを覗いてやるなども手配済みです。

WS000021.jpg

情報発信は自宅から!低予算自宅サーバ奮闘メモ WindowsからCentOSをVNCでリモート操作

さて、今後どうなることやら・・。夏は乗り切れるのか・・。
何か事件が起こったら紹介します。

無料ドメインを取得してみる

前回アパッチでWebサーバを公開しました。

情報発信は自宅から!低予算自宅サーバ奮闘メモ まずはApacheを動かしてみる

デフォルトでは、下記パスがWebページのトップですので、超簡単なindex.htmlファイルを作成し、Webページが見れるかどうか、試してみました。

/var/www/html



index.html
<HTML>
<BODY>
Hello html
</BODY>
</HTML>


みごと、図1のような自宅サーバの初ページが拝めました。
が、前回の続きでもあります、IPアドレスでWebを見るような奇特な人はいません・・。

初Webページ1

-図1 自宅サーバ初ページ-

今回はドメインを取得して、かっこよくドメイン名でWebページを表示させたいと思います。
過去に独自ドメインを取得した経験から、ドメイン取得は面倒かつ時間がかかると思ってましたが、無料の場合、かなりあっさり取得できます。

無料・ダイナミックDNS(DDNS)サービスを提供してくれる、ieServer.netというサイトがあるらしく、自宅サーバ向けに無料のドメインを提供してくれます。

無料・ダイナミックDNS(DDNS)サービス - ieServer.Net

さすがに独自ドメインとは違い、以下いずれかが末尾にくっつく形となりますが・・・。

dip.jp / fam.cx / jpn.ph / moe.hm / myhome.cx / or.tp / orz.hm



まぁ、無料である以上、その辺りの細かいことを気にしてちゃ・・ってことで早速、「新規ユーザ登録」をしました。まぁ、後で変更できそうなので、とりあえず、以下のドメインにしてみました。

http://ajaxlab.dip.jp/



何で上記ドメインにしたかは、以前書いた記事に書いてますけど、
暇な人だけ読んでください。
情報発信は自宅から!低予算自宅サーバ奮闘メモ 自宅でWeb公開するに至った経緯。

で、

早速、http://ajaxlab.dip.jpを入力してみたら、図2のようにみごと表示されました。

初Webページ

-図2 ドメインでWebページを表示-

しかし、ながら問題はここでは終わっておりません・・。
非固定IPアドレスであるため、このドメインに割り当てられているIPアドレスは変わる可能性があります。でも、1日たっても変わる気配がないので、とりあえず別作業にとりかかるべく、問題が発生してから対処したいと思います。

まずはApacheを動かしてみる

苦労して、自宅Webサーバを公開している方に申し訳ないのですが、CentOSでWebサーバを公開するのは、実に簡単です。

だって、もとからApacheが入っているから。

まずここではApacheを起動させ、外部からアクセスできるようにする手順を記載します。

1.CentOS内でApacheの起動を確認する
(1)インストールの確認
メニューの[アプリケーション] - [ソフトウェアの追加/削除]でパッケージマネージャを起動し、Webサーバにチェックが入っていることを確認します。(図1参照)

チェックが入っていない場合は、チェックを付け、「適用」ボタンを押下します。

Webサーバの確認

-図1 Webサーバインストールの確認 -

(2)サービス起動を行う
メニューの[システム] - [管理] - [サービス] でサービスの設定画面を起動させます。
デフォルトの場合、「httpd」サービスにチェックが入っていない為、チェックを付け、「開始」ボタンを押下します。(図2参照)

httpd起動

-図2 Apacheサービス起動 -

(3)ブラウザでApache起動を確認
これで、Apacheは起動しました。CentOS内でFirefoxを起動させ、URLに「http://localhost/」と入力すると、図3のように表示されればOKです。

CentOS内Apache起動確認

-図3 ブラウザでApache起動確認 -

2.LAN内でApacheの起動を確認する
以前も紹介したように、我が家のマシンは図4のような構成になっています。

ネットワーク構成

-図4 マシン構成 -

(1)ポートの設定
CentOS外であるWindowsマシンからApache起動を確認してやります。要するにLAN内で(Webサーバ)Apacheのポートが開いていることを確認します。

私のCentOSではファイアウォールを設けている為、ポートは開いておりません。その為、メニューの[システム] - [管理] - [セキュリティレベルとファイウォールの設定]を選択し、 セキュリティレベルの設定画面より、信頼できるサービス「WWW(HTTP」にチェックを付けOKボタンを押下します。(図5参照)

ポートの設定

-図4 ポートの設定 -

これで、WindowsマシンからでもApacheの起動が確認できます。

(2)Windowsマシンからブラウザで確認
Windowsマシンでブラウザを起動し、httpに続いてCentOSのIPアドレスを入力すれば、図3と同様の画面が表示されるはずです。

3.インターネットでApacheの起動を確認する
現段階では、図5のようにインターネット上からはアクセスできません。ためしに、下記以下のサイトから、host名にCentOSのIPアドレスを入力してポートチェックをしても、ポートが開かれていませんと表示されます。

ポートチェック【外部からポート開放確認】


-図5 ポートの設定 -

まぁ、当たり前の話なのですが、CentOSのIPアドレスはローカルなIPアドレスでインターネット上に公開されているものではありません。ただし、図5に示すブロードバンドルータならアクセス可能です。
ブロードバンドルータのIPアドレスを確認するには、以下のサイトに表示される、”現在接続している場所(現IP)”が示す値です。

確認くん(VIA the UGTOP)

このブロードバンドルータのIPアドレスは:60.44.62.101

プロバイダから振られているアドレスで、固定なIPアドレスではありません。とりあえず、今日はこのIPアドレスで話を進めたいと思います。

(1)ブロードバンドルータの設定を行う
もちろんですが、上記IPアドレスはブロードバンドルータのアドレスであって、CentOSのアドレスではありません。なので、ブラウザで上記アドレスを入力したところで、Apacheの起動は確認できません。図5のオンレジ矢印のようにしてやるには、ブロードバンドルータの設定を変更してやる必要があります。
※ブロードバンドルータの設定方法は各ルータの説明書を参照してください。corega製のCG-BARMXのブロードバンドルータについて解説します。設定の理論としては、他の製品でも同じではないかと思います。

corega製のCG-BARMXの場合、ブラウザでローカルIPアドレスを入力してやると設定画面になります。
設定画面トップ

-図6 設定画面トップ -

その中でバーチャルサーバの設定で、サーバWebの要求があった場合に、接続先をCentOSに設定してやります。(図7参照)

バーチャル サーバーの設定

-図7 バーチャルサーバの設定 -

(2)ブラウザで確認
ブラウザを起動し、上記ブロードバンドルータのアドレスを入力してやれば、図8のようにApacheの起動が確認できます。

インターネット上でApacheの起動確認

-図8 インターネット上での確認 -

不安だという方は、先程のポートチェック【外部からポート開放確認】で、IPアドレスを入力して確認してみてください。

これで、外部からWebサーバとして見れるようになりましたが、IPアドレスでWebを見るような奇特な人はいませんし、このIPアドレスは可変の為、一定ではありません。その為、次回はドメイン名でWebサーバを見れるようにしたいと思います。

自宅でWeb公開するに至った経緯。

まぁ、どうでも良い話なんですけど、悩みに悩んでWebサーバを構築することに踏みきりました。
その経緯をメモしておきます。

世に出ている無料ブログサービスは、かなり高機能化されてて、しかも自由度が高いです。

現在使用しているこのFC2ブログは優れもので、ブログ容量1GBで、しかも、画像以外に、htmlファイルやJavaScriptファイルなどもアップロードできます。

少し前なら、有料のレンタルサーバを利用して、Movable Typeなどをインストールし、不必要に自由度の高いブログを構築してました。そのカスタマイズ性があだとなって、本編の更新自体が怠るってこともしばしば・・・。なので、最近では無料のブログサービスばかりを利用しています。しかも、格安の有料版にはなかなか無い、1GBとというのは、かなりうれしい容量です。

が、

さすがに、自作Webアプリケーションを紹介するブログを書こうと思った際に、やっぱり、限界を感じました。紹介するからには、Webアプリを動かしたい・・。単にJavaScriptを動かしたいだけならできますが、今回、JavaScriptライブラリのDojoを使いたい・・。Dojoのライブラリはフォルダに複数JavaScriptファイル入っており、これを一個一個アップロードするのも大変ですし、フォルダ構成が崩れることは必至で、ファイルのみでDojoライブラリが動いてくれる保障はありません・・・。

ということで、無料のブログサービスをあきらめ、有料版レンタルサーバを考えました。

Movable Typeをインストールする手間を考えても、サーバ維持は業者がやってくれるので、Movable Typeさえ入れてしまえばこっちのものだと思ってました。

ただ、次のような考えが頭をよぎりました。

・なんの為に、CentOSをインストールしたか?
・今後公開するWebアプリが増えれば、格安サーバでも経費がかさむ
・地図アプリを考えた場合PostgreSQLを使いたい等、サーバ環境の自由度が限定される。
・せっかく持っている環境を活かす方が今後のためにメリットがあるのでは?

まぁ、サーバ業者を探せばいくらでもあるんですけど、
お金で解決するより、あえて手間のかかる自宅サーバで公開することにしました。

ということで、まずは自宅サーバでWebサーバ化させます。
そのお話は次回に。

WindowsからCentOSをVNCでリモート操作

GUI育ちの僕としては、WindowsからCentOSをコマンドだけで操作するのは、限界を感じます。
できるなら、マウス、キーボードでCentOSを操作したいものです。

しかも、ディスプレイが1台しかない為、ディスプレイ切り替え器を使って、2台のマシンを1台のディスプレイで共有しています。CentOSの画面を見ながら、Windowsで操作などできませんし、何かと面倒です。キーボードとマウスも個別にありますし・・・。2つのキーボードってはっきり言って邪魔ですよね・・。

ということで、VNCを使ってWindowsからGUIによるリモート操作を実現したいと思います。

実現したいイメージはこんな感じです。
WS000021.jpg

-図1.WindowsからCentOSをVNCでリモート操作実現イメージ-

1.CentOSにVNCを設定する

CentOSではVNCサーバがあらかじめ入っています。ただし、起動状態にはなっていません。
メニューの[システム] - [管理] - [サービス]よりサービスの設定画面を起動させます。
サービスの設定

-図2.サービス設定画面-

「バックグラウンドのサービス」タブの項目に”vncserver”があるのでチェックを付けて、開始ボタンを押下します。

2.VNCサーバを起動させる

上記1の作業ではVNCサーバを使える状態にしただけで、VNCによるリモート操作はまだできません。SSHやtelnet等からコマンドで以下のように打ってやります。

# vncserver


そうすると以下のようにパスワード入力を要求されます。このパスワードはWindowsから接続するときに入力するパスワードで、初回のみ要求されます。

You will require a password to access your desktops.

Password:


※"Verify:"パスーワードは確認の為、入力をと2回要求されます。"Verify"と表示されたら1回目に入力したパスワードを入力すればOKです。

VNCサーバが起動すると以下のように表示されます。

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log



CentOS等のLinuxでは複数のユーザがVNCでログインできるように番号が振られます。上記表示でlocaldomain:1と表示されているので1番という番号が振られています。Windowsからログインする場合にこの番号を使うので、メモしておきます。

3.CentOSファイアウォールのポート設定

CentOSでファイアウォールを有効にしている場合は、VNCで通信するポートの設定を有効にしてやる必要があります。ファイアウォールを無効にしてる場合は、4へ進んでください。
メニューから[システム] - [管理] - [セキュリティレベルとファイヤーウォールの設定]を選択し、セキュリティレベルの設定画面を開きます。

セキュリティレベルの設定

-図3.セキュリティレベルの設定-

その他のポートにVNCのポート番号を追加してやります。
VNCのポート番号ですが、5900番代が割り当てられます。今回の場合、VNCサーバは1番という番号で起動しているので、この場合5901がポート番号になります。複数ユーザを対応させるには、少々面倒ですが、図3のように設定してやればOKです。

4.Windows側のクライントVNCを用意する

以下からダウンロードできます。特に設定は必要なく、ダウンロードしてVNC Viewerを起動すればOKです。
窓の杜 - VNC

5.クライアントVNCでログインしてみる。

Windows上でVNCビューアを起動させます。VNCビューアのserverにはCentOSマシンのIPアドレスと、「:」を付けて先程のサーバ番号を付加してやります。

×××.×××.×××.×××:1


※「×」の部分はIPアドレス

VNCクライアントログイン

-図4.VNCビューアログイン-

次にパスワード入力すればCentOSの画面が・・・(図5参照)

VNC初期ログイン

-図5.VNC初期起動-

図5の通り、デフォルトのままでVNCを使うと、CentOSでログインした画面とは異なる画面が表示されます。さすがに、これではGUI操作とは言いがたいです。


6.VNCサーバでGNOMEを起動させる

CentOSでログインしたときのような(図1のようにGUIの)画面にするには、VNCサーバの設定を編集してやる必要があります。
設定を編集する前に、先程起動させたVNCサーバを以下のコマンドで停止させておきます。

vncserver -kill :1



設定を編集するファイルですが、CentOSのユーザーのホームディレクトリにある./vnc/xstartupをテキストエディタで開きます。※隠しファイルなので、デフォルトでは表示されていません。

ルート権限の場合は、以下のパスです。

/root/.vnc/xstartup



テキストエディタで開くと、以下のようになっています。

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &


これを下記このように書き換えます。twmを「#」でコメントアウトして、exec gnome-sessionを追加します。

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
exec gnome-session


再度、上記2と5の手順でVNCを起動させ、ログインすると図1のようなグラフィカルな画面が表示されます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

安易にアップデートすると・・・

今までWindowsアップデートみたいに、CentOSのソフトウェアをアップデートしてました。

今のところ、Linuxマシンには大した仕事をさせてませんので、
アップデートの1つや2つくらい・・・と、
安易に考えていたら、Javaアプリが動かなくなりました。
Exception in thread "main" java.lang.ClassFormatError: apl.Saori (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)
at java.lang.ClassLoader.defineClass(libgcj.so.7rh)
at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at gnu.java.lang.MainThread.run(libgcj.so.7rh)


どうやら、勝手にgnuのJREが起動していたようです・・・。

パッケージマネージャ


上図のチェックをはずしてやれば元のSunのJREへ戻ってくれました・・。
アップデートには注意しましょう。

プロフィール

白鯖

Author:白鯖
安い寄せ集めの部品で構築し、CentOS5をインストールしました。主に、Webサーバ、アプリケーションサーバとして運用中。ハードの知識はあまり無いプログラマですが、全部自前で作るのは、手間はかかるけど、レン鯖より面白いです。

ハードウェア構成

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
Max TDP控え目なCPU
安くて静音なクーラー
検索フォーム
ユーザータグ
RSSフィード
はてな
スポンサード リンク
おすすめ書籍
twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。