HomeXAMPPNewsTeamProjectsDocsExtrasLinksContact

XAMPP Linux版FAQ

著者: Kai 'Oswald' Seidler
バージョン: Wed Aug 12 13:37:27 2009

1. XAMPPのインストールとアップグレード

XAMPPのアップグレード方法は?
アップグレード作業中にエラーが発生しました。どうしたらいいでしょう?

2. XAMPPを起動する

XAMPP起動中のメッセージは何を意味しているのですか?
エラーメッセージ "/lib/libc.so.6: version `GLIBC_2.2' not found" が表示されました。どうしたらいいでしょう?
なぜ「エラー1」が発生するのですか?
Apacheが起動していないようです。どうすればよいですか?
"Invalid argument: Could not set permissions on ssl_mutex"(無効な引数です: ssl_mutexにパーミッションを設定することができませんでした)が表示されたら?
"Invalid argument: Unable to create scoreboard"(無効な引数です: スコアボードを作成することができません)が表示されたら?
エラーメッセージが »Invalid argument: Configuration failed«(無効な引数です: 設定に失敗しました) が表示されたら?
エラーメッセージに »The configuration file now needs a secret passphrase (blowfish_secret)«(設定ファイルには、秘密のパスフレーズが必要です(blowfish_secret))と表示されたら?
エラーメッセージに »cannot restore segment prot after reloc: Permission denied«(reloc後セグメントprotを回復できません: パーミッションが拒否されました)と表示されたら?

3. XAMPPを稼動させる

Linux boxをリブートしたら、XAMPPが停止してしまいました!どうしたら回復できますか?
XAMPP設定の安全性を高めるにはどうしたらいいでしょう?
eAcceleratorはどのように始動させるのですか?
PHP版のOCI8/Oracle extensionはどのように始動させるのですか?
XAMPPは動いているのですが、画像が何も表示されません?
構築したXAMPPシステムのバックアップ/復元はどのようにしたらいいですか?

4. XAMPPを停止させる

5. XAMPPのアンインストール

6. XAMPPの機能

1. XAMPPのインストールとアップグレード

* XAMPPのアップグレード方法は?

アップグレード版がある場合は、利用することをお勧めします: a)XAMPPのフルパッケージよりもずっと小さくて済みます。 b)設定ファイルとHTMLファイルは上書きされません。

ステップ1:ダウンロード

OK、まず最初のステップは明らかです。弊社WebサイトのXAMPPのページからアップグレード・パッケージをダウンロードしてください。注意: アップグレード・パッケージは、使用しているXAMPPのバージョンと同じ種類のパッケージでしかアップグレードされませんので気をつけてください。

間違ったバージョンをダウンロードしてしまった場合、アップグレードしようとするとエラーメッセージが出ます。

ステップ2: アーカイブを抽出する

次にダウンロードしたパッケージを抽出します:
tar xvfz xampp-linux-upgrade-x.x.x-y.y.y.tar.gz
ちなみに、パケットはファイルシステムのどこに抽出してもかまいません。XAMPPがインストールされているのと同じマシンに載っていれば大丈夫です。

ステップ3: アップグレードの開始

アーカイブを解凍したらアップグレード処理を開始できます。まず、システムに対してルートアクセスを取得します。たとえば、'su' コマンドを使用します:
su
そしてアップグレードの処理を開始します:
xampp-upgrade/start
画面に、以下のような行が確認できるはずです:

Stopping XAMPP for Linux 0.9.6...
XAMPP: Stopping Apache...
XAMPP: Stopping MySQL...
XAMPP for Linux stopped.

Upgrading 0.9.6 to 0.9.7...
Installing new files...
Upgrading existing files...
patching file lampp/etc/httpd.conf

Successfully upgraded XAMPP.

XAMPP: Starting Apache...
XAMPP: Starting MySQL...
XAMPP started.

準備完了です。XAMPPが正常にアップグレードされました。

ちなみに、アップグレード作業は稼動しているXAMPPを停止し、アップグレードが終了し次第XAMPPを起動します。アップグレード前に稼働させていなかった場合でも、アップグレード後に起動します。

ステップ4: テスト

お好きなWebブラウザを使って自分のWebサイトにアクセスし、新しいXAMPPバージョンをテストしてみましょう。例えば、ブラウザのロケーションバーにhttp://localhostと入力してみましょう。

