Pages

2009年12月26日土曜日

[Ubuntu9.10]Virtulminが入らなかった訳。

何をどう間違えたか分かりませんが、webminの1.43がインストールされていました。
一生懸命virtualminをインストールしようと頑張りましたが、駄目でした。

結局冷静にエラーメッセージを見たところ、なにやらwebminの1.44以上を入れろ、と。

再度webmin1.50をインストールして、webmin管理よりモジュールインストールで
virtualminを選択したらあっさりインストール出来ました。

バージョンに依存する、と言うオチでした。

[Ubuntu]デスクトップにwebminを入れた。

Webminのホームページから.debをダウンロードしておもむろにダブルクリック(だってデスクトップ環境ですから)。

あっさりと終了。

https://localhost:10000/
で見慣れた画面が出てきました。

ubuntuのログインユーザー名とパスワードで難なく内側へ行けました。
後は設定、せってい、セッテイ、と・・・。

Ubuntuがいいじゃないですか。

もうここまで来たら愛しのUbuntuをサーバーにしようかと思いました。
しかもDesktopのJapan-Remixで。

これなら砂場で遊んでる感じになるんじゃないかと。

Railsの導入も慣れたものだし。

壁にぶつかるまで進んでみます。

2009年11月2日月曜日

[FreeBSD7.2]Baculaを導入中 2nd

前回、baculaの為に色々行いました。

少しだけ調べてみると、DB周りは自動生成スクリプトのようなものが付属している
模様です。散々探し回った挙句、やっと見つけました。

FreeBSDの場合、

/usr/local/share/bacula

にありました。

後は

# ./grant_mysql_privileges
# ./create_mysql_database
# ./make_mysql_tables

で完璧です。

でも、MySQLに接続するのにrootで接続してるので、そこを直せればとりあえずは大丈夫だと思われます。

webminのbaculaモジュールもちゃんと認識してくれました。。

2009年10月31日土曜日

[FreeBSD7.2]Baculaを導入中

ホスティングをしているデータのバックアップ目的で、FreeBSDにBaculaを導入してみようと思います。
Googleで検索してもよく分からず、しょうがないので見切り発車。

# portinstall sysutils/bacula-server

オプションはDB周りを全て選択。インストールは無事に終了。
他のサーバーのデータをFreeBSDにバックアップしていくという寸法です。

その後、clientもインストールしてみました。

# portinstall sysutils/bacula-client

それから、DB周りの設定をする(はじめにする)見たいですが、マニュアルにある
DB生成スクリプトが見つかりません。

# /usr/ports/sysutils/bacula-server/work/bacula-1.36.3/src/cats/grant_mysql_privileges

どうしたものか。。。

ちなみにwebminがインストールされてるので、そちらの管理画面からもbaculaをコントロール出来たらいんなーなんて、甘く考えています。

で、この後どうするの??

2009年10月13日火曜日

[Perl]久しぶりに触りました!

本当に久しぶりですが、仕事でテンプレートを書き出すだけの簡単なプログラムを作りました。

#! /usr/bin/perl

use strict;
use CGI;
use Template;

#use Data::Dumper;

# Template Toolkit config
my $tt_config = {INCLUDE_PATH => "./"};
my $tt = Template->new($tt_config);

my $q = CGI->new;
my $type = { type => $q->param("type") } or undef;

print "Content-type:text/html\n\n";

$tt->process('index.tmpl', $type) or die $tt->error();

軽く考えてしまった部分は、Template Toolkitはリファレンス渡しをしなきゃいけない
って所でした。泥臭いコードでごめんなさい。

プログラミングをしなくなってから半年あまり。やってみるとやっぱり楽しいものですね!

2009年9月18日金曜日

[FreeBSD7.2]Dovecotをアップデートしたら動きません。

全く運用していなかったFreeBSD。最近ふと思いついて、作業をしようと思い触ってみました。
せっかくなので各種ソフトのアップデートしてみました。
アップデート自体はportupgradeで楽チン!

でもapacheも動かなくなるし、dovecotも動かない。

apacheはportinstallでインストールしなおして解決。
でもdovecotは・・・。

検索してみたらどうやら設定の書き方が変更になったそうで。

詳細はこちらで発見しました。

2009年7月25日土曜日

[VMware]ESXiをインストールしてみました。

