2007年12月11日火曜日

[oracle]ユーザーの追加

まずはじめにDOSプロンプトを開いて
sqlplus ユーザー名/パスワード@設定しているtns
と入力しSQLPLUSを開く

SQLPLUSを開いたら
登録したいユーザー名とパスワードを入力する。
create user '登録したいユーザー名' identified by '登録したいパスワード';

権限を与えるために
create role '登録したユーザー名'_ROLE ;
を入力し、権限を与える内容を入力

例)
grant
ALTER PROFILE
,ALTER SESSION
,ALTER SYSTEM
,ALTER TABLESPACE
,ALTER USER
,CREATE PROCEDURE
,CREATE PROFILE
,CREATE PUBLIC SYNONYM
,CREATE ROLE
,CREATE ROLLBACK SEGMENT
,CREATE SEQUENCE
,CREATE SESSION
,CREATE SYNONYM
,CREATE TABLE
,CREATE TABLESPACE
,CREATE TRIGGER
,CREATE VIEW
,EXECUTE ANY PROCEDURE
,SELECT ANY DICTIONARY
,SELECT ANY SEQUENCE
,SELECT ANY TABLEto '登録したユーザー名'_ROLE;

これらの権限を与えるため
grant '登録したユーザー名'_ROLE to '登録したユーザー名' ;


これでユーザーの登録が完了するはず。

2007年11月29日木曜日

[linux]MySQLの文字コード変更方法

どうやらwebサーバとしてMySQLを使う際に文字コードを変更しなければならないらしい。

それも自分で設定ファイルを作成するとのこと。

#vi /etc/my.cnf
これで新規作成する。

その前に現在の設定を確認する。

mysql> status
で確認できます。


mysql> status;
--------------
./mysql Ver 14.12 Distrib 5.0.27, for pc-linux-gnu (i686) using readline 5.0

Connection id: 7110
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: dtdout
Using outfile: ''
Using delimiter: ;
Server version: 5.0.27-Max
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: ujis
Db characterset: ujis
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 2 houts 1 min 14 sec

ってな感じになっていると思います。

必ずしも一緒ではないのでご注意。


見てのとおりcharactersetは4種類定義されています。これらを変更するために先ほども書いた設定ファイルを作成します。下記例はEUC-jpに設定しています。
設定する値はSHOW CHARACTER SETで確認できます。

my.cnf

[client]

default-character-set=ujis

[mysqld]

port=3306
default-character-set=ujis

[mysql]
default-character-set=ujis



設定がうまくいったかどうかは、statusで確認してください。

2007年11月22日木曜日

[フリーウェア]CSEでMySQL

Common SQL DeveloperというSQLのかなり優秀なフリーウェアがあるが、oracle接続とかでしか触ってなかったのでMySQLで使ってみようと試みた。

どうやらCSE自体では3以降(?)はODBC接続を行わなければならないらしい。

そんなわけでODBCの設定。

まずはODBCのドライバインストール。

ドライバのインストールだけなので完全インストールである必要はない。

割と早く終わるので終わったら管理ツールにてデータソースの設定。

とりあえずMySQLのODBCを選択して、データソース、ユーザー名、パスワードを入力。

そのほかは空欄でいいはず。

とりあえずこれで設定完了。

後はいつも通りCSE開いて接続してODBC汎用選択して必要事項入力してコネクショーーーン!!


で接続できるはずです。


ん?
なんかいい加減?

2007年11月21日水曜日

[Ruby]簡易掲示板

#! /usr/bin/ruby -Ks
require "rexml/document"
require "open-uri"
require "kconv"
require "cgi"

cgi = CGI.new

# 天気予報
def weather

title = ""
tenki = ""
doc = nil
gaikyou = nil

open('http://weather.livedoor.com/forecast/webservice/rest/v1?city=63&day=tomorrow'){f
doc = REXML::Document.new(f)
}

doc.elements.each("lwws/title"){element
title = element.text.tosjis
}

doc.elements.each("lwws/telop"){element
tenki = element.text.tosjis
}