アップグレードが終わった後はlampp-upgradeディレクトリを削除して構いません。もう必要ありませんので。

* アップグレード作業中にエラーが発生しました。どうしたらいいでしょう?

特殊な状況下で、以下のような警告メッセージを受けることがあります:

ファイル /opt/lampp/XXX はアップグレードできませんでした。
新しいバージョンのファイルは右記にあります:/opt/lampp/XXX-0.9.7

アップグレード・プログラムは、細心の注意を払ってあなたの設定ファイルをアップグレードしようとしたのです。このファイルをアップグレードするために、プログラムはあなたがすでに変更した行をいくつか、編集する必要がありました。誰も大事な設定情報を失いたくないでしょうから、アップグレード・プログラムはこのファイルを変更せずに、オリジナル・ファイルは保持したまま新しいファイルのコピーを保存することにしたのです。

2. XAMPPを起動する

* XAMPP起動中のメッセージは何を意味しているのですか?

XAMPPの起動時に、3種類のメッセージを受ける可能性があります:

LAMPP-Apache is already running.
An Apache daemon is already running.

Apacheインスタンスがすでに走っていたのでLAMPPの起動スクリプトはXAMPP-Apacheを起動しませんでした。XAMPPを正常に起動するには、まずこのdaemonを停止する必要があります。

LAMPP-MySQL is already running.
A MySQL daemon is already running.

たいていの場合、前述のエラーと同様の原因です。LAMPP起動スクリプトがあなたのシステム上ですでにMySQL daemonが走っていることを察知したのです。LAMPPを正常に起動するには、まずこのdaemonを停止する必要があります。

* エラーメッセージ "/lib/libc.so.6: version `GLIBC_2.2' not found" が表示されました。どうしたらいいでしょう?

/opt/lampp/bin/XXX: /lib/libc.so.6: version `GLIBC_2.2' not found (required by XXX)

ご使用のLinuxシステムが古すぎます。XAMPPには、glibc 2.1バージョンを使用する新しいLinuxディストリビューションが必要です。

* なぜ「エラー1」が発生するのですか?

いい質問です:) このエラーが存在するのにはいくつか理由があります。Apacheはいくつかの状況下でこのエラーを吐き出します。具体的な原因を突き止めるには、調査が必要です:
tail -2 /opt/lampp/logs/error_log
もし "Invalid argument: Could not set permissions on ssl_mutex"(無効な引数です: ssl_mutexにパーミッションを設定することができませんでした)や "Invalid argument: Unable to create scoreboard"(無効な引数です: スコアボードを作成することができません)が出ているなら、以下の回答をご覧ください。もし他のエラーメッセージを受け取ったら私にe-mailを送ってください。おそらく一緒に問題を解決することができるでしょう。私のe-mailアドレスは:oswald@apachefriends.orgです。

* Apacheが起動していないようです。どうすればよいですか?

上記「エラー1」をご確認ください。

* "Invalid argument: Could not set permissions on ssl_mutex"(無効な引数です: ssl_mutexにパーミッションを設定することができませんでした)が表示されたら?

エラーメッセージ文全文は以下の通りです:

[error] (22)Invalid argument: Could not set permissions on ssl_mutex; check User and Group directives

この場合、/opt/lampp/etc/httpd.confの中のグループ指示文(318行目あたり)を変更する必要があります。

そこに、以下のような行があるはずです:

Group ...

"..." を "nobody"、"nogroup" または #-1に変更します。その3つのうちのどれかで解決するはずです。

* "Invalid argument: Unable to create scoreboard"(無効な引数です: スコアボードを作成することができません)が表示されたら?

エラーメッセージ文全文は以下の通りです:

[crit] (22)Invalid argument: Unable to create scoreboard (anonymous shared memory failure)

この場合、/opt/lampp/etc/httpd.confの中のスコアボード指示文(71行目あたり)の前のハッシュ(#)を外す必要があります。

そこに、以下のような行があるはずです:

#ScoreBoardFile logs/apache_runtime_status

単純にこの行の先頭にあるハッシュを外してください。

ScoreBoardFile logs/apache_runtime_status

これで、このエラーメッセージは表示されなくなります。

* エラーメッセージが »Invalid argument: Configuration failed«(無効な引数です: 設定に失敗しました) が表示されたら?

この場合、Apacheはあなたのホストネームに対するIPアドレスを取得することができません。通常動作するはずなのですが、たまに(たいていDHCPを使用している場合)この状態が発生します。

解決策:

単に、以下のコマンドをコールしてください(コピー&ペーストしてください。「`」は必須です):

