Apache・PHP・PostgreSQLメモ
これらは、私がApache、PHP、PostgreSQLについてやったことをメモ書きしているものです。 (インストールとか、設定とか) 一応、公開するに当たってに文章等考えて書いてますが、結構すっ飛ばして書いてあるところもありますので よろしくお願いします。 まず始めにすごく簡単に、それぞれについて書いてみたいと思います。 |
||||
|
||||
こんな感じです。 まぁ、これに関してはそんな事ができるソフトがあるんだ程度で良いと思います。 うちのサーバにもこれらソフトは入れています。 (入れてるから説明できるんですけどね(^^;;)) では次から、インストールについて、やっていきたいと思います。 |
||||
|
||||
UNIX(Linux)の場合 | ||||
まず、PostgreSQLの本家サイトからファイルを落としてきます。 2002/11/21現在 ・postgresql Ver7.2.3 が、あります。 コンパイル作業時に使う、通常必要ソフトウェアは入ってると思うので その設定は省きます。 では、次から作業の方法を始めます。 /usr/local/にインストールする方法です。 (最初はroot権限、実際のインストールは、postgres(新規に作成するユーザアカウント)で行います) |
||||
まずは、データベース管理をするアカウントを 作成します。 | ||||
|
||||
次にインストールする先のディレクトリと解凍する先のディレクトリを作成します。 | ||||
|
||||
ディレクトリのオーナー権限を、先ほど作成したアカウントのpostgresとします。 | ||||
|
||||
次に、ユーザを管理ユーザに変更して、本家サイトから落としてきた postgresql-7.2.3.tar.gzを/usr/local/srcに解凍します |
||||
|
||||
そして、インストールに移ります。 扱う文字コードはEUCの方が確実なのでEUC_JPとします。 (PHPもじつはEUCでないとマルチバイト文字を扱う上で文字化けしたりするので・・・) |
||||
|
||||
これでインストールは完了です。 | ||||
次に、データベース管理者権限を持つユーザの環境設定をします。 データベース管理アカウントのホームディレクトリにある.bashrcをテキストエディタで開きます。 (今回の場合は/home/postgres/.bashrc[シェルがbashの場合] ) ( cshの場合は/home/postgres/.cshrc ) そして、以下の設定を付け加えます。 |
||||
(bashの場合)PATH="$PATH":/usr/local/pgsql/bin export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib export PGDATA=$POSTGRES_HOME/data(←データベースを作成するディレクトリを指定) export MANPATH="$MANPATH":$POSTGRES_HOME/man export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"(cshの場合) set path = ( $path /usr/local/pgsql/bin) setenv POSTGRES_HOME /usr/local/pgsql setenv PGLIB $POSTGRES_HOME/lib setenv PGDATA $POSTGRES_HOME/data(←データベースを作成するディレクトリを指定) if ( $?MANPATH ) then setenv MANPATH "$MANPATH":$POSTGRES_HOME/man else setenv MANPATH $POSTGRES_HOME/man endif if ( $?LD_LIBRARY_PATH ) then setenv LD_LIBRARY_PATH "LD_LIBRARY_PATH":"$PGLIB" else setenv LD_LIBRARY_PATH $PG_LIB endif |
||||
上記のものを打ち終えたら下記の作業を行います。 | ||||
|
||||
上記の作業を終えたら、終わったら、データベースを初期化します。 (PGDATAで指定したディレクトリにデータベースの雛形が作成されます) |
||||
|
||||
初期化の作業を終えたら、postgresqlを立ち上げます。 | ||||
|
||||
再起動や、終了の処理は、restart、stopを使います | ||||
|
||||
これで、完了です。 細かい設定は、次のところで行います。 |
||||
PostgreSQL設定へ(作成中)
|
||||
Windowsの場合 | ||||
Windowsの場合は、これと言っていい方法がありません。 詳しくは、上のページを見て行ってください。 |
||||
UNIX(Linux)の場合 | ||||
まず、Apacheの本家サイトからApacheを落としてきます。 2002/11/21現在 ・Apache1.3.27 ・Apache2.0.43 が、あります。 コンパイル作業時に使う、通常必要ソフトウェアは入ってると思うので その設定は省きます。 では、次から作業の方法を始めます。 /usr/local/にインストールする方法です。 |
Apache2は文字コードの設定が 厳密になったりして設定が めんどくさいですし、 Apache2が新しくなると PHPが、モジュールとして 使えなくなったり するので、Apache1.3.27の方を おすすめします。 Apache2に追加された 「AddDefaultCharset」 の設定が非常にめんどくさいです。 ( "AddDefaultCharset none" にすれば今までどおりmetaで 文字コードを指定すれば文字コードで 表示されます・・・) ここでは、Apache1.3.27の インストール方法についてやります 作業は全てroot権限で行います |
|||
まず、本家サイトから落としてきたapache_1.3.27.tar.gzを/usr/local/srcに解凍します (apache2.0.43の場合はhttpd-2.0.43.tar.gz) |
||||
|
||||
PHP等をモジュールとして使うためにOPTIMを先頭に書きその後ろに、./configuerを書きます オプションは他にありますが、今回は、--enable-module=soだけとします。 |
||||
|
||||
後はおきまりの、これを行えば、インストール完了です。 | ||||
|
||||
インストールは以上で終わりです。 Errorがでて、うまく行かないときは、 ディレクトリ権限が無いときやgccなどが入ってなかったりVersionが古かったりします。 確認してください。 起動は /usr/local/apache/bin/apachectl startApache2の場合は /usr/local/apache2/bin/apachectl startをすれば起動します。 startはApacheが起動していないときに行い、再起動はrestart、停止はstopとやります。 停止は、必ず、stopで行ってください。kill -9 [httpdpid] でやると、正常に終了されません) httpd.confをいじると、細かい設定ができます。 |
||||
Apache設定へ(作成中)
|
||||
Windows(WindowsXP)の場合 | ||||
まず、Apacheの本家サイトからWindows版Apacheを落としてきます。 2002/11/21現在 ・Apache1.3.27 ・Apache2.0.43 が、あります。 Windowsはコンパイル作業がいらないので インストールプログラムを実行するだけでOKです。 (ソースも公開されているので 環境さえあればソースを落としてきて コンパイルすることも可能です) インストールする環境はWindows2000やXPの方が良いです。 (Windows98でも動きますが、NT系の方がサービス として動いてくれるためです) 落としてきた、ファイルを実行します。 (今回は、apache_1.3.27-win32-x86-no_src.msi) (以下はwindowsXPでインストールした場合のものです) 以下は、サーバ運用と言うよりは、 サーバにUPする際にローカル上でサイトのデータを 事前確認するために使う こと目的とした場合の方法です。 (私がそう使っているので(^^;)) |
Apache2は文字コードの設定が 厳密になったりして設定が めんどくさいですし、 Apache2が新しくなると Linux同様 PHPが、モジュールとして 使えなかったり するので、Apache1.3.27の方を おすすめします。 (Windowsのモジュール動作は 微妙ではありますが・・・) Apache2に追加された 「 AddDefaultCharset」 の設定が非常にめんどくさいです。 ( "AddDefaultCharset none" にすれば今までどおり metaで文字コードを指定すれば 文字コードで表示されます・・・) ここでは、Apache1.3.27の インストール方法についてやります |
|||
apache_1.3.27-win32-x86-no_src.msi を実行すると、左のように出ます。 Nextを押します。 |
||||
ここでは、ライセンス等みたいなものを書いてあります。 「I accept〜」(同意する)のラジオボタンを押して Nextを押します。 |
||||
apacheについて書いてあります。 Nextを押します。 |
||||
ここでは、Serverの設定を書きます。 Network Domainname Server Name にlocalhostと書いてください。 (公開サーバとして動かすならば ドメインネームを入力しても OKです) 3つ目の入力ボックスは、 e-mailアドレスを書きましょう。 一番下のものは実行権の指定です。 全てのユーザでapacheの実行をできるようにするか インストールしたユーザのみ実行するかの指定です。 ここはどっちでもかまわないと思います。 (実際サーバとして動かす場合を除く) 終わったらnextを押してください。 |
||||
ここでは、インストールタイプ を指定しています。 Completeのままで良いと思います。 Nextを押します。 |
||||
ここでは、インストール先を指定します。 changeを押せば変更できます。 (通常はそのままで大丈夫と思います) Nextを押します。 |
||||
そして、インストールを開始する 趣旨が表示されます。 Installを押します。 そうするとインストールが開始されます。 |
||||
Install Wizard Completed と、出ればインストールは完了です。 WindowsNT系では自動的にApache がバックグラウンドで動きます。 (Windows2000/XPの場合) |
||||
インストールされると、 スタートメニューに登録されるため Apacheの 再起動(Restart)や停止(Stop) はここでおこなえます。 |
||||
インストールは以上で終わりです。 httpd.confをいじると、細かい設定ができます。 |
||||
Apache設定へ(作成中)
|
||||
|
||||
UNIX(Linux)の場合 | ||||
まず、PHPの本家HPからPHPを落としてきます。 と、いいたいところですが、日本語のバグ等があるようで software labolatory 'nx' さんの所から、そのバグFIXと国際化パッチあて済みのPHPを落としてきます。 (第2章のダウンロードから落とせます。) 2002/11/21現在 ・php-4.2.3-multibyte が、あります。 コンパイル作業時に使う、通常必要ソフトウェアは入ってると思うので その設定は省きます。 では、次から作業の方法を始めます。 /usr/local/以下にインストールする方法です。 |
||||
まず、上記のサイトから落としてきたphp-4.2.3-multibyte.tar.gzを/usr/local/srcに解凍します | ||||
$root@k-dist /root>cd /usr/local/src |
||||
最初の4つのオプションはPHPでマルチバイトの文字やマルチバイト関数を使用する場合必ず必要です。 ここではオプションを改行していますが、実際は改行せずそのまま、続けてスペース区切りで入力してください。 その後、いつもの作業を行えば、インストール完了です。 後、最後にPHPの設定ファイル、php.ini-distを/usr/local/lib/にphp.iniとしてコピーします |
||||
$root@k-dist /src>cd php-4.2.3 |
||||
[オプション説明]
|
||||
インストールが終わったら、起動設定をします。 Apacheの設定ファイル/usr/local/apache/conf/httpd.conf (Apache2の場合は/usr/local/apache2/conf/httpd.conf) をテキストエディタで開ます。 そして以下の、設定を書き込みます。 |
||||
203行目あたりにあるにある(Apache1.3.27の場合)、 # Example: # LoadModule foo_module libexec/mod_foo.so っと書いてあるところの下に、 LoadModule php4_module libexec/libphp4.so っと、書き、さらに何行か下の方にいって DirectoryIndex index.html っと、書いてあるところの下に、 DirectoryIndex index.html index.htm index.php っとindex.phpを後ろに追加し、さらに何行か下の方にいって AddType application/x-tar .tgz AddType image/x-icon .ico っと書いてある所の下に AddType application/x-httpd-php .php と書く。 |
||||
この設定が終わったら、Apacheを再起動(restart)しましょう。 しっかり再起動してくれれば、PHPが動作します。 エラーが出た場合は、いろんな原因が考えられます。 (モジュールの場所がうまく指定されてない、共有関係が壊れているなど・・・・) そうすることで、PHPが使用可能になります。 |
||||
再起動したら、phpinfo.phpというテキストファイルを作り、 <? phpinfo(); ?> っと書いて保存し、htdocsなどWebブラウザから見れるディレクトリにコピーして アドレスをうってみましょう。 http://localhost/phpinfo.php (phpinfo.txtをApacheのデフォルトWeb公開ディレクトリ/usr/local/apache/htdocs/にコピーした場合) PHP関係の表示が出たら、PHPは正常に動いています。 −例− php.iniをいじると、細かい設定ができます。 |
||||
PHP設定へ(作成中)
|
||||
Windowsの場合 | ||||
まず、PHPの本家HPからPHPのWindowsバイナリーを落としてきます。 上のリンクのWindows Binariesという項目の下にある、ファイルを落としてきます。 2002/11/21現在 ・PHP 4.2.3 zip package(モジュール動作させる場合はこちら/CGIも可能) ・PHP 4.2.3 installer(CGIで動かすときのみ) のどれかを落とします。 そしてこれだけでは、マルチバイト関数の一部が使えないので、 software labolatory 'nx' さんの所から、と国際化パッチあて済みのPHPのWindowsバイナリーを落として来ます。 (第2章のダウンロードから落とせます。) 2002/11/21現在 ・php-4.2.3-multibyte が、あります。 コンパイルはこれらがあれば、行う必要はありません。 (Linuxで使ったソースを解凍してVisualC++用のMAKEファイルがあるので、 それを使ってコンパイルすることも可能なようです) では、次から作業の方法を始めます。 C:\phpにPHP 4.2.3 zip packageをインストールする方法です。 |
||||
1.本家から落としてきた、php-4.2.3-Win32.zipをC:\phpに解凍します。 (phpのフォルダはあらかじめ、作っておきましょう) 2.次に、国際化パッチ済みのものを、解凍します。(別フォルダへ) (c:\tempとかで良いと思います) 3.解凍したものを、C:\phpにコピーします(全て上書きをしてください) 4.PHPの設定ファイル、C:\phpの中にあるphp.ini-distをC:\windowsにphp.iniとしてコピーします 5.PHPの実行ファイル、C:\phpの中にあるphp.exeとモジュールファイルphp4ts.dllをC:\windows\system32にコピーします (Windows9x系の場合はC:\windows\system) これで、インストールは完了です。 後はPHPを有効にするために、Apacheの設定を変更します。 |
||||
インストールが終わったら、起動設定をします。 Apacheの設定ファイル C:\Program Files\Apache Group\Apache\conf\httpd.conf (Apache2の場合はC:\Program Files\Apache Group\Apache2\conf\httpd.conf) をテキストエディタで開きます |
||||
[モジュール動作の場合] 192行目あたりにあるにある(Apache1.3.27の場合)、 #LoadModule unique_id_module modules/mod_unique_id.so っと言うところの下に、 LoadModule php4_module c:/php/sapi/php4apache.dll と、書き、さらに何行か下の方にいって AddModule mod_setenvif.c っと言うところの下に、 AddModule mod_php4.c っと、書き、さらに何行か下の方にいって DirectoryIndex index.html index.htm index.php っと、書いてあるところの下に、 DirectoryIndex index.html index.htm index.php っとindex.phpを後ろに追加し、さらに何行か下の方にいって AddType application/x-tar .tgz っと書いてある所の下に AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps を書く。 [CGI動作の場合] ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/" っと、書いてある所の下に ScriptAlias /php/ "c:/php/" っと、書き、さらに何行か下の方にいって DirectoryIndex index.html index.htm index.php っと、書いてあるところの下に、 DirectoryIndex index.html index.htm index.php っとindex.phpを後ろに追加し、さらに何行か下の方にいって AddType application/x-tar .tgz っと書いてある所の下に AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps っと、書き、さらに何行か下の方にいって # Format: Action handler-name /cgi-script/location # っと、書いてある所の下に Action application/x-httpd-php "/php/php.exe" っと、書く。 |
||||
この設定が終わったら、Apacheを再起動(restart)しましょう。 しっかり再起動してくれれば、PHPが動作します。 そうすることで、PHPが使用可能になります。 |
||||
再起動したら、phpinfo.phpというテキストファイルを作り、 <? phpinfo(); ?> っと書いて保存し、htdocsなどWebブラウザから見れるディレクトリにコピーして アドレスをうってみましょう。 http://localhost/phpinfo.php (phpinfo.txtをApacheのデフォルトWeb公開ディレクトリC:\Program Files\Apache Group\Apache\htdocshtdocs\にコピーした場合) (apache2はC:\Program Files\Apache Group\Apache2\htdocshtdocs\) PHP関係の表示が出たら、PHPは正常に動いています。 −例− php.iniをいじると、細かい設定ができます。 |
||||
PHP設定へ(作成中)
|
||||