レンタルサーバーでasp php dbを使おうとするときに問題となるのはOSです。
php db は問題ないのですが、aspはWindowsサーバーでしか動きません。
現在apache でもaspが走るようなプロジェクトがあるようですが一般的ではありません。
なぜあまり、aspも走るwindowsサーバーが少ないのかというと
まず第一にwindowsのサーバーアプリケーションが非常に高額ということがあります。
通常レンタルサーバーにはLinuxが採用されています。
Red Hat Enterprise Linuxなども高価でが、無償で提供しているサーバー会社などがああるので現在も利用されています。
Red Hat Enterprise Linuxにはwindows up date のような自動更新の仕組みを持っているのでセキュリティー的にも安全性が高いといわれています。
windowsサーバーの場合、問題はセキュリティーのことがあるために利用されている比率が低いことが多いです。
ウィルス感染、そして、クラッキングなどがwindowsのほうが多いといわれています。
その理由は、、、ただ単にwindowsの情報の法が多いというだけでしょう。
レンタルサーバーは、cpuやメモリーや回線の速さ帯域などで比較しがちですが、一番レンタルサーバー会社にとっても敵は、クラッキングなどのハッカーだと言えます。
それでwindowsサーバーの利用がすくないのです。
windowsサーバーを扱っているレンタルサーバーは何社かありますが、レンタルする場合は必ず、セキュリティーのことを聞いてみてください。
「万が一、不正進入された場合はどうなりますか。」
素人でもよく分かるように説明してくれれば安心でしょう。
しかし、ファイアーウォールがあるとか、困ったような言い回しの返答しか帰ってこないようでしたら、利用をしないほうがいいと思います。
以下はレッドハットの情報を載せておきます。
レッドハット(Red Hat)は2003年現在、最大手のLinuxディストリビューションを製品として配付・販売・サポートしている会社の名称。米国法人のRed Hat, Inc.は1993年に設立され、日本法人のレッドハット株式会社は1999年に設立された。レッドハットの製品であるRed Hat Enterprise Linux または旧製品のRed Hat Linux(GNU/Linuxシステム)を示すことも多い。
オープンソースをビジネスとして展開しており、ソフトウエアは無料、サポートを有料としたビジネスモデルを持って来たが、近年はより高度なソフトウエアを有料で販売することもはじめている。
Linuxをその歴史の初期から、より一般的なユーザーが利用できるように、Linuxカーネルを中心に、GNUプロジェクト、BSD、X11等のソフトウエアを組み合わせて、ネットワークサーバ/ワークステーションとして使える形にLinuxの初期の頃から貢献して来た。
レッドハットのGNU/Linuxディストリビューション(以下 Red Hat Linux)自身は、コピーレフト (GPL) なソフトウェアを中心に構成されており、レッドハットが独自に製作したソフトウエアもコピーレフトで公開されていたため、Red Hat Linuxを元に作られた、他企業/グループによるLinuxディストリビューションが数多く存在する(例としては、SUSE・SCO・Turbo など)。
自分達が作ったものを、コピーレフトで公開することがビジネスとして成り立つことは考えにくかったが、他のRed Hat系が増えるにつれて、レッドハット自身もより成長しており、ビジネスモデルは正しかったと言える。山の裾野をわかちあうことで、山が大きくすることが出来て、結局自分の裾野も大きくなったと言うわけである。
Linuxのディストリビューションには、Red Hat系、Debian系、Slackware系などがある。RedHat系は、ソフトウエアパッケージの管理にRPM(Red Hat Package Manager)を使い、Debian系はAPTを使っている。なお、Debianは、Linuxカーネルと同様に中心となる企業が存在しないディストリビューションである。
なお、2001年に Red Hat系のCaldera、Conectiva、SuSE、Turbolinuxが集まって共同のGNU/Linuxの基本となるUnited Linuxが公開されているが、現在事実上活動停止の状態にある。この背景には、SUSE LINUX が Novell に買収されたり、SCO Group(旧Caldera International)による IBM 提訴などがあるとされる。「法的には存在しているが、明かりは消した」状態であると最近のニュースメディアでは報道された。
2003年のRed Hat Linux 9を最後にコンシューマ向けのRed Hatディストリビューションの販売・サポートを中止し、コンシューマ向けLinuxディストリビューションの開発をFedora Projectに移譲した。現在は、企業向けのRed Hat Enterprise Linuxを軸にサポート・教育などで収益を上げる会社になっている。
なお、今までレッドハットは株式をNASDAQへ上場していた(ティッカーシンボル:RHAT)が、2006年12月12日にニューヨーク証券取引所へ取引を行う取引所を変更した。ティッカーシンボルもRHTへ変更された。
wikipediaより
| スポンサード リンク |
2007年09月20日
レンタルサーバーとDB(データベース)
データベースはwindowsでいうaccessみたいなものですね。
たとえば掲示板のデータとかが100件とか1000件くらいまでなら、テキストファイルでデータを持っても動きますが、これが10000件とかになると重くて処理できなくタイムアウトすることなどが出てきます。
そういう大きなデータを持たすときにデータベースが必要になります。
現実的にレンタルサーバーですと、PostgreSQL、MySQL、SQLiteが使われています。
これは理由は簡単で、フリー(無料)で利用できるということですね。
しかしMySQLなどは、3,4,5などのバージョンの違いで大きく動作が違いエンコードなどの方法も少しずつ違ってきて、文字化けが起こりやすくなります。
Movable Type などでも3のデータを5にそのままインポートすると文字化けしたりすることがあります。
データベース (Database) は、特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの。 狭義には、コンピュータによって実現されたものを言う。OSが提供するファイルシステム上に直接構築されるものや、後述するデータベース管理システム (DBMS) を用いて構築されるものを含む。
コンピュータ上では、データの再利用を高速かつ安定に実現するため、データを格納するための構造について様々な工夫が払われており、このデータ構造とアルゴリズムは情報工学において重要な研究分野のひとつである。
単純なファイルシステムには、ファイルシステム自体に「データ」を統一的手法で操作する機能はない。ファイルシステムでデータ管理をするためには、データの操作機能を「応用プログラム側」に持つしかない。データベースは、それを自ら持つことにより、応用プログラム側でデータの物理的格納状態を知らずとも操作でき、かつ、データの物理的格納状態に変更があった場合にも応用プログラム側の処理に影響が及ばないことを保障することがデータベースの前提条件となっている。(プログラムとデータの独立性)
データベースをコンピュータ上で管理するためのシステム(Oracle Database、SQL Server、PostgreSQL、MySQL、SQLite、IBM DB2など)をデータベース管理システム(DBMS)という。
データベースの実際例
住所録、検索エンジン、電子カルテ、企業データベース、音楽データベース、化学データベース、英辞郎、OPAC、IPDLなどが挙げられる。 このウィキペディアもデータベースの応用例のひとつと言える。 広義には電子化されたもの以外も含まれるので,電話帳、辞書、特許公報、Biological Abstract Serviceなどは電子化されていなくてもデータベースの範疇に入ると言える。
wikipedia
たとえば掲示板のデータとかが100件とか1000件くらいまでなら、テキストファイルでデータを持っても動きますが、これが10000件とかになると重くて処理できなくタイムアウトすることなどが出てきます。
そういう大きなデータを持たすときにデータベースが必要になります。
現実的にレンタルサーバーですと、PostgreSQL、MySQL、SQLiteが使われています。
これは理由は簡単で、フリー(無料)で利用できるということですね。
しかしMySQLなどは、3,4,5などのバージョンの違いで大きく動作が違いエンコードなどの方法も少しずつ違ってきて、文字化けが起こりやすくなります。
Movable Type などでも3のデータを5にそのままインポートすると文字化けしたりすることがあります。
データベース (Database) は、特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの。 狭義には、コンピュータによって実現されたものを言う。OSが提供するファイルシステム上に直接構築されるものや、後述するデータベース管理システム (DBMS) を用いて構築されるものを含む。
コンピュータ上では、データの再利用を高速かつ安定に実現するため、データを格納するための構造について様々な工夫が払われており、このデータ構造とアルゴリズムは情報工学において重要な研究分野のひとつである。
単純なファイルシステムには、ファイルシステム自体に「データ」を統一的手法で操作する機能はない。ファイルシステムでデータ管理をするためには、データの操作機能を「応用プログラム側」に持つしかない。データベースは、それを自ら持つことにより、応用プログラム側でデータの物理的格納状態を知らずとも操作でき、かつ、データの物理的格納状態に変更があった場合にも応用プログラム側の処理に影響が及ばないことを保障することがデータベースの前提条件となっている。(プログラムとデータの独立性)
データベースをコンピュータ上で管理するためのシステム(Oracle Database、SQL Server、PostgreSQL、MySQL、SQLite、IBM DB2など)をデータベース管理システム(DBMS)という。
データベースの実際例
住所録、検索エンジン、電子カルテ、企業データベース、音楽データベース、化学データベース、英辞郎、OPAC、IPDLなどが挙げられる。 このウィキペディアもデータベースの応用例のひとつと言える。 広義には電子化されたもの以外も含まれるので,電話帳、辞書、特許公報、Biological Abstract Serviceなどは電子化されていなくてもデータベースの範疇に入ると言える。
wikipedia
PHP
PHPは非常に簡単に書ける言語でCGIと比べると少ない行数で同じことができることが多い便利な言語です。
DBとの連携も非常に親和性が高く、DBを使うならPHPを使うと楽ですし、RSSなどを扱うXMLのパーサーも、PHP5でSimpleXMLという非常に簡単にXMLを扱える関数がプラスされています。
PHP: Hypertext Preprocessor(ピー・エイチ・ピー ハイパーテキスト プリプロセッサー)とは、動的にHTMLデータを生成することによって、動的なウェブページを実現することを主な目的としたプログラミング言語、およびその言語処理系です。
PHPは、HTML埋め込み型のサーバサイド・スクリプト言語として分類されます。この言語処理系自体は、C言語で記述されています。
ウェブサーバ上で動作し、ウェブサーバ上の文書が要求されるたびに、この文書に記述されたPHPのプログラムを実行し、その結果をウェブブラウザに対して送信します。
ウェブブラウザに送信されるデータは通常のHTMLであり、PHPのプログラムを含まない。この点でHTML埋め込み型のクライアントサイド・スクリプト言語(JavaScriptなど)と本質的に異なっています。
平易な文法のため初心者でも習得しやすく、また大規模な開発にも多く用いられています。多くのフレームワークやライブラリが存在し、開発の手助けとなっています。
PHPはCommon Gateway Interface (CGI) をサポートしており、CGIをサポートするWebサーバ上でPHPスクリプトを実行することができます。この他にもFastCGIを通じてWebサーバから起動したり、利用するWebサーバがモジュール機構を提供していれば、モジュールとしてWebサーバに組み込んだ状態で動作させることが可能です。その為、phpモジュールに脆弱性があった場合、簡単にWebサーバの権限を奪取され、サーバを破壊されることもあります。
PHPは、PHP4以降Zend Engineをスクリプト言語を処理するエンジンとして利用しています。Zend Engineは、PHP3の開発者によって設立されたZend Technologies Ltd.により開発されたソースコードが公開されているスクリプティングエンジンです。PHP5ではZend Engine 2.0になりました。Zend Engineは基本的に1つのプロセスがインタプリタのコンテキストを1つだけ持つものとして設計されています。したがってマルチスレッドを用いたスクリプティングはサポートしていない。
Zend Engineを除くPHP本体は、PHP組み込み関数の実装を含むほか、Webサーバやコマンドラインインターフェイスとスクリプティングエンジンの間を仲介するSAPI (Server API)レイヤ、マルチスレッドで動くWebサーバのモジュールとして利用される場合にグローバル変数のセマンティクスを提供するTSRM (Thread Safe Resource Manager)、さまざまなプラットフォームの入出力機構やAPIの差異を吸収するためのStreamsレイヤから成る。
開発者はSAPIの提供するSPIを実装することです。さまざまなWebサーバのモジュールとしてPHPを動作させることができます。標準では以下のWebサーバ用のSAPIが提供されています。
wikipedia
DBとの連携も非常に親和性が高く、DBを使うならPHPを使うと楽ですし、RSSなどを扱うXMLのパーサーも、PHP5でSimpleXMLという非常に簡単にXMLを扱える関数がプラスされています。
PHP: Hypertext Preprocessor(ピー・エイチ・ピー ハイパーテキスト プリプロセッサー)とは、動的にHTMLデータを生成することによって、動的なウェブページを実現することを主な目的としたプログラミング言語、およびその言語処理系です。
PHPは、HTML埋め込み型のサーバサイド・スクリプト言語として分類されます。この言語処理系自体は、C言語で記述されています。
ウェブサーバ上で動作し、ウェブサーバ上の文書が要求されるたびに、この文書に記述されたPHPのプログラムを実行し、その結果をウェブブラウザに対して送信します。
ウェブブラウザに送信されるデータは通常のHTMLであり、PHPのプログラムを含まない。この点でHTML埋め込み型のクライアントサイド・スクリプト言語(JavaScriptなど)と本質的に異なっています。
平易な文法のため初心者でも習得しやすく、また大規模な開発にも多く用いられています。多くのフレームワークやライブラリが存在し、開発の手助けとなっています。
PHPはCommon Gateway Interface (CGI) をサポートしており、CGIをサポートするWebサーバ上でPHPスクリプトを実行することができます。この他にもFastCGIを通じてWebサーバから起動したり、利用するWebサーバがモジュール機構を提供していれば、モジュールとしてWebサーバに組み込んだ状態で動作させることが可能です。その為、phpモジュールに脆弱性があった場合、簡単にWebサーバの権限を奪取され、サーバを破壊されることもあります。
PHPは、PHP4以降Zend Engineをスクリプト言語を処理するエンジンとして利用しています。Zend Engineは、PHP3の開発者によって設立されたZend Technologies Ltd.により開発されたソースコードが公開されているスクリプティングエンジンです。PHP5ではZend Engine 2.0になりました。Zend Engineは基本的に1つのプロセスがインタプリタのコンテキストを1つだけ持つものとして設計されています。したがってマルチスレッドを用いたスクリプティングはサポートしていない。
Zend Engineを除くPHP本体は、PHP組み込み関数の実装を含むほか、Webサーバやコマンドラインインターフェイスとスクリプティングエンジンの間を仲介するSAPI (Server API)レイヤ、マルチスレッドで動くWebサーバのモジュールとして利用される場合にグローバル変数のセマンティクスを提供するTSRM (Thread Safe Resource Manager)、さまざまなプラットフォームの入出力機構やAPIの差異を吸収するためのStreamsレイヤから成る。
開発者はSAPIの提供するSPIを実装することです。さまざまなWebサーバのモジュールとしてPHPを動作させることができます。標準では以下のWebサーバ用のSAPIが提供されています。
wikipedia
タグ:PHP
ASP.NET
ASPの後継としてasp.net があります。
ASP.NETは、Microsoftが開発したウェブアプリケーションフレームワークで、動的なウェブサイトやウェブアプリケーションやXMLウェブサービスの開発を行うことができる。ASP.NETはActive Server Pagesを.NET向けにしたものである。
ASP.NETの特徴
ASP.NETでは、Webブラウザに表示されるWebアプリケーションのGUIをモデル化した情報を、フレームワークがサーバのメモリ上に通信をまたいで構築する。さらにアプリケーションのユーザが行った操作による要求に応じて、このモデル情報上でフレームワークはイベント処理を行い、プログラマが定義したイベントハンドラが実行される。 このようにイベント駆動型プログラミングというパラダイムをとることで、Webアプリケーションの実装にて複雑になりがちなフォームデータ集合の処理を、フレームワーク内に隠蔽することがASP.NETでは実現されている。 このイベント駆動型プログラミングは、歴史のあるウィンドウシステムでのプログラミングと同じパラダイムであり、多くのプログラマにとって馴染み易いものといえる。ただし、ウィンドウシステム上のプログラムとは異なりASP.NETのプログラムはサーバサイドで実行されるという本質的な違いは(当然だが)残り、ASP.NETはWebアプリケーションが分からないプログラマでもWebアプリケーションを開発できるようになる魔法の杖では決してない。
また、ブラウザを認識して最適なHTMLを生成するほか、スクリプト実行時に前回に実行したものと比べ変更があるときにのみコンパイルをしてキャッシュしておくため、ASPと比べ処理速度が向上している。
ASPはSSIから呼び出すことができるが、ASP.NETは呼び出せない。
wikipedia
ASP.NETは、Microsoftが開発したウェブアプリケーションフレームワークで、動的なウェブサイトやウェブアプリケーションやXMLウェブサービスの開発を行うことができる。ASP.NETはActive Server Pagesを.NET向けにしたものである。
ASP.NETの特徴
ASP.NETでは、Webブラウザに表示されるWebアプリケーションのGUIをモデル化した情報を、フレームワークがサーバのメモリ上に通信をまたいで構築する。さらにアプリケーションのユーザが行った操作による要求に応じて、このモデル情報上でフレームワークはイベント処理を行い、プログラマが定義したイベントハンドラが実行される。 このようにイベント駆動型プログラミングというパラダイムをとることで、Webアプリケーションの実装にて複雑になりがちなフォームデータ集合の処理を、フレームワーク内に隠蔽することがASP.NETでは実現されている。 このイベント駆動型プログラミングは、歴史のあるウィンドウシステムでのプログラミングと同じパラダイムであり、多くのプログラマにとって馴染み易いものといえる。ただし、ウィンドウシステム上のプログラムとは異なりASP.NETのプログラムはサーバサイドで実行されるという本質的な違いは(当然だが)残り、ASP.NETはWebアプリケーションが分からないプログラマでもWebアプリケーションを開発できるようになる魔法の杖では決してない。
また、ブラウザを認識して最適なHTMLを生成するほか、スクリプト実行時に前回に実行したものと比べ変更があるときにのみコンパイルをしてキャッシュしておくため、ASPと比べ処理速度が向上している。
ASPはSSIから呼び出すことができるが、ASP.NETは呼び出せない。
wikipedia
タグ:ASP.NET
| スポンサード リンク |

