忍者ブログ
MASTER →  ADMIN / NEW ENTRY / COMMENT
現代魔法(nearly equal 情報技術)を勉強中な人のメモ(チラシの裏)
/ 2024/11/22 (Fri) / 編集
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

/ 2006/11/22 (Wed) / 編集
ホームページ関係の勉強に励んでいる今日このごろ
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 と入力して

        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/

拍手[0回]

PR
忍者ブログ [PR]