はじめに

  • トップのBLOGに解説しています。このサイトもXAMPPで作成。
  • サイト内検索でXAMPPを入れると、いくつか記事があります。

ネットワークサーバー構築パック :インストール方法と設定など紹介

  • WindowsでPHPを実行する環境を構築できる現時点で最も簡単なソフトウェア
  • XAMPは、LAMPやWAMP環境のこと
  • 至れり尽せりのWindowsバージョンをご紹介
  • WAMP環境を、一挙に作成するサーバー構築パックです
  • 特筆すべき点は
    • PHP4とPHP5の環境を、サーバー開始時に選択可能。PHPSwitch
    • OpenSSLが可能。Secureな https が利用可能
    • MySQLとSQLLiteが利用可能
    • FTP用にFilleZilla FTP サーバーが構築される
    •  WebalizerというSoftで、アクセス解析が可能
    • CGI環境もApacheのhttpで利用できる
    • Web上でMySQLのDBを操作するためにphpMyAdmin?が設置される

旧バージョンのインストール

 所在

Counter: 1280, today: 11, yesterday: 0

インストールされるソフト一覧

WS000014.JPG

skype との併用

port80が、skypeに占有されているため、インストール時にエラー

XAMPPが使用するTCPポートの確認

  • Windows XP SP2やインターネットセキュリティなどツールによりTCPポートがブロックされている場合がある。また、他のアプリケーションがXMAPPの各デーモンが使用するTCPポートを占有する場合もある(Skypeなどの例がある)。
  • まずXAMPPが使用するTCPポートを確認するために「<インストールディレクトリ>\xampp-portcheck.exe」を実行する。DOS窓のようなウィンドウが開き、TCPポートを使用するXAMPPのサービス名、ポート番号、ポートの状態が表示される。

 インストール後のセキュリティの確認画面

WS000012.JPG
  • php.iniの設定でPHPをセーフモードに設定できる

 使用可能な状況

  • 使用できるソフトの状態
    WS000011.JPG

apacheの設定の前に

  • 初期設定のままだと外部からアクセスできてしまうためhtdocsホルダー\htdocsと\htdocs\xamppに .htaccess というファイルを作って,アクセス制限をかける
.htaccess ファイルの内容は、だれもアクセスできないように、下記3行
Order deny,allow
Deny from All
Allow from localhost 127.0.0.1

 Apacheのhttpdの設定

  •  \xampp\apache\conf\httpd.conf を テキストエディターで修正
  •  文字化けしないために
  • AddDefaultCharset? ISO-8859-1をコメントアウトする
    #AddDefaultCharset ISO-8859-1
  • httpd.conf の ServerToken? セクション の修正(安全性の向上)
    • XAMPP は、デフォルトでこれを「Full」にセットしており、 Apache と、コンパイルされた各種モジュールのバージョン情報がすべて送信されるようになっている。
    • この値を「Prod」に変更する。
    • 最低限の詳細しか提供されず、 Apache ということしか分からなくなる(運用中のバージョンがわからないようにする)。
  • Apache/2.0.53 (UNIX) mod_ssl/2.0.53 OpenSSL/0.9.7d PHP/5.0.4 DAV/2 mod_perl/1.999.21 Perl/v5.8.6 Server at hostname/ Port 」などの表示を止めて「Apache Server at hostname/ Port」とだけ通知。
  • CGIの実行領域を制限しない方法。
    • ドキュメントルート以下の*.cgiと*.plをCGIとして処理するようにしたい場合。
<Directory C:/document root>
Options +ExecCGI
AddHandler cgi-script cgi pl
</Directory>
  • その他 お好みで
  • ユーザーディレクトリを有効にする、
    #LoadModule userdir_module modules/mod_userdir.so
    のコメントを外して
    LoadModule userdir_module modules/mod_userdir.so
    にする。
# UserDir "My Documents/My Website"
の下に
<IfModule mod_userdir.c>
UserDir "ドライブ:/ディレクトリ/"
</IfModule>
を追加。場所はここでなくても大丈夫かなあ?
UserDir "ドライブ:/ディレクトリ/*/public_html/"
  • PHPのCGI起動の設定。これもhttpd.confをいじる。
    #ScriptAlias /php/ "D:/Program Files/xampp/php/php4/"
    のコメントを外して
    ScriptAlias /php/ "D:/Program Files/xampp/php/php4/"
    にする。
    #Action application/x-httpd-php "/php/php.exe"
    のコメントを外して
    Action application/x-httpd-php "/php/php.exe"
    にする。
    LoadModule php4_module "D:/Program Files/xampp/apache/bin/php4apache2.dll"
    をコメントアウトして
    #LoadModule php4_module "D:/Program Files/xampp/apache/bin/php4apache2.dll"
    にする。

