初詣に行って来ました

どうも、休みの日は嫁とどっか行かないと気が済まないたかとしです。

家に居っぱなしだと体が鈍ってしょうがない…



本題。

遅ればせながら、年が明けましたので初詣に行って来ました。
こっちに住んでる人だったら北海道神宮に行く人が多いと思いますが、うちは人混みが苦手な夫婦なので、近所の神社に。


神社って不思議ですね、かなり交通量が多い国道沿いにあるんですけど、鳥居をくぐると凄く静かです。
僕らの他にも参拝客が何組かいましたが、年配の人が多かったです。
あと、駐車場付きなのがありがたかった。

お守りを買いました。

数年前に山形県の山寺で購入した、交通安全のお守りを使い続けているのですが、今回はどんど焼きを見送り。
それでも新しいお守りは欲しいので、交通安全お守りを買って来ました。
今まで使っていたお守りは、家で保管しておきます。

おみくじもひきました。

今年は末吉。まぁ控えめにコツコツとやっていけってことでしょうかね。
今年も嫁と一緒にがんばります。

独自ドメイン+動的IPでサーバ立ち上げ


どうも、年始から風邪ひいたたかとしです。


鼻水が止まらない…。



本題。

先日近所のじゃんぱらさんでジャンクPCを購入。

CPU : Pentium4 620
Mem : 256*2
HDD : 160GB

これで\2,500。

早速FreeBSD 9.0 RC3をインストールしてみました。
無事起動。
んでユーザ作って、IP設定して、デフォルトゲートウェイ設定して、っていう感じ。


問題は、独自ドメインをお名前.comで取得したんだけど、自宅のネットワーク環境は固定IPじゃないのです。
そうすっと、ダイナミックDNSを使わないとならないっぽい。


知りたいのは、取得した独自ドメインを使ってのダイナミックDNSサービスを無料で提供しているところ。
よし、整理できた。

[サーバ] FreeBSD9.0 RC3再インストール


ちょっと再インストールしたのでメモ書き。


キーバインドとかパーティションを設定した後、ネットワーク設定。
ネットワーク設定ではIPv4のみ設定。
その時に「Search」に入力するのは、自宅ルータで設定しているネットワーク名と、ゲートウェイはルータのIPでいいっぽい。
それでつながった。

[サーバ] FreeBSD9.0-RC3にapacheをpackageでインストール

root権限でsysinstall⇛Configure⇛Optionsで、Release Nameを「8.2-RELEASE」に変更。
Packages⇛FTPftp.jp.freebsd.org⇛でapache選択。

これをやったときはまだ9.0がRC3だったので、Relase Nameがデフォルトのままだと、ftp上には対応したものが無かったので応急的に。


[サーバ] apacheをportでインストール

してみた。

/usr/port/www/apache22/でmake install実行。
あとはオプション選んで適当に。

すごく時間かかる。

FreeBSD 9.0で、マルチドメインサーバを立てたい


どうも、最近背中やら肩やら首やらが骨と同じくらいの硬度になっているたかとしです。

姿勢が悪いのはわかっているのだけど、いつの間にかいつもの姿勢に…




本題。

会社の先輩から余っているマシンをお借りできるということで、ちょっと考え中。

まだリリースはされてないけど、RC3までいってるFreeBSD9.0でサーバを立ててみよう。

用途は自分のメールサーバかな、ひとまずは。

Postfix+dovecotでいいんじゃないかな。

メールドメインの取得がわからないので、そこを調べてみる。
ドメイン無いとどうしようもないし。


あと、Webサーバの立ち上げも視野に入れてる。
なにするかってーと別に何もしないけど、自分だけのっていいよね。
会社の人にも見られない感じで、そっちもドメイン取って同サーバ内でやってみる。
qjailでjail作って、友人用のjail作ったり、mysqlレプリケーションやってみたりしてみたい。
あー、マシン複数欲しいのう。

simplexmlを使ってxmlをどうにかする


今回使おうとしたxmlのencodingがx-sjis-cp932でした。
そうすると、simplexml_load_stringすると「そんなエンコード知らねぇよ」と言われます。
なので、以下のようにすると良いです。

$file = "./tmp.xml"
if(file_exists($file)){
 $str = file_get_contents($file); // xmlを読み込み
 $buf = mb_convert_encoding($str,"UTF-8"); // UTF-8エンコード変更
 $buf2 = str_replace("x-sjis-cp932","UTF-8",$buf); // ファイル内のx-sjis-cp932をUTF-8にリプレイス
 $xml = simplexml_load_string($buf2); // 読み込み
}

file_get_contensでPOSTやGETを送信する方法

どうも、忘年会なのにコンディション最悪なたかとしです。

なんか眠いしだるい…疲れてんのかなー



本題。

  • GETの場合

$headers = array(
   'Content_Type: application/x-www-form-urlencoded',
   'User-Agent: file_get_contents',
);
$options = array(
   'http'=>array(
      'method'=>'GET',
      'header'=>implode("\r\n",$headers),
   )
);

$cont = file_get_contents($url,false,stream_context_create($options));

  • POSTの場合

$headers = array(
   'Content_Type: application/x-www-form-urlencoded',
   'User-Agent: file_get_contents',
);
$data=http_buid_query($str,"","&");
$options = array(
   'http'=>array(
      'method'=>'POST',
      'header'=>implode("\r\n",$headers),
      'content'=>$data,
   )
);

$cont = file_get_contents($url,false,stream_context_create($options));

こんな感じ。

ソース内のアットマーク

どうも、最近やらかして凹み気味のたかとしです。

そんなこと言っても始まらないので久々に記事を。




まぁググったら一発で出てくるんですけど、念のためということで本題へ。

$val = @functionName();

の意味は、functionName()でのエラーを表示しないように制御するんだとか。

でもこれ、functionName()ではエラーが出ないように処理を書くので、意味あるのかなーと思ったり。

ま、そんな感じ。