#author("2023-10-03T18:23:30+09:00;2023-10-03T18:19:14+09:00","default:inoue.ko","inoue.ko") #author("2023-10-03T18:24:19+09:00;2023-10-03T18:23:30+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つの仕様があります。標準のダウンロードページに VMしかない場合は「その他のダウンロード」から ''installer'' を選んでください''。以下です。}; https://sourceforge.net/projects/xampp/files/ ここで対応OSを選択して、最新のフォルダを開けると以下のように2つある場合があります。''installer'' を選んでください。'' -付記:&color(red){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)>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]] ~ ~