echo 127.0.0.1 `hostname` >> /etc/hosts

これで設定エラーは修正されたはず。≫設定失敗≪のエラーは消えるはずです。

* エラーメッセージに »The configuration file now needs a secret passphrase (blowfish_secret)«(設定ファイルには、秘密のパスフレーズが必要です(blowfish_secret))と表示されたら?

このメッセージはXAMPP Linux版1.2のリリース以降に発生しているようです。バージョン2.5.2からは、phpMyAdminがクッキーで保存されたパスワードの暗号化をサポートしています。

解決策:

60行目のconfig.inc.phpを編集してください。このファイルはインストールしたXAMPPのphpmyadminディレクトリにあります。以下のような行があるはずです:

$cfg['blowfish_secret'] = '';

この行にパスワード状の単語やフレーズを入力してください。例えば:

$cfg['blowfish_secret'] = 'holla';

以上です。これで以前と同じようにphpMyAdminを使うことができます。

* エラーメッセージに »cannot restore segment prot after reloc: Permission denied«(reloc後セグメントprotを回復できません: パーミッションが拒否されました)と表示されたら?

Fedoraをお使いではないでしょうか?バージョン4以降(恐らく)、デフォルトでSELinuxが始動し、これがXAMPPの正常な起動を妨げていると思われます。

解決策:

現時点では、解決策はひとつしかわかっていません。SELinuxを停止することです。

setenforce 0

これでXAMPPはまた問題なく動きます。もっと良い解決策をご存知でしたら、ぜひ私宛にe-mailをください。私はSELinuxのエキスパートではなく、SELinuxについては停止方法しか知りません。

3. XAMPPを稼動させる

* Linux boxをリブートしたら、XAMPPが停止してしまいました!どうしたら回復できますか?

そうです。それはLinuxの正常な動作です(Unixの類似システムでも同様です。)起動時に特定のアプリケーションが立ち上がるのを確認するのは管理者の仕事です。

Linuxシステムのブート処理を設定する標準的な方法というのは特にありませんが、以下のステップにしたがえばブート時にXAMPPを起動できる場合が多いです。

  1. 最初に、自分のデフォルトのランレベルを確認してください。
    egrep :initdefault: /etc/inittabと入力します。
    コロン2つの間に数字が入っている行があるはずです。
    たいていの場合、3か5(Debianを使っている場合は2)です。

  2. ランレベルを設定するディレクトリに行きます。もし、たとえばあなたのランレベルが3であった場合、/etc/rc.d/rc3.dディレクトリを以下のように変更します:

    cd /etc/rc.d/rc3.d

    お使いのシステムが/etc/rc.d/rc3.dを提供していない場合は、/etc/init.d/rc3.d 及び /etc/rc3.dを試してみてください。

  3. ここで実際の設定を入力して実行してください:

    ln -s /opt/lampp/lampp S99lampp
    ln -s /opt/lampp/lampp K01lampp

これで、マシンをブートしたりシャットダウンする度にXAMPPが自動的に起動、停止をするはずです。
OpenSuSE 10.0 は少々独特です:シンボリックリンクを /etc/init.d/lampp から /opt/lampp/lampp へセットアップする必要があります。

ln -s /opt/lampp/lampp /etc/init.d/lampp

その後、YaSTからランレベル・エディタ(エキスパート・モード)を使って特定のランレベルに対応するXAMPPを始動します。

* XAMPP設定の安全性を高めるにはどうしたらいいでしょう?

デフォルトのインストールでは、XAMPPにはパスワードが設定されておらず、インターネットなど外部からアクセス可能な状態のまま運用することはお勧めしません。

以下のコマンドを実行して(rootとして)、簡単なセキュリティチェックを行ってください。

/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 (1)
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 passworde 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 for user 'nobody' 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.

