2004年10月31日

Bフレッツ+プロバイダの申し込み

Bフレッツ+プロバイダの申し込みを昨夜行った。
現在は書類が送られてくるのを待っている状態だ。
それでプロバイダは固定IPがもらえるところにしたのだが、そのサービスはとりあえず2005年6月までのようだ。(初めは2004年12月までとしていたようだが、延長されていた)
調べたところによると、IPv6切り替えがあるためどこも似たような状況らしい。
先行き不透明。
ややこしい時期に始めてしまった。
でも、IPv4でIPv6をトンネリングするサービスもあるようなので、いろいろと実験は出来そうだ。
将来的に切り替わる予定なのだから早めに準備を進めておくに越したことはない。
とは言っても、すでに出遅れている気もするが。。。
前調べたときは、普及価格帯でIPv6が使えるルーターはまだ出ていなかったと思うが、今ならあるのだろうか?
それよりも、既成製品は諦めてLinuxでルーターマシンを組んだ方が良いだろうか?
自由度で言えばLinuxに軍配が上がるが、手軽さではやはり既成のルーターだろうなぁ。
しばらく、IPv6 Magazineなどを読み漁るか?って、休刊してるし。

投稿者 Takenori : 11:49 | トラックバック

2004年11月04日

書類到着

Bフレッツのプロバイダから書類が届いていた。
記入して返信しないとって、引き落とし先郵便局の住所変更まだしていなかった。
しまった、明日変更しに行かないと。

投稿者 Takenori : 11:50 | トラックバック

2004年11月10日

サーバー用マシンが起動しない

先日届いた書類も記入して送り、今はBフレッツの工事連絡待ち状態だ。
で、今日サーバーにしようと考えていた古いマシンを立ち上げると・・・ 立ち上がらなかった。
なんか、ブービーブービーって鳴っている。
前からビデオカードがおかしい気がしていたが、サーバーにするなら最初数回映れば済むので大丈夫だと思っていた。
だが、1回も映らないのは困る。
HD容量も10GBと少し心もとないので、主要パーツの組替えを検討することにした。
マザー、CPU、メモリ、HDDで4万弱。
スペック的には少し古いマシンになる。
でも、今使っているマシンよりもかなり高速だ。
さてどうしよう?
そもそもそんなにハイスペックなマシンが必要か?
たぶん、サーバー実験用途などに使いで利用者は数人。
HDとビデオだけ交換するか。
でも、PenⅢ当時のHDって何ギガまで使えたっけ?
137Gの壁はまだ越えていなかった?
80GぐらいのHDにしておくのが無難だろうか。
と言うか、本当にHD 10Gだったっけ?
40Gぐらい積んでいた気も・・・
とりあえず、ビデオカードだけにするか。
ビデオカード持ってなかったかなぁ・・・ 見付からない。
いいや、ビデオカードだけ買おう。

投稿者 Takenori : 11:52 | トラックバック

2004年11月11日

ネットワーク構成で悩む

最近はDMZ方式と言う方法で構築されることが多いらしい。
インターネット----ルーター----サーバー
            |
         ゲートウェイ----クライアント
ってな感じらしい。
ゲートウェイ用のマシンも必要なのか。
さてどうしよう?
クライアントも直接ルーターにつなげてしまえば、ゲートウェイ用のマシンは必要ない。
そもそもそんなにセキュリティを意識する必要があるのだろうか?
どうするかなぁ。

投稿者 Takenori : 11:53 | トラックバック

ビデオカードをソフマップで

ソフマップの近くに用事があったのでついでに寄った。
で、目的のビデオカードを探す。
なかった。
価格.comで一番安かった1980円のATIのチップを積んだカードだ。
やはり、ネットで買うか。
送料などを入れると3000円近くなり、なんかバカらしいのだが、売っていないので仕方ない。
ついでに他にも何か買えば損した感が薄まるだろうか。
なぜかビデオカードを2枚買うとか。

投稿者 Takenori : 11:54 | トラックバック

TCP/IPを基礎から

TCP/IPの基礎を学ぶため、マスタリングTCP/IP 入門編 第3版を読み始めた。
この本の第1版も持っているが、その本には落丁があった。
第1版を購入したのは確か学生時代。
読んでいると白紙のページ。一気に読む気が失せて、読むのを止めた記憶がある。
その後は、雑誌やネットで断片的にTCP/IPを学んでいた。
しかし、もう一度基礎からと思い、第3版を半年ほど前に購入。
しばらくほったらかしにしていた。
で、最近サーバーの構築を本格的に検討し始めたので読むことにした。
初めのほうのネットワークの歴史は何度も読んでいるのでとばす。
ネットワークの基礎的な部分を読んでいると衝撃的な事実が! TCP/IPとOSIは異なると言うのだ。
確か、第1版の時はOSIの一部的な扱いでTCP/IPが説明されていたはずだ。
記憶違いなのだろうか? それとも、意味が変わってきたのだろうか?
現在、TCP/IPは単にTCPプロトコルとIPプロトコルを指すのではなく、インターネットプロトコルスイーツを指すらしい。
OSI参照モデルの7層のようなものがあるらしい。
ただし、TCP/IPモデルは7層ではなく、5層になっている。
また、それがさらに3つに大別されている。
いつの間にそんなことに。いや、初めからそうだったのだろうか?
なんにしても新しい発見だ。

