- 2009.11.06 Friday
- バーチャルホストとSSLサーバの同居
-
ほとんど自分向けの備忘録です。
意味不明ですみません。
自社(自宅)サーバ、つまりホスティングを受けているのではなく手元にある開発環境などのサーバでSSL環境を再現させるために、バーチャルホストとしてSSLサーバを設定した時の作業メモです。
(FEDORA CORE8)
1)証明書を自分で用意する
年間で数万円するSSLの証明書ですが、テスト用だと自分のところだけで完結するので見苦しい警告が表示されてもいいとするなら、以下のサイトの方法で証明書を発行することができます。
http://fedorasrv.com/apache-ssl.shtml
2)ネットワークカードの追加
名前ベースのバーチャルホストをSSLサーバにするのは無理だそうです。
http://www.aconus.com/~oyaji/bbs/wforum.cgi?mode=allread&pastlog=0006&no=3472&page=90&act=past#3472
ですので、ネットワークカードをもう1枚サーバにさしてIPベースのバーチャルホストが動くようにします。1つのサーバに2つのネットワークカード(2つのIPアドレス)です。
3)SSLの設定
http.confとssl.confを書き換えますが、gnomeのhttp設定でもできます。
IPベースのバーチャルドメインをつくってその時にSSLのタグのところにあるSSLを使用するにもチェックを入れます。
4)apache再起動
apacheを再起動してローカルで動作を確認してOK。
アクセスするPCのhostsに新しいIPを加えてこれで完了です。
httpsでアクセスすると最初、「信用できません」というエラーがでますが、大丈夫サーバリストに加えてやると、普通に使えるようになります。 - | ねぎうぉっち中の人 | 技術テスト | 09:11 | comments(299) | trackbacks(0) | pookmark |
- 2009.08.07 Friday
- PostgreSQLからMySQLへいってSQLServerまでいってきました。
-
園芸が好きで「ネギの成長」でここにたどりついた人、難しい話ですみません。
技術屋さんで、ホントに詳しい人、たいした情報なくて、すみません。
技術関係のテキストなどで時々みかけるのは、「ここに書いてあることは、理解している人じゃないと意味がわからないけど、理解している人にはすでに不要なことしか書いてない」という感じのものがあります。そういう風にならないように書きたいのですが、いかんせん広く浅く「鶏口となれど牛後となるなかれ」 を座右の銘として生きている中の人にはこれが結構難しい課題だったりもします。
そんなインキーしてしまったような話題はともかく、今日はデータベースのことについてちょっとあれこれ試してみました。
これまでデータベースといえば、中の人は主にPostgreSQLを使ってきたのですが、レンタルサーバにMySQLしか入ってないところが多く、最近はちょっとMySQLに傾きかけています。ネットやイントラ系の作業はそれでいいのですが、その延長でVBをつかってちょっとしたデータを扱うアプリケーションを作成する時も、Windows用のPostgreSQLを使ったりして処理してきました。ところが、この接続が結構面倒くさかったりするので、なにかいい方法はないかなーと思っていました。
で、今回またそのローカルなDBに接続する必然性のあるお仕事がやってきそうになったので、そのあたりを調べてみようと思いました。これまで、SQLServerやオラクルはとっても高くて手がでないというイメージがあったのですが、MSはexpressのラインナップをただで配布しているし、SQLSeverにもexpressのバージョンがあったなーと思い、なんだかイメージ的に(金額的に)敷居のたかかったSQLサーバーを試してみることにしました。
正式名称は、Microsoft SQL Server 2008 Express です。
検索すると、すぐにヒットするのがMSのダウンロードサイト
どうも書いてあることを読むと、バージョンもいろいろあるようです。
単純にデータベースだけのものもありますが、どうやら操作するのに簡単なDB管理環境みたいなものもあるので、そっちも使える「Microsoft® SQL Server® 2008 Express with Tools」というバージョンを選ぶことにしました。
インストール前の準備が必要なようです。
1: Microsoft .Net Framework 3.5 SP1
2: Windows インストーラ 4.5
3: Windows PowerShell 1.0
なんか、簡単なはずがめんどくさくなってきたなー、と思いながらも、インストールをすすめます。
実は、PowerShellをインストールせずに、本体のインストールを始めてしまったのですが、インストール中に何か足りないものがあっても、インストールの途中で警告がでるので、そこで止まって足りないものをダウンロード&インストールして、つづきを継続させることもできます。
さて、インストールが終わると、「SQL Server Management Studio」という聞いただけでとっても便利そうなツールが使えるようになります。早速起動。
すると、データベースをつくるようにうながされます。
サーバの種類にSQL Server Compact Editionを選んで(Expressじゃなかったのか?)、データベースファイルを適当なフォルダを選んで適当なファイル名をつけます。で、パスワードを適当につけて接続。
するとすぐにデータベースを作成できました。
テーブルを選んで「新規作成」すると、これもGUIで作成できます。
新しいクエリをつくって、INSERT文で適当にデータを入れて、その後、SELECTで表示させてみました。
おお。なんか簡単だ。このあたりから、MySQLやPostgreSQLより簡単に思えてきはじめました。
さて、問題のVBとの接続。
VS2008があると、すぐに使えるみたいに書いてありましたが、どうやらVB2008もSP1にアップグレードしておかないといけないみたいです。
なので、すぐにアップグレード。VS12008SP1
そして、新しいプロジェクトでフォームの中にデータグリッドを作成して、データソースを新規に作成してみました。
ここでさっきつくったデータベースのファイルを選択して、パスワードを入力します。
最後にフォームにボタンをつけて、データグリッドで入力したものをデータベースに反映させるためのupdateコマンドを実効させるようにします。
Public Class Form1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: このコード行はデータを '_MyDatabase_1DataSet.mytable1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
Me.Mytable1TableAdapter.Fill(Me._MyDatabase_1DataSet.mytable1)End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Mytable1TableAdapter.Update(Me._MyDatabase_1DataSet.mytable1)
End SubEnd Class
それで実効してみると、、
おお。でけた。
postgresをVBに接続した時はかなりわからないことが多くて、結構時間がかかりましたが、今回は、わずか数分で接続OK。いや、やっぱり簡単でした。
さて、一歩つっこんで。
どんなしくみで動いているんだろう?と思って、開始されているサービスとかさぐってみましたが、どうもSQLサーバ本体みたいなものが見あたりません。
PostgreSQLやMySQLの感覚からいうと、やぱりサーバーデーモンが動いていて、SQLのリクエストに対して結果をはき出してくれる、みたいに思っていましたが、違うのでしょうか?
そこまでは確認できませんでした。もしかして、アクセスのファイルをDBみたいに使うようにファイルをDBのソースとして使っていて、特にサーバはうごいていないのでしょうか?もしも、そうなら、使うときだけ動くとってもイイヤツってことになるんですが、そのあたりの本当のことはよくわかりません。
もしも、サーバがサービスとして稼働しているなら、これの関係する開発をしてないときは、そのサービスを止めておきたいな、と思ったりもしているので。
ということで、SQL Server 2008 Express エディションは無料で再配布できるそうなので、VBでアプリをつくった時のDB元としては、いいんじゃないかと思っています。もしも、ほんとうにサービスが動いてないなら、Windows版のPostgresもサービスなので、完全に代替えにしてもよさそうだなーと。後はどれくらいメンテナンス性があるかですが、ファイルベースみたいなので、DBのダンプをとらなくても、ファイルをコピーでバックアップできたりするならとても便利。おまけに、VBに取り込むときに、ファイルをコピーしていたので、DBのコピーもとても簡単そうです。
*****
読み直してみると、やっぱりわかっている人にしかわからない、意味不明な文章になっている。。。
- | ねぎうぉっち中の人 | 技術テスト | 00:20 | comments(0) | trackbacks(0) | pookmark |