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
参考にさせて頂いたサイト
- https://manpages.debian.org/jessie/apache2/index.html
- https://yusuke.blog/2017/12/20/2054 分かりやすかったです。