2010年10月7日木曜日

Windows7 共有サーバーにつながらない

どうも繋がったり繋がらなかったりする><;

グーグル先生に聞いてみたところ「ネットワーク セキュリティ: LAN Manager 認証レベル」を変えろとのこと。やってみたがやはり繋がらないときがある…

ping を撃ってみると通るのでネットワークの問題ではなさそう。となるとWINS か?

で、「C:\Windows\System32\drivers\etc\lmhosts.sam」を編集して共有サーバーを設定する。

おお!、エクスプローラーですんなり開けた\(^_^)/

# どうも WINS サーバーをうまく見つけられないようだ><;

2010年9月21日火曜日

CentOS, Redmain

プロジェクト管理に Trac を使おうかと思ってインストールしたのですがスタンドアローンでは動くのですが Apache 経由だと trac ライブラリーがないとか何とかのエラーが出てしまいまして、めんどくさくなったので Redmine を入れてみました。

1. MySQL のインストール
# yum -y install mysql-server
# yum -y install mysql-devel

2. MySQL 文字セットの変更
# vi /etc/my.cnf
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

3. DBとユーザーの作成
# mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO redmine@localhost IDENTIFIED BY 'xxxxxxxx' WITH GRANT OPTION;
mysql> CREATE DATABESE redmine;

4. 下準備
# yum install kernel-devel zlib-devel openssl-devel httpd-devel gcc-c++ apr-devel

5. Rubyのインストール
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p302.tar.gz
# tar xzvf ruby-1.8.7-p302.tar.gz
# cd ruby-1.8.7-p302
# ./configure --prefix=/usr
# make && make install
# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

6. RubyGemsのインストール
# wget wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
# tar xzvf rubygems-1.3.7.tgz
# cd rubygems-1.3.7
# ruby setup.rb
# gem -v
1.3.7

7. Ruby on Railsのインストール
# gem update --system
# gem install rails -v=2.3.5

※バージョンを指定しないとだめなようです。

8. Redmineのインストール
# wget http://rubyforge.org/frs/download.php/72201/redmine-1.0.1.tar.gz
# tar xzvf redmine-1.0.1.tar.gz
# mv redmine-1.0.1 /var/www/redmine
# cd /var/www/redmine/config
# cp -p database.yml.example database.yml
# vi database.yml
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: *************
encoding: utf8
socket: /var/lib/mysql/mysql.sock

# vi environment.rb
20 Rails::Initializer.run do |config|
21 # Settings in config/environments/* take precedence those specified here
22 config.action_controller.session = { :key => "_myapp_session", :secret => "123456789012345678901234567890" }

# gem install mysql

9. テーブルの作成と初期データーの投入
# rake db:migrate RAILS_ENV="production"

# rake load_default_data RAILS_ENV="production"
Select language: bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja

10. 動作確認
# cd /var/www/redmine
# script/server -e production

http://192.168.71.40:3000/ をブラウザーで開く

#うまくいったらCtrl+Cでシャットダウン

11. Passengerのインストール
# gem install passenger
# passenger-install-apache2-module
Welcome to the Phusion Passenger Apache 2 module installer, v2.2.15.
> snip
solve any problems.

Press Enter to continue, or Ctrl-C to abort.
☆ Enter を押す

> snip
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.
☆ Enter を押す

12. Apacheの設定
# cd /var/www/redmine
# chown -R apache:apache files log tmp config/environment.rb
# ln -s /var/www/redmine/public/ /var/www/html/redmine

# vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/bin/ruby
RailsBaseURI /redmine

# apachectl restart

13. SMTP設定
# cd /var/www/redmine/config
# cp -p email.yml.example email.yml

production:
delivery_method: :smtp
smtp_settings:
address: 192.168.79.11
port: 25
domain: creansmaerd.co.jp
# authentication: :login
# user_name: "redmine@example.net"
# password: "redmine"

14. デフォルトの管理者アカウント
login: admin
password: admin

15。 dateフォーマット修正
デフォルトのdateフォーマットではエラーを起こすので修正します。
1. 管理者でログイン
2. [Administration]をクリックして管理画面を開く
3. Settings
4. Display
5. Date format, Time format を変更

2010年1月13日水曜日

WinSCP で UTF-8 のファイル名が文字化け

WinSCP で UTF-8 のファイル名が文字化けしてしまった。

普段 Linux で日本語のファイル名を扱うようなことはないのですが、簡単にニックネームとファイル名を一致させたくて手抜きをしました^^;

WinSCP で保存ディレクトリーを見ると見事に文字化けしている…

早速ググって見ると設定の SFTP になにやらあるらしいことが書いてあるのですが、私の使っているバージョン (4.1.9) には無い><;

速攻でバージョンアップ(4.2.5)して見るが変わらず…

で、設定を見てみると「環境」のところに「ファイル名をUTF-8でエンコード」というのが「自動」になっている。で、これを「オン」にしてみたところちゃんと表示できた\(^o^)/

