Saturday, May 18, 2013

Some Tips of XAMPPのノウハウ集

XAMPPをUbuntuにインストールしたら、なぜかデフォルトのindex.htmlはsplash.php(右の画面)にredirectとされ、その画面に止まってしまいました。言語を適当に「日本語」や「English」を選択しても、全く反応しません。
 調べてみますと、
/opt/lampp/htdocs/xamppのしたにあるlang.tmpファイルはグループが自分になっているからです。デフォルトでは、apacheはnobodyというグループで動くらしいです。とりあえず対策としては、その属性を666に変更すればうまく動作するようになりました。

 余談ですが、linuxでは、XAMPPは/optの下にインストールしなければいけません。

 しかし、phpmyadminをクリックすると、まず以下のエラーメッセージが表示されました。

New XAMPP security concept:
Access to the requested object is only available from the local network.
This setting can be configured in the file "httpd-xampp.conf".
If you think this is a server error, please contact the webmaster.
Error 403
localhost

 同じように、 etc/extra/httpd-xampp.confファイルの属性を666に変えると以下のメッセージはまた表示されました。
Xampp Fatal error: Call to undefined function __() in /opt/lampp/phpmyadmin/libraries/Config.class.php on line 755 

 さらに調べてみると、同ファイルを以下の2カ所を編集すればいいそうです。
<Directory "/opt/lampp/phpmyadmin">
    AllowOverride AuthConfig Limit
    Require all granted
    Order allow,deny
    Allow from all
</Directory>
... ...
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Order deny,allow
        Allow from all
#       Deny from all
#       Allow from ::1 127.0.0.0/8 \
#               fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
#               fe80::/10 169.254.0.0/16
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
 これで、前のエラーはなくなったが、また以下のエラーになってしまいました。

Welcome to phpMyAdmin
Error
MySQL said: Documentation
#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).
Connection for controluser as defined in your configuration failed.
 これは、明らかにMySQLは正しく起動されていないことを言っています。また調べてみると、どうも、XAMPPをインストールするときにスーパーユーザー以外のアカウントでインストールすると、ファイルは正しくコピーされないからです。

 結局のところ、XAMPPのホームページで書かれた通りのことをやっていなかったことは分かりました。ちなみに、以下のコマンドを実行すればいいです。その*.gzはXAMPPからダウンロードしたファイルです。
sudo tar xvfz xampp-linux-1.8.1.tar.gz -C /opt
場合によっては、以下のコマンドでlamppを起動すると、もう一つのmysqlがすでに動いていると言われる時があります。
luwei@ubuntu:~$ sudo /opt/lampp/lampp start [sudo] password for user_xxxx: Starting XAMPP for Linux 1.8.1... XAMPP: Starting Apache with SSL (and PHP5)... XAMPP: Another MySQL daemon is already running. XAMPP: Starting ProFTPD... XAMPP for Linux started.
その場合、まず”lampp stop”でlamppを停止させてから、以下のコマンドで、MySqlをていしさせます。それから再びlamppをスタートすると、問題なく”XAMPP-MySQL”も動くようになります。
sudo /etc/init.d/mysql stop

No comments:

Post a Comment