PR

Ubuntu でXAMPP を使う

Widnows 環境でポータブル版のXAMPP を使ったことがあるので、Ubuntu 環境でも利用できるか試してみることにした。どうやらLinux 版はWindows 用のポータブル版と同様に、ディレクトリを削除するだけで簡単にアンインストールできるようだ。

ただし、次のような意見もある:

個人的には ubuntu に LAMPP をインストールする位なら、apache2、mysql-server、php5、php5-cgi (その他、php5-* の中で必要そうなもの) を、個別にパッケージマネージャでインストールした方が確実だと思います(「Ubuntu日本語フォーラム / XAMPPをインストールしたい」より引用)

その場合は「Ubuntu(11.04)でLAMPP(Linux Apache MySQL PHP PHPMyAdmin)を構築!インストールと設定 : にわタコのblog」が参考になる。

ダウンロード&インストール

次のコマンドで、ダウンロードして/opt に展開する。ダウンロードが完了した時点でパスワードを聞かれる。

$ wget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.7.7/xampp-linux-1.7.7.tar.gz/download -P ~ -O xampp.tar.gz -v && sudo tar xvfz xampp.tar.gz -C /opt

※最新のファイルなどはXAMPP – Browse /XAMPP Linux at SourceForge.net から選択する

スポンサードリンク

実行

$ sudo /opt/lampp/lampp start
 Starting XAMPP for Linux 1.7.7...
 XAMPP: Starting Apache with SSL (and PHP5)...
 XAMPP: Starting MySQL...
 XAMPP: Starting ProFTPD...
 XAMPP for Linux started.

セキュリティ設定

XAMPPは容易に開発を行うことを目的として、初期状態では制限なくツールを利用可能にするため、非常にセキュリティが低く設定されています。(「[ThinkIT] 第2回:5分でXAMPPをLinuxにインストール (4/4)」より引用)

XAMPP ではセキュリティー設定が可能。

$ sudo /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]
 XAMPP: Password:
 XAMPP: Password (again):
 XAMPP: Password protection active. Please use 'lampp' as user name!
 XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
 XAMPP: Do you want to set a password? [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]
 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: Change phpMyAdmin's authentication method.
 XAMPP: The FTP password for user 'nobody' is still set to 'lampp'.
 XAMPP: Do you want to change the password? [yes]
 XAMPP: Password:
 XAMPP: Password (again):
 XAMPP: Reload ProFTPD...
 XAMPP: Done.

ローカルテスト

いきなりネットワーク経由で試すのもハマりそうなので、まずはローカル環境で動作するか確認する。あれ?アクセスできない。「http://localhostに接続するとユーザー名・パスワードを聞かれる」と同じような現象になった。どうしたものか。適当に思い浮かぶものを入れるも拒否られる。(パスワードは設定したけれど、ユーザ名は何だろう?)

「http://localhost の “xampp user”におけるユーザ名とパスワードを入力してください」とメッセージが出た際に、ユーザ名とパスワードを忘れていたら、マイコンピューター内のC:\xampp\security\xamppdirpasswd.txtに記述してあると思うよ!(「XAMPPのディレクトリ制御のユーザ名とパスワードを忘れた時のメモ:雑書文評記」より引用)

それっぽいものないっすね。

「Apache Friends Support Forum • View topic – How to Set Passwords // Beginning」にも同じような問題が・・ってあれ?掲載されているログに「XAMPP: Password protection active. Please use ‘xampp’ as user name!」って書いてある。

自分のログを見直すと「XAMPP: Password protection active. Please use ‘lampp’ as user name!」と書いてあるorz さらに次のようにも書かれている:

パスワードを設定すれば、このパスワードを使ってXAMPPのデモページ(http://localhost/xampp/) を保護できます。ユーザ名は”lampp”です!(「apache friends – xampp linux版faq」より引用)

完全に読んでないことがバレる。

ハマる

「設定ファイルに定義されている管理ユーザ(controluser)での接続に失敗しました」とある。

または「設定の読み込み・保存ができません」と表示される。

設定の問題?

/* Authentication type and info */
 $cfg['Servers'][$i]['auth_type'] = 'config';
 $cfg['Servers'][$i]['user'] = 'root';
 $cfg['Servers'][$i]['password'] = '';
 $cfg['Servers'][$i]['extension'] = 'mysql';
 $cfg['Servers'][$i]['AllowNoPassword'] = true;

設定といっても特に変更していないし、変な設定のまま配布されるというのも考えにくいけれど・・。

動作している?

$ sudo /opt/lampp/lampp start
 Starting XAMPP for Linux 1.7.7...
 XAMPP: Another web server daemon is already running.
 XAMPP: Another MySQL daemon is already running.
 XAMPP: Another FTP daemon is already running.
 XAMPP for Linux started.
$ sudo /opt/lampp/lampp status
 Version: XAMPP for Linux 1.7.7
 Apache is not running.
 MySQL is not running.
 ProFTPD is not running.

開始されてない・・?

ソケットの問題?

$ mysqladmin variables | grep socket
 The program 'mysqladmin' can be found in the following packages:
 * mysql-client-5.1
 * mysql-client-5.0
 * mysql-cluster-client-5.1
 Try: sudo apt-get install <selected package>
$ sudo aptitude install mysql-client

ソケット確認

$ mysqladmin variables | grep socket
 mysqladmin: connect to server at 'localhost' failed
 error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
 Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

停止しても

$ mysqladmin variables | grep socket
 mysqladmin: connect to server at 'localhost' failed
 error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
 Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

強制的に削除してもダメらしい。

何だったのか??

いろいろ試してみたところ、結局バージョンを1.7.4から1.7.3に下げたら問題が消えました。(「phpadminがエラーで起動しません。 – MySQL – 教えて!goo」より引用)

ハマったときに試すべきものだけれど、今回はそれでも治らず。なぜだろう。ディレクトリを削除すれば削除できるはず。念のため確認したXAMPP サイトでも”ディレクトリを削除すればすべて削除される”と記載されている。

結局、仕切り直しで何となく再起動した・・ら直ってしまった。

MySQL ステータスも表示されている。

phpMyAdmin もエラー表示がない。

何だったんだろ・・。

その他のコマンド

PHP バージョン確認

$ sudo /opt/lampp/lampp phpstatus
 5.3.8

PHP4 で実行

$ sudo /opt/lampp/lampp php4

PHP5 で実行

$ sudo /opt/lampp/lampp php5

Tips & Error

自動起動

→ Ubuntu-XAMPPの自動起動 | Koumei Soft 開発ログ

path を通す

→ UbuntuにXAMPPをインストールして、PATHを通す – 部屋の中にも一年

更新するたびに権限が変わってしまうのを防ぐ

→ XAMPP on Ubuntu | AZ::Blog

Couldn’t start MySQL!

→ とろてく – Ubuntu等でXAMPPをインストールした際、 Couldn’t start MySQL エラーが表示される時の対処

アンインストール

$ sudo rm -rf /opt/lamp

参考文献

コメント

  1. http://t.co/ZBU1UzFc » Ubuntu でXAMPP を使う http://t.co/AWfHdMOh

  2. @Isthmis より:

    OS入れ替えたからXAMPPも入れ直さねば。。。ちゃんと動いてくれるかどうか、不安でならない。 /
    http://t.co/uQ2ulPEl » Ubuntu でXAMPP を使う http://t.co/F64IrBXr @feedlyさんから

  3. @mh_ookm より:

    このパターンにハマる・・・
    結局再起動して普通に.htaccess設定したやつでいけたし
    http://t.co/Y3w9kDO9Hf