2010年1月8日金曜日

PHP: session.use_trans_sid = 1 のバグ

携帯用サイトで session.use_trans_sid = 1 にしてセッションIDを URL に付けるようにしたのですがたまにリンクがおかしくなる現象に遭遇しました。

具体的には、<a href="abc.php?SID=xxxxxx"> となるべきところが <a href="abc.php"?SID=xxxxxx> とセッションIDが終端の " の後ろに付いてしまうというものです。

そこで下記のプログラムを走らせてみたところ見事に再現したので、まぁ PHP のバグだろうなぁと思っております。

■ソース
<?php
ini_set( 'session.use_cookies', '0' );
ini_set( 'session.use_trans_sid', '1' );
ini_set( 'session.use_only_cookies', '0');
session_start( );
for ( $i = 0; $i < 1000; ++ $i )
{
?>
<a href="test.php?test=<?php echo $i; ?>"><?php echo $i; ?></a><br />
<?php
}
?>

■結果
<a href="test.php?test=0&SSID=edttcli7iqip5vnsqu8a0mgvl4">0</a><br />
<a href="test.php?test=1&SSID=edttcli7iqip5vnsqu8a0mgvl4">1</a><br />
中略
<a href="test.php?test=99&SSID=edttcli7iqip5vnsqu8a0mgvl4">99</a><br />
<a href="test.php?test=100"?SSID=edttcli7iqip5vnsqu8a0mgvl4>100</a><br />

どうも、タグの中で <?php ?> を使った場合に発生する現象のように思えたので下記のように書き換えてやったところ、問題が発生しなくなりました。

■ソース
<?php
ini_set( 'session.use_cookies', '0' );
ini_set( 'session.use_trans_sid', '1' );
ini_set( 'session.use_only_cookies', '0');
session_start( );
for ( $i = 0; $i < 1000; ++ $i )
{
$s = '<a href="test.php?test="' . $i . '">';
?>
<?php echo $s; ?>"><?php echo $i; ?></a><br />
<?php
}
?>

2009年6月25日木曜日

Visual Studio 2008 が固まる

保守派の私は Visual Studio 2003 を使っていたのですが、さすがに古くてまずかなぁと思い Visual Studio 2008 を入れてみました。

とりあえず新規作成で HTML ファイルを作成、「デザイン」ボタンを押してソース表示からデザイン表示に切り換えようとしたら固まった><;

ウムム…即ググって見たけど同じ症状で困って質問している人はいたけどレスはついていない><;

予感としては IE7 を入れていないせいなのかもしれない…

2009年6月22日月曜日

Submissionポート(587)対応

お客様から、ご利用頂いているサーバーの SMTP に接続できなくなったと問い合わせが入りました。

telnet 出すら繋がらないとのことなので、早速試してみると特に問題なく繋がります。「う~ん、こりゃプロバイダーが Port 25 をブロックしたな!」と調べてみると案の定…

で、どうしたものかとひと思案… SSL/TSL を使えばいいんだけど XMail をバージョンアップすると docomo の RFC 違反に引っかかる><;かといって、拾ってきたパッチ宛バージョンを使うのもなんか不安…

ほんじゃ、ファイアウォールの NAT を使って Port 587 を Port 25 に変換するかとネットスクリーンの設定をいじりはじめたのですが、ちょっと気になってググって見ると、XMail 複数ポートに対応してるじゃないか!

1. XMailCFG を開く
2. 環境設定をクリック
3. XMailCFG環境設定をクリック
4. SMTP ポート(変更注意!!)に「0.0.0.0:25 0.0.0.0:587」と入れる
5. 環境を保存をクリック
6. 完了

いやはや、SMTPポート変更機能が XMail環境ではなく XMailCFG環境設定にあるとは思いもしませんでした^^;

2009年5月15日金曜日

Oracleの文字列比較

Oracleの固定長文字列比較でちょっとはまったのでメモ書き。

通常、固定長の文字列(CHAR型やリテラル)を比較する場合には、長い方に長さを合わせて不足分にスペースを埋めてから比較します。

一方、左辺、右辺のどちらかが可変長の場合には補完は行わずにそのまま比較します。

CREATE TABLE HOGE ( C_CLASS CHAR(4) );

INSERT INTO HOGE(C_CLASS) VALUES ('PC');

SELECT * FROM HOGE C_CLASS = 'PC';

上記のSQLですがそのまま流すとちゃんとレコードを見つけてきます。ところが、これをプリペアードすると途端に見つけてくれなくなる!

最初は PDO のバグか?と思っていたのですがよくよく調べてみるとなんとOracleはプリぺーアドステートメントのパラメーターに与えたリテラルは固定長文字列(CHAR)ではなく可変長文字列(VARCHAR2)として扱うのだそうです@@

右辺が可変長になってしまったので補完が行われず = が偽を返してしまったわけです><;

まったく、Oracleってやつは…