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) | トラックバック