読み進めているとデータリンクの章に来た。
ここで今日はやめようと思ったが、この章にはATMの説明があるようだったので、ATMのところだけ先に読むことにした。
普通にネットをやっていたらATMなどと言う用語は銀行のATMなど以外では目にしない。
でも、専用線などについて調べているとATMと言う語に出会う。
それで気になっていた。
EthernetやPPPみたいなものだとなんとなくはわかっていたが、もう少し詳細が知りたかったのだ。
で、読んだ。
ふーん。
終了。
それほどメリットは感じられなかった。

投稿者 Takenori : 11:58 | トラックバック

ゲートウェイ用マシン

余っているマシンを思い出した。
現時点では手元にないのだが、近日中に手に入る。
以前、兄にあげたマシンだ。
兄が新しいマシンを購入したので、もういらなくなったとだいぶ前に聞いていた。
それでその時処分するかどうか聞かれたのだが、とっておいてもらうことにした。
それが今回奏功した。
初期にあまりお金を使いたくない。
これで、結構費用を抑えてそれなりのネットワーク環境が出来そうだ。

投稿者 Takenori : 11:59 | トラックバック

2004年11月15日

前進Bフレッツ

今日、NTTから電話があった。
Bフレッツに関する電話だ。
工事日が確定するのかと思いきや、電話番号が工事する場所と異なるので、本人確認書類が必要なんだとか。
FAXか郵送か聞かれたので、郵送にした。
FAX持っていないからなぁ。
でも、そんなに早く進むとちょっと困る。
まあ、指定すればいいだけだけど、どれぐらい先がいいかまだ考えていない。

投稿者 Takenori : 12:00 | トラックバック

2004年11月16日

やるなCyberBB

昨日Bフレッツの電話がNTTからあったが、今日はCyberBBから電話があった。
「昨日NTTから電話があったと思いますが、工事日はいつになりましたか? ユーザー登録の書類はもう送ってしまっていいですか?」
と言う内容だ。
でも、ブログに書いた通り、まず本人確認書類の郵送が必要だ。で、そのことを伝えるとまた電話するとのこと。
なんか、やる気が感じられる。
今のところ好感触だ。
掲示板などで調べて選んだのだが、いい感じだ。
今後も期待が持てる。

投稿者 Takenori : 12:03 | トラックバック

2004年11月17日

そりゃないよ、みかか

今日NTTから電話があった。
Bフレッツの件だ。
内容は、Bフレッツ引けませんと言う事だ。
えっ? 何で? HPで検索したらサービス提供地域だったんですけど・・・
なんでも申込者が何人か集まらないと工事できないそうだ。
現在は数人が登録しているそうだ。
具体的にいつに工事できるかはまったくの未定。
ま、申込者が集まらないと工事できないのなら未定だわな。

申し込みした地域でどれだけ申込者が集まるか?
集まりそうな、集まらなさそうな・・・
とにかく、登録しないと進まないそうなので登録しておいてもらうことにした。
なんかヤだけど。

で、他の選択肢を考える。
電力系光ファイバーは固定IPサービスが高い。
プロバイダも選べないし、DNSやドメインなどで少し不安。
でも、Bフレッツ以外は電力系光ファイバー以外ないんじゃないのか?
よわった、よわった。
何か良い方法を考えないと。

投稿者 Takenori : 11:05 | トラックバック

光ファイバーを調べる

・USENの光ファイバ
サービス提供地域外

・電力系光ファイバ
サービス提供地域。
1ヶ月ぐらいで工事完了。
固定IPサービスが高いのがネック。

・NTTの光ファイバ Bフレッツ
前述の通り。

・Yahoo! BBの光ファイバ
設備不足のため、待たないといけない。
なんか、Bフレッツと同じくさい上に、放置プレイの前科があるのでかなり不安。

固定IPがなければ間違いなく電力系を選択するのに・・・
自分の中で期限を決めて、NTTが無理そうなら電力系へ行くか?
でも、そこからまた1ヶ月待ち。
どうするか、すごい悩む。

投稿者 Takenori : 11:07 | トラックバック

2005年01月01日

Fedora Core 3 のインストール

Linux でサーバーを立てるのはほとんど初めてに等しいので、いろいろと大変そうな予感大。というか、すでに大変さを味わい中。

Linux World 1月号についていたDVDからFedora Core 3 をサーバー設定でインストール。
Apacheの設定をいじって起動。
とりあえず、テストページは表示されたが、WebDAVはうまくいかない。
でも、それは後回しにする。

