コンピュータ / 2006/11/22 (Wed) / 編集 |
ホームページ関係の勉強に励んでいる今日このごろ
CGI,Perl,PHP,PostgreSQLを動くようにしてみた
CGI:Common Gateway Interfaceは、ウェブサーバ上でユーザプログラムを動作させるための仕組み。
らしいから、正確にいうと
「Perl,PHP,PostgreSQLを動くようにしてみた」になる
CGI,Perl,PHP,PostgreSQLを動くようにしてみた
CGI:Common Gateway Interfaceは、ウェブサーバ上でユーザプログラムを動作させるための仕組み。
らしいから、正確にいうと
「Perl,PHP,PostgreSQLを動くようにしてみた」になる
ちなみに
Perlはインタプリタ方式で記述の美しさよりも実用性をモットーにしているらしい
ようはコンパイルしなくてもPerl(CGI)対応のサーバ上にあれば実行できるということ
PHPは動的にHTMLを生成することで動的なウェブページを作る
つまり利用者からしてみればJavaScriptみたいなもの、実際にブラウザに届くのはHTMLだけというとこがJavaScriptと違う
まぁ閲覧する側からいえばどうでもいいかな
PostgreSQLはフリーのデータベースソフト、名前からわかるようにSQLの仲間です
PHPやJavaなどのプログラム言語と組み合わせるとなんかすごいこともできるようになる
なぜわざわざこんなの入れるかというと
これだけ揃ってれば頑張ればミニゲームどころかブログやネットショップまでなんでも作れる
まぁぶっちゃけ
ただの趣味です
というわけでPostgreSQLから
つってもパッケージをダウンロードしてインストールするだけなんだけどね
まぁ環境設定は必要か・・・
PostgreSQLインストールーー
Mac OSX パワーアップツールズ(http://www.magic3.org/postgrex/)
からPostgreXというやつをダウンロードしてインストールする だけ
すると
「postgres」という名前のアカウントが勝手にできます
PostgreSQL環境設定ーー
ターミナルで
$sudu passwd postgres
$su - postgres
としてpostgresアカウントにログイン
以下の内容の「.bash_profile」を作成
ー
#!/bin/bash
export PGDATA=/usr/local/pgsql/data
export PATH=${PATH}:/usr/local/pgsql/bin
ー
$psql -l と入力して
ー
みたいなのが表示されればOK
残りの3つは少しめんどい
つっても「httpd.conf」を編集するだけなんだけどね
ーー
ターミナルで
%cd /etc/httpd
%sudo chmod a+w httpd.conf
エディタで「httpd.conf」を開いて
#LoadModule ssl_module libexec/httpd/libssl.so
#LoadModule perl_module libexec/httpd/libperl.so
#LoadModule php4_module libexec/httpd/libphp4.so
#AddModule mod_ssl.c
#AddModule mod_perl.c
#AddModule mod_php4.c
#AddHandler cgi-script .cgi
#AddType text/html .shtml
#AddHandler server-parsed .shtml
の前にある「#」を削除
あっちこっちに散らばってるので頑張って探してください
次に
AddType application/x-tar .tgz
という行を探し、その下に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を追加する
最後に
ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/"
のちかくにある
<Directory "/Library/WebServer/CGI-Executables">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
という所を
<Directory "/Library/WebServer/CGI-Executables">
AllowOverride None
Options Indexes MultiViews ExecCGI FollowSymLinks Includes
#Options None
Order allow,deny
Allow from all
</Directory>
に変更する
そして忘れずに実行権限をもとに戻す
%sudu chmod a-w httpd.conf
%sudo chmod u+w httpd.conf
あとは「システム環境設定」→「共有」から「パーソナルweb共有」をいったん停止させて
もっかい開始、つまり再起動
すると「サイト」フォルダ内においたPHPやPerlのファイルが
http://IPアドレス/~ユーザ名/「サイト」フォルダからのファイルの相対パス
で見れるようになる
まだPHPしか試してないけどね
というわけで今日は環境設定まで
プログラムはまた後日
あとはアセンブラの使い方でも調べるか
でもって『よくわかる現代魔法』でも読んでアセンブリ言語にも挑戦だ!
そうやって無駄な知識が増えてゆく・・・
参考文献ーーー
MacOSX覚え書き
http://homepage.mac.com/dnagase/macosx/perlcgi.html
DB
http://www.cr.ie.u-ryukyu.ac.jp/~yabiku/PostgreSQL/
Perlはインタプリタ方式で記述の美しさよりも実用性をモットーにしているらしい
ようはコンパイルしなくてもPerl(CGI)対応のサーバ上にあれば実行できるということ
PHPは動的にHTMLを生成することで動的なウェブページを作る
つまり利用者からしてみればJavaScriptみたいなもの、実際にブラウザに届くのはHTMLだけというとこがJavaScriptと違う
まぁ閲覧する側からいえばどうでもいいかな
PostgreSQLはフリーのデータベースソフト、名前からわかるようにSQLの仲間です
PHPやJavaなどのプログラム言語と組み合わせるとなんかすごいこともできるようになる
なぜわざわざこんなの入れるかというと
これだけ揃ってれば頑張ればミニゲームどころかブログやネットショップまでなんでも作れる
まぁぶっちゃけ
ただの趣味です
というわけでPostgreSQLから
つってもパッケージをダウンロードしてインストールするだけなんだけどね
まぁ環境設定は必要か・・・
PostgreSQLインストールーー
Mac OSX パワーアップツールズ(http://www.magic3.org/postgrex/)
からPostgreXというやつをダウンロードしてインストールする だけ
すると
「postgres」という名前のアカウントが勝手にできます
PostgreSQL環境設定ーー
ターミナルで
$sudu passwd postgres
$su - postgres
としてpostgresアカウントにログイン
以下の内容の「.bash_profile」を作成
ー
#!/bin/bash
export PGDATA=/usr/local/pgsql/data
export PATH=${PATH}:/usr/local/pgsql/bin
ー
$psql -l と入力して
ー
List of databasesー
Name | Owner | Encoding
-----------+----------+----------
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(3 rows)
みたいなのが表示されればOK
残りの3つは少しめんどい
つっても「httpd.conf」を編集するだけなんだけどね
ーー
ターミナルで
%cd /etc/httpd
%sudo chmod a+w httpd.conf
エディタで「httpd.conf」を開いて
#LoadModule ssl_module libexec/httpd/libssl.so
#LoadModule perl_module libexec/httpd/libperl.so
#LoadModule php4_module libexec/httpd/libphp4.so
#AddModule mod_ssl.c
#AddModule mod_perl.c
#AddModule mod_php4.c
#AddHandler cgi-script .cgi
#AddType text/html .shtml
#AddHandler server-parsed .shtml
の前にある「#」を削除
あっちこっちに散らばってるので頑張って探してください
次に
AddType application/x-tar .tgz
という行を探し、その下に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を追加する
最後に
ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/"
のちかくにある
<Directory "/Library/WebServer/CGI-Executables">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
という所を
<Directory "/Library/WebServer/CGI-Executables">
AllowOverride None
Options Indexes MultiViews ExecCGI FollowSymLinks Includes
#Options None
Order allow,deny
Allow from all
</Directory>
に変更する
そして忘れずに実行権限をもとに戻す
%sudu chmod a-w httpd.conf
%sudo chmod u+w httpd.conf
あとは「システム環境設定」→「共有」から「パーソナルweb共有」をいったん停止させて
もっかい開始、つまり再起動
すると「サイト」フォルダ内においたPHPやPerlのファイルが
http://IPアドレス/~ユーザ名/「サイト」フォルダからのファイルの相対パス
で見れるようになる
まだPHPしか試してないけどね
というわけで今日は環境設定まで
プログラムはまた後日
あとはアセンブラの使い方でも調べるか
でもって『よくわかる現代魔法』でも読んでアセンブリ言語にも挑戦だ!
そうやって無駄な知識が増えてゆく・・・
参考文献ーーー
MacOSX覚え書き
http://homepage.mac.com/dnagase/macosx/perlcgi.html
DB
http://www.cr.ie.u-ryukyu.ac.jp/~yabiku/PostgreSQL/
PR
トラックバック
URL :
コメント