- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-10-12T13:14:16+09:00;2020-02-05T13:57:54+09:00","default:inoue.ko","inoue.ko")
*LocalServer
ローカルサーバーのセットアップについて
~
Webデザインを学ぶにあたって、サーバー環境の準備は欠かせない作業です。大学のサーバーやレンタルサーバーを使って実地訓練…という手もありますが、外部サーバーにいちいちアップして動作確認するというのは能率が悪いので、とりあえず自分のPCにサーバソフトをインストールして実験環境をつくりましょう。一人二役状態、つまりサーバーとクライアントを一台のPCの中で同時に動かす…ということです。
~
***CONTENTS
#contents2_1
~
~
**XAMPPの利用
Windows、Mac、LInux あらゆるOSで利用可能な [[XAMPPというサーバーパッケージ>http://www.apachefriends.org/jp/]]があります。一般にはこれを用いることが多いと思います。ライセンスGPLです。無料です。Webアプリ開発などの学習には最適のシステムですので、是非自分のPCにインストールして、使ってみて下さい。
~
***XAMPPのインストール
-[[XAMPP(ザンプ)>https://www.apachefriends.org/jp/]]は、Webサーバーマシンの構築に必要なソフトウェアをパッケージしたもので、以下の4つの主要ソフトウェアと管理ツールなどが含まれてます。これをインストールすることで、自分のPCがサーバー機能を持つことになります。
--Apache(Webサーバ)
--MySQL / MariaDB(データベースサーバ)
--PHP
--Perl
&color(red){XAMPPには、ダウンロードデフォルトの VM(バーチャルマシン)タイプと、インストーラータイプと2つの仕様があります。ここでは、従来からあるインストーラー形式のものを前提に説明しています。};
&color(red){インストーラータイプをDLするには、公式サイトのダウンロードページにある''「その他のダウンロード」''から必要なものを選択していきます。以下です。''};
-https://sourceforge.net/projects/xampp/files/
ここで対応OSを選択して、最新のフォルダを開けると以下のように2つあるので、installer を選んでください。
xampp-osx-7.3.12-0-vm.dmg
xampp-osx-7.3.12-0-installer.dmg ← こちら
-インストールは簡単です。指示にしたがって「次へ」と進めるとインストールが完了します。たまに「オススメ」のインストールのお誘いがありますが、必要ないものは入れないのが賢明です。
-このとき重要なのが、XAMPPがHD内のどこにインストールされたのか・・ということです。XAMPP フォルダは直接扱うので、必ず把握して下さい。
-以下、インストールしたサーバー環境の動作確認を行います。
-XAMPP フォルダの中に、以下のアイコンがあるはずです。それをダブルクリックしてコントロールパネルを起動して下さい。
--Windowsの場合は xampp-control.exe
--Macの場合は manager-osx
~
***Apacheの動作確認
-Xamppのコントロールパネルから、サーバー(Apache)を起動して下さい。
[[参考記事(AdminWeb)>http://www.adminweb.jp/xampp/install/index3.html]]
-例えば、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サーバーが内蔵されていますので、それを使うことも可能です。
&color(red){以下の操作では、その都度管理者パスワードを要求されます。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>http://www.apachefriends.org/jp/]]がリリースされています。それを使う場合は、上記の内容と同じです。
マニュアルでセットアップしたい場合は、アプリケーションメニューから 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
~
~
***後の作業を楽にするために
-/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を使う公的機関です)那谷さんによる記事>http://blog.goo.ne.jp/minoh_edubuntu/e/1ad413c220f5dad97b59a1f54566ff61]]
~
~
**余談ですが・・・
-[[世界最初のWebサーバー(画像)>http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:First_Web_Server.jpg]] [[関連記事>http://www.ibarakiken.gr.jp/www/cernwww/www1.html]]
-[[日本最初のWebサーバー>http://www.ibarakiken.gr.jp/www/web-1/index2.html]]
-[[日本で最初のホームページ(アーカイブ)>http://www.ibarakiken.gr.jp/www/first/kek.html]]
高エネルギー加速器研究機構 計算科学センターの森田洋平博士によって発信
情報源>[[株式会社つくばマルチメディアが管理するサイト>http://www.ibarakiken.gr.jp/www/index.html]]
~
~