Sambaのインストール・設定を参考にして、設定を少しだけ変える。(ワークグループのところだけ)
で、Sambaの実行を参考にして、
smbd -D
nmbd -D
と入力し起動。
しかし、Winからアクセスできず。
なぜ? よくわからない。

Firefoxを立ち上げて調べようと思ったが、英語な上にバージョンが古い。
Firefoxのページから日本語版の一番新しいのをDLして、インストールしようとするが、libstdc++.so.5 がないと言われる。
調べると、libstdc++.so.6 があるのみ。
libstdc++.so.6のシンボリックリンクをlibstdc++.so.5 で作り、試すがうまくいかない。
で、yumでupdate出来ないかと思い、Fedora core 3でyumを使うを元に、yumの設定をする。
上記設定をした後、yum でfirefoxを入れようとするが、うまくいかない。
そこで、RedhatLinux7.3 への Firebird1.5.1 インストールを元に、gcc 3.3.3 をmake & インストール。パスは通さずに、ln -s /usr/local/gcc-3.3.3/lib/libstdc++.so.5 /usr/lib/ のシンボリックリンクのみにする。
で、DLしたFirefoxのインストーラーを立ち上げるとうまくいった。
意気揚揚と起動するが、何も変わっていない。
なぜ?
ふとタスクバー(?)を見ると、赤い!が付いていたので、クリック。
なんか、いろいろと自動更新してれるよう。
なんだ、これでやってくれるのかと思いきや、プログレスバーが途中で止まる。
はて?
何度かやるがうまくいかない。
仕方ないので諦めて、yum update firefox としてみる。
なんか、うまくいった。
で、起動するが、バージョンは古いまま。
ふと再起動しようと思い、再起動をかける。
再起動後にFirefoxを立ち上げる。
やった、新しいバージョンになっている。
でも、英語だ。
まあ、いいか。英語でもそんなに不自由しないし。
で、再び赤い!をクリック。
今度はサクサク進む。

メモ
パソコンおやじ

投稿者 Takenori : 01:37 | トラックバック

2005年01月02日

WebDAVの設定で悩む

パソコンおやじを参考にしながら、SSLの設定をする。
が、うまくいかない。
と言うか、上記のページで解説が食い違っている個所がある。
うーん・・・
キーを作成したりといろいろとやったのだが、SSLはちょっと後回しにして、WebDAVの設定をすることに。
で、検索すると、Fedora Core 3 で WebDAV/Subversion を使おうと言うちょうどいいページがあったので、これ元にSubversionを使えるように設定。
ブラウザでアクセスするとうまくいった。
で、単なるWebDAVフォルダを作ろうとするが、うまくいかない。
様々なページの設定を調べたり、SELinuxについて調べたり。
そして、いろいろと設定をいじっていての違いってなんだったっけ? と思いながら、を追加するかと思って、Alias のパスを確認すると、"/" がない。
これはもしかしなくても・・・
"/" を追加して、Apache 再起動すると難なくアクセスできるように。
今まですごい悩んでいたのは一体・・・
まあ、とにかく次はSSLだな。
後、SambaはWebDAVがあれば、いらないかと思い始めてきた。
Samba の設定はほっておくか。

投稿者 Takenori : 12:16 | トラックバック

2005年01月04日

SSLの設定で悩む

パソコンおやじのページを参考にいろいろと設定を行っているが、このページのApache+SSLの設定には、証明書の作り方として、サーバ証明書の作成へリンクが貼られているが、SSL用証明書の作成(Linux編)の方が新しく、Apache+SSLの設定も新しいページで作ったものに準じているようだ。
いやー、公開鍵とかSSLのハンドシェイク方法とかそんな基礎的なことから調べてしまった。
後、前述のページでは、クライアント用証明書の作成も行っているが、私のページにはそこまでのセキュリティーは必要ないので、作成と設定はしないことにした。
つまり、SSLVerifyClient require は、コメントアウトしたまま。
で、https://localhost/ でアクセスすると、きちんと証明書を受け入れるかどうかなどが表示され、SSLで通信できることが確認できた。(サーバーに入れているFirefoxは、以前書いた通り英語版だったので注意メッセージは詳しく読まず)
同様に他のマシンから https://ローカルIPアドレス/ としてアクセスしたが、つながらず。
なぜ?
シマンテック・セキュリティチェックから、自分のPCのセキュリティーチェックを行うと、443はステイルス。もっとも安全です。と出た。
ダメじゃん。
で、ルーターの静的マスカレードとフィルタの設定の確認を行うが、443は開けていて、サーバーマシンに行くようになっている。
うーん・・・ なんだろう?
と、考えていたらピンときた、iptablesだ!
やつの仕業に違いない。
/sbin/iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
/sbin/iptables-save > /etc/sysconfig/iptables
と入力し、再起動。
httpsでアクセスできるようになった。
やった。
途中でSSLいらないやとかなーり思ったけど、なんとかうまく設定できた。
Fedora Core 3 の情報はまだそれほど多くないので、ちょっと辛い。
やっぱり、新しい方がいいだろうと思ったのは、まずい選択だったかも。