(1) パスワードを設定すれば、このパスワードを使ってXAMPPのデモページ(http://localhost/xampp/) を保護できます。ユーザ名は"lampp"です!

このコマンドをコールすれば、XAMPP設定が「セキュア」になります。私見では、これ以外の安全性の問題点は思いつきません。

* eAcceleratorはどのように始動させるのですか?

(XAMPP Linux版1.4.12以降)

eAcceleratorを始動するには、/opt/lampp/etc/php.iniで以下に示す行を探してください

;extension="eaccelerator.so"
;eaccelerator.shm_size="16"
;eaccelerator.cache_dir="/opt/lampp/tmp/eaccelerator"
;eaccelerator.enable="1"
;eaccelerator.optimizer="1"
;eaccelerator.check_mtime="1"
;eaccelerator.debug="0"
;eaccelerator.filter=""
;eaccelerator.shm_max="0"
;eaccelerator.shm_ttl="0"
;eaccelerator.shm_prune_period="0"
;eaccelerator.shm_only="0"
;eaccelerator.compress="1"
;eaccelerator.compress_level="9"

各行頭のセミコロンを外してXAMPPを再起動してください。すると、eAcceleratorは動作します。eAcceleratorの詳細情報についてはeAcceleratorのホームページを見てください: http://eaccelerator.net

* PHP版のOCI8/Oracle extensionはどのように始動させるのですか?

(XAMPP Linux版1.3以降)

OCI8/Oracle extension PHP版を始動するには、以下のコマンドを実行してください:

/opt/lampp/lampp oci8
以下のダイアログが開始します:

Please enter the path to your Oracle installation:
ORA_HOME [/opt/oracle/OraHome1]
installing symlinks...
patching php.ini...
OCI8 add-on activation likely successful.
LAMPP: Stopping Apache with SSL...
LAMPP: Starting Apache with SSL...

これでエクステンションが有効になったはずです。この機能は数回しかテストする余裕がなかったため、この方法で大丈夫だったかどうか、報告して頂けると助かります:oswald@apachefriends.org

現在、XAMPPが追加設定なしにサポートしているのは、Oracle 10のみです。したがって、Oracle 11を使用している方は、ご自身で手を加える必要があります。また、XAMPPは32 bitアプリケーションであり、32 bit Oracleクライアント・ライブラリとしか機能しません。

これらの制限は、XAMPPがリンクしているOracleクライアント・ライブラリにしか影響しません。サーバーサイドでは、どのOracleバージョンも使用可能です。

* XAMPPは動いているのですが、画像が何も表示されません?

それは特定のLinuxシステムで発生する特別な問題です。/opt/lampp/etc/httpd.confを開いて以下の2行を見つけてください:
#EnableMMAP off
#EnableSendfile off
それぞれ行頭の#を削除し、Apacheを再起動してください。これで画像が戻ったはずです。

* 構築したXAMPPシステムのバックアップ/復元はどのようにしたらいいですか?

XAMPP Linux版1.4.2 以降、XAMPPデータのバックアップ作成が簡単になりました。
警告:バックアップと復元の機能はまだ開発段階で正常に作動するとは限りません。

注意:XAMPP バージョン1.4.2には、小さいけれどもやっかいなバグがあります。ここを確認してください!

ステップ1:バックアップを作成する

以下をコールしてバックアップを作成します:

/opt/lampp/lampp backup
または
/opt/lampp/lampp backup secret

「secret」には、あなたのMySQLルート・パスワードが入ります。

このコマンドにより、以下が作成されます:

# /opt/lampp/lampp backup
Backing up databases...
Backing up configuration, log and htdocs files...
Calculating checksums...
Building final backup file...
Backup finished.
Take care of /opt/lampp/backup/xampp-backup-22-01-04.sh
#

ステップ2:バックアップデータの取り扱い

(上記事例の)/opt/lampp/backup/xampp-backup-22-01-04.shのファイルには、あなたのバックアップデータが入っています。このファイルを保存する場所に移動してください。

ステップ3:バックアップデータの回復

新しいマシン上には、オリジナルマシン(ソースマシン)と同じバージョンのXAMPPが必要です。

(ルートとして)実行する:

sh xampp-backup-22-01-04.sh

以下のような表示が現れます:

# sh xampp-backup-22-01-04.sh
Checking integrity of files...
Restoring configuration, log and htdocs files...
Checking versions...
Installed: XAMPP 1.4.2
Backup from: XAMPP 1.4.2
Restoring MySQL databases...
Restoring MySQL user databases...
Backup complete. Have fun!
You may need to restart XAMPP to complete the restore.
#

以上です。表示にあるとおり、XAMPPを再起動する必要があるかもしれません。

これで完璧に動作するはずです(何度もテストしました)が、これはベータ機能であることを忘れないでください。

4. XAMPPを停止させる

5. XAMPPのアンインストール

6. XAMPPの機能