2006年05月20日

山旅本屋さん Ver0.81.02 リリースの秘密

マイバブルタイプ様の、使って損はないプログラム で、
手軽にアマゾンショップ 「tamazon」 を知り、
山旅本屋さんVer0.81.0 2 としてリニューアルしました。

「Amazonの商品を紹介するアフィリエイト サイトが簡単に構築できる。」
はずだったのですが、私が管理するサーバだと次の3点で苦労しました。

1.検索処理で文字化けが発生
  PHPの文字関係の設定が次のようになっていたため文字化けが発生
   mbstring.http_input auto
   mbstring.http_output SJIS
   mbstring.internal_encoding EUC-JP
  「.htaccess」で次のように設定して旨く動くようになった。
   php_value default_charset UTF-8
   php_value mbstring.internal_encoding UTF-8
   php_value mbstring.http_input auto
   php_value mbstring.http_output UTF-8
   php_flag mbstring.encoding_translation On

2.「.htaccess」ファイルが使えない
  1.で「.htaccess」で次のように設定・・・と書きましたが、今度は、
  Apacheサーバが、.htaccess ファイルを使用しない設定になってました。
  Apache チュートリアル: .htaccess ファイル
  などを参考に、httpd.confを次のように変更しApacheをrestartしました。
   AllowOverride None
      ↓
   AllowOverride All

3.RewriteEngine が使えない
  手軽にアマゾンショップでは、RewriteEngineを使ってURLをすっきり
  させているのですが、これが使えませんでした。
  原因はApacheサーバに、mod_rewrite をインストールしてなかった
  からでした。
  mod_rewriteのインストール・設定
  などを参考に、./configureを次のように変更しApacheを再構築し、
   ./configure --enable-module=so --enable-rewrite=shared
  さらに、httpd.confに次の1行を追加しました。
   LoadModule rewrite_module modules/mod_rewrite.so

これで、なんとか「手軽にアマゾンショップ」が動きました。
人のプログラムを使うことも大変勉強になります。
苦労したあと動いたので大変嬉しいです。
あとはテンプレートの変更で、売れる「山旅本屋さん」にするだけです。
でも、売れる「山旅本屋さん」にするのが一番難しいですが。(^_^);

 ←クリックしてもらうと嬉しいです。

投稿者 山旅人 : 09:43 | コメント (1) | トラックバック

2005年06月10日

FedoraCore3 サーバセットアップ

 「北京都Webコンテンツ研究会」のサーバのHDDが壊れてしまったので、
 HDDを入れ替えFedoraCore3のシステムを入れました。
 依存関係などがよく分からないのでFedora Core3のインストールは必要最低限
 のものだけ入れて、その後Apacheなどを入れました。
 インストールの手順は次のとおりです。

1.ハードウェア
 1) CPU:VIA C3 800MHZ
 2) Memory:SO-DIMM(144ピン) 256MByte
 3) HDD:E-IDE 2.5inch 20GByte
 4) LAN:10BASE-T/100BASE-TX


2.サーバ・セットアップ・ポリシー
 1) ホストIPアドレス   192.168.1.100
  グローバルIP 219.122.53.28 からのポートフォワード
 2) ホスト名        yama / www2
 3) ドメイン名 nkyoto.jp
 4) デフォルトゲートウェイ 192.168.1.1
 5) プライマリDNSサーバー  192.168.1.1
 6) セカンダリDNSサーバー  61.211.239.55


3.OS
1) Fedora Core3 (Kernel 2.6.9-1.667)
テキストモードでインストール
(マウスをつなぐと起動しなかったため、たぶんグラフィック関係の問題)

・Japanese
・Server
・自動パーティション
・DHCP なし
・ファイアーウオール なし
・SELinux なし

パッケージは次のものだけを有効にし、httpd(Apache)などは
後から入れる。
・FTPサーバー
・開発ツール
・Xソフトウェア開発

2) kernel-2.6.11-1.27_FC3にアップデート
# rpm -qa | grep yum
# rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
# yum update


4.サーバ
1) ssh (Fedora Core3の標準)
Fedora Core3はユニコード(UTF-8)が標準のようです。
UTF-8+ssh2対応のクライアントは、「UTF-8対応TeraTerm Pro」 がお勧め。

2) ftp(vsftp Fedora Core3の標準 2.0.1-5)
# vi /etc/vsftpd/vsftpd.conf にて次のように変更する。
ascii_upload_enable=YES <--- コメントを外す。
ascii_download_enable=YES <--- コメントを外す。

use_localtime=YES <--- 追加