最近、会社でDellの中古1Uサーバーを買いました。ホスティング用のサーバーにするそうで。
そこで、このまえ甲府の神様が言ってた「VM全盛のご時勢にまたサーバー買うんですか?」とのありがたいお言葉に感化され、仮想化、仮想化と盛り上がってきました。

節約第一がスローガンの会社の為にVMware ESXiを導入します。

VMwareのサイトでダウンロードをして、@IT様の記事「第2回:ESXiのインストール!」を参考に
もっさり設定します。

嗚呼、VMware!こりゃいい感じです。
お得意のスナップショットやコンソールなんかも揃っていて至れりつくせりです。

パフォーマンスでグラフが見れます。管理してるな、という気分にさせてくれる豪華仕様。

ゲストOSにはCentOSとFreeBSDを選択しましたが、VMware Toolsが順調にインストール出来たので躓くことすら許しません。

唯一躓いたのはゲストOSに固定IPを振るところで、IPを間違えていてネットにつながらない、と1日悩んだところぐらい。これは完全に人為的ミスでした。。。

これで運用して少し様子を見ようと思います。

2009年7月21日火曜日

[FreeBSD]PostfixでSMTP認証(webmin風)した。

ここ数週間のワンダーウォールだったPostfixのSMTP Authがやっとでけました。
なぜこんなところで躓いたのでしょうか。

前提としてPostfixをインストールするときに

make config

でDovecote-saslのオプションを設定すること。

さらにDovecotがインストールされていること。
そのほか、何かインストールした気もしますが覚えていません。

そしてPostfixのmain.cfを編集

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

を追加して、

Dovecotのdovecot.confを編集。
socket listenのclientの部分に

path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix

を追加して、PostfixとDovecotを再起動して確認したら、
ちゃーんと出来ました。

メールクライアントの設定で「送信メールサーバーに認証が必要」
みたいな部分にチェックを入れるのをお忘れなく。

でもこれで正しいのかは疑問です。

2009年7月17日金曜日

[FreeBSD7.2]Dovecotの設定に1週間。

Dovecotでメールの受信が出来ませんでした。
関係ないだろ?と思いつつPostfixの設定を見直したり、アカウントを切り直したりと
奔走しました。

で、最終的にたどり着いたのが結局のところ
Dovecotの設定でした。

mail_location = maildir:~/Maildir

とすべき所

mail_location = maildir:~/Mildir

となっていて、そりゃ出来ないだろと納得しました。
あとはPostfixのSMPT AUTHでも設定してみましょうかと思っています。

2009年7月7日火曜日

[FreeBSD7.2]Postfix結局できないです。

一通りvirtualminの設定も出来て、アカウントを作りメールの送受信のテストをしたところ、結局送信できませんでした。

今回は少しセキュリティにも気をつけようと思っているので、もう一度設定を見直す良い機会になりました。サーバーを作って管理するって本当に大変ですね。。。

2009年7月4日土曜日

[FreeBSD7.2]Virtualminをインストール

なんとかvirtualminまで辿り着きました。

postfixの設定でかなり引っかかりましたが
無事解決できました。

あと、dovecotの設定で

mail_location = maildir:~/Mildir

を追加しておきました。

これから少しの間テスト運用をして、その後
様子を見たいと思います。

2009年7月3日金曜日

[cc-k]とある車屋さんの日々。

虹色日和

「白石ひより」よりも僕は「虹色日和」が大好きです。

山梨県で自動車整備工場の専務様の日常がつづられています。

専務様は「日本オチョコの会」の会長をなさっていて、「おちょこ専務」と
言う名でその界隈ではちょっとした有名人です。

愛車はケンメリ。

この前乗せてもらいましたが、これがまた凄かったです。

お仕事でもプライベートでも本当に尊敬できる人ですが、お酒を飲むと
とたんにうっとおしくなる、憎めない人です。

[Nuonce]CentOSでyumのclean

会社のBluequartzの/varが4Gあるのに対して、使用率は83%と一年を通して
右肩上がりです。このまま行くと今年中に100%越えの大台に乗せてくること
でしょう。

んで、さすがに気になってきたので少し調べてみました。

$ du -h /var

と叩いてみると、/var/cache/yumと/var/named/chroot/procが非常に
ファイルサイズが大きいみたいでした。

今回はyumの対応を。

# yum clean all

を実行。

545M /var/cache/yum

144K /var/cache/yum

に減らすことができました。

2009年6月27日土曜日

