Linux よくある質問

XAMPP のインストール方法

使用する Linux OS の種類(32-bit または 64-bit)を選択してください。

インストーラーのパーミッションを変更します。

chmod 755 xampp-linux-*-installer.run

インストーラーを実行してください。

sudo ./xampp-linux-*-installer.run

XAMPP が /otp/lampp ディレクトリにインストールされました。

Does XAMPP include MySQL or MariaDB?

Since XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. The commands and tools are the same for both.

XAMPP の起動方法

XAMPP を起動するためのコマンド:

sudo /opt/lampp/lampp start

今、あなたの画面上で、このようなものが表示されます。

Starting XAMPP 1.8.2...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

Ready. Apache and MySQL are running.

エラーメッセージが表示された場合は、ヘルプページ our community pages を参照してください。

また、あなたが簡単にあなたのサーバーを管理するために使用できるグラフィカルツールがあることに注意してください。あなたは、次のコマンドを使用してこのツールを起動することもできます。

cd /opt/lampp
sudo ./manager-linux.run (or manager-linux-x64.run)

どのように私はXAMPPを停止するのですか?

XAMPPは、単にこのコマンドを呼び出して停止するには:

sudo /opt/lampp/lampp stop

今、あなたの画面上で、このようなものが表示されます。

Stopping XAMPP 1.8.2...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stopped.

エラーメッセージが表示された場合は、ヘルプページ our community pages を参照してください。

また、以下のコマンドを使って、グラフィカルインターフェースからサーバーを起動・停止することもできます。

cd /opt/lampp
sudo ./manager-linux.run (or manager-linux-x64.run)

どのようにすれば、システムが正常に動いていることを確認できますか?

ウェブブラウザで以下のURLにアクセスしてください:

http://localhost

You should see the XAMPP start page, as shown below.

XAMPPを実際の運用で使用することはできますか?

XAMPPは製品運用の手段ではなく、開発環境です。開発者の思った通りに何でもできるよう可能な限りオープンに設定されているのがXAMPPです。これは開発環境には素晴らしい事ですが、製品としては致命的です。

XAMPPのセキュリティ上の脆弱性を以下に示します。

  1. MySQL の管理者 ID (root) にパスワードが設定されていません。
  2. MySQL デーモンは、ネットワークを介してアクセス可能です。
  3. ProFTPD uses the password "lampp" for user "daemon".

セキュリティ脆弱性を修正するために、次のコマンドを実行してください:

sudo /opt/lampp/lampp security

これはちょっとしたセキュリティチェックを走らせ、あなたのXAMPPのインストールをセキュリティ強化させます。たとえば、ユーザー名lamppとパスワードのユーザー認証で、XAMPPデモページを保護します。

XAMPPを開始したときに出るエラーは何ですか?

XAMPP の起動中に、エラーメッセージがいくつか表示されるかもしれません。

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

Apache インスタンスが既に実行中であるために、LAMPP 起動スクリプトは XAMPP-Apache を起動しませんでした。XAMPP を正常に起動するためには、これを終了する必要があります。

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

Mostly due to the same reasons as the above error, the LAMPP startup script found a MySQL daemon already running on your system. To start LAMPP properly, you have to stop this daemon first.

Apache doesn't seem to start. What can I do?

このエラーには複数の原因が考えられます。Apacheはいくつかの条件下でこのエラーを発生させます。エラー要因を特定するには、いくつかの調査を行う必要があります。

tail -2 /opt/lampp/logs/error_log

エラーメッセージが表示された場合は、ヘルプページ our community pages を参照してください。

次のエラーエラーメッセージはどうすれば解決できますか? "Cannot restore segmeny prot after reloc: Permission denied?"

いくつかのLinuxディストリビューションでは、SELinuxがデフォルトで有効になっており、これがXAMPPの起動を妨げます。XAMPPのサーバー類を起動させるためには、これを無効にする必要があります。

sudo /usr/sbin/setenforce 0

これでXAMPPは正常に動作するでしょう。

Linuxコンピュータの再起動後、XAMPPが止まっている!これはどう直せばいい?

それは、通常のLinuxの動作であり、正常な状態です(ほかのUnix系システムにも当てはまります)。OSが起動したときにどのサービスを起動するかを決めるのは管理者の仕事です。

Linuxシステムの起動プロセスを設定する確かな方法は今のところありませんが、たいていの場合は、以下の手順でこれを行うことができます。

Debian, Ubuntu.

sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
sudo update-rc.d lampp start 80 2 3 4 5 . stop 30 0 1 6 .

RedHat, Fedora, CentOS. Linuxがサービスのインストールに"chkconfig"ツールを使用している場合、以下のコマンドが使用できます。

sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
sudo chkconfig --add lampp

SUSE

sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
sudo chkconfig lampp 2345

XAMPPのインストールをさらに安全に行うにはどうしたらよいですか?

デフォルトの設定では、XAMPPはパスワードが設定されていません。そして、他人がアクセスする環境で、この設定のままXAMPPを実行するのはお勧めできません。

セキュリティチェックを開始するために、rootユーザとして次のコマンドを実行してください。

sudo /opt/lampp/lampp security

画面に次のようなダイアログが表示されます。

XAMPP: Quick security check...
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を有効化するにはどのようにしたらよいですか?

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 を参照してください。

OCI8/Oracle extensionをPHPで有効化するにはどのようにしたらよいですか?

PHPでOCI8/Oracle extensionを有効化するには、以下のコマンドを実行してください。

sudo /opt/lampp/lampp oci8

次のようなダイアログが表示されます。

Please enter the path to your Oracle or Instant Client installation:
[/opt/lampp/lib/instantclient-11.2.0.3.0]
installing symlinks...
patching php.ini...
OCI8 add-on activation likely successful.
LAMPP: Stopping Apache with SSL...
LAMPP: Starting Apache with SSL...

これで拡張機能が有効になります。

XAMPPを実行しても何も表示されないのはなぜですか?

いくつかのLinuxディストリビューションに特有の問題です。/opt/lampp/etc/httpd.confにある次の2行を確認してください。

#EnableMMAP off
#EnableSendfile off

両方の行にある#を削除し、Apacheを再起動してください。

How do I enable access to phpMyAdmin from the outside?

In the basic configuration of XAMPP, phpMyAdmin is accessible only from the same host that XAMPP is running on, at http://127.0.0.1 or http://localhost.

IMPORTANT: Enabling external access for phpMyAdmin in production environments is a significant security risk. You are strongly advised to only allow access from localhost. A remote attacker could take advantage of any existing vulnerability for executing code or for modifying your data.

To enable remote access to phpMyAdmin, follow these steps:

  • Edit the etc/extra/httpd-xampp.conf file in your XAMPP installation directory.
  • Within this file, find the lines below.

    Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Require local

  • Then replace 'Require local' with 'Require all granted'.
  • Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpMyAdmin"> AllowOverride AuthConfig Require all granted

  • Restart the Apache server using the XAMPP control panel.
Where are the main XAMPP configuration files?

The main XAMPP configuration files are located as follows:

  • Apache configuration file: /opt/lampp/etc/httpd.conf, /opt/lampp/etc/extra/httpd-xampp.conf
  • PHP configuration file: /opt/lampp/etc/php.ini
  • MySQL configuration file: /opt/lampp/etc/my.cnf
  • ProFTPD configuration file: /opt/lampp/etc/proftpd.conf
How do I send email with XAMPP?

To send email with XAMPP, use the PEAR Mail and Net_SMTP packages, which allow you to send email using an external SMTP account (such as a Gmail account). Follow these steps:

  • Install the Mail and Net_SMTP PEAR modules: pear install Net_SMTP Mail Note that if these packages are already installed in your system you see the messages below when executing that command: Ignoring installed package pear/Net_SMTP Ignoring installed package pear/Mail Nothing to install
  • Create the following example script in your "htdocs" directory to send an email: <?php require_once "Mail.php"; $from = "your-gmail-username@gmail.com"; $to = 'recipients@example.com'; $host = "ssl://smtp.gmail.com"; $port = "465"; $username = 'your-gmail-username@gmail.com'; $password = 'your-gmail-password'; $subject = "test"; $body = "test"; $headers = array ('From' => $from, 'To' => $to,'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo($mail->getMessage()); } else { echo("Message successfully sent!\n"); } ?>

    Remember to replace the dummy values shown with your actual Gmail address and account password. If you don't plan to use Gmail's SMTP server, replace the SMTP host details with appropriate values for your organization or ISP's SMTP server.

  • Execute the script by browsing to it using your Web browser. You should see a notification that the message was successfully sent, and the message should be delivered to the recipient email address.
どのようにすれば、XAMPPのバックアップと復元を行えますか?

警告  バックアップと復元の機能は現在開発中のため、動作は保証されません。

次のようにしてバックアップを作成することができます:

sudo /opt/lampp/lampp backup

または

sudo /opt/lampp/lampp backup secret

"seceret"をあなたのパスワードに置き換えてください。実行すると、次のように表示されます:

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-14.sh

バックアップデータが、次の例のようなデータとして、/opt/lampp/backup/xampp-backup-22-01-14.sh に保存されます。このファイルを安全な場所に保管してください。

バックアップ先の環境には、バックアップ元と同じバージョンのXAMPPをインストールしてください。

sudo sh xampp-backup-22-01-14.sh

You should see something like this:

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.

That's all. Keep in mind that it's a beta feature.