php.ini の修正

  • \xampp\apache\bin\php.ini を修正
  • ;extension=php_mbstring.dllのコメントアウトを解除する
    extension=php_mbstring.dll
  • 1034行目あたりから始まる mbstringの設定
    mbstring.language = Japanese
    mbstring.internal_encoding = EUC-JP
    mbstring.http_input = auto
    mbstring.http_output = EUC-JP
    mbstring.encoding_translation = On
    mbstring.detect_order = auto
    mbstring.substitute_character = none
  • PHP5の場合
    • 「register_long_arrays」は$HTTP_*_VARSを使用可能にするかどうかの設定。
    • php.ini-recommendedの既定値はOff、つまり既定値では$HTTP_*_VARSが無効になっているので、この変数を使用している場合は注意が必要。
    • 古くから動いているスクリプトがPHP5へのバージョンアップによって動かなくなってしまったら、この点もOnにしてためしてみる。
    • Offがお勧めらしい

Safemode

  • SafeMode?の設定を行ったほうがより安全
\xampp\php\php.ini の safe_mode = Off を safe_mode = On 

FileZillaFTP

  • ~PHP関係
  • C:\apachefriends\xampp\FileZillaFTP\FileZilla? Server.exeを実行し、サービスとして登録しますと、XAMPP ControlでFileZillaFTPをStartさせてもStopしてしまうのを回避できる。
  • \xampp\FileZillaFTP\FileZilla? Server Interface.exeでアカウントの設定の追加が可能。

 phpMyAdmin? UTF8 の修正

  • phpMyAdmin?を日本語(UTF-8)で開こうとするとエラーが起こってしまう場合の対策
  • \xampp\phpmyadmin\header.inc.phpの修正
PMA_reloadNavigation();をコメントアウトする
↓
//PMA_reloadNavigation();
  • lang/japanese-utf-8.inc.php の修正
$charset = 'UTF-8';
↓
$charset = 'utf-8';にする

phpMyAdmin? のユーザ認証設定

  • phpMyAdmin? のファイルの一部を以下のように修正してください。
  • C:\xampp\phpMyAdmin?\config.inc.php の、 83行目、
$cfg['Servers'][$i]['auth_type'] = 'config';

$cfg['Servers'][$i]['auth_type'] = 'http';

に変更します。

  • 変更後、再度 phpMyAdmin? 画面にアクセスすると、パスワードをきかれてきますので「ユーザ名」を「root」とし、設定したパスワードを入力すると再びログインできるようになります。

MYSQLの設定

  • スタート→プログラム→apachefriends→xampp control panel でパネルが起動します。
  • ApacheとMYSQLをスタート(start)してください。
  • http://localhost/phpmyadmin/と入力
  • データベース「mysql 」を選択
  • テーブル「user 」をクリック
  • 表示をクリック
  • % と localhost の root を編集
  • パスワードにpassword関数を設定
  • passwordを任意に入力
  • 変更完了!
  • SQLボタンを押して、テキストエリアに
  • FLUSH PRIVILEGESを入力して実行ボタンを押す

 MySQLDefaultCharset?

  • mysql側を変更するならばmy.iniかmy.cnfのdefault-character-setを default-character-set=utf8にします。
    [mysqld] 
    default-character-set=utf8

my.conf

  • my.cnfの修正 MySQLの既定のキャラクターコードの変更を行う。<インストールディレクトリ>\mysql\bin\my.cnfを修正する。

各セクションに追加

[client] 
default-character-set=utf8
[mysqld] 
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci
  • # 以下はmysqlでデータ操作するときのためのもの
[mysql] 
default-character-set=sjis

 MySQLのアクセス権限

  • xamppを設定直後にはMySQLのrootにパスワードが設定されていません。
  • PHPMyAdmin?ではパスワード設定が出来ませんので、コマンドラインから設定
    shell> mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('new_password')
       ->             WHERE user='root';
    mysql> FLUSH PRIVILEGES;

mb_send_mail()で送信メールが文字化けする場合

  • 日本語のメールを送る場合、ISO-2022-JPでエンコーディングしてから送信する
  • mail()ではinternal_encodingでメール送信しますので、通常、文字コードを変換してから送信しないと文字化けしてしまいます。
  • mb_send_mail()は、自動的に文字コードを変換してくれるのですが、それでも文字化けする場合があります。その際は、
mb_internal_encoding("utf-8");
mb_language("japanese");
  • MySQLを外部ネットワークから使用不可能にするために「my.conf」ファイルに「skip-networking」パラメタを付加します。
  • ポートが使用されていないことを確認するには、「nmap」を利用してきちんと出来ているかを確認しましょう。

eAccelerator プログラムを有効にする

  • これを行うと、PHP のパフォーマンスを劇的に改善するとのこと
  • XAMPP の php.ini ファイルからeAcceleratorのセミコロンを削除する。

Windows用ActivePerl build630 の修正

  • HTMLドキュメントのダウンロード
  • Windows版のActivePerl build630にはHTMLドキュメントがつかない。代わりにHTMLヘルプがついたのですが、「HTMLドキュメントも欲しい」という時は、PPMでダウンロード。
  • コマンドプロンプトから
    ppm install ActivePerl-HTML
  • 全文検索の「Namazu」などを使っていると必要。
  • ActivePerl build631では、ふたたびHTMLドキュメントが同梱されるようになりました

