■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■　　　　　　　　　　　カキコまっぷ　環境設定　Readme
■　　　　　　　　　　Iwate Infomation System 2006/09/01
■
■　Copyright (c) 2006 Iwate Information System Co.,Ltd. All Rights Reserved.
■　You may see the License at LICENSE_EN.txt(English) or LICENSE_JA.txt(Japanese).
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

【概要】

　カキコまっぷを使用するためには、ソースファイルの展開後に各ソフトウェアに設定が必要です。
当Readmeではその解説を行います。


【前提】

　カキコまっぷを使用するためには以下のソフトが必要となります。
また、そのインストールが終了していることを前提とします。

　●LINUX（FedraCore/Redhat系推奨）
　●Apache2.X
　●PHP4.4.X
　　PEAR（http://pear.php.net/）
　　Smarty（http://smarty.php.net/）
　　PHP-JSON（http://www.aurore.net/projects/php-json/）
　●libjpeg（http://www.ijg.org/）
　●libpng（http://www.libpng.org/）
　●zlib（http://www.zlib.net/）
　●freetype（http://www.freetype.org/）
　●GD（http://www.boutell.com/gd/）
　●PostgreSQL8.X
　▲Kakikoエンジンを使用する（GISを使用しない）場合
　　地図として使用する各縮尺のイメージファイル（jpeg/gif/png）
　▲GISエンジンを使用する場合
　　●MapServer（http://mapserver.gis.umn.edu/）
　　　※MapServerで使用するfontファイルは別途用意してください
　　●PROJ4（http://proj.maptools.org/）
　　●GEOS（http://geos.refractions.net/）
　　●GDAL（http://www.remotesensing.org/gdal/）
　　●PostGIS（http://postgis.refractions.net/）
　　◎地図情報のshapeファイル

　　　例）postGISへのデータの投入
		※コマンドの詳細はpostGISのマニュアルを参照してください。

		#createdb -E UTF-8 gismapdb		（ここでははデータベース名として「gismapdb」を指定しています）
		#createlang -d gismapdb plpgsql
		#psql gismapdb -f /usr/local/pgsql/share/contrib/lwpostgis.sql			（sqlファイルはpostgreSQLのインストールパスから指定）
		#psql gismapdb -f /usr/local/pgsql/share/contrib/spatial_ref_sys.sql
		
		shapeファイルのデータ投入
		#shp2pgsql -D -s 4612 dourokukan.shp dourokukan gismapdb | nkf --utf8 > dourokukan.sql 	（shapeファイルがdourokukan.shpの場合）
			※追加でshapeデータを投入する場合は次のように指定します。
			#shp2pgsql -a -s 4612 dourokukan.shp dourokukan gismapdb | nkf --utf8 >> dourokukan.sql 
		#psql -d gismapdb -f dourokukan.sql

		※shapeファイルのデータ投入の２つのコマンドは、shapeファイルの数だけ繰り返します。
　　◎MapServerで使用するフォントファイル
　　　フリーあるいは使用が許可されているTrueTypeのフォントファイル（ゴシック、Pゴシック、UIゴシック、明朝、P明朝）


【環境設定】
１．カキコまっぷソースファイルのダウンロード
　http://www.iisys.co.jp/prodct6.htmから、kakikoMap-x.x.x.tar.gzを任意のディレクトリにダウンロードします。


２．ダウンロードしたkakikoMap-x.x.x.tar.gzを展開
　任意のディレクトリで展開します。本書では例として「/usr/local/」で展開しています。

	#cd /usr/local/
	#tar xvzf kakikoMap-x.x.x.tar.gz
	#cd kakikoMap
	#ls
		ChangeFileOwner.sh
		GuestUserReadmeUTF8.txt
		GuestUserReadmeSJIS.txt
		MapAdminReadmeUTF8.txt
		MapAdminReadmeSJIS.txt
		SetEnvReadmeUTF8.txt
		SetEnvReadmeSJIS.txt
		SystemAdminReadmeUTF8.txt
		SystemAdminReadmeSJIS.txt
		UserReadmeUTF8.txt
		UserReadmeSJIS.txt
		conf
		contents_temp
		html
		kakiko-bin
		kakikolib
		log
		smarty

