Monthly Archives: 9月 2009

Perl モジュール Image::Magick VineLinux 5.0

新しいプログラムを考える上でどうしても必要になったのでインストール方法を探して
いましたが見つからなくて困っていました^^;

おそらくインストールできたので一応紹介しておきます。
※この方法はVineLinux(5.0)用です。
まず、普通に
# cpan
cpan[1]> install Image::Magick
とするとエラーでインストールできません。

下記のコマンドを実行します。
# apt-cache search ImageMagick | grep perl

おそらくImageMagick-perlが必要と言われるので
# apt-get install ImageMagick-perl
でインストールします。

再度下記を実行すると旨くインストールできます。
# cpan
cpan[1]> install Image::Magick

インストールできたか確認方法
# perl -MImage::Magick -e ”
と実行し何も出なかったらインストールに成功しています。

[おまけ]
もしもCan’t locate …………………..と出たらインストールされていません。

RSA暗号化について

暗号化の方法がとても気になったので調べてみました。
※特に可逆暗号化と公開鍵暗号についてです。

RSAの式(暗号化)
C = M^e (mod n)

調べてみたら呆気にとられるくらい簡単で単純です。

^(キャロット)は累乗という意味です。
modは除算した時に発生する余りを意味します。
Cが暗号化された文章を意味します。
Mは平文を意味します。
要するにCは平文Mをe乗してnで割った余りであると言うことになります。

今日は徹夜明けなので頭がボーっとしてまともに物事を考えられないので近いうちに
暗号化と複合化するプログラムを書いて見ます。

参考元:はやわかり RSA
参考元:ASCIIコードと文字の相互変換

VirtualHostでSSL接続

非常に困りました^^;
彼の野原 – FrontPage様よりワイルドカードを使った証明書を作成しました。

