LogoMark.png

WebServer の変更点


#author("2020-02-05T13:57:54+09:00","default:inoue.ko","inoue.ko")
*WebServer
ローカルサーバーのセットアップについて
~

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]]
~
~