何を今更感が強い話だが、最新版をインストールしたら手間取ったので覚書。
インストール前の準備
古いバージョンのXAMPPが入っている場合は、アンインストールを先に行う。
アンインストーラーはlamppフォルダに入っているので、端末で以下のコマンドを実行。
sudo '/opt/lampp/uninstall'
基本のインストール
次に、XAMPPの本家サイトよりダウンロードしたrunファイルを端末で実行。コマンドは下記の通り。
*********の部分にはxamppのバージョンが入る。
sudo 'xampp-linux-x64-***********-installer.run'
すると小さなウィンドウが開くので、next を選択。
次の画面では、インストールする内容について尋ねられる。
素人ならば「XAMPP Developer Files」のチェックを外すと良い。(開発者用ファイルを使うならチェックを入れる)
「Learn more about Bitnami for XAMPP」のチェックを外してから「Next」ボタンを押す。
ちなみに、チェックを入れたままにしておくと、管理者権限でブラウザが起動してしまい、素人にとってはセキュリティ的にあまり良くない。
インストール続行中の画面。
インストール終了。「Launch XAMPP」のチェックを外してから「Finish」を押す。
チェックを入れたままだと管理者権限でブラウザが開いてしまう。
最低限の設定を行う
xampp を起動している間は自分のPCがサーバー化するため、自分以外のアクセスを禁止するよう設定する。
/opt/lampp/htdocs/のアクセス権を変更
/opt/lampp/を管理者権限で開いた後、htdocsフォルダを右クリック。プロパティを表示する。
小さなウィンドウが出たら、アクセス権を「所有者 : ユーザ名」、「フォルダーのアクセス権 : 作成と削除」と変更。他は変更しない。
/opt/lampp/htdocs/に「.htaccess」ファイルを作成
また、外部から接続された場合に備え、htdocsフォルダ内に下記コードを記した「.htaccess」ファイルを作成する。
order deny,allow
deny from all
allow from ::1
allow from 127.0.0.1
上の記述は「自分自身のアクセス以外は全て拒否(=閲覧できるのは自分だけ)」という意味。「::1」「 127.0.0.1」は localhost のこと。詳しくはlocalhost - Wikipediaを参照。
これで、XAMPP起動後、ブラウザに「http://localhost/(htdocs内のファイル)」と入力すると当該ファイルが表示される。
もし、PCのログイン時にXAMPPも起動させたい場合は、Mint の起動時に XAMPP を起動する方法を参考に設定を行い、mint menuの「サービスの管理」を開き、「lampp」にチェックを入れておく。
蛇足だが、opt/lampp/内の他のフォルダやファイルのアクセス権を変更する時は、よく調べてから慎重に行うこと。
レンタルサーバーからWEBサイトをhtdocsにバックアップした時の注意
通常、htdocsに当該サイト名のフォルダを作成し、レンタルサーバー上のファイル類をコピーすることが多い。
その際に「.htaccess」の内容をローカル環境用に書き換えないと、ブラウザに表示されなくなることがあるので注意。
ローカル環境用 .htaccess の書き換え例
WEBサイトのドメインが、https で始まる場合、レンタルサーバーからローカル環境にバックアップした直後にブラウザ表示すると、「301 Moved Permanently」というエラーが出ることが多い。
その際は . htaccess を下記の通り修正する。
#RewriteCond %{ENV:HTTPS} !on ←先頭に # を追記
#RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} ←先頭に # を追記
先頭に # を追記することで「httpでのアクセスをhttpsにリダイレクトする機能」をコメントアウトすることができる。
localhost はhttpなので、この記述をしないとエラーが出る。
なお、再びサーバーに戻すことを考慮し、記述自体の削除は行わない。
ちなみに、エラーメッセージについては以下のサイトで詳しく解説している。
番外編 : 使い勝手が良くなるように設定を修正する
エラーログとアクセスログの場所を変更
xamppを頻繁に使う場合、エラーログとアクセスログが大量に溜まり、ホームディレクトリの容量を圧迫する。
その時は、PC終了時にログが削除されるよう、tmpフォルダに保存する設定に変更するとラク。
■参考:Mint の tmp をメモリに書き込むようにする【tmpfs】
opt/lampp/etc/httpd.conf を管理者権限で開き、以下の部分を修正する。
■287行目
ErrorLog "/tmp/error_log" ←保存場所をtmpに書き換え
■316行目
#CustomLog "logs/access_log" common ←行頭に#をつけるここでは、エラーログの保存場所修正と、opt/lampp/logs/にアクセスログを保存しないことを指定している。
ちなみに、各種ログについては以下のサイトで詳しく解説している。
- ログの管理 - Linux講座
- Apacheのログを活用しよう (1/2):ApacheによるWebサーバ構築(13) - @IT
- ログファイルの場所(CustomLog, ErrorLog) - ログファイルの詳細 - Apache入門 - AdminWeb
/opt/lampp/etc/extra/httpd-ssl.conf を管理者権限で開き、以下の部分を修正する。
■89, 90行目
ErrorLog "/tmp/error_log" ←保存場所をtmpに書き換え
TransferLog "/tmp/access_log" ←保存場所をtmpに書き換え
■241行目
# compact non-error SSL logfile on a virtual host basis.
CustomLog "/tmp/ssl_request_log" \ ←保存場所をtmpに書き換え
その他、接続数やタイムゾーン等の設定も行うと使い勝手が良くなる。
/opt/lampp/etc/php.ini を管理者権限で開き、以下の部分を修正する。
■264行目
; http://php.net/output-buffering
output_buffering=40960 ←数字の末尾に0を追加。桁を増やす。
■460行目
; http://php.net/memory-limit
memory_limit=1280M ←数字の末尾に0を追加。桁を増やす。
■639行目
;error_log = php_errors.log
error_log="/tmp/php_error_log" ←保存場所をtmpに書き換え。
■883行目
;upload_tmp_dir =
upload_tmp_dir="/tmp/" ←保存場所をtmpに書き換え。
■1040行目
; http://php.net/date.timezone
date.timezone=Asia/Tokyo ←タイムゾーンを日本に変更。
■1490行目
session.save_path="/tmp/" ←保存場所をtmpに書き換え
各種ログの保存場所を変更したら、/opt/lampp/logs/にある当該ファイルを削除しておく。(もう使わないので)
localhost にサブドメインを作りたい場合用の修正
opt/lampp/etc/extra/httpd-vhosts.conf を適宜修正。
Opera 12 用プレビュースクリプトを作りたい場合の修正
Opera 12 でセキュア処理できないページをプレビューするスクリプト - HOT CAT QUERY FEVERS及び
有害無益なコンテンツを除去する方法 - HOT CAT QUERY FEVERSを参照。
手前味噌だが、現在進行形で開発中の本スクリプト、余計な javascript やウザい画像を除去してくれるスグレモノである。opera12のsearch.iniと組み合わせると、安心安全なブラウジングができるのだ。狐でも使えるので、アドブロックと組み合わせれば個人情報のダダ漏れを防ぐ確率がupするヨー。