３．展開したディレクトリ・ファイルの所有者変更
　スーパーユーザでChangeFileOwner.shを実行します（引数にApacheの実行ユーザとグループ名を指定します）。
　※ここでは、Apacheのユーザを「apache」、グループを「apache」としています。

	#su 
	#sh /usr/local/kakikoMap/ChangeFileOwner.sh apache apache


４．MapServerの実行ファイルを配置（GISエンジンを使用する場合のみ）
　MapServerの実行バイナリファイルを用意しcgi-binに配置します。

	#cp /usr/local/src/mapserver-4.8.3/mapserv /usr/local/kakikoMap/kakiko-bin/　（コピー元は例です）
	#ls /usr/local/kakikoMap/kakiko-bin/
		mapserv


５．Apacheの設定
　Apacheの設定ファイルhttpd.confの以下の部分のコメントを外す、あるいは追記します。

	#vi httpd.conf

	LoadModule php4_module modules/libphp4.so
	DirectoryIndex index.html index.php
	AddDefaultCharset UTF-8
	AddType application/x-httpd-php .php

	Alias /kakiko/ "/usr/local/kakikoMap/html/"　（ここではWEB公開ディレクトリを「/kakiko/」で定義しています）
	<Directory "/usr/local/kakikoMap/html/">
	    Options FollowSymLinks
	    AllowOverride None
	</Directory>

	ScriptAlias /kakiko-bin/ "/usr/local/kakikoMap/kakiko-bin/"　（CGIの実行権限を与えます）
	<Directory "/usr/local/kakikoMap/kakiko-bin/">
	    AllowOverride None
	    Options None
	    Order allow,deny
	    Allow from all
	</Directory>


６．PHPの設定
　PHPの設定ファイルphp.iniの以下の部分のコメントを外す、あるいは修正・追記します。

	#vi php.ini

	post_max_size = 20M
	max_execution_time = 180
	magic_quotes_gpc = Off
	include_path ="/php/includes:/usr/local/lib/php:/usr/local/include:/usr/local/kakikoMap/kakikolib:/usr/local/kakikoMap/conf"
	extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-YYYYMMDD/"　（PHP-JSONの配置先。環境によって配置先が異なる場合があります）
	upload_max_filesize = 20M
	pgsql.allow_persistent = On
	mbstring.language = Japanese
	mbstring.internal_encoding = UTF-8
	mbstring.http_output = UTF-8


７．Apacheの再起動

	#/etc/rc.d/init.d/httpd restart
	正常に起動することを確認してください。


８．携帯電話からの投稿とMapServerの設定（xxxxxxxx_setting.ini）
　iniファイルを開き、下記のキー項目を設定します。

	#vi /usr/local/kakikoMap/contents_temp/front/conf/ini/xxxxxxxx_setting.ini

　　◎携帯電話からのメモ投稿で画像を添付する場合、携帯メールの添付機能を利用します。
　　　このためのメール受信用サーバの情報を設定します。
		MOBILE_MAIL_ADDR（受信メールアドレス）
		POP_SERVER_ADDR（POP3サーバのアドレス）
		POP_USER（ユーザーID）
		POP_PASS（パスワード）
		MOBILE_IMG_DIR（添付画像保存先）
		MOBILE_MAX_SIZE（添付画像最大サイズ）
		TEMP_TYPE（受信許可ファイルタイプ）

　　◎MapServerの設定（GISエンジンを使用する場合のみ）
		MAP_SERVER_ADDR（MapServerのURL）


９．メールの設定（mailsetting.ini）
　カキコまっぷを使用するユーザが利用者登録をした場合など、メールを使用して登録情報が通知されます。
　使用するメール環境に即した編集を行ってください。

	#vi /usr/local/kakikoMap/conf/kakikomap/ini/setting/mailsetting.ini

	MAIL_TYPE=smtp　または　MAIL_TYPE=sendmaiを設定。

	　▲MAIL_TYPE=smtpにした場合
		SMTP_HOST（SMTPサーバのアドレス）
		SMTP_PORT（使用するポート番号）
		SMTP_AUTH（送信時に認証を使用する場合はtrue、使用しない場合はfalse）
		SMTP_USERNAME（認証を使用する場合のユーザ名）
		SMTP_USERPASS（認証を使用する場合のパスワード）

	　▲MAIL_TYPE=sendmailにした場合
		SENDMAIL_PATH（sendmailのインストールパス）
		SENDMAIL_ARGS（sendmailの起動オプション（必要時））


