コンテンツへスキップ

Raspberry PiへのWEBサーバー導入

Apache2系のインストール

絶対難しくなった。と思うのは私だけ?
設定ファイルを分割しすぎ、直感的に分からない。
Virtual Hostに、CGIモジュール導入で苦労したので、記事にしておきます。

Apache2をRaspberry Piへインストール

Apache「apache2」、SQLサーバー「 mariadb-server」、PHPのSQLモジュール「 php-mysql」をインストールします。
MySQLサーバー「mysql-server」をインストールしようとしましたが、「パッケージ 'mysql-server' にはインストール候補がありません」と表示されました。

MariaDB は MySQL の派生のようで、今後のスタンダードになっていくオープンソースのデータベースのようです。

@raspberrypi:~ $ sudo apt-get update
@raspberrypi:~ $ sudo apt-get upgrade
@raspberrypi:~ $ sudo apt-get install apache2

@raspberrypi:~ $ sudo apt-get install mysql-server
mariadb-server-10.0E: パッケージ 'mysql-server' にはインストール候補がありません

@raspberrypi:~ $ sudo apt-get install mariadb-server

@raspberrypi:~ $ sudo apt-get install php-mysql

Apache2の設定ファイル

設定ファイル編集方法

# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
# /etc/apache2/
# |-- apache2.conf
# | `-- ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf-enabled
# | `-- *.conf
# `-- sites-enabled
# `-- *.conf

conf-(available|enabled)、mods-(available|enabled)、sites-(available|enabled)、というディレクトリがあります。
confには設定ファイル、modsは拡張機能、sitesにはサイトの設定があります。
それぞれ「available」「enabled」の2つのフォルダが存在します。
設定ファイルを作成する際は、「available」フォルダに設定ファイルを作成し、次のコマンドで、設定ファイルを有効化、無効化します。

  • 有効化コマンド
    • a2enconf 設定ファイル有効化
    • a2enmod 拡張機能有効化
    • a2ensite サイト有効化
  • 無効化コマンド
    • a2disconf 設定ファイル無効化
    • a2dismod 拡張機能無効化
    • a2dissite サイト無効化

有効化、無効化のコマンドにより、「available」フォルダ内の設定ファイルのリンクが、「enabled」フォルダ内に作成・削除されます。

設定ファイル変更後は、apacheサービスの設定再読み込みや再起動が必要です。

設定ファイル編集

拡張機能をする際は、有効化されているモジュールを調べます。

# apache2ctl -M

「cgi_module」は、デフォルトでは有効になっていないので、以下のコマンドでCGIが利用出来るように変更します。

# a2enmod cgi
# apache2ctl -M|grep cgi
cgid_module (shared)

CGIを利用したいフォルダに「 +ExecCGI」を追記し、CGIが動作するように設定します。以下は、トップフォルダでCGIを利用出来るようにした際の例です。

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews +ExecCGI
AllowOverride None
Order allow,deny
allow from all
</Directory>

サービス操作

参考にApache2のサービス操作のコマンドを載せておきます。

Usage: apache2 {start|stop|graceful-stop|restart|reload|force-reload}
@raspberrypi:~ $ sudo service apache2 reload
@raspberrypi:~ $ sudo service apache2 restart

参考にさせて頂いたサイト

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA