2013年06月28日

GMOクラウドVPSのお話

 商品紹介っぽいタイトルなのにカテゴリは「開発中」です。というのも、このGMOクラウドのVPSに申し込もうか検討しているからでございます。
 あ、一応バナー貼り付けときますね。記事の続きはバナー左下の(追記あり)からどうぞ。
(追記あり)
posted by 鯖缶 at 01:14 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2013年03月02日

Debianでウェブサイトのスクリーンショットを撮る方法

備忘録として残しておきます。
Debian/GNU Linux(on お名前.com VPS)でウェブサイトのスクリーンショットを撮る方法です。

コマンドラインから操作できます。

 最後にバイナリ圧縮を展開する必要がありますが、バーチャルコンソールが用意されていてCDイメージからインストールできる環境にある人にはとても簡単です。
 グラフィカルデスクトップ環境をインストールできない、そもそもOSインストール時にオプションを指定できない時には、aptitude install wkhtmltopdfでwkhtmltoimage以外のものは入ります。ただ、フォントがあまり美しくないんでモナーフォントなどをインストールする必要がありますが、インストールしたとしてどうすればフォントを切り替えられるのかがまだわかりません。

(追記あり)
posted by 鯖缶 at 18:51 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2013年01月03日

無料メールサービスはじめました

あけましておめでとうございます。

 3文字.jpのドメインを取得したものの使用していなかったので、Microsoft Liveを利用した無料メールサービスを開始しました。
 機能としてはWindows Live Hotmailと同等で、@wav.jpのアドレスを作成できます。

 作成については、cgi-bin.jpの無料メールサービスからどうぞ。
posted by 鯖缶 at 23:11 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年11月18日

お名前.com VPS(KVM)に申し込んだ

 お名前.com VPS(KVM)の2GBプランに申し込みました。11月19日(月)まで初期費用無料で申し込めるので、ほぼ駆け込みです。
(追記あり)
posted by 鯖缶 at 01:54 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年11月07日

お名前.com VPS

お名前.com VPS(KVM)にデータベース用サーバを置こうか検討中です。

 と、いいますのもメモリ2GBプランが現在初期費用無料で受け付けているので。ディスクも200GBあるしCPUのコア数も3なんで、一番コスパがいいかなと。流石に8GBプランになると、自分でSSDでマシンを組んでメモリ16GB積んだ方が電気代を考えても安く済みそうですが。
タグ:VPS
posted by 鯖缶 at 13:17 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年08月12日

お盆です

 お盆ですが、毎日暑い日が続いています。
 はてブのキャンペーンでお名前.comのVPS(2GB)のトライアルに申し込んでいますが、この休み中にいじり倒す予定がついついだらけてしまします。トライアル期間は9月16日までなのですが、使用感がよければSaasesに置いてあるcgi-bin.jp本体の移行も考えているだけに、色々試したいことはあります・・・が、webmin導入のためのソフトのインストール時点で躓いていたり。
posted by 鯖缶 at 19:03 | Comment(0) | TrackBack(1) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年06月12日

Fcntlの呼び出し

 Perl5では安全なsysopen関数が使えるようになりました。また、flock関数でも従来の数値指定に代えてLOCK_SHやLOCK_EXなどわかりやすい操作モード定数を使用できるようになりました。sysopenも同じく。
 で、この定数を使用するためには use Fcntl; でFcntlを読み込んでおく必要があるのですが、どのバージョンからなのか「use Fcntl;」だけでは「Bareword "LOCK_SH" not allowed while "strict subs" in use at hoge.cgi line 100.」と警告されることに。かといって、''や""で括ろうものなら今度は「Bareword "LOCK_SH" not allowed while "strict subs" in use at hoge.cgi line 100.」との警告が。

 で、結局この解決法というのが、Fcntlを呼び出すとき。「use Fcntl qw(:DEFAULT);」としたら解決しました。まあ、flock関数も使うんで「use Fcntl qw(:DEFAULT :flock);」でもいいかもしれません。

 Perlのバージョンは5.10.1ですが、この挙動はいつからでしょうか。結構書籍やウェブにも「use Fcntl;」で済ませているところがあるので、今後気をつけないと。
posted by 鯖缶 at 00:58 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年05月17日

複数ドメインにおける広告の表示方法について

 ちょっと技術的な話題ではありませんが。
 無料サービスを維持していくのに必要なモノ。
  1. 広告などの収入源

  2. メンテナンスできる技術力

  3. モチベーション

・・・なんかどれも今の私に欠けてる気がするorz

 で、広告などについては、例えばGoogleAdsenceは1つのサイトで審査を通れば、他の管理するサイトにも貼れます。一方、Amazonは追加するURLを連絡しなければいけませんし、ValueCommerceやA8.netもサイト登録をしなければなりません。
 では複数ドメインをまとめて1つのコンテンツとして管理している場合(URL転送とか、サブドメインにSSL振っているとか)はどうしたらいいのか。ここからは、規約を読み込んでいないので自己責任でお願いしたいのですが・・・
IFRAMEタグ使えば広告の呼び出し元はあくまでも登録したサイトになるよね。
一番単純なのは、登録したドメインの中で広告タグを生成、他のドメインからIFRAMEで呼び出す。
GoogleAdsenceとかと組み合わせるなら、他のドメインからはJavaScriptとして登録ドメインのプログラムを指定して、登録ドメインのプログラムで広告を選択。GoogleAdsenceならそのままdocument.writeを返してやって、他ならIFRAMEタグを含んだソースを返してやる。まあ、JavaScriptでなくてPHPのincludeとかでもいいんですけど。(ここらへん、Perlはちょっと弱い)

 まあ、GoogleAdsenceの審査が通っているなら、他ドメインはそこ一本でいくのがいちばんよろしいのかな。
posted by 鯖缶 at 23:35 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年01月13日

ファイル名・パスの取り扱い

 今書いているスクリプトのファイルロック機構を作る上で、ファイル名・パスを一意で取得する必要があったためサブルーチンを作り始めたら、ちょっと横道に逸れたけど役に立ったのでメモ。
 個人的にスクリプト内部ではファイルをopenしたりする際には絶対パスを指定するのがよいと思います。ここでいう絶対パスというのは、"/"で始まり、"./"や"../"を含まないパスのこと。正規化というらしい。

 で、ユーザが入力した値(ユーザIDとかファイルナンバーとか)に基づいてファイルを扱う際に気をつけなければいけないのが、ディレクトリ・トラバーサル(cf.Wikipedia)です。ユーザから入力された値をチェックするのはまあ当然ですが、ファイルを取り扱う直前にもチェックを入れておきたいものです。

【続きあり】
posted by 鯖缶 at 01:30 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年01月11日

PATH_INFOと%2Fの関係

 CGIを呼び出す際、昔はパラメータをhttp://example.com/hoge.cgi?user=tom&key=valueと、?と&で繋げるのが常識だったわけですが、SEO的にサーチエンジンにも好まれないということでhttp://example.com/hoge/tom/valueといったあたかもディレクトリ構造であるかの様な表記が出てきました。(たぶんAmazonが先駆者だと思う)

 さて、http://example.com/hoge/tom/valueだとちょっとスクリプトがどこかわかりづらいので、http://example.com/hoge.cgi/tom/valueを例にとりましょう。"hoge.cgi"以降の情報を取得するには、$ENV{'PATH_INFO'}を使います。
#Script1
print $ENV{'PATH_INFO'};
【結果】/tom/value

これをパラメータとして取得するには、頭の/を落として、/でsplitしてやればいいわけです。
#Script2
my $param = $ENV{'PATH_INFO'};
$param =~ s/^\///;
my @data = split('/',$param);
print join('&',@data);
【結果】tom&value


【続きがあります】
タグ:Perl Apache
posted by 鯖缶 at 20:48 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

リファレンスされた配列の最後の添え字の取得

 ちょっとググり方が悪かったのか、すでに常識なのかはわからないけど、試行錯誤して解決したのでメモ。

 Perlにおいて配列の最後の添え字(番号)を取得するには、$#配列名(例:$#array)であることは基本中の基本です。
 では、リファレンスに入っている配列の最終番号を取得するにはどうしたらいいのか。

解法1:scalar関数を使う
my $lastnum = scalar(@$ref_array) -1;

解法2:$#でがんばる
my $lastnum = $#{$ref_array};


解法2の方がわかりやすいというかシンプルというか好み。
(区切りに{}が使えることを知らんかったよ・・・)

ちなみにこんな複雑なことも可能
my $lastnum = $#{$hash{'list'}};
# %hashの'list'の値に配列へのリファレンスが入っている場合
posted by 鯖缶 at 19:03 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2012年01月10日

/usr/bin/perl^M: bad interprete

今日新しいプログラムの開発に取りかかったところ、シェル上で
-bash: ./prova.cgi: /usr/bin/perl^M: bad interpreter: そのようなファイルやディレクトリはありません

というエラーが。
Apacheのエラーログにも
(2)No such file or directory: exec of '/hoge/prova.cgi' failed

とエラーが吐かれています。

/usr/bin/perlはちゃんとあるし、パーミッションも実行可能になっている・・・しかも他のスクリプトはちゃんと動いているのになぜか、と思っていましたが、

改行コードがCR+LFになっていました。改行コードをLFで保存し直してちゃんと動きました。

久々にイチから書き始めたとはいえ、基本的なところでした。
bad interpreterが出たら、まずは改行コードを疑ってみよう。(特にDOS(Windows)で書いてLinuxで実行している場合)


# ちなみにprova.cgiというのは、今新しく作っているプログラムです。
# ティロ・フィナーレと同じくイタリア語です。
# 英語でいうとtestですね。まあ、そういうコンセプトのプログラム
posted by 鯖缶 at 15:08 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2011年12月01日

