goo blog サービス終了のお知らせ 

自宅サーバ備忘録

自宅サーバの設定を忘れないように書いておこう

パワポ 表を分割

2006-06-08 07:04:28 | Weblog
パワポの表分割機能,使いづらい.

表を結合しても分割するメニューがない・・・

と思っていたら「ツールバー」→「罫線」の
中にあるんですね.
ユーザ設定で「罫線」の右クリックメニューに
入れておきたい.


cygwin + openssh + proxy + port forwarding

2006-03-19 06:00:14 | Weblog
UTF8 Teratermでproxy&port forwardingをすると
どうもすぐに落ちてしまう.
いまいち安定しない.

puttyだと安定しているのだが,
teraterm用に作成した鍵がputtyでは
使えないため,どうしたものか.

cygwinのopensshを用いて
proxy & port forwardingをすると安定して使えるようになった.

あらかじめ,connect.c後,コンパイルして
/home/hoge/binの下に置いておく.

$gcc -o connect connect.c
$mv connect /home/hoge/bin

次にsshのconfigファイルを設定する

$vi ~/.ssh/config

ProxyCommand /home/hoge/bin/connect -H proxy_server_name:port_number %h %p
LocalForward local_port_number server_name:port_number

以下のように設定して,
proxyとport forwardingの設定ができた.

時刻のあわせ方

2006-03-01 14:37:57 | Weblog
すでにNTPサーバがあるとき,
自マシンの時刻をあわせるには

/etc/ntpd.confを編集

server X.Y.Z.W # local clock
/etc/rc.d/init.d/ntpd start

とりあえず現在の時刻をあわせるためには
(デーモンにしておくと正しくあうまで時間がかかる)

tpdate -u X.Y.Z.W

などとする.



SSL対応apacheのインストール

2006-03-01 10:07:50 | Weblog
openssl-0.9.7i.tar.gz
httpd-2.0.55.tar.gz

#tar zxvf openssl-0.9.7i.tar.gz
#cd openssl-0.9.7i
#./configure
#make
#make install

#tar zxvf httpd-2.0.55.tar.gz
#cd httpd-2.0.55
#cat install.sh
CC="gcc" CFLAGS="-O2" \
./configure --prefix=/usr/local/apache_2_0_55 \
--enable-module=so \
--enable-so \
--enable-module=ssl \
--enable-ssl \
--with-ssl=/usr/local/ssl
#sh install.sh

#ln -s apache_2_0_55 apache

起動の確認(HTTP)
#/usr/local/apache/bin/httpd -k start
#/usr/local/apache/bin/httpd -k stop

起動の確認(HTTPS)

事前に/usr/local/apache/conf/httpd.conf
/usr/local/apache/conf/ssl.conf
を設定しておく.

さらにssl.confないで秘密鍵と自己証明書の
パスを設定しておく.

秘密鍵と自己証明書はopensslを使って作成できる.

#/usr/local/apache/bin/httpd -k start -D SSL
#/usr/local/apache/bin/httpd -k stop
#ps aux|grep httpd
#netstat -pln|grep 443

注意すべき点

・家庭内でやる場合などは内部DNSなどをたてていないと
名前の解決に失敗してSSLアクセスできないことがある.

undefの使い方

2006-01-13 01:46:17 | Weblog
○ハッシュを初期化する.

undef %hash_name;

○デフォルトのスカラー変数もundefで初期化されている.

# 実はundefで初期化
my $scalar_variable;

○リストでいらないものを省く

$list = (1, 2, 3, 4, 5);
(undef, undef, $a, $b, $c) = @list;

みたいな感じ.

○関数の戻り値をundefにする

sub func{
  if(条件A){
    return $result1
  }
  # エラーの時など
  else{
    return undef;
  }
}

$result = func();

if($rv == undef){
  print "エラーです\n";
}
else{
  print "結果は$resultです\n";
}

みたいな感じ.

配列を返す関数でもundefを返す場合は
配列の一番目の要素にundefが入るので
それを見てエラーハンドリングできる