投稿者 Takenori : 02:17 | トラックバック

書き込みを行うCGI

書き込みを行うCGIがうまく動作しない。
しばらく理由がわからなかったが、ふとSELinux のせいではないか? と気付いた。
Fedora Core 3 で WebDAV/Subversion を使おうより安全に使いたい場合を元にWebDAV 用のポリシーを追加したが、この設定によって、httpd が書き込みを行えないようになっているのではないかと思った。
そこで、httpd_unified=0 をhttpd_unified=1 に戻し、再起動。
動作を確認すると、うまく動いている様子。
よし、よし。
SELinuxは、イマイチよくわからないので、AmazonでSELinux徹底ガイドを注文した。

次は、BINDの設定だな。
前にも設定したが、なぜかうまく動かなかったからな。
って、BINDもiptablesのせいでは!
少し試してみよう。

投稿者 Takenori : 09:22 | トラックバック

iptablesの設定を追う

iptablesの設定を見てみると、元々あると思われるhttpの設定は次のようになっている。
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
しかし、自分で設定したのは次の通り。
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
なんか、少し違う。
気になるので、iptablesのManページを参考に意味を見ていく。
たぶん、次のような感じ。

-A RH-Firewall-1-INPUT :
選択されたチェインの最後に 1 つ以上のルールを追加する。送信元や送信先の名前が 1 つ以上のアドレスに解決された場合は、可能なアドレスの組合せそれぞれに対してルールが追加される。
この場合、選択されたチェインとはRH-Firewall-1-INPUT のこと。

-p tcp :
ルールで使われるプロトコル、またはチェックされるパケットのプロトコル。
この場合、TCPを使うってこと。

-m state :
state モジュールをロードする。
次の、--state NEWのために必要?

--state NEW :
接続追跡 (connection tracking) と組み合わせて用いると、パケットについての接続追跡状態を知ることができる。
NEWの接続状態は、このパケットが新しい接続を開始したか、双方向にはパケットがやり取りされていない接続に属するパケット。

--dport 80 :
送信先ポートまたはポート範囲の指定。
ポート80を指定。

-j ACCEPT :
ルールのターゲット、つまり、パケットがマッチした場合にどうするかを指定する。
ACCEPTなので、受け入れる。

----------------------
最初のルールはそんなところみたい。
で、RH-Firewall-1-INPUT がなぞだが、これはそれより前に、次のように定義されている。
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

INPUT と FORWARDの意味は次の通り。
INPUT : マシン自体に入ってくるパケットに対するチェイン
FORWARD : マシンを経由するパケットに対するチェイン

で、-j は前述の通り、次に来るターゲットに従う。
つまり、RH-Firewall-1-INPUTに従うってことで、さらにRH-Firewall-1-INPUT は、後でルールが定義されている。
間接的に定義しているってことか。
なら、-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT でも、問題なさそう。
たぶん、RH-Firewall-1-INPUT を使用することで、設定を一気に書き換えたり、切り替えたりする時に便利なんだろう。
まあ、とりあえず、今のままでいいや。

投稿者 Takenori : 10:26 | トラックバック

DNSサーバー

少し前に書いたとおり、iptablesでnamed が使う、TCPの53番および953番、UDPの53番を開けた。
/sbin/iptables -I INPUT -p tcp --destination-port 53 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --destination-port 953 -j ACCEPT
/sbin/iptables -I INPUT -p udp --destination-port 53 -j ACCEPT
/sbin/iptables-save > /etc/sysconfig/iptables

そして、サーバーを再起動し、WindowsマシンのDNSサーバーの設定をローカルのものに変更。
nslookupで、設定した名前を指定してるみる。
やった! きちんとローカルのIPアドレスが返ってきた。
今度は、ブラウザで確認。って、あれ? うまく表示されない。
一度、すべてのブラウザを終了させ、再度アクセス。今度はうまくいった。
これで、ローカルからも、外からも同じアドレスでアクセスできる。
※注 うちのルーターの場合、うちに割り振られているグローバルアドレスでアクセスしても、ローカルのアドレスまでは届かない。
大部分のルーターはそうらしい。
なので、外からと内からではアドレスの指定が変わってしまう。
そこで、ローカル内だけのDNSサーバーを設置した。
これによって、内からも外からも同じドメイン名でアクセスできる。
ちなみに、私は固定IPではないので、家サーバー・プロジェクト ダイナミックDNSサービスを使用している。
外からのアクセスを確認したい時は、前に書いたようにシマンテックのセキュリティーチェックを使用するか、プロキシを使う。
プロキシについては、CyberSyndromeが詳しい。

良かった、良かった。
内と外で同じアドレスが使えるようになったし、DNSのキャッシュも効くようになった。
DNSのキャッシュは初めてアクセスするところは遅いけど、次からは早くなるのでいい感じだ。
で、次何するんだっけ?
そうだ、MySQLの設定だ。