確保ドメイン

 実は、昔からドメインネームを登録するのが趣味になっているところがあります。
 で、取ったはいいけど活用はせず、Google Adsenseのドメイン向けAdSenseに設定したまま放置状態だったりするのですが、VPSも安っすいことですし、何かに活用できないかと悶々としとります。

 今、確保しているドメインを挙げると、
 1s.tc / 2929831831.com / fwd.jp / hinagiku.in
 if.vc / magica.in / magicus.in / wav.jp
 whats.jp / xku.in
ってところです。
 使い道としては、URL転送や短縮URLが思いつきますが、マネタイズの方法が思いつきません。URL転送の度に広告見せられるのは嫌だろうし、ポップアップはそもそもブラウザのデフォでブロックされるだろうし。
 アフィ利用者向けにパラメータ隠すとかの方法もあるけど、無料じゃこっちがやってけない。少額決済も面倒だし・・・Paypalで地道に確認するしかないのかな。

posted by 鯖缶 at 23:11 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

FMSの構想

 さて、電気通信事業の書類は無事に総務省関東総合通信局に着いたみたいで、あとは担当官殿がさらりと処理してくれることを祈りつつ、FMS(FormMail Secured)で実現したいことと、環境を挙げておきます。

(詳細を読む)
posted by 鯖缶 at 20:45 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

届出電気通信事業者の書類を出しました

 昨日、届出電気通信事業者(旧・一般第二種電気通信事業者)の関係書類を提出し、今日付で関東総合通信局に届いていることが確認できました。

 1年近く前に新サービス(FMS)構想をぶち上げておきながら(異動だとかうつだとかで)遅々として進んでおりませんでしたが、一歩前進といったところです。(更に読む)
posted by 鯖缶 at 18:20 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2010年12月29日

新しいフォームメールのサービス名とか

新しいフォームメールのサービス名とサーバ名が決まりました。

サービス名:FormMail Secured
サーバ名: fms.cgi-bin.jp

今はまだSSLでアクセスできずにApacheのデフォ画面ですが、これからSSL証明書の申請です。(でも、明日かな・・・)

明日は新しいルータの設定をがんばるぞ
(一応オフラインで設定して素早く入れ替える予定ですが、不測の事態が起きるとcgi-bin.jpにアクセスできなくなるかも)

(追記あり)
posted by 鯖缶 at 00:30 | Comment(1) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2010年12月26日

新フォームメールの内容

新フォームメールの内容です。
まだ#!/usr/bin/perl も書いてませんが、とりあえず風呂敷ひろげておきます。


  1. ウェブのエンコードはUTF8かISO-2022-JPを選べるように

  2. メールもUTF8かISO-2022-JPでウェブにあわせる

  3. スクリプトやデータの保存はUTF8で

  4. Email::Validあたりでメールアドレスのチェックも

  5. IDごとにメールアドレスを発行して、そこにエラーとか戻ってくるようにしたいけど・・・環境依存が強くなるなぁ

  6. 入力者の情報一覧のDL&ウェブ上で修正・削除



posted by 鯖缶 at 10:35 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2009年11月06日

0と1の反転

今朝記事を読んでいておお!と思ったコード。

page = 1 - page
http://itpro.nikkeibp.co.jp/article/Interview/20091104/340019/?ST=develop&P=2

1か0が入る変数pageで、1ならば0に、0ならば1にというコードです。
(元の出典は「「Bio_100%」(注:ドワンゴの母体となったゲーム・クリエイタ集団)が公開していた「gr.lib」というライブラリ」)

Perlなら
 if($page){
  $page = 0;
  }else{
  $page = 1;
  }
とでも書きそうですが、“$page = 1- $page;”の1行で済んでしまいますね。(0か1しか取らないという前提ですが)

うん、この発想はなかった。きっとif文使っていたと思います。
posted by 鯖缶 at 10:57 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2009年08月19日

Debian5(lenny)にXenを入れて複数NICを有効にする

 お盆休みに新サーバをいじっていました。ちょっと何日かハマッタので、今後のためにあと、検索でたどり着いてしまったひとのために記録しておきます。
 目標として、現在のDebian GNU/Linuxの最新の安定版にxenをaptで適用し、ネットワークカード2枚を認識させ、それぞれのIPに対してsshなどをできるようにするところまで。ちょっと長文になるかもしれません。

(続き)
posted by 鯖缶 at 02:22 | Comment(0) | TrackBack(1) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする

2009年05月13日

新サーバ詳細

現在のサーバと入れ替えるサーバの紹介です。

NEC製 Express5800/110Ge
通販ページ
wiki

これをこういじりました。
CPU:Celeron 430 → Core2 Quad Q6600
メモリ:512MB(ECC)*1 → 2GB(nonECC)*4 = 8GB
光学ドライブ:DVD-RAM(PATA) → なし
HDD:なし → 260GB*2(RAID1,システム)/1TB*2(RAID0RAID1,データ)

……メモリとHDDちょっと調子乗りすぎました。
きっとこんなに使い切りません。先に回線が悲鳴あげます。

OSはDebian GNU/Linux 5(lenny)の64bit版を入れました。
posted by 鯖缶 at 01:01 | Comment(0) | TrackBack(0) | ただいま開発中 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。