[FreeBSD7.2]はじめて知ったmake config

今までportsでインストールしたものを削除した後、再度同じものをインストールした時に、初回インストールの時には出てきた筈のオプションの設定画面が出てこなくて、どうしていいのか分からず途方にくれていました。

しょうがないので調べたところ、

# make config

をやりなさい、と。

もう、一番はじめに覚えなきゃいけない事じゃないですか!

2009年6月24日水曜日

FreeBSD7.2でサーバーを構築してみる

FreeBSDサーバー構築マニュアル様
下川研究所web site様

のページを参考にしながら、セットアップしました。
上記のサイトに細かく注意点など書いてあり、とても参考になりました。

一つだけ躓いたのが、sshで接続する際に公開鍵方式(rsa)のみにする
部分です。

sshd_configの設定項目で

PasswordAuthentication no

にしても、全然パスワードを聞かれました。
色々設定してみましたが結局分からず、1日考えた後
再度googleへ。

んで、どうやら

ChallengeResponseAuthentication yes

の所が怪しい、と。更に試した結果上記設定を

ChallengeResponseAuthentication no

にして、

UserPAM no

にしてみたら、微妙に上手く動きました。
本当にこれで正しいのか疑問ですが、今回はとりあえず
先に進みます。

2009年4月29日水曜日

[Ubuntu]9.04でgit-guiが出来ない。

調子に乗ってOSをアップデートしたらgit-guiが起動しなくなってしまいました。
少し調べてみたら、簡単に解決!

$ git-gui

と言うコマンドは以下のコマンドに置き換えられていました。

$ git gui

これで、いつものGUI画面が起動しました。

2009年4月11日土曜日

[Rails]バージョン管理って。

やってて良かったバージョン管理。

2009年4月9日木曜日

[Rails]2.3.2でgettext

必要なものメモ
上の二つは別として、そのほかは

sudo gem install gettext_rails

で上手くインストールできました。

2009年3月21日土曜日

[Javascript]jQueryプラグインのjquery.validate.jsで

jquery.validate.js

jquery.blockUI.js


簡単な画像アップロードプログラムを2ヶ月かけてperlで書いたので、
もそっと良くしようと思い、jQueryの使用を思いつきました。

画像の変換・リサイズ処理はperlのImagerを使ってます。大きな画像をアップロードすると
時間がかかります。正直気になるレベルです。

で、画像をアップロードするときのフォームの値をjquery.validate.jsでチェックして
submitしたときにフォームの値が正しければ「送信」と「Now Loading...」の表示をさせようかと。

jquery.validate.jsでチェックして値が不正なら「Now Loading...」は表示しないように。

「Now Loading...」は同じくjQueryのjquery.blockUI.jsを使用してmodalな環境を作ります。

はじめはフォームのsubmitイベントにどちらのjsも関連付けしたので、サブミットしたとたんに
blockUIが有効になり、且つvalidateも有効になるのでmodalの背景で空しくvalidationが
警告を発しているだけでした。

validate.jsのヘルプを読んで
valid()メソッドの返り値Booleanの真偽で分岐させる事で
うまく回避できました。

2009年3月13日金曜日

[Perl]Wbmethod::GlobalVariable

会社のperlはWbmethodで書かれていました。
以下Wbmethodの詳細です。

  • 基本はグローバル変数。
  • だからuse strictも無し。
  • インデントすら無し。
  • ヒアドキュメント連発。
  • MVCが全て同一コードの中に集約。
  • Please Repeat YourSelf。
  • モジュール非依存。
以上、まとめでした。

[Perl]雑感。

今日会社で使用しているperlのコードをはじめてじっくり見てみました。

うーむ。。。かなり大振りな感じですw

神様が手直しした箇所がはっきり分かり、かつその部分には親切な説明が。

use CGI::Carp::DebugScreen;
use CGI;
#use Imager; # Perlの画像処理のライブラリは主に GD, ImagerMagick, Imagerがあります
#use Image::ObjectDetect; # detect_objects関数をインポートします
こりゃ大変だ、と。

さすが神様。もう本を執筆なさる時期なんじゃないか?

perlって、ほんとに両極端ですね♪

2009年3月11日水曜日

[Perl][Linux]神様に教わったことの備忘録。

強化grepみたいなもの

App::Ack


フォームのバリデーションに使える

HTML::Fillinform


<ul><li>の代わりに