投稿者 Takenori : 11:27 | トラックバック

2005年01月05日

WebDAVフォルダの追加でまたハマる

SSL+パスワード付きのWebDAVフォルダを追加しようとしたら、すんなり行かずかなり悩んだ。
理由は、SELinuxのポリシーの設定と、許可するユーザーの設定ミス。
WebDAVポリシーは、以前Fedora Core 3 で WebDAV/Subversion を使おうを参考にして追加したが、今回新しいフォルダを追加しようとしていたので、設定の追加が必要になった。
詳しい設定方法は、前述のページを参照して欲しい。
で、ここにも一応備忘録としてメモ
なお、httpd_dav_content_t の追加は前述のページを参照のこと。

/etc/selinux/targeted/src/policy/file_contexts/program/apache.fc の最後に新しく追加したポリシーを追加。
具体的には、
/home/dav(/.+)? system_u:object_r:httpd_dav_content_t
ってな感じ。
太字部は、新しく追加したフォルダに合わせる。
で、コンソールで次のようにしてポリシーをmake。
# cd /etc/selinux/targeted/src/policy
# make clean
# make reload
# restorecon -R /home/dav

書いていてふと気付く。
/home/webdav にポリシーを設定して、WebDAVを追加する時は必ずその下にフォルダを作り、そのフォルダにAlias を設定する。
そうすれば、毎度毎度ポリシーをいじらなくて済む。
で、設定変更。
うまくいった。

もう一つは、許可するユーザーの設定。
Require valid-user
と書けば、パスワードファイルにかかれているユーザー全てがアクセスできるようになるが、そうではなく、パスワードファイルは一元管理し個別にアクセス許可を与えたい。
その場合、Require user に続けて、ユーザー名をスペースで区切って入力するのだが、userと入れるのを見逃していた。
いやー、悩んだ悩んだ。

投稿者 Takenori : 04:01 | トラックバック

MySQLのアップデート

Fedora Core 3では、MySQLは3.X系が入っているが、どうやらこの記事(MySQLの最新版でも静まらないライセンス方式への批判)に書いてあることが原因の様子。
それはともかく、4.0系が使いたいので、RPMをDLしてインストールすることにした。
で、MySQLのDLページを見ると4.1系がrecommendedになっている。
と言うことは、4.1系を使った方がいいのか?
前に書いたとおり、developmentパッケージを入れれば、MySQLは4.1.7系が入る。でも、どうせなら4.1.8を入れたい。
で、結局RPMをDLして、インストール。

rpm -Uvh MySQL-shared-compat-4.1.8-0.i386.rpm
rpm -Uvh MySQL-server-4.1.8-0.i386.rpm
rpm -Uvh MySQL-client-4.1.8-0.i386.rpm
rpm -Uvh MySQL-bench-4.1.8-0.i386.rpm
rpm -Uvh MySQL-devel-4.1.8-0.i386.rpm
rpm -Uvh MySQL-Max-4.1.8-1.i386.rpm
ってな感じ。
後から気付いたけど、これは、 rpm -Uvh MySQL-*.rpm とやってもいいみたい。
それと、最初入れる順番がまずかったのか、依存関係がどうとかでうまくいかなかった。いろいろと調べて、よくわからずにもう一度やったらうまくいった。
うーん・・・順番が違ったのかな。
あと、MySQL-shared-4.1.8-0.i386.rpm も入れたけど、その後に MySQL-shared-compat-4.1.8-0.i386.rpm を入れたら、表示されなくなっていたので、いらない様子。
たぶん、MySQL-shared-compat-4.1.8-0.i386.rpm は、3.23系と両方含んだものみたい。と言うか、DLページにはそんなようなことが書かれている。

で、早速起動してアクセスしようとするが、うまくいかない。
localhostからアクセスできないとか何とか表示された。
いろいろ調べるが良くわからん。
それと、4.1.8を入れたときかどうかわからないが、mysqlのグループとユーザーが消えていた。/var/lib/mysql/mysql にあるファイルなどの所有者にはID番号が表示されている。
ユーザーとグループを見てみても、mysqlはない。
一体いつ消えたのだろう?

それとは関係なく、SELinuxのポリシー関係のアップデートがあったので、インストール。
WebDAVで変更していた個所を再設定し、makeする。
で、再起動。

起動後確認するが、mysqlはグループ、ユーザーともにない。
仕方ないので、postgresのを真似て、mysqlを追加。
IDはファイルの所有者として表示されていたものを設定。
警告が出たけど、無視。
設定は次のようにした。
グループ名 : mysql
グループID : ファイルに設定されていたものと同じ。(postgres+1)

ユーザー名 : mysql
ユーザーID : ファイルに設定されていたものと同じ。(postgres+1)
プライマリグループ : mysql
氏名 : MySQL Server
ログインシェル : /bin/bash
ホームディレクトリ : /var/lib/mysql
後、パスワードは適当に設定したのだが・・・ 次起動した時うまくいくだろうか?
少し不安。