// 起動
# /etc/init.d/vsftpd start
// 自動起動の設定
# chkconfig --level 2345 vsftpd on


5.言語
1) gcc 3.4.3 20050227 (Fedora Core3の標準)
2) perl 5.8.5 (Fedora Core3の標準)
// シンボリックリンクを設定
# ln -f -s /usr/bin/perl /usr/local/bin/perl

3) Java J2SE 1.4.2-05
// 参考サイト
http://java.sun.com/j2se/1.4/ja/index.html

$ su -
# mkdir /usr/java/
# mv /home/yama-tabi/tar/j2sdk-1_4_2_05-linux-i586.bin /usr/java/
# cd /usr/java/
# chmod +x j2sdk-1_4_2_05-linux-i586.bin
# ./j2sdk-1_4_2_05-linux-i586.bin

// JAVAは複数ユーザーから使用するので、/etc/profile の最後
// に次の記述を追加する。
# vi /etc/profile
----- ここから ------
JAVA_HOME=/usr/java/jdk1.4.2_05
PATH=$JAVA_HOME/bin:$PATH:.
export JAVA_HOME PATH
----- ここまで -----


6.DBサーバ(postgresql 8.0.3)
// 参考サイト
http://www.postgresql.org/

// ファイル転送
postgresql-8.0.3.tar.gzファイルを/usr/local/src/に送る。

// ユーザー作成
$ su -
# useradd postgres
# passwd postgres

// PostgreSQLのインストール
# cd /usr/local/src/
# tar -zxvf postgresql-8.0.3.tar.gz
# chown -R postgres.postgres /usr/local/src/postgresql-8.0.3/

# mkdir /usr/local/pgsql
# chown -R postgres.postgres /usr/local/pgsql/

// 環境変数の設定
// postgresは複数ユーザーから使用するので、/etc/profile の最後に次の記述
// を追加する。
# vi /etc/profile
----- ここから ------
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=$PGLIB
----- ここまで -----

// postgresユーザーでインストール
# su - postgres
$ cd /usr/local/src/postgresql-8.0.3/
$ ./configure
$ make all
$ make check
$ make install

// データベースの初期化・postmasterの起動
$ initdb --encoding=EUC_JP --no-locale
$ pg_ctl -w start
$ psql -l

// ユーザー作成
$ createuser yama-tabi
$ createuser nobody

// DB作成
$ su - yama-tabi
$ createdb yama-tabi

// postmasterがlinux起動時に起動するように設定
$ su -
# cd /etc/rc.d/init.d/
# cp -p /usr/local/src/postgresql-8.0.3/contrib/start-scripts/linux postgresql
# chown root.root postgresql
# chmod 755 postgresql
# chkconfig --level 2345 postgresql on


7.Webサーバ(Apache 2.0.54)
// 参考サイト
http://www.apache.org/

// ファイル転送
httpd-2.0.54.tar.gzファイルを/usr/local/src/に送る。

# cd /usr/local/src/
# tar -xvzf httpd-2.0.54.tar.gz
# cd httpd-2.0.54
# ./configure --enable-module=so
# make
# make install

# vi /usr/local/apache2/conf/httpd.conf
にて以下を変更する。

// ここから
// 233行付近に次の2行を追加
// php5をインストールすると自動的に追加されるかもしれません。
// libphp5.soが無い状態で、この設定でApacheを起動すると
// エラーになってしまいます。
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php

// 349行付近のDirectory /usr/local/apache2/htdocsの
// Options を変更
Options Indexes FollowSymLinks ExecCGI Includes

// 375行付近のDirectory /home/*/public_htmlを次の
// ように設定
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI Includes
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

// 400行付近を次のように変更
DirectoryIndex index.html index.htm index.php index.cgi index.html.var

// 777行付近を次のように変更
LanguagePriority ja en da nl et fr de el it kr no pl pt pt-br ltz ca es sv tw

// 860行付近の次コメントをはずす
AddHandler cgi-script .cgi

// 885行付近に次を追加
AddType text/html .html .shtml
AddOutputFilter INCLUDES .html .shtml
// ここまで


// 自動起動ファイルの変更
# cp /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd.org
# cp -f /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd

// 起動(PHPのインストールが終わるまでは起動時エラーとなる。)
# /etc/init.d/httpd start
// 再起動
# /etc/init.d/httpd restart

// 自動起動の設定
# vi /etc/rc.d/rc.local
# /usr/local/apache2/bin/apachectl start <--- これを追加


8.GDライブラリ関係
1) XFree86 (Fedora Core3の標準)

