
Ubuntu日本語フォーラム

ログインしていません。
初心者です。
利用PCはDELL OPTIPLEX745 メモリは2GB/OSはUbuntu12.04.2 LTS です。
DiCEの自動起動についてお尋ねします。(うまく自動起動できません)
DDNDについてはすでに利用登録を行い、上記PCを自宅でサーバーとして、外部よりSSH接続も成功しております。
そこで、次にサーバー更新の為にDiCEを設定しております。
設定についてはネットの参考サイト等を確認しながらインストールおよび設定は完了しております。
↓設定確認
--------------------------------------------------------------------------
root@UbuntuSV01:~# /usr/local/bin/DiCE/diced
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
:list
(No.) (イベント名) (スケジュール) (次回予定)
0 * CyberGate IPアドレス変化時 (7日毎) 03/02 11:5
---------------------------------------------------------------------------
この後サーバー再起動の際に自動で起動するように設定しておりますが、ここでうまく行きません。
viコマンドで /etc/rc.d/rc.local に /usr/local/bin/DiCE/diced -d -l を追記しておけば
再起動時に実行されると、参考にしているサイトではほとんど解説されています。
ところが、私の環境ではそもそも# /etc/rc.d/rc.local がありません。
#/etc/rc0.d/**** /etc/rc1.d/**** /etc/rc3.d/**** 等々はあります。
また 上位ディレクトリには /etc/rc.local があります。
仕方ないので# /etc/rc.local に /usr/local/bin/DiCE/diced -d -l を追記してみましたがうまく行きません。
そこで新規に# /etc配下に rc.dディレクトリを作成し、そこに rc.localでファイルを作成し、
/usr/local/bin/DiCE/diced -d -l を追記しましたがサーバーを再起動しても自動では起動していないようです。
#ps aux で確認してもそれらしきリストが見当たりません。
また下記コマンドで確認しても起動していないようです。
--------------------------------------------------
root@UbuntuSV01:~# ps -C diced
PID TTY TIME CMD
root@UbuntuSV01:~# ^C
---------------------------------------------------
とりあえず、今のままでも自宅外からSSH接続、Webサーバー利用はできますが、
やはり毎回都度手動で起動させるのは面倒です。
どなたか、ご指導願います。
あわせて#/etc/rc0.d/**** /etc/rc1.d/**** /etc/rc3.d/**** と同じようなディレクトリーがありますが、
各々が何に必要とされるのでしょうか?
また、起動時に何をどの順序で読み込むのか、自分が起動させたいサービスはどこに何が必要なのかよくわかりません。
その辺をどのように勉強したらいいのか教えていただくとうれしいです。
参考書、ネット等を参考にコマンド設定しているだけで、なかなか覚えきれないですね。
オフライン
すみません。軽くググっただけなのと使ったことが無いのでアレなんですが
http://hosomaccho.zapto.org/mt/first_website/it/ubuntu/
あたりを参考にするとどうでしょう?
オフライン
古い投稿ですが、こちらを参考にしてください。 ubuntu 12.04でも問題なく稼働しています。
https://forums.ubuntulinux.jp/viewtopic … 074#p60074
オフライン
初心者のため、dicedの設定方法を提示しておきます。
端末で操作します。 端末→文字コードの設定→日本語(EUC-JP)
~$ /usr/local/bin/DiCE/diced
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
:help
*** 起動オプション ***
diced [-s|-d|-h|-e] [-b] [-l]
-s 起動と同時に開始します
-d 起動と同時にバックグラウンドで開始します
-h コマンドオプションを表示します
-b イベント実行時にビープ音を鳴らします
-l ログを作成します
-e<EventNo> 指定のイベントを実行して終了します
*** コマンド一覧 ***
exit DiCEを終了します
start DiCEを開始します
startd DiCEをバックグラウンドで開始します
setup DiCEの環境設定を行います
list 登録済のイベント一覧を表示します
add イベントを追加します
ed[it] <番号> イベントを編集します
del <番号> イベントを削除します
en[able] <番号> イベントを有効にします
dis[able] <番号> イベントを無効にします
ev[ent] <番号> イベントの情報を表示します
ex[ec] <番号> イベントを今すぐ実行します
logcr ログをクリアします
: list 事例です
(No.) (イベント名) (スケジュール) (次回予定)
0 * update 周期的 24時間毎 xx/xx xx:xx
1 * update_check IPアドレス変化時 (7日毎) xx/xx xx:xx
: ev 0
-------------------------------------------------
[イベント名 ] update
[状態 ] 有効
[DNSサービス ] XXXXXX.XX
[更新ホスト ] xxxxxx.xxxxx.xx
[ユーザ名 ] xxxxxxxxxxx
[IPアドレス ]
[スケジュール ] 周期的 24時間毎
[次回更新日時 ] xxxx年x月xx日、18:36:21
[最終実行日時 ] xxxx年xx月xx日、0:00:00
[最終更新IPアドレス] *
[最終更新結果 ] コマンドが実行されました
(ID:000000)
-------------------------------------------------
: ev 1
[イベント名 ] update_check
[状態 ] 有効
[DNSサービス ] XXXXX.XX
[更新ホスト ] xxxxxx.xxxxxx.xx
[ユーザ名 ] xxxxxxxxxx
[IPアドレス ]
[スケジュール ] IPアドレス変化時 (7日毎)
[次回更新日時 ] xxxx年x月x日、18:36:21
[最終実行日時 ] xxxx年x月x日、19:39:09
[最終更新IPアドレス] xxx.xx.xxx.xx
[最終更新結果 ] IPアドレスを更新しました
(ID:000001)
-------------------------------------------------
: exit
イベントを追加する場合はadd、編集するときはedを使います。
アドレスの検収方法などの設定は、setコマンドでします。
オフライン
自動起動についての補足事項
Debian系であるUbuntuは、多くの解説書でみられるRed Hat系とは
/etcディレクトリ以下の構成が大きく違っています。
Red Hat系では、システム起動時に実行されるスクリブトやデーモンの起動スクリプト類が
/etc/rc.dディレクトリ以下に配置されます。
Ubuntuの場合は、/etc直下に配置されてます。
階層が違うだけで基本的な仕組みに相違はないです。
だから、/etc/init.d, /etc/rcS.d, /etc/rc○.d ○はランレベルで0~6, /etc/rc.local
となっています。
/etc/rc.local は、システムの初期化スクリプト(rc1.d~rc5.d)にある
各ランレベルのスクリプトが実行された後、実行されます。
自動起動したいときは、このrc.localにコマンドを記述すれば簡単にやってくれます。
Ubuntuの場合、このrc.localには最初は何も記載されていません。説明だけです。
オフライン
array様、koisan1949様 ありがとうございます。時間がなくてお礼が遅くなりました。
ディストリビューションによって配置が違うんですね。これについては理解しました。
ということは最初に行った # /etc/rc.local に /usr/local/bin/DiCE/diced -d -l を追記で正しかったということですね。
しかしながら上記設定を行い、再起動をしてもうまく再起動していないようです。
サイトを参考にしながら #ps aux で確認してもそれらしきものが見当たりません。
また下記コマンドで確認しても起動していないようです。(これも参考にしたサイトで説明)
--------------------------------------------------
root@UbuntuSV01:~# ps -C diced
PID TTY TIME CMD
← 何も表示されません
---------------------------------------------------
自動起動しているかどうかの確認は上記でよろしいのでしょうか?
もしかしたら、なにかミスがあるかもしれません。
再度、確認してトライします。
オフライン
koisan1949様、ご指導のとおりに
# /etc/rc.local に /usr/local/bin/DiCE/diced -d -l を追記してますが、再起動後に確認すると下記のとおりです。
root@UbuntuSV01:~# ps -C diced
PID TTY TIME CMD
← 何も表示されません
手動で /usr/local/bin/DiCE/diced -d -l と打ち、その後に確認すると
root@UbuntuSV01:~# ps -C diced
PID TTY TIME CMD
2740 ? 00:01:12 diced ← 表示されます
ということは自動で起動していないということですよね?
koisan1949様 による投稿:
Ubuntuの場合、このrc.localには最初は何も記載されていません。説明だけです
とありますが、私の場合 exit 0 という行が1行あります。
これはいらないものでしょうか?
いずれにしても再起動をするとうまく立ち上がっていないように見えますがどうでしょうか?
オフライン
とありますが、私の場合 exit 0 という行が1行あります。 これはいらないものでしょうか?
exit 0 を削除して再起動したら自動で起動しました。
ありがとうございました。
root@UbuntuSV01:~# ps -C diced PID TTY TIME CMD 1251 ? 00:04:39 diced
無事起動!
オフライン
シェルスクリプトについて、若干補足説明
exitコマンドは、その時点でシェルスクリプトが終了します。
引数の値が終了ステータスとなります。
明示的にexitコマンドを取り払っても、シェルスクリプトの最後まで実行されれば
そこでシェルスクリプトは終了しますが、終了ステータスは最後に実行されたリストの
終了ステータスとなります。
よってリストの最後に記載するexit 0 は必ずしも必要ないですが、
最後に正常終了する場合にはexit 0 と記述するのが本来の正式な書式です。
そこで、追記したのにうまく動作しなかった理由ですが、
多分exit 0 の後に
/usr/local/bin/DiCE/diced -d -l を挿入されたのではないかと思います。
exit 0 で終了してしまうので、追記したリストは実行されないことになります。
オフライン
なるほどですね、納得です。
確かに後に追記しました、修正しておきます。
勉強になります。
ありがとうございました。
オフライン
DiCEについては下記の通り無事に自動起動できていますが、新たな問題です。
root@UbuntuSV01:~# ps -C diced
PID TTY TIME CMD
1828 ? 03:14:56 diced
設定後、しばらくすると自宅外からSSH接続等が出来なくなりました。
そこで自宅でDDNSサービスサイトの管理画面で設定を確認すると127.0.1.1となっていました。
特に気にもせず再度設定を行い利用していましたが、本日ルーターの設定等で再起動したところ、
DDNSの更新ができていないことに気が付きました。
そこで、今までの設定の手順を再度確認を行い、手動でイベントを実行しました。
するとやはり127.0.1.1となっていました。
イベントの設定ではアドレスの変更時と変更がない場合は7日毎という設定でした。
思い起こすとSSHで接続できなくなった時が、ちょうどDDNSの自動起動設定後の1週間後くらいの
タイミングだったようです。
このタイミングでイベントが実行されて、接続できなくなったと思います。
:list
(No.) (イベント名) (スケジュール) (次回予定)
0 * CyberGate IPアドレス変化時 (7日毎) 03/16 13:21
ということは、DiCEはうまく稼働しているがIPアドレス変化時の更新がうまくできていないということだと思います。
なにか設定で足りないところがあるのでしょうか?
オフライン
下記がDiCEの設定です。
<ポート3495を使用します> ←←←ルーターにポート設定が必要?とありますが、
ルーターにポート設定が必要なのでしょうか?
参考サイトにはルーターの設定については何も触れてないようなので、特に設定はしておりません。
root@UbuntuSV01:~# /usr/local/bin/DiCE/diced
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
:list
(No.) (イベント名) (スケジュール) (次回予定)
0 * hoge.sun.ddns.vcの更新 IPアドレス変化時 (7日毎) 03/16 18:02
:ed o
-------------------------------------------------
[イベント名 ] hoge.sun.ddns.vcの更新
[状態 ] 有効
[DNSサービス ] CyberGate
[更新ホスト ] hoge.sun.ddns.vc
[ユーザ名 ] hoge
[IPアドレス ]
[スケジュール ] IPアドレス変化時 (7日毎)
[次回更新日時 ] 2013年3月16日、18:02:39
[最終実行日時 ] 2013年3月9日、13:01:29
[最終更新IPアドレス] 127.0.1.1
[最終更新結果 ] IPアドレスを更新しました
-------------------------------------------------
イベントを編集します
DynamicDNSサービス名を入力してください
<現在:CyberGate>
"?"で対応しているサービスを一覧表示します
(N)変更しない (P)戻る
>n
-------------------------------------------------
<< CyberGate - DDNS - >>
URL: http://cybergate.planex.co.jp/ddns/
*** 情報 ***
<ポート3495を使用します> ←←←ルーターにポート設定が必要?
=================================================
ドメイン名を入力してください
<現在:sun.ddns.vc>
"?"でドメイン一覧を表示します
(N)変更しない (P)戻る
>n
=================================================
ホスト名を入力してください
<現在:hoge>
(N)変更しない (P)戻る
>n
=================================================
ログインユーザ名を入力してください
<現在:hoge>
(N)変更しない (P)戻る
>n
=================================================
ログインパスワードを入力してください
(N)変更しない (P)戻る
>n
=================================================
登録するIPアドレスを入力してください
<現在:自動>
空白にすると現在のIPアドレスを自動検出します
(N)変更しない (P)戻る
>
=================================================
このイベントに題名を付けてください
<現在:hoge.sun.ddns.vcの更新>
(N)変更しない (P)戻る
>n
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
<現在:5>
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(N)変更しない (P)戻る
>n
-------------------------------------------------
IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
アカウントを削除されてしまうことがあります
IPアドレスの変化が無い時に実行する間隔を指定してください
<現在:0>
(0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎
(4)35日毎 (5)56日毎 (6)84日毎
(N)変更しない (P)戻る
>0
=================================================
詳細オプションを設定します
-------------------------------------------------
[ オフライン ]
(0)No (1)Yes
番号>0
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>y
=================================================
イベントを保存しますか? (Y/N)
>y
イベント"hoge.sun.ddns.vcの更新"を保存しました
=================================================
:
オフライン
補足
←←←ルーターにポート設定が必要?とありますが、
赤い字のこの部分は私が記入したものです。
オフライン
以前からUbuntuにあるバグ?らしいのですが、/etc/hostsにあるループバックアドレス127.0.1.1をサーバー自身の固定アドレスと書き換えました。
いまだよく理解できませんが、この設定でとりあえず自動更新もできるようになりました。
何とか解決できたようですが、これが正しい解決策かどうかコメントいただけると助かります。
オフライン
説明が面倒なので、こちらに詳しく記載されてます。
https://wiki.ubuntulinux.jp/UbuntuTips/ … irtualHost
参照し、それでも不明なところがあれば質問してください。
どなたかが教えてくれると思います。
蛇足ですが、一言。
サーバーを乗っ取られないよう! 細心の注意で運用してください。
オフライン
以下、愚問ですが、
koisan1949 による投稿:
蛇足ですが、一言。
サーバーを乗っ取られないよう! 細心の注意で運用してください。
これはサーバーを立てるということでの一般的な注意ですよね?
それとも今回、私が質問している設定等において特に乗っ取られやすい環境が出来るので注意をしろということでしょうか?
注意する点については、不要なポートを開けない、不要なサービスは起動しない、暗号化、認証・・・・・etcということを
しっかり対応しておくということでよろしいでしょうか?
それから参考に教えていただいた
https://wiki.ubuntulinux.jp/UbuntuTips/DedicatedServer/ApacheVirtualHost
のhostsの編集例では
▼/etc/hosts
127.0.0.1 localhost.localdomain localhost localdomain
192.168.0.100 myhost.mydomain myhost mydomain
となってますが、myhosts mydomain をマシンのホスト名、取得中のドメインに読み変えるんでしょうか?
オフライン