で、再びMySQLへアクセス。
今度はうまくいった。
phpMyAdminからアクセスしたら、MySQL 4.1.8-Maxと表示された。
これでうまくいったのかな。

投稿者 Takenori : 10:49 | トラックバック

やっぱりSambaが使いたい

WebDAVで十分かと思ったけど、やっぱりWinの共有フォルダの方が使い勝手が良い。
たぶん、これもiptablesのせいだろうと思い、Sambaが使うポート番号を調べる。
UDP/137、UDP/138、TCP/139、TCP/445を開けると良いようだ。
で、
/sbin/iptables -I INPUT -p tcp --destination-port 139 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --destination-port 445 -j ACCEPT
/sbin/iptables -I INPUT -p udp --destination-port 137 -j ACCEPT
/sbin/iptables -I INPUT -p udp --destination-port 138 -j ACCEPT
/sbin/iptables-save > /etc/sysconfig/iptables
てな感じで、変更。
再起動。
エクスプローラーでアクセスしてみる。
ちゃんと表示された。
やった、これで編集が楽になる。

心配していた、MySQLは普通に立ち上がっていた。
で、mysqlとアクセスしようとするが出来ない。
やっぱりー

投稿者 Takenori : 11:32 | トラックバック

MySQL

Fedora Core 3 に入っているMySQLのバージョンは3.23.58と少し古い。
せめて4.0系が欲しかったが、まあいいか。
たぶん、大丈夫だろう。
で、MySQLの設定を参考にパスワードの設定などを行う。
ただし、最後の
mysql> set password for root@'%'=password('パスワード');
は、%ではなく、きちんとしたホスト名を入れないとうまくいかなかった。
で、次にphpMyAdminをインストール。
DLして、任意のディレクトリに展開した後、apacheの設定をいじって、そのディレクトリへはローカルからしかアクセスできないようにした。
そして、phpMyAdminのインストールを参考にして、設定を行った。
ただし、前述のページで変更する必要があると書いてある次の場所以外に
$cfg['PmaAbsoluteUri'] =
$cfg['Servers'][$i]['password'] =
次の、場所のlocalhostの部分をきちんとしたホスト名にする必要があった。
$cfg['Servers'][$i]['host'] = 'localhost';
以上で、MySQLが使えるようになった。
でも、やっぱり4.0系が欲しいなぁ。
FC3でyumを使ってサインが入っていないdevelopmentパッケージをインストールするを参考に、アップデートできるパッケージを調べると、4.1系が表示される。
まあ、当たり前っすね。
で、普通にyumでやると、3.23.58になる。
うーむぅ。
RPMパッケージでやらないとダメなのか?

投稿者 Takenori : 12:50 | トラックバック

2005年01月06日

MySQLの復旧

MySQLへアクセスできないので、いろいろと調べる。
まず、パスワードをなくしたい。
いろいろ調べて /etc/shadow にパスワードが保存されていることがわかった。
shadow のManページで意味を見る。
cryptで暗号化されたパスワードと思われるものが、mysqlユーザーには設定されていた。
PostgreSQLを真似て、パスワードを!!に変更。
で、再起動。
まだアクセスできない。

mysql とコンソールで入力した時に表示されるメッセージと、
ERROR 2002 (HY000): Can't connect to local MySQL server through socket 'ソケットファイル名' (111)
を手がかりに、"Can't connect to local MySQL server through socket" で検索する。
このページがほぼそのままのことを書いている。
1番目にMySQLが起動していない可能性を指摘している。
ps axで見ると、mysqlはない。でも、ps ax | grep mysql とやると出てくる。
なんだろう? よくわからない。
で、ふとsafeモードみたいなのがあったのを思い出し、適当にコマンドを打つがわからない。
MySQL install で、mysqladmin version と入力するのがあったので、やってみると、同じエラーメッセージが表示された。
どうやら、起動していないようだ。
で、whereis mysqladmin として、mysqladminがある場所を調べると、同じディレクトリにmysqld_safe と言うのがあった。
これか!
で、mysqld_safeと入力。
"STOPPING server from pid file /var/run/mysqld/mysqld.pid"
と表示され、終了してしまった。
前述のページにエラーログのことが書かれていたので、エラーログを見てみることにした。
/var/log/mysqld.log がそのログみたいだ。
見てみると、
Operationg system error number 13 in a file operation.
The error means mysqld does not have the access rights to the directory.
File name ./ibdata1
File operation call: 'open'.
Cannot continue operation.
とある。
つまり、access rights がないのか。
で、指摘されたファイル /var/lib/mysql/ibdata1 を見てみる。
なぜか、所有者がrootになっていた。
いつの間に。
他にもいくつか所有者が変わっているファイルがあったので、所有者とグループをmysqlに変更した。
で、再び、mysqld_safe。
コンソールがそのままになった。そうか、別プロセスで起動させるとかなんとかのコマンドでやらないといけなかったのか。
仕方ないので、コンソールをいったん閉じて、再び開き、ps axで見ると、mysqld_safeが立ち上がっていた。
mysql -u root -p でアクセスすると、きちんとアクセスできた。
再起動しても、きちんと起動するかどうかを確認するため再起動。
問題なくアクセスできた。
なんか、無駄に苦労したような気がしないでもないけど、うまく動くようになって良かった良かった。

