ホーム » スタッフ » 斉藤徹 » Debianのapache2の設定方法

2015年10月
« 9月   11月 »
 123
45678910
11121314151617
18192021222324
25262728293031

最近の投稿(電子情報)

アーカイブ

カテゴリー

Debianのapache2の設定方法

学生が、Raspberry-PiでCGIを使いたいらしいけど、設定の方法がDebianは一癖あるので、 説明資料を記述。

Debianの原則

Debianでは、基本的な設定ファイルは極力自分で触らない主義。

apache2 も同様で、便利なモジュールも設定ファイルは、必要なものは モジュール毎にインストール時に読み込ませて、触らない主義。

このための設定があって、 CGIとかPHPといったものは、モジュールで管理。

DebianのApache2設定ファイルの考え方

一般的なApacheでは、設定は、/etc/apache2/apache2.conf とか、 /etc/apache2/httpd.conf に記述する。 しかし、いくつものモジュールを使うと、これらの設定ファイルが、 巨大で理解困難になってしまう。

このためDebianのapache2 では、/etc/apache2/*-enabled で対応する。 /etc/apache2/apache2.conf には、以下のような行が書いてあり、 *-enabled配下の設定ファイルをすべて読み込んで起動する。

(( /etc/apache2/apache2.confの一部 ))
 IncludeOptional mods-enabled/*.load
 IncludeOptional mods-enabled/*.conf
 IncludeOptional conf-enabled/*.conf
 IncludeOptional site-enabled/*.conf

/etc/apache2/mods-enabled (mods-available)

  1. 必要なモジュールをインストールすると、 設定ファイルは /etc/apache2/mods-available に書き込まれる。
    (モジュール名.load モジュール名.conf)
      使えるモジュールは、以下のコマンドを使えば、一覧が見れる。
      $ aptitude search libapache2-mod
      インストールしたいモジュールが見つかったら
      $ sudo aptitude install libapache2-mod-モジュール
    
  2. 本当に使いたいモジュールは、以下のコマンドを実行。
      $ sudo /usr/sbin/a2enmod モジュール名
      /etc/apache2/mods-enabled に、mods-available への
      シンボリックリンクを作ってくれる。
    

    使いたくなくなったら、

      $ sudo /usr/sbin/a2dismod モジュール名
    
  3. a2enmodなどを実行したら、以下のコマンドで apache2を再起動
      $ sudo /etc/init.d/apache2 restart
    

    基本原則 /etc/apache2/mods-enabled の配下の設定ファイルは触らない。 どうしても設定ファイルを変更したい場合は、conf-enabled , site-enabled で設定。

/etc/apache2/sites-enabled (sites-available)

  1. apache2では、1台のコンピュータで複数のwebサイトを構築できる。 バーチャルホストの設定は1つのホスト毎に、sites-available の *.conf に記述。 ホスト毎の細かい設定は、この中に記述する。
  2. そのホストを使えるようにしたかったら、以下のコマンド。
      $ sudo /usr/sbin/a2ensite ホスト
      /etc/apache2/site-enabled に、site-available への
      シンボリックリンクを作ってくれる。
    

    ホストを使えないようにする。

      $sudo /usr/sbin/a2dissite ホスト
    
  3. a2ensite を実行したら、"/etc/init.d/apache2 restart"

/etc/apache2/conf-enabled (cont-available)

  1. site-* では、各ホスト毎の設定を書くけど、すべての仮想ホストに共通な 設定は、conf-enabled / conf-available を使う。
  2. 設定を /etc/apache2/conf-available の中に、設定名.conf で記述し、 以下のコマンドで有効にする。
      $ sudo /usr/sbin/a2enconf 設定名
      $ sudo /usr/sbin/a2disconf 設定名
    

(例)

CGIを使いたい (CGIは基本モジュールなのでlibapache2-mod-cgi などはしなくていい)

 $ sudo /usr/sbin/a2enmod cgi  # cgiモジュールの有効化
 $ sudo /etc/init.d/apache2 restart

PHP5を使いたい

 $ sudo aptitude install php5   # PHP5をインストール
 $ sudo aptitude install libapache2-mods-php5
                           # apache2のphp5モジュールをインストール
 $ sudo /usr/sbin/a2enmod php5  # php5モジュールの有効化
 $ sudo /etc/init.d/apache2 restart  # apache2 の再起動

ページは各ユーザの /home/user/public_html/ 配下に作らせたい。

 $ sudo /usr/sbin/a2enmod userdir

SSLのhttps://を使いたい

 $ sudo vi /etc/apache2/site-available/default-ssl.conf
 $ sudo /usr/sbin/a2ensite default-ssl
 $ sudo /etc/init.d/apache2 restart