Pukiwikiの設定について

Wikiについて

 
Wikipediaで”ウィキ”を見ると、「ウェブブラウザを利用してWebサーバ上のハイパーテキスト文書を書き換えるシステムの一種」とある。以前より、Localネットワーク内でWikiを立ち上げて情報を家族で共有できるようにしているのだが・・・ 専ら妻が「見る」だけで書き込まれることはほとんどない。とはいえ、自分で情報を整理してメモしておくのにも便利なのでWikiを使用しているのだが、ここでは、その設定方法についてメモしておく。

Pukiwikiの導入について

 
Wikiには色々な種類があるが、ここではLocalネットワーク内で「pukiwiki」を使う場合のについてメモする。

ApacheとPHPのダウンロード

まず、Apache(Webサーバソフト)をインストールする(Apacheの公式サイトよりダウンロード)。公式サイトに行くと、いつのまにかWindows版のインストーラがなくなっていたので、その他のディストリビューション (公式サイト>最新版の「Download」>Files for Microsoft Windows>Apache Haus>「Apache ○.○.○ x86/x64」の「Download Locations」をクリック) をダウンロードすることにした。
 
ダウンロードしたzipファイルを解凍し、「Apache24」フォルダを任意の場所(ここでは、「D:/Program_data/Apache24」とする)に置く。