１０．ログ出力の設定（logsetting.ini）
　ログ出力の場所、頻度を設定します。必要に応じて編集してください。

　　#vi /usr/local/kakikoMap/conf/kakikomap/ini/setting/logsetting.ini

	KAKIKOLOG_HANDLER（ログ出力方法）

　　※KAKIKOLOG_HANDLERを「file」に設定した場合のみ、次のキーを設定します。
　　	KAKIKOLOG_NAME（ログ出力先）

１１．画面テンプレートの設定（KakikoSmarty）

　　#vi /usr/local/kakikoMap/kakikolib/class/common/KakikoSmarty.class.php

　　・$this->template_dir="/usr/local/kakikoMap/smarty/kakikomap/templates"　（本書例での場合の設定）
　　・$this->compile_dir="/usr/local/kakikoMap/smarty/kakikomap/templates_c"　（本書例での場合の設定）


１２．フォントの配置（MapServerを使用するときのみ）
　前提で用意したMapServerで使用するフォントファイルを下記ディレクトリ内に配置します（ここでは「font.ttf」とします）。

	#ls /usr/local/kakikoMap/contents_temp/front/src/img/fonts/
		font.ttf
		fonts.list

　配置したファイル名をもとに、下記ファイルを修正します。
	
	#vi /usr/local/kakikoMap/contents_temp/front/src/img/fonts/fonts.list
		gothic   font.ttf
		pgothic  font.ttf
		uigothic font.ttf
		mincho   font.ttf
		pmincho  font.ttf

１３．データベースの作成
　psqlを使用し、カキコまっぷで使用するデータベースを作成します。

	#vi /usr/local/kakikoMap/contents_temp/SystemKakikoDBCreate.sql
	　作成するデータベース名、オーナーを編集します。
	
	psqlを実行できるユーザにスイッチします。
	 #su postgres（ここではpostgresとします）

	#psql -h localhost -U postgres -f "/usr/local/kakikoMap/contents_temp/SystemKakikoDBCreate.sql"
		（※localhostはDBが存在するサーバのアドレス、postgresは実行するユーザを指定します。）
	
　カキコまっぷで使用するテーブルを作成します。

	#psql -h localhost -U postgres -d 作成したデータベース名 -f "/usr/local/kakikoMap/contents_temp/SystemKakikoDB.sql"
		(※localhostはDBが存在するサーバのアドレス、postgresは実行するユーザを指定します。
		postgres以外のユーザで作成する場合は実行ファイル内のownerを変更する必要があります。）


１４．システム管理ユーザの作成
　以下のinsert文を編集し、実行します。
  #su
　#vi /usr/local/kakikoMap/contents_temp/CreateSystemAdminUser.sql

	SQL文の次の文字を下記の条件で変更してから実行します。
		ユーザID:半角英数
		メールアドレス:メールアドレス形式
		ユーザ名：全半角可
		パスワード：半角英数８文字～２０文字

　修正したSQLを実行します。
        #su postgres
	#psql -h localhost -U postgres -d 作成したデータベース名 -f "/usr/local/kakikoMap/contents_temp/CreateSystemAdminUser.sql"


１５．カキコまっぷデータベース接続情報の設定
　１３番で作成したDBの接続情報を設定ファイルに記述します。

  #su
　#vi /usr/local/kakikoMap/conf/kakikomap/ini/setting/systemadmininfo.ini

　下記の各項目に値を記述します。
	DBHOST（データベースサーバのアドレス）
	DBNAME（データベース名。１３番で使用したものと同じ値を設定）
	DBUSER（ユーザー名。同上）
	DBPASS（パスワード。同上）

　
１６．管理画面への接続
　http://xxx.xxx.xxx.xxx/kakiko/kakikomap/admin/index.php
　管理者ログイン画面が表示されます。