doc.elements.each("lwws/description"){element
gaikyou = element.text.tosjis
}

puts "#{title}: #{tenki}".tosjis,"\n"
print "\n"
puts "#{gaikyou}".tosjis, "\n"
end

# Webページの表示
print "Content-type: text/html\n\n"
print <





EOF

# プログラム実行
weather

#ヘッダ部出力
print <

EOF

2007年11月19日月曜日

[Linux]Windows上からLinuxのGUIを表示させる vnc

現在業務はWindowsで行ってますが、たまにlinuxを触りたくなるのでそのときいちいちモニタやらを入れ替えるのが面倒です。

なのでwindows上でやれるvncを使います。

vncサーバをlinuxに、vncクライアントをwindowsにそれぞれインストールする必要があります。

linux
「apt-get install vnc vncserver」

vncを起動します。

初回の起動のみパスワードを聞かれます。これは外部PCからアクセスするときに入力するモノです。

「New~~~」と表示されればOKです。

そのままwindowsでvncビューワを実行しても良いのですが、そのままだととても寂しい画面が表示されてしまいます。

実際使うんだったらその画面のまま使いたいですよね?

方法があります。

viエディタを使って「/root/.vnc/xstartup」を編集します。

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &

export LANG XMODIFIERS="@im=kinput2"
kinput2 -canna -cannaserver localhost &
exec gnome-session &

色の部分を付け足してください。
※「twm & 」をコメントにして「exec gnome-session &」を付け加える

export以下は日本語入力を可能にさせる設定です。

これでwindows上でlinuxのGUIが使えるようになったともいます。

[Linux]ファイルサーバSamba

これからはGUIをベースに書いていきます。

GUIメニューよりデスクトップ→システム管理→Synaptic パッケージマネージャ

「samba」を検索

samba、samba-client、samba-common
とりあえずこれらをインストール指定にしてください。

全ての指定が完了したら適用してください。

しばらくするとインストールが完了します。

次に設定です。
現在のままでは外部PC(windows他)ではネットワークリソースは存在はしていますが、中にはいることが出来ませんので設定します。

はじめにセキュリティのためにsambaのユーザーとパスワードを設定します。
smbpasswd -a XX ←XXというユーザーを追加する
New SMB password: パスワードを入力する(画面に出てこないのでお間違えのないように)
Added user XX.
となれば成功です。

次にviエディタで「/etc/samba/smb.conf」と入力してください。

設定に必要な部分を見ます。

workgroup = WORKGROUP  ワークグループ名を指定する。
netbios name = FILESERVER 共有サーバー名
hosts allow = 192.168.0. 127.  Sambaへの接続を許可するIPアドレスを指定する。 の例では    
                    192.168.0.と127.で始まるアドレスのみ接続できる
load printers = no  プリンタを共有しないときはnoに変更
security = share  ユーザー名とパスワードを使ってアクセス制御する。
encrypt passwords = yes  暗号化したパスワードを使うか。 現在のWindowsはすべて暗号化
パスワードに対応している。
unix password sync = yes  SambaとLinuxのパスワードを同期させるか。 


これで基本設定は完了します。

共有フォルダを設定したい場合、下に進むにつれて[public]と書いてある場所があります。
[public]
comment = public Space for Everyone
path = /var/samba/public
writable = yes

これをLAN内全て使用できる状態にするには下記のように追加すればよいと思います。
(←から先はコマンドの説明です)
[server] ←共有名
comment = public Space for Everyone←コメント
path = /var/samba/public←共有したいディレクトリのパス
writable = yes←書き込み許可
read only = no←読み込み専用
guest ok = yes←ユーザー以外の使用
public = yes←パスワードなしでのアクセスを許可。アクセス制限を「share」に設定する必要あり
browseable = yes←共有フォルダの一覧に表示させるようにする。noなら隠しになる
create mask = 0777←共有ファイルに作成されるファイルパーミッションを設定
create masl = 0777←共有フォルダに作成されるファイルパーミッションを設定