次に、(PHPの公式サイトよりPHP5をダウンロードする(Pukiwiki_1.5.0はPHP5.5対応なので、公式サイト>Downloads>Current Stable PHP 5.5.32>Windows downloads>PHP5.5のVC11 x64 Thread Safe版を選択)。
 
ダウンロードしたzipファイルを解凍してできたフォルダ「php5.5」にリネームして、を任意の場所に置く(ここでは、「D:/Program_data/php5.5」とする)。

Pukiwikiのダウンロード

 
pukiwikiの公式サイトから、現状の最新版をダウンロードする(ダウンロード>PukiWiki/Download/1.5.0>pukiwiki-1_5_0_utf8.zip)。

ウチでは、1つのサーバーマシンに2つのIPアドレス(192.168.○○○.○○○、192.168.△△△.△△△)を設定し、その1つにはアドレスによるアクセス制限をかけてwikiを2つ運用するので、ダウンロードした「~.zip」ファイルを解凍し、ファイルをコピーしてリネームした2つのフォルダを準備した(ここでは、「D:/Wiki_data/wiki1」と「D:/Wiki_data/wiki1」とする)。

Apache(httpd.conf)の設定

先のApache24フォルダの中の「conf」フォルダにある「httpd.conf」を編集する。以下は、最初にコメントアウト行を全て削除し、追加/修正したものは「#####」で始まるコメント行でメモしたもの。


#####以下の”SRVROOT”を修正
Define SRVROOT “D:/Program_data/Apache24”


ServerRoot “${SRVROOT}”

Listen 80

#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_core_module modules/mod_authn_core.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule authz_core_module modules/mod_authz_core.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule cache_socache_module modules/mod_cache_socache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule data_module modules/mod_data.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule http2_module modules/mod_http2.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule lua_module modules/mod_lua.so
#LoadModule macro_module modules/mod_macro.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_html_module modules/mod_proxy_html.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule request_module modules/mod_request.so
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_crypto_module modules/mod_session_crypto.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so


#####以下のModuleを追加
LoadModule php5_module “D:/Program_data/php5.5/php5apache2_4.dll”


&ltIfModule unixd_module>
User daemon
Group daemon
&lt/IfModule>


#####以下のServerAdmin/Nameをコメントアウト
#ServerAdmin admin@example.com
#ServerName localhost:80


&ltDirectory />
AllowOverride none
Require all denied
&lt/Directory>


#####以下、2つのVirtualHostを追記

&ltVirtualHost 192.168.○○○.○○○:80>
ServerName 192.168.○○○.○○○:80
ServerAdmin admin@example.com
DocumentRoot “D:/Wiki_data/wiki1”
&lt/VirtualHost>

&ltVirtualHost 192.168.△△△.△△△:80>
ServerName 192.168.△△△.△△△:80
ServerAdmin admin@example.com
DocumentRoot “D:/Wiki_data/wiki2”
&lt/VirtualHost>

#####以下のデフォルトのDocumetRootをコメントアウト
#DocumentRoot “${SRVROOT}/htdocs”
#&ltDirectory “${SRVROOT}/htdocs”>
#&ltbr />
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#&lt/Directory>

#####以下、2つのDocumentRootを追記

&ltDirectory “D:/Wiki_data/wiki1″>
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Require all granted
&lt/Directory>

&ltDirectory “D:/Wiki_data/wiki2″>
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Require ip 192.168.□□□.□□□
Require ip 192.168.×××.×××
&lt/Directory>


&ltIfModule dir_module>


#####以下、index.phpを追加
DirectoryIndex index.html index.php


&lt/IfModule>

&ltFiles “.ht*”>
Require all denied
&lt/Files>

ErrorLog “logs/error.log”

LogLevel warn

&ltIfModule log_config_module>
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
LogFormat “%h %l %u %t \”%r\” %>s %b” common

&ltIfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\” %I %O” combinedio
&lt/IfModule>

CustomLog “logs/access.log” common
&lt/IfModule>

&ltIfModule alias_module>
ScriptAlias /cgi-bin/ “${SRVROOT}/cgi-bin/”
&lt/IfModule>

&ltIfModule cgid_module>
&lt/IfModule>
&ltDirectory “${SRVROOT}/cgi-bin”>
AllowOverride None
Options None
Require all granted
&lt/Directory>
&ltIfModule mime_module>
TypesConfig conf/mime.types

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz


#####以下2行を追記
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


&lt/IfModule>

Include conf/extra/httpd-autoindex.conf

Include conf/extra/httpd-info.conf

&ltIfModule proxy_html_module>
Include conf/extra/httpd-proxy-html.conf
&lt/IfModule>

&ltIfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
&lt/IfModule>
&ltIfModule http2_module>
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
&lt/IfModule>


#####以下にphp.iniのディレクトリを追記
PHPIniDir “D:/Program_data/php5.5”

PHP(php.ini)の設定

php5.5フォルダには「php.ini-development」と「php.ini-production」の2つが入っているので、ここでは、「php.ini-development」を「php.ini」にリネームしてファイルを開き、以下の行だけ追記/修正した。


;;;;;以下のコメントアウトをとる
extension_dir = “ext”

;;;;;以下のコメントアウトをとる
extension=php_mbstring.dll


[mbstring]


;;;;; 以下のコメントアウトをとる
mbstring.language = Japanese

;;;;; 以下のコメントアウトをとる
mbstring.internal_encoding = UTF-8

;;;;; 以下のコメントアウトをとる
mbstring.http_input = UTF-8

;;;;; 以下のコメントアウトをとる
mbstring.http_output = pass

;;;;; 以下のコメントアウトをとる
mbstring.encoding_translation = Off

;;;;; 以下のコメントアウトをとる
mbstring.detect_order = auto

;;;;; 以下のコメントアウトをとる
mbstring.substitute_character = none

;;;;; 以下のコメントアウトをとる
mbstring.func_overload = 0

;;;;; 以下のコメントアウトをとる
mbstring.strict_detection = On

Apacheの起動

上記まででApache、PHPとpukiwikiの準備ができたので、管理者権限でコマンドプロンプトを立ち上げて、Apacheをサービスに登録, 起動する。

C:/Windows/System32>cd /d D:/Program_data/Apache24/bin
httpd.exe -k install
httpd.exe -k start

ブラウザより、「http://192.168.○○○.○○○」にアクセスすると、pukiwikiが表示される。

pukiwiki_01

最後に

 
以前、Apacheのインストーラーが配布されていた頃は、PCを起動するとタスクバーに「ApacheMonitor」が表示されていたのだが、今回はインストーラーからの導入ではないので、手動で「D:\Program_data\Apache24\bin」の中にある「ApacheMonitor.exe」を、スタートメニューの中に入れておくことにする。

これまでウチで使っていたApache、PHP、pukiwikiを、今回は全てバージョンアップしてみたのだが、色々と仕様が変わっていたので、最初はうまく起動しなかった(httpd.confで、以前のアクセス制御の記述だとエラーがでたり、以前のpukiwikiとファイル構造が変わっていてそのまま参照させただけでは表示されなかったり・・・)。

まだ Pukiwiki については、これまで使っていた”1.4.7″から”1.5.0″への移行がちゃんとできていないので、もう少し時間をかけて調べてみたい。

 
スポンサーリンク