LocalServer
ローカルサーバーのセットアップについて
Webデザインを学ぶにあたって、サーバー環境の準備は欠かせない作業です。大学のサーバーやレンタルサーバーを使って実地訓練…という手もありますが、外部サーバーにいちいちアップして動作確認するというのは能率が悪いので、とりあえず自分のPCにサーバソフトをインストールして実験環境をつくりましょう。一人二役状態、つまりサーバーとクライアントを一台のPCの中で同時に動かす…ということです。
CONTENTS
XAMPPの利用
Windows、Mac、LInux あらゆるOSで利用可能な XAMPPというサーバーパッケージがあります。一般にはこれを用いることが多いと思います。ライセンスGPLです。無料です。Webアプリ開発などの学習には最適のシステムですので、是非自分のPCにインストールして、使ってみて下さい。
XAMPPのインストール
- XAMPP(ザンプ)は、Webサーバーマシンの構築に必要なソフトウェアをパッケージしたもので、以下の4つの主要ソフトウェアと管理ツールなどが含まれてます。これをインストールすることで、自分のPCがサーバー機能を持つことになります。
- Apache(Webサーバ)
- MySQL / MariaDB(データベースサーバ)
- PHP
- Perl
- 付記:XAMPPには、ダウンロードデフォルトの VM(バーチャルマシン)タイプと、インストーラータイプと2つの仕様があります。標準のダウンロードページに VMしかない場合は「その他のダウンロード」から installer を選んでください。以下です。
> https://sourceforge.net/projects/xampp/files/
ここで対応OSを選択して、最新のフォルダを開けると以下のように2つある場合があります。installer を選んでください。xampp-osx-X.X.XXX-X-vm.dmg xampp-osx-X.X.XXX-X-installer.dmg ← こちら
- インストールは簡単です。指示にしたがって「次へ」と進めるとインストールが完了します。たまに「オススメ」のインストールのお誘いがありますが、必要ないものは入れないのが賢明です。
- このとき重要なのが、XAMPPがHD内のどこにインストールされたのか・・ということです。XAMPP フォルダは直接扱うので、必ず把握して下さい。
- 以下、インストールしたサーバー環境の動作確認を行います。
- XAMPP フォルダの中に、以下のアイコンがあるはずです。それをダブルクリックしてコントロールパネルを起動して下さい。
- Windowsの場合は xampp-control.exe
- Macの場合は manager-osx
Apacheの動作確認
- Xamppのコントロールパネルから、サーバー(Apache)を起動して下さい。
参考記事(AdminWeb) - 例えば、Pukiwikiの利用であれば、Apacheサーバーのみ動けばOKです。
- ブラウザを起動して、アドレスバーに以下を直接入力して下さい。
http://localhost/
- 「It Works!」と表示されれば、サーバーは正常に動いています。
このとき、あなたのPCは、一人二役状態にあります。
あなたのPC内のサーバーソフトが、あなたのPC内のブラウザからの要求に応答している…という状態です。
- Xampp フォルダの中に htdocs というフォルダを見つけて下さい。
/xampp/htdocs/ - htdocs が 配信用のHTMLファイルを置く場所(ドキュメントルート)です。
その中に、 index.html があって、ソースを見ると、先の「It Works!」
が書かれているのがわかると思います。 - その index.html をあなたが作ったものと入れ替えれば、動作確認ができます。
- 要確認
- 単にファイルをブラウザにドラッグした場合、アドレスは
file://
- htdocs内にファイルを置いて、Localhostにアクセスした場合、
http://
と、明らかに異なる動作確認を行っていることがわかります。
前者は、ファイルとして表示したもの、
後者はサーバーから配信されたもの・・ということになります。
- 単にファイルをブラウザにドラッグした場合、アドレスは
PHPの動作確認
- 以下の一行だけ書いたファイルを test.php という名前で保存して、
ドキュメントルート(htdocsフォルダ)に置いて下さい。<?php echo phpinfo(); ?>
- 以下のアドレスを入力して、PHPの情報が表示されればPHPの動作もOKです。
http://localhost/test.php
MacOS標準機能の利用
MacOSXには、Apache webサーバーが内蔵されていますので、それを使うことも可能です。
以下の操作では、その都度管理者パスワードを要求されます。sudo は Superuser Do。管理者にのみ権限のある操作です。システム環境の変更を行う注意を要する操作なので、経験豊富な方に付き添ってもらうことをお勧めします。操作は自己責任で行って下さい。
Apacheの起動
- ターミナルを起動して下さい。
Finderメニュー>移動>ユーティリティー>ターミナルをクリック
- $マーク(プロンプト)に続けて、以下のコマンドを入力して下さい。
sudo apachectl start
- 管理者パスワードを聞かれます > あなたのMac管理用パスワードを入力
動作確認
- ブラウザで以下のアドレスにアクセスしてください。
http://localhost/
- 「It Works!」と出ればOK。あなたのMacはサーバーとして動いています。
- Webのドキュメントフォルダは以下にあります
MacintoshHD/ライブラリ/WebServer/Documents/
- そこへindex.html なりフォルダなりを投入してご確認ください。
停止と再起動
- ちなみに停止、再起動は以下のとおりです。
- 停止
sudo apachectl stop
- 再起動
sudo apachectl restart
- 停止
参考1:自動起動と解除
開発作業が日常的で、その都度サーバーを起動するのが面倒な場合、常時起動状態にすることも可能です。
- Apacheを常に起動している状態にする(自動起動)
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
- Apacheの自動起動を解除
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
参考2:PHPを使うには
PHPを含むサイトを動作させるには、Apacheの設定ファイルを変更する必要があります。以下の手順で変更可能です。
- 設定ファイルの場所は、/etc/apache2/httpd.conf ですが、通常の Finder操作では、/etc が見えません。以下のようにすれば etc フォルダが開きます。
Finderメニュー > 移動 > フォルダへ移動 > /etc
- 対象となる以下のファイルをエディタで開きます。
/etc/apache2/httpd.conf
- 以下の行を見つけます。
#LoadModule php5_module libexec/apache2/libphp5.so
- 行頭の#(コメントアウト)を消して、有効化します。
LoadModule php5_module libexec/apache2/libphp5.so
- 以上、httpd.conf を保存すればWebサーバ上でPHPが使えるようになります。
- 再起動が必要です。
Linux環境の場合
はじめに
XAMPP for Linuxがリリースされています。それを使う場合は、上記の内容と同じです。
マニュアルでセットアップしたい場合は、アプリケーションメニューから Apache と PHP をインストールすることになります。以下その場合の記事です。
- サーバーソフトは apache2
- PHPモジュールは libapache2-mod-php5
- サーバーのドキュメントルートは /var/www/
Webサーバーのインストール
- パッケージマネージャで
apache2 をインストール
- ブラウザから localhost にアクセス
http://localhost/
It Works! と表示されればOK。
- 確認の意味で、/var/www/ 以下にある
index.html (It Works! )を書き換えてみる
※ルート権限で作業する必要があります。$ sudo nautilus
としてからファイルにアクセスすれば可能です。
PHPモジュールのインストール
- パッケージマネージャで
libapache2-mod-php5 をインストール
- 以下の一行のみ、test.php というテキストファイルとして保存
<?php echo phpinfo(); ?>
- test.phpを /var/www/ 直下に置いて
※ルート権限で作業する必要があります。
- ブラウザから localhost/test.php にアクセス
http://localhost/testphp.php
これで、何やらPHPの情報が表示されれば、PHPは動いています。
- 参考までに
- php5モジュールを有効化
$ sudo a2enmod php5
- apacheの再起動
$ sudo apache2ctl restart
- php5モジュールを有効化
後の作業を楽にするために
- /var/wwwのオーナーをログインユーザIDへ変更
$ sudo chown -R ログインユーザID:www-data /var/www/
この作業はGUIでも可能($sudo nautilus から入って、フォルダのアクセス権を変える)。
- システムデフォルトでは、Webルート(/var/www)への書き込みにroot権限が必要。そのままでは、いちいち root に上がる必要が生じるので、ログインユーザをwww-dataグループにいれる(www-data : apache2の実行ユーザ・グループ名)
$ sudo usermod -g www-data ログインユーザID
ファイルを作成した際、そのファイルの所属グループがwww-dataになる。
Apache2で public_html を公開ディレクトリに設定する方法
- ユーザーディレクトリを有効にする
- デフォルトではユーザーディレクトリが無効になっているので
$ sudo a2enmod userdir
- Apache を再起動
$ sudo /etc/init.d/apache2 restart
- デフォルトではユーザーディレクトリが無効になっているので
- ユーザディレクトリ public_htmlを有効にする
- まず、ホームディレクトリに public_html ディレクトリを作成
- 以下root権限で作業する必要があります。
- apache2の設定ファイルを新規につくります。
/etc/apache2/sites-available/default のコピーをつくって
ファイル名を userNameに変更。 結果、以下のファイルができます。
/etc/apache2/sites-available/userName - この中身を編集して、
DocumentRoot /var/www を
DocumentRoot /userName/public_html にします。 - 以下の2つのコマンドによって
default が無効に、そしてuserNameが有効になります。$ sudo a2dissite default $ sudo a2ensite ''userName''
- 尚、上の2つのコマンドは、/etc/apache2/sites-enable/ ディレクトリ内にある
/etc/apache2/sites-available/default のリンクを消して、
/etc/apache2/sites-available/userNameのリンクを置く
という動作をするだけなので、手動で同じ操作をしても結果は同じです。 - Apache を再起動します。
$ sudo service apache2 restart
- public_html に適当なindex/htmlを置いて
http://localhost/~userName/
をブラウザで確認してみて下さい。
- ユーザディレクトリ public_html でPHPが動くようにする
設定ファイルの場所は以下。触るにはroot権限が必要
/etc/apache2/mods-available/php5.conf- 1. /etc/apache2/mods-available/php5.confのバックアップ
- 2. /etc/apache2/mods-available/php5.confの編集
以下のようにコメントアウト
#<IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> #</IfModule>
- 3. apache2の設定を再読み込みする
$ sudo service apache2 force-reload
参考:
箕面市役所(ここはLinuxを使う公的機関です)那谷さんによる記事
余談ですが・・・
- 世界最初のWebサーバー(画像) 関連記事
- 日本最初のWebサーバー
- 日本で最初のホームページ(アーカイブ)
高エネルギー加速器研究機構 計算科学センターの森田洋平博士によって発信
情報源>株式会社つくばマルチメディアが管理するサイト