<dl><dt><dd>で意味を持たせる


2つのlinuxでディレクトリの同期をする

rsync


Network Backup Solutionでバックアップ

Bacula

2009年3月6日金曜日

[Perl]セッション管理でCGI::Sessionを使う。

ログイン機能を実装するために、以前神様に聞いたセッション機能を使ってログイン状態を保持しようと考えました。

そこで候補に挙がったのが

cpan CGI::Session

サーバーにも入ってたし、今回はインストールの必要もありませんでした。

#! /usr/bin/perl

use strict;
use warnings;
use CGI;
use Data::Dumper;

use CGI::Session;

my $session = new CGI::Session("driver:File", undef, {Directory=>'/tmp'});

$session->param('f_name' => 'Sherzod');

print Dumper $session;
print Dumper "\n";
print Dumper $session->id();
print Dumper "\n";
print Dumper $session->param('f_name');

上の通りでデータの出し入れは出来るみたい。

セッションを使うと何かと便利になりそうです。

2009年2月18日水曜日

[Python]集合知プログラミング

神様にすすめられるままに、思わず衝動買いしてしまいました。読んで理解出来るかということは抜きにして、データの扱い方を勉強できそうです。

いまRubyの本を読んでいるので、それが終わったらこの本を読もうと思ってます。

そのあとは、Unixシェルの本、そのあとはTCPの本と当分は寝る前の読書に困ることはなさそうです。。

2009年2月14日土曜日

[Perl]リファレンスの壁。デリファレンス。

少し調べた結果、リファレンスとは場所を示すものなんだということ。
とりあえずデリファレンスするには

${$scalar} # 先頭の記号はそれぞれ参照先の型
$$scalar

@{$array} # 配列全体のデリファレンス
@$array

$array->[0] # 要素をひとつだけデリファレンス

%{$hash} # ハッシュ全体をデリファレンス
%$hash

という感じだと思いました。

これを組み合わせれば配列のハッシュやハッシュのハッシュなど
ネストされたものを扱えそう。

[Perl]リファレンスの壁。配列の配列。

ネストされた配列やハッシュの値を取り出す

foreach my $i (@array){
foreach my $m (@i){
print "$i";
}
}

とやってもエラーになってしまいます。
Rubyのときは意識しなくても似たような感じで取得できましたが、Perlではうまくいきません。

で、よくわかんないけどリファレンスとかデリファレンスって言うものが関係あるんじゃないかと今調べてます。

2009年2月11日水曜日

[Perl]useしても自作packageが使えない件(その2)

前回「useは@INCの変数を参照する」という事が分かり確認作業をしました。

実際に自作packageを使うには、どうするんだろ?と考えを巡らせていたところ
さらに神様の救いの手が。

use lib "/hoge/hoge/lib";

見たいな感じで行きなさい。と。非常にダイレクトで分かり易く。
さらには

use FindBin;

を使って、実行パスを取得しなさいと。
これを組み合わせれば、

use FindBin;
use lib "$FindBin::Bin/lib";

みたいに出来ました。

最後に、神様はちゃんとrequireとuseの違いやimportの事も説明してくれました。

[Perl]useしても自作packageが使えない件。

会社にいる神様にお伺いを立てたところ、useしたものはグローバル変数@INCを見ながら探しにいくそうで。

だからとりあえずDumperして@INCの中を見てみなさいよ、と。

#!/usr/bin/perl

use Data::Dumper;
warn Dumper @INC;

としてみたら、あらビックリ

$VAR1 = 'C:/strawberry/perl/lib';
$VAR2 = 'C:/strawberry/perl/site/lib';
$VAR3 = '.';

$VAR3でちゃーんとカレントディレクトリを見にいってるじゃあーりませんか(win環境で試しました)。

とりあえず、今回は確認作業終了。

2009年2月10日火曜日

[Perl]のImagerでリサイズ

アップロードするときに画像のリサイズをしたいと思い、Imagerをチョイスしました。

my $img_fh = $query->upload("img_$i");

$img->read(fh => $img_fh) or die $img->errstr;
$img = $img->scale (ypixels => 500, type => 'min');
$img->write(file => "./$file_path/img_$i.jpg", jpegquality => 80) or die $img -> errstr;

まだまだスマートには書けませんが、今のところ必要最低限を目指します。
6枚のjpgを一気にリサイズするように作ったので、処理に時間がかかります。