これを上書き保存してviエディタを終了してください。

最後にsambaを再起動してください。

/etc/rc.d/init.d/smb restart


システムが起動したときに自動起動の設定をします。
chkconfig smb onと入力してください
chkconfig --listと入力すると自動起動の確認が出来ます。

「smb 3:on4:0n5:0n」
となっているのを確認してください。

確認方法は、実際に共有のパスをアドレスに入力してください。

[Linux]Webサーバ「Apache」のインストールと設定

OSのインストールをする際に完全インストールまたはインターネットサーバを選択しておけばインストールされています。

現在インストールされているのはApache2ですが、業務で使っているのがApache1.3なのでまずはダウングレードします。

「apt-get remove apache2」で削除し「apt-get install apache」でインストールします。

Apacheを起動してインストールされているかを確認します。

起動のコマンドは「/etc/rc.d/init.d/httpd start」

ちなみに「/etc/rc.d/init.d」コマンドはアプリの起動や停止、再起動などでよく使うので覚えておいて損はしません。

確認方法は、webブラウザを起動して「http://localhost/(またはIPアドレス)」を入力し実行すると、テストページなるモノが表示されるはずです。

表示されなかった場合は何らかの失敗があるか、設定が必要だと思います。

次に設定について。

コマンド入力に「vi /etc/httpd/conf/httpd.conf」と入力してください。

ちなみに「vi」とはviエディタのことです。

viエディタでhttpd.confというファイルを編集するという意味です。

開くとものすごい量のテキストが表示されます。

編集したい場所をスクロールで探すのも結構苦労します。

そのときに検索しますよね?

windowsの検索とやり方が違うので注意してください。

viエディタは入力モードとコマンドモードというモノがあります。

入力モードはテキスト入力、コマンドモードはviエディタのコマンド入力で切り替え方は、入力モードのトキは「a」キー入力、コマンドモードは「etc」キー入力で切り替えます。

さて問題の検索方法ですが、コマンドモードに切り替え「/」の後に探したい文字列を入力してください。
例)サーバの名称の設定を探すとき「/ServerName」

すると検索文字列を探します。

もし選択された文字列が編集したい場所と違うときは「n」キーを入力してください。

すると次を検索します。

さてこれで一通りapacheの設定をしようと思います。

CGIを使えるようにする

どうやらApacheの標準設定ではCGIが使えないみたいです。
なので設定の変更をします。

まずCGIを使うにはperlが必要らしいのでperlのインストールを行います。

「apt-get install perl」

もしインストールされていた場合、されているとメッセージが出るので確認のためにやってみるのもいいと思います。

CGIの実行を許可するには、
「#AddHandler cgi-script .cgi」の「#」を外してください。
※「#」はコメントです。

これで設定は終わりです。

他にもいろいろと設定がありますが、詳しくはここを見ておけば大丈夫だと思います。
http://vine.1-max.net/apache.html

最後に保存と終了方法ですが、viエディタのコマンドモードで「:w」と入力してください。
その後「:q」と入力してください。

「:w」は上書き保存「:q」は終了です。
モノ2つの動作をまとめて行いたいときは「:wq」と入力してください。

パーミッションの変更

設定がOKでも外部で見ることが出来ないなら意味がありませんよね。
そこでフォルダの読み出しの許可を設定します。

「chmod 755 home/httpd/cg-bin」と入力してください。

もしならなかったのであれば、GUIで見た方がいいでしょう。

「コンピュータ→ファイルシステム→home→httpd」と入っていくと「cgi-bin」フォルダが見つかると思います。

それを右クリックしプロパティを選択してください。

アクセス権タブの読み込みと実行の全てのチェックをしてください。

数値形式が「1600755」になればOKです。

これでパーミッションの設定も完了しました。

Apacheを再実行して、cgi-binフォルダに適当なcgiファイルをおいて、検証してみてください。


最後に自動起動の設定をします。

chkconfig httpd onと入力してください。

chkconfig --listと入力し、

「httpd   3:on4:on5:on」

となっているのを確認してください。