2) zlib 1.2.2
// 参考サイト
http://www.zlib.net/

// ファイル転送
zlib-1.2.2.tar.gzファイルを/usr/local/src/に送る。

$ su -
# cd /usr/local/src/
# tar -zxvf zlib-1.2.2.tar.gz
# cd zlib-1.2.2/
# ./configure
# make clean
# make
# make install

3) jpegsrc.v6b.tar.gz
// 参考サイト
http://www.ijg.org/

// ファイル転送
jpegsrc.v6b.tar.gzファイルを/usr/local/src/に送る。

$ su -
# mkdir /usr/local/man/man1/
# cd /usr/local/src/
# tar -zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b/
# ./configure --enable-shared
# make clean
# make
# make install

4) libpng-1.2.8-config.tar.gz
// 参考サイト
http://www.libpng.org/pub/png/libpng.html

// ファイル転送
libpng-1.2.8-config.tar.gzファイルを/usr/local/src/に送る。

$ su -
# cd /usr/local/src/
# tar -zxvf libpng-1.2.8-config.tar.gz
# cd libpng-1.2.8-config/
# cp scripts/makefile.linux makefile
# vi makefile
------------------------------------
#ZLIBLIB=/usr/local/lib
#ZLIBINC=/usr/local/include
ZLIBLIB=../zlib
ZLIBINC=../zlib

↓書き換えます↓

ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include
#ZLIBLIB=../zlib
#ZLIBINC=../zlib
------------------------------------
# make clean
# make
# make install

5) freetype 2.1.9
// 参考サイト
http://freetype.sourceforge.net/index2.html

// ファイル転送
freetype-2.1.9.tar.gzファイルを/usr/local/src/に送る。

$ su -
# cd /usr/local/src/
# tar -zxvf freetype-2.1.9.tar.gz
# cd freetype-2.1.9/
# ./configure
# make clean
# make
# make install

6) gd 2.0.33
// 参考サイト
http://www.boutell.com/gd/

// ファイル転送
gd-2.0.33.tar.gzファイルを/usr/local/src/に送る。

$ su -
# mv /home/yama-tabi/tar/gd-2.0.33.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar -zxvf gd-2.0.33.tar.gz
# cd gd-2.0.33/
# ./configure
// Makefileを変更
# vi Makefile
---- ここから ----
CFLAGS = -g -O2 -DJISX0208 ←追加
---- ここまで ----
# make clean
# make
# make install

 7) ImageMagick 6.2.3-0
// 参考サイト
http://www.simplesystems.org/ImageMagick/

// ファイル転送
ImageMagick-6.2.3-0.tar.gzファイルを/usr/local/src/に送る。

$ su -
# cd /usr/local/src/
# tar zxf ImageMagick-6.2.3-0.tar.gz
# cd ImageMagick-6.2.3
# ./configure
# make clean
# make
# make install

// 動作確認例
$ convert -geometry 100x100 408.jpg 408s.jpg


9.php 5.0.4
// 参考サイト
http://www.php.net/

// ファイル転送
php-5.0.4.tar.gzファイルを/usr/local/src/に送る。

$ su -
# cd /usr/local/src/
# tar -zxvf php-5.0.4.tar.gz
# cd php-5.0.4/
# LDFLAGS=-lstdc++ ./configure \
--enable-xml \
--enable-xslt \
--with-dom \
--with-dom-xslt \
--with-dom-exslt \
--with-xslt-sablot \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-pgsql=/usr/local/pgsql \
--enable-mbstring \
--enable-mbregex \
--enable-gd-native-ttf \
--with-gd=/usr/local \
--with-freetype-dir=/usr/local \
--with-jpeg-dir=/usr/local \
--with-zlib=/usr/local \
--with-png-dir=/usr/local

# make clean
# make
# make install

// php.ini ファイルのコピー
# cp php.ini-dist /usr/local/lib/php.ini
# vi /usr/local/lib/php.ini
PHP3との互換性を持たすためには、
register_globals = On
にする

  日本語処理のため
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;


以下のhtml(拡張子は.php)で動作確認

<HTML>
<HEAD><TITLE>phpinfo</TITLE></HEAD>
<BODY>
<?php
print("日本語も表示できるよ。<BR>\n");
phpinfo();
?>
</BODY>
</HTML>

 ←クリックしてもらうと嬉しいです。

投稿者 山旅人 : 06:44 | コメント (1) | トラックバック

 
Copyright (C) 2004-2007 Shingo Ishizumi All Right Reserved (メール)       ここで一言