「インストール - Apache2(Raspberry Pi)」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の4版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
Raspberry Pi 3でWebサーバを構築する。<br>
Apache HTTP Serverプロジェクトは、UNIXやWindowsを含むOS向けのオープンソースHTTPサーバを開発および保守する取り組みである。<br>
Webサーバを構築して、PHP等で作成したWebページを介してGPIOを制御するところまで記載する。<br>
このプロジェクトの目標は、現在のHTTP標準に同期したHTTPサービスを提供する、安全で効率的かつ拡張可能なサーバを提供することである。<br>
<br>
Apache HTTPサーバ (httpd) は1995年に開始され、1996年4月以来、インターネット上で人気のあるWebサーバとなっている。<br>
2020年2月にプロジェクトとして25回目の誕生日を迎えた。<br>
<br>
Apache HTTP Serverは、Apache Software Foundationのプロジェクトである。<br>
<br>
その他、Raspberry Piでは、WebサーバとPHP等で作成したWebページを介して、GPIOを制御することも可能である。<br>
<br><br>
<br><br>


228行目: 235行目:
次に、test1.cgiファイルを作成して表示する。<br>
次に、test1.cgiファイルを作成して表示する。<br>
test1.cgiファイルの内容は、以下の通りである。<br>
test1.cgiファイルの内容は、以下の通りである。<br>
以下の例では、CGIファイルのディレクトリのパスは、/srv/www/cgi-bin/である。<br>
以下の例では、CGIファイルのディレクトリのパスは、/usr/lib/cgi-bin/である。<br>
  sudo vi /srv/www/cgi-bin/test1.cgi
  sudo vi /usr/lib/cgi-bin/test1.cgi
<br>
<br>
  <syntaxhighlight lang="bash">
  <syntaxhighlight lang="bash">
  # test1.cgiファイル
  # /usr/lib/cgi-bin/test1.cgiファイル
   
   
  #!/usr/bin/env bash
  #!/usr/bin/env bash
249行目: 256行目:
以下の例では、CGIスクリプトにPython3を使用している。<br>
以下の例では、CGIスクリプトにPython3を使用している。<br>
  <syntaxhighlight lang="python">
  <syntaxhighlight lang="python">
  # test2.cgi
  # /usr/lib/cgi-bin/test2.cgi
   
   
  #!/usr/bin/env python3
  #!/usr/bin/env python3
265行目: 272行目:
  sudo chmod 755 /srv/www/cgi-bin/test2.cgi
  sudo chmod 755 /srv/www/cgi-bin/test2.cgi
<br>
<br>
test1.cgiファイルおよびtest2.cgiファイルを実行するため、Webブラウザに http://localhost/cgi-bin/test1.cgi と入力する。<br>
test1.cgiファイルおよびtest2.cgiファイルを実行するため、<br>
Webブラウザに"CGI Shell Web Site"と表示されていれば、正常に動作している。<br>
Webブラウザにそれぞれ http://localhost/cgi-bin/test1.cgi および http://localhost/cgi-bin/test2.cgi と入力する。<br>
<br><br>
Webブラウザに"CGI Shell Web Site"および"CGI Python3 Web Site"と表示されることを確認する。<br>
 
== PHPのインストール ==
次に、PHPをインストールする。<br>
PHPのインストール手順は、[[インストール - PHP|インストール - PHP]]を参照する。<br>
<br>
PHPが正常に動作するかどうかを確認するため、/var/www/htmlディレクトリに対して、以下に示すPHPファイルを作成する。<br>
sudo vi /var/www/html/index.php
<br>
<syntaxhighlight lang="php">
# /var/www/html/index.phpファイル
<?php
phpinfo();
?>
</syntaxhighlight>
<br>
Webブラウザで http://localhost と入力する。<br>
PHPの情報の一覧が表示されている場合は、PHPが正常に動作している。<br>
<br><br>
<br><br>


311行目: 300行目:
  ls /etc/rc2.d/
  ls /etc/rc2.d/
<br><br>
<br><br>
== PHPのインストール ==
次に、PHPをインストールする。<br>
PHPのインストール手順は、[[インストール - PHP|インストール - PHP]]を参照する。<br>
<br>
PHPが正常に動作するかどうかを確認するため、/var/www/htmlディレクトリに対して、以下に示すPHPファイルを作成する。<br>
sudo vi /var/www/html/index.php
<br>
<syntaxhighlight lang="php">
# /var/www/html/index.phpファイル
<?php
    phpinfo();
?>
</syntaxhighlight>
<br>
Webブラウザで http://localhost/index.php と入力する。<br>
PHPの情報の一覧が表示されている場合は、PHPが正常に動作している。<br>
<br><br>
== PHP-FPMを使用する場合 ==
PHP-FPMを使用する場合、PHP-FPMが動作するユーザ名およびグループ名 (www.confファイルにある<code>user</code>および<code>group</code>) と同名にする必要がある。 (<code>nobody</code>でもよい)<br>
この設定を行わない場合、リクエストが来てもテキストファイルのように.phpファイルの内容を返してしまう。<br>
<br>
Apache2の設定ファイル (httpd.confファイル) において、<code>User</code>および<code>Group</code>を設定する。<br>
sudo vi /<Apache2のインストールディレクトリ>/conf/httpd.conf
<br>
<syntaxhighlight lang="apache">
# /<Apache2のインストールディレクトリ>/conf/httpd.confファイル
User <PHP-FPMが動作する同一のユーザ名またはnobody>
Group <PHP-FPMが動作する同一のグループ名またはnobody>
</syntaxhighlight>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Raspberry_Pi]]
[[カテゴリ:Raspberry_Pi]][[カテゴリ:Web]]