待ち時間が気になるので、後々loading movieでも使って使用者に待ってもらおうって言う寸法です。

[Perl]現在の疑問点。

Perlについての現在の素朴な疑問集。

my $hoge = CGI -> new();



my $hoge = new CGI;

の違い。どういう風に違ってどちらが正しいのか?
うーん、Rubyを忘れそう。。。

2009年2月9日月曜日

[Perl]でアップロードしてみます。

会社のサーバーが堅牢なサーバーなので、Perlで簡単な・かつ穴の多いフォトアルバムみたいなものを作ってみます。

Perlに関したら会社に神様がいらっしゃいますので、躓いた時にはすぐにお伺いを立てることが可能です。

まず、引っかかった点は
・文末の「;」は慣れるまでは鬼門。
・「->」は何となくメソッド?(関数?・プロパティ?)の呼び出し?
・ヒアドキュメントの作り方
・useの使い方。とりあえずstrictとwarningsは使いました。

後は何とか頑張りました。今日は画像の単純なアップロードまで。
アップロードまではRubyでCGIの勉強をしたときに一度作ってみたことがあるので、何となく流れは理解していました。そのため意外とスムーズに出来ました。

ただ、とにかくアップロードだけなのでサイズの制限も付いてないし、ファイルタイプでの制限など実装しなければならない部分はたくさんありますが、それはまた後で。

リサイズはRMagickみたいなものがあるのでしょうか?それとももっと簡単に出来るのでしょうか?

もう少し調べてみるか、神様に聞いてみたいと思ってますzzz

プログラミングって言語云々より、やっぱり楽しいです!

[BlueQuartz]よ、ご馳走様でした。

会社でのホスティングは何故か社長の意向でbluequartz一本やり。
お客様にメールアドレスを切ってもらったりするのに便利だそうで。。

結局手を尽くしましたが、今の自分のスキルじゃrubyのRMagickすらインストール出来ない
状況でありました。

自分の技術レベルに辟易したところで終了です。

簡単なアップローダーを作ろうと思いましたが、それすら出来ないというのは非常に残念です。

2009年2月5日木曜日

FreeBSD(jail環境)にApache22をインストール!

さくっとwebサーバーを立ち上げようと少し調べてみたところ、候補は

1.apache
2.lighttpd
3.nginx(netcraftで見て)
4.thttpd(wikipediaで読んだ)

と言うところでした。

今回はネットで検索しても苦労することが少ないであろうapacheを選択してみます。

インストールは

# cd /usr/ports/www/apache22/
# make install clean

で簡単にインストールできました。オプションはデフォルトのまま。
めちゃくちゃ時間がかかったけどスムーズに完了。

設定をするために

# vi /usr/local/etc/apache22/httpd.conf

でサクッと設定。その後起動。

# /usr/local/etc/rc.d/apache22 start

なぜかエラーで起動しませんでした。
いろいろ調べた結果、

/etc/hosts

に自分のドメインを追加して、再度httpd.confを編集。ssl関係のモジュールを適当に
コメントアウト。

今度は起動しました。

# less /var/log/httpd-error.log

を確認したらなんかエラーが出まくってましたが、今日はapacheが起動したって言うことで
ま、いいかな。と。

FreeBSD(jail環境)にRailをインストールしました。

この前、会社にいる神様がFreeBSDの上にjail環境を自分の為に用意してくださいました。。。

んで、久しぶりにRailsを触ってみようと思いgemをダウンロードしてセットアップ。
いろいろなサイトを参考にしながら

% gem install rails

と。あっさりインストール出来ました。でも、ここまではスムーズにできましたが
その後に大きな壁が。

% rails test

とすると、

/usr/local/lib/ruby/gems/1.8/gems/rails-2.2.2/bin/../lib/rails_generator/options.rb:32:in `default_options': undefined method `write_inheritable_attribute' for Rails::Generator::Base:Class (NoMethodError)

と言うエラーが出てしまし、railsのプロジェクトを作れませんでした。

いろいろ調べた結果、下記サイトにたどり着きました。
http://theschmitzer.blogspot.com/2008/12/rails-22-undefined-method.html
(リンクの貼り方が分かりません)

どうやらjailにruby-iconvがインストールされていないことが原因でactiverecordがエラーをはいていました。

% cd /usr/ports/converters/ruby-iconv/
% make install clean

して、無事完了。

今度は

% rails test

で出来ました。