PAGES

GUIDE

DATA

WebServer

ローカルサーバーのセットアップについて

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つの仕様があります。ここでは、従来からあるインストーラー形式のものを前提に説明しています。
インストーラータイプを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)
  • 例えば、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



後の作業を楽にするために

  • /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を使う公的機関です)那谷さんによる記事



余談ですが・・・

Last-modified: 2020-02-05 (水) 13:57:54