XAMPP でPerlのCGIをつかう

  • PerlのAddOn?する。
    • 仮に\XAMPP\XAMPP\Perl 以下のディレクトリーに、AddOn?された場合
  • 対応するPerlのconfigを有効にする。いくつかの行が、無効になっていた。
  • 次に、設置するcgiの最初の /usr/bin/perl などを、下記に書き換える
    /XAMPP/XAMPP/perl/bin/perl
  • httpd.conf で cgiを使うように設定

MovableType? in XAMPP

  • まずActivePerlを設置しPPMでインストールするのが、楽な方法。
  • http://sux.rulez.jp/archives/2005/05/mt_in_xampp_1.html
  • 1.まず、mt-check.cgi のみ実行。動かない-->perlが必要
  • 2.xampp-perl-addonをダウンロードしてくる。元のxamppの中に同じ階層に上書き。
  • 3.HTML::Template (version >= 2)を入れる(なければ)
    • Template.pmをperl/lib/htmlに入れる。(CPAMあたりにある)
  • 4.MTのインストール。全部のcgiのperlのパスを変更
  • 5.mt-load.cgiを実行。
    • 失敗した場合は、MySQLのDBを一旦削除。データーベース名のみ作成し再実行
  • 6.成功のはず。

pear のインストール

  • はじめから、入っていますので、OK
  • バンドルされているもの以外のインストール方法
  • go-pear.batを使ったインストール
    C:/php/go-pear.batを実行。コマンドプロントが開いて幾つか質問されるので答える
  • それ以外のもの
    コマンドプロントでcd c:\phpと入力してenter続いてpear install<package>
    でインストールできます。
  • pear text_wiki のインストール
    コマンドプロントで
    cd c:\xampp\phpと入力してenter続いてpear install -f text_wikiと入力してenter 
    • xampp の設置場所に対応したディレクトリーにcd すること

MovableType? + ImageMagick?

  • ActivePerlを新規インストールする方法もある
  • 「C:\apachefriends\xampp」にある「perl」を別の名前に変更(適当でいいです。)
  • ActiveState?からActivePerl5.6.1をダウンロード「ims」でダウンロード
  • インストールする。¥usrを作ってインストールすれば、\usr\bin\perl の実行環境ができる。
  • 今度は、DBモジュールのインストール
    • 「スタート」→「プログラム」→ ActiveState? ActivePerl 5.6→Perl Package Manager
コマンドから
PPM > install DBI
PPM > install DBD-MySQL
でインストール!
  • ImageMagick? も 同様
PPM> search Magick
PPM> install Image-Magick

 MovableType?の設定

  • mt-check.cgi が動かない場合、前記のように、CGIの実行領域をまず変更。
    • xampp-perl-addon を入手。解凍して、対応するディレクトリーに上書き。
    • setup_xampp.bat を実行。
    • 再起動する。xampp_restart.exeでmt-check.cgiが動く。
    • ただ、MTがunicodeベースなので、エンコードでUTF-8またはEUC-JPを選択
  • 必須 モジュールの中のHTML::Template (version >= 2)が入っていない場合前記の
    ppm install ActivePerl-HTML

eAccelerato

  • はPHPをキャッシュ化して高速化するツールです。
  • キャッシュと言ってもproxyとかのキャッシュとは違って、
  • 静的なキャッシュを作るのではなく動的に利用するPHPを
  • キャッシュ化した状態で動作させる事によって高速化をはかるもの。
  • 特に今までのPHPソースを弄る事無く、導入するだけで高速化。
    XAMPP の/etc/php.ini の php.ini ファイルからセミコロンを削除するだけでよい。

Xoops+Xampp

セキュリティ

  • The XAMPP Security console To fix the most important of the security weaknesses simply call the following URL (access only from localhost):

Before version 1.4.15: http://127.0.0.1/xampp/xamppsecurity.php

Since version 1.4.15: http://127.0.0.1/security

The root password for MySQL and PhpMyAdmin? and also a XAMPP directory protection can being established here. For Mercury and FileZilla?, please do not forget to change the configuration settings (e.g. user and passwords). Or if you do not need that server simple do not start these. That is secure, too.

  • XAMPP 0.9.5とそれ以降では、次のコマンドを実行することでセキュリティーを強化することができます。
/opt/lampp/lampp security
XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Reload ProFTPD...
XAMPP: Done.

バックアップ

  • バックアップを実行する
  • カレント・ディレクトリーを /opt/lampp (cd /opt/lamp) に変更し、次のコマンドをタイプします
./lampp backup

Eclipse + XAMPPWordPress の開発環境を作ろう

XAMPPMySQLでDB認証

XAMPPWordPress

関連サイト


添付ファイル: fileWS000014.JPG 178件 [詳細] fileWS000013.JPG 83件 [詳細] fileWS000012.JPG 187件 [詳細] fileWS000011.JPG 200件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-17 (金) 13:02:42 (1438d)