投稿者 Takenori : 12:29 | トラックバック

2005年01月07日

ZIPがダウンロードできない?

家サーバーにZIPファイルを置いてダウンロード出来るかどうかテストしてみた。
そしたら、全然出来なかった。
なぜ?
Apacheの設定などを調べるが良くわからない。
ログからするとパーミッションの問題のようだが、いろいろといじっても変わらない。
これは、SELinuxが原因では? と思って、WebDAVフォルダに置いてからDLしてみる。
出来た。
やはり、SELinuxの設定が問題な様子。
これは面倒臭いなぁ。
まあ、セキュリティーレベルは高いんだろうけど。

少し前にAmazonで注文したSELinux徹底ガイドが今日届いたが、まだ読んでいない。
でも、最近徐々にSELinuxはOFFにしておきたい気分になってきた。
まあ、まじめに取り組んだ方が安全なんだろうけど・・・
少しずつやっていくかなぁ。

投稿者 Takenori : 02:53 | トラックバック

MTをインストールしようとしてまた・・・

MTをインストールしようとしたら、最初のmt-check.cgiでつまる。
パーミションでエラー。
アクセスできない。
すでにアクセスできるディレクトリの下にディレクトリを作って、そこにファイルを置いたのだが、うまくいかなかった。
ここ最近の傾向から行くとSELinuxの仕業だろう。
とりあえず、以下のようにコマンドを入力。
restorecon -R ディレクトリ
すると、アクセスできるようになった。
どうやら、新しいディレクトリを作ったら restorecon -R ディレクトリ とやらないといけないようだ。再起動でもOKかもしれないけど。

manを見るとrestoreconは、
ファイルセキュリティーコンテキストをセットする。( セキュリティーコンテキスト : 拡張属性 )
とある。
必要かどうかよくわからんが、ディレクトリを作った時は、毎回やっとけば間違いないだろう。

投稿者 Takenori : 07:21 | トラックバック

Perlモジュールのインストール

WinでActive Perlならppmで簡単にモジュールをインストールできるが、Linuxの場合はどうするか良くわからなかったので検索。
CAPNを使えばセミオートでインストールできるようだ。
やり方は、CPAN経由でLinuxにモジュールを組み込むが参考になる。

投稿者 Takenori : 07:48 | トラックバック

2005年01月09日

シェルスクリプトでも・・・

Subverionでリポジトリを作る作業が面倒なのでシェルスクリプトを少し調べてみた。
bashで始めるシェルスクリプト基礎の基礎
DOSのバッチとPerlの中間ぐらいって感じか。
なんとなく書けば出来そう。

Subverionでリポジトリを作るのは、/home/svn にDAV用のポリシーが設定あれば、次のような感じかな。(new_repは引数)

svnadmin create --fs-type=fsfs /home/svn/new_rep
chown -R apache:apache /home/svn/new_rep
rstorecon -R /home/svn/new_rep

/etc/httpd/conf.d/subversion.cnf に公開用なら次のように
<Location /svn/new_rep>
 DAV svn
 SVNPath /home/svn/new_rep
 <LimitExcept GET PROPFIND OPTION REPORT>
  SSLRequireSSL
  AuthType Basic
  AuthName "Please enter password."
  AuthUserFile /path/to/passwdfile
  Require user imoto
 </LimitExcept>
</Location>

ローカル限定なら
<Location /svn/new_rep>
 DAV svn
 SVNPath /home/svn/new_rep
 SSLRequireSSL
 Allow from 192.168.1.0/255.255.255.0
 Deny from ALL
 Order Deny,Allow
</Location>
と追加し、httpdを再起動。
httpd restart
ってやるようにすれば、作成完了かな。
まあ、次リポジトリを作る時にスクリプト書くことにしよう。

投稿者 Takenori : 11:09 | トラックバック

2005年01月10日

WebSVNのセットアップ

Memo/WebSVNを元に設定を行ったが、より詳細な設定を下記にメモ。
なお、サーバーはLinux (Fedora Core 3)を使用している。

WebSVNドキュメントから適切なtar.gzをDL。
適当なディレクトリに展開した後、include/distconfig.inc を include/config.inc にリネーム。
include/config.inc を以下のように編集する。

まず、--- PLATFORM CONFIGURATION --- で、各種コマンド パスの設定を行う。
例えば、以下のような感じ。
$config->setSVNCommandPath("/usr/bin"); // svnlook
$config->setDiffPath("/usr/bin"); // diff
$config->setEnscriptPath("/usr/bin"); // enscript
$config->setSedPath("/bin"); // sed
$config->setTarPath("/bin"); // tar
$config->setGZipPath("/bin"); // gzip