ですが、/etc/apache2/conf.d/ssl.confになんて記述してよいのか分からない(汗
エラーが起きてしまいます。

結局NameVirtualHost *:443を記述していないと言うことに気づくのに1時間ほどかかってしまいました^^;

追記した内容

NameVirtualHost *:443

<virtualHost *:443>
SSLEngine on
ServerName mail.orsx.net
DocumentRoot /var/www/html/webmail/
## certificate file path below
SSLCertificateFile /usr/share/ssl/certs/server.pem
SSLCertificateKeyFile /usr/share/ssl/certs/server.key
<directory /var/www/html/webmail/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</directory>
CustomLog /var/log/apache2/ssl_request_log 
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</virtualHost>

ROS MailForm

#!/usr/bin/perl
####################################################
#ソフト名:ROS MailForm
#作者:ORBIT
#著作権:
#ORBIT SPACEに帰属します。
#改造/変更/再配布に関して一切の制限はいたしません。
#自由にお使いください。
####################################################

#-------------------各種設定------------------------
#送信先メールアドレス
$mailto = 'orbit@hogehoge.co.jp';
#サブジェクト(英語)
$subject = "OP MailFrom";
#sendmailまでのパス
$sendmail = '/usr/lib/sendmail';
#---------------------------------------------------

#モジュール使用宣言
use Jcode;


$url = $ENV{"HTTP_REFERER"};
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
my @buf = split(/&/, $buf);
foreach (@buf) {
	my ($key, $val) = split(/=/);
	$key =~ tr/+/ /;
	$key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;
	$val =~ tr/+/ /;
	$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;
        Jcode::convert($key, "jis");
        Jcode::convert($val, "jis");
	push(@key,$key);
	push(@val,$val);
        $in{$key} = $val;
}

foreach my $i (0 .. $#key) {
     if ($key[$i] eq "mode") { next; }
     if ($val[$i] eq "") {&end;}
     $mailbody .= "$key[$i]:"."n$val[$i]n";
}

Jcode::convert($mailbody,"jis");
open(MAIL,"| $sendmail -t -i");
print MAIL "To: $mailton";
print MAIL "From: $mailton";
print MAIL "Subject: $subjectn";
print MAIL "MIME-Version: 1.0n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JPn";
print MAIL "Content-Transfer-Encoding: 7bitnn";
print MAIL "$mailbodyn";
close(MAIL);
&end;

sub end{
print "Content-type: text/htmln";
print "Location: $urlnn";
exit;
}

ROS カウンター

#!/usr/bin/perl
#######################################################
#スクリプト名:ROS カウンター
#作者:ORBIT
#著作権:ORBIT SPACEに帰属します。
#著作権表示は一切行いません。自由にお使いください。
#######################################################

#各種設定
#------------------------------------------------------
#イメージの保存ディレクトリ
$imgs = './img/';
#ログの保存場所
$ip_log = 'ip.log';
$counts_log = 'counts.log';
#------------------------------------------------------

#IPを取得
$ip = $ENV{'REMOTE_ADDR'};

#GETのデータから位を取得
$buf = $ENV{'QUERY_STRING'};
--$buf;

#過去ログの取得
open (OUT,"$counts_log");
$counts_data = <out>;
close(OUT);

open (IP_OUT,"$ip_log");
@ip_data = <ip_OUT>;
close(IP_OUT);
chomp($ip_data[0]);
if($ip eq $ip_data[0]){&img;}
$ip_data[0] = "$ip_data[0]n";

#インクリメントして保存
open (IN,">$counts_log");
if($counts_data eq ""){$counts_data = "00000"};
++$counts_data;
print IN $counts_data;
close(IN);

#IPを記録
open (IP_IN,">$ip_log");
unshift @ip_data, "$ipn";
print IP_IN @ip_data;
close(IP_IN);

&img;

# 画像表示
sub img{
#過去ログを取得し逆順に並べ替える
@list = split(//,$counts_data);
@img_list = reverse (@list);
$nu = $img_list[$buf];

open(IG,"$imgs$nu.gif");
print "Content-type: image/gifnn";
binmode(IG);
binmode(STDOUT);
print <ig>;
close(IG);
exit;
}

VineLinux 5 アップグレード

アップグレード後の問題点がいくつかありました。
まず、テキストエディタがエラーでバージョンアップできない。
UPS制御ソフトが起動しない。
SquirrelMail にログインできない。
Puttyが文字化けする。
ネットワークが不安定。
phpAdminで以下の様な警告が出る。
“お使いの PHP MySQL ライブラリのバージョン 5.1.36 が MySQL サーバのバージョン 5.0.27 と異なります。これは予期しない不具合を起こす可能性があります。”

解決しなければならないけどちょっと困った^^;

Apache2が自動起動しないので起動させるようにする。
# chkconfig apache2 on

Puttyはウインドウ→変換からUTF-8を選択して問題を解決。

パッケージマネージャーからMySQLをアップデートするとphpAdminの警告は表示されなくなった。

パッケージマネージャーから全てアップデートするとUPSの制御ソフトが起動した。

エディタ未だ解決できず。

ネットワークが繋がるのにクライアント側から繋がらなくなる謎の現象の解決
サーバとして利用するにVineLinux 5にはNetworkManagerが新しく入ってるのかな^^;
こいつがFedoraの時みたいに邪魔をするので停止する。
FedoraのようにGUIで停止できないのでコマンドで操作する。
# /etc/rc.d/init.d/NetworkManager stop
ネットワーク設定から編集してNetworkManagerで管理しないようにする。
代わりにinit/networkを利用するため起動する。
# /etc/init.d/network start
これで謎な問題を解決。

# vi /etc/sysconfig/network-scripts/ifcfng-eth1
=============================
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:30:48:81:1F:73
ONBOOT=yes
IPADDR=192.168.24.5
NETMASK=255.255.255.0
GATEWAY=192.168.24.1
DNS1=192.168.24.1
DOMAIN=’orsx.net’
TYPE=Ethernet
NM_CONTROLLED=yes
IPV6INIT=no
USERCTL=no
=============================

解説しているサイトを見つけました。
従来のネットワーク設定

SquirrelMail にログインできないのは普通のメールソフトを使ってもログインできない事が判明。

POPサーバをdovecotへ変更したところ無事接続できるようになりました。
WebMailはSquirrelMail 1.5.2を使っていたものをバージョンダウンさせたところログインできるようになりました。
※ただし、愛称が悪いためか日本語表記できません。

速報 Vine Linux 5 公開!!

Vine Linux 5が公開されましたね
まぁ、そろそろ来るだろうと考えていましたからね~

私にとっては一大事です。
何故かと言いますとこのサーバのOSがVineLinuxで動いているからです。

ともかくダウンロードは下記のサイトから
Vine Linuxの世界へようこそ

いつもお世話になっていますからね^^
研究・作成している方々に感謝します。

さて、いつアップグレードしましょうか・・・・・・・・

SSLとバーチャルホストのトラブル

SSLの導入に再チャレンジして分かった事は最初から出来ていたとです(苦笑

問題はSSLとバーチャルホストとの関係
SSLはホスト名チェックで複数のサブドメインに対応しないので証明書で
複数のサブドメインを認識しなければならない。

これは、予想外な展開。確かにいわれてみれば当たり前ですが。。。。。
どうするかな^^;
正直今は時間無いんですよね(汗

そこで一つメモです。
SubjectAltName
これが大きなヒントになるのではないのかと考えています。

Mathematics and scholar

初めと言えば、初めて。パソコン関係ではないのかと言われれば
初めてではなくなりますが・・・・・・

あまりに衝撃的で目を疑ったので^^;
あの有名な、アルバート・アインシュタインやトーマス・エジソン、スティーブ・ジョブズは
数学が苦手だった!?

一瞬、絶対嘘だろ!と思いクロスチェックしたところ、どうも嘘ではないようですね。
計算だけがパソコンや物理ではないと言うことが分かりました。

アイディアや発想が大切って事ですかね。
でも努力と数学の勉強は重要です。

ミケランジェロの名言
「ささいなことが完璧を生む。しかし、完璧はささいなことではない。」

才能があっても努力しなければ意味がないのです。
日々の努力があるから突然アイデアが浮かぶ分けです。