Tag: Apache/設定一般

目次

関連ページ

参考情報

設定ファイルに関して

Apache2.4の場合

  • Apache2.4ではhttpd.confから以下のようにしてディレクトリ内の部分設定を読み込むようになっている。
    IncludeOptional conf.d/*.conf
    
  • conf.d配下のファイル名は気をつけよう | OpenGrooveにあるように、無闇にバックアップファイルを作成すると、そちらも読み込まれるので注意。一応.conf.bak、.conf~などはマッチしないと思われる。

UserDirまわり

public_htmlを公開する

参考情報

基本概念

  • mod_userdirはユーザーディレクトリをマッピングする能力は持っているが、パーミッションに関する設定をうまいことやってくれる機能はない。
  • このためApacheの実行ユーザーやグループの権限によってpublic_htmlにアクセスできない場合もある。そのために必要なのがグループでの読み書き宣言、その他読み書き宣言などが必要となる。
  • だたしその設定を行っても例えばPHPモジュール版でファイルを作るとApacheの実行ユーザーやグループがオーナーとなってしまう(例えばwordpress popular postsでサムネイルを作った場合)。
  • これを回避する機能がsuEXECで、この機能を使う場合PHPをcgiとして実行する必要がある。
  • たとえばさくらのレンタルサーバーでPHPがcgiモードで実行されているのは、このためだと思われる。

設定

  • CentOS 7: httpdのuserdirモジュールでpublic_htmlを公開する - Narrow Escape…パーミッションなど
  • CentOS7のapacheでUserdirを有効にする - Qiita
  • 設定ファイルの変更/etc/httpd/conf.d/userdir.confを変更する。
    UserDir enable
    UserDir public_html
    
  • このままで例えばhttp://localhost/~tanaka/のようにアクセスできるかと思いきや「Forbidden: You don't have permission to access / on this server.」でエラーが発生する。
  • 原因はhttpdを動かしているapacheユーザーが/home/tanaka/public_htmlにアクセスできないため。
  • otherユーザーにアクセスを許可する場合以下のように設定
    chmod 701 /home/tanaka
    chmod 701 /home/tanaka/public_html
    
  • その他710にしてchownでapacheグループに設定する方法もある。他のユーザーに見られてもいい場合chmodだけですますほうが簡単かも。
  • さらに不明なエラーが発生した場合SELinuxを無効化してためしてみる。

モジュール関連

  • 有効なモジュールを一覧表示。
     apachectl -t -D DUMP_MODULES

VirtualHost

環境変数


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-06-17 (木) 14:49:40