コマンド(/usr/bin/svnlookなど) ではないので注意。
わからない場合は、"which コマンド" で調べる。

次は、 --- REPOSITORY SETUP ---
Subversionで管理しているリポジトリを追加する。
$config->addRepository("myrep", "/home/svn/myrep");

次は、 --- LANGUAGE SETUP ---
include("languages/japanese-utf8.inc"); // (FedoraCore/Max OS X/BeOS)
を有効にし、次のようにエンコーディングを設定する。
$config->setInputEncoding("UTF-8");
$config->setOutputEncoding("UTF-8");

次は、 --- COLOURISATION ---
$config->useEnscript(); を有効にする。

以上で表示できるようになるが、ログメッセージが文字化けする。
対策を探したところ、以下のようにすると良いようだ。
まず、"/usr/local/WebSVN/bin/"というディレクトリを作る。

/usr/local/WebSVN/bin/svnlook というシェルスクリプトを書く。
内容は次の通り。
--------------------------------------------
#! /bin/bash
export LANG=japanese
/usr/bin/svnlook "$@"
--------------------------------------------

svn へのシンボリックリンクを次のようにして作る。
ln -s /usr/bin/svn /usr/local/WebSVN/bin/svn

include/config.inc のSVNCommandPath の設定を次のように変更する。
$config->setSVNCommandPath("/usr/local/WebSVN/bin");

以上でログメッセージの文字化けは回避できる。
が、ソースコード中のShift_JISなどの日本語は文字化けしてしまう。
上述のsvn をシンボリックリンクではなく、以下のようなシェルスクリプトにすることで回避できるが、バイナリファイルが壊れてしまうと言う問題が発生する。
--------------------------------------------
#! /bin/bash
/usr/bin/svn "$@" | nkf -w
--------------------------------------------

これは、ソースに手を加えなければ回避できなさそうだったので、コードを追ったところ、include/svnlook.inc の listFileContentsに修正を加えることで回避できた。
修正個所は次の通り
if( $config->useEnscript ) の中
$cmd = quoteCommand( ... とある次の行に
"/usr/bin/nkf -w | ".
を追加する。
なお、nkf のパスは環境に合わせて設定する必要がある。

configclass.inc にnkfの設定を追加して、有効なら上述の行をコマンドに追加するようにすれば、汎用的になるだろうけど、とりあえずこのままでよしとした。
今度気力がある時に、本体の方へマージしてくれーって送ろうかな。
--------------------------------------------
以上の設定で使えるようになるのだが、SELinuxを有効にすると使えなくなる。
まあ、コマンドを呼び出したり、テンポラリファイルを作ったりといろいろやっているので、専用のポリシーを作らないと厳しそうだ。
これは、今度頑張ることにする。

投稿者 Takenori : 02:10 | コメント (2) | トラックバック

2005年02月14日

SSL証明書が・・・

SSLの証明書の期限が切れてる・・・
これって、1ヶ月しかもたないの?
設定がまずかったのかなぁ。
明日にでも作り直すか。

投稿者 Takenori : 00:50 | トラックバック

2005年03月01日

SSL証明書の更新

期限切れになっていた証明書の更新を行った。
と言うか、新しくまた作った。
今回はすんなりいって、すぐに終了。
アクセスも問題なし。
前回1ヶ月ぐらいで期限切れになってしまったが、作成中に何日間有効か入力するところがあった。
今回は365と入力したんだけど、前回は誤って36とか入力してしまったのかもしれない。
ま、なんにせよ良かった。

で、ついでにパッケージの更新も行った。
SELinuxのポリシーは面倒なので更新をしばらく避けていたんだけど、今回は更新することにした。
また、ソースいじってメイクしないと。
でも、Linuxの再起動は緊張する。
再起動したら動かねーってのがあるからなぁ。

再起動後も無事動いたが、やっぱりWebDAV関係はうまくいかず。
バックアップされたファイルからポリシーのソースをマージしてメイクし適用。
念のため再起動し、アクセスしてみたらうまく動くようになった。
いやー良かった良かった。

投稿者 Takenori : 20:07 | トラックバック

2005年03月06日

phpGroupWareを入れてみる

phpGroupWareをDLしてインストールしてみた。
日本語化パッチのあてかたが書かれたドキュメントがなぜか英語。
なぜなんだろう?
それはともかく、書かれている通りにしてセットアップ。
ユーザーを作って試してみる。
うーん・・・微妙。
しかも、なんか動作が遅い。
家サーバーはそこそこのスペックだと思うんだけどなぁ・・・
何をやっているのだろうか?
後、インターフェイスがしょぼいと言うか洗練されていないと言うかパッとしないと言うか・・・
結構期待していたんだけど、これは使わないかも。
機能はいろいろとあって良さそうなんだけど。。。

投稿者 Takenori : 23:04 | トラックバック

 
Total : Today : Yesterday :