facebook twitter hatena line email

「Apacheメモ」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(Apatch2.4の時に404エラーとなった場合)
行3: 行3:
 
  AH01630: client denied by server configuration:
 
  AH01630: client denied by server configuration:
  
    <Directory "/var/www/hoge">
+
<Directory "/var/www/hoge">
        AllowOverride All
+
     AllowOverride All
        Require all granted
+
      Require all granted
    </Directory>
+
</Directory>
 +
 
 
==VirtualHostの設定方法==
 
==VirtualHostの設定方法==
 
  httpd.confを以下のように修正
 
  httpd.confを以下のように修正

2017年11月21日 (火) 11:34時点における版

apacheメモ

Apatch2.4の時に404エラーとなった場合

AH01630: client denied by server configuration:
<Directory "/var/www/hoge">
     AllowOverride All
     Require all granted
</Directory>

VirtualHostの設定方法

httpd.confを以下のように修正
*:80の部分は変更可能です。
Listen 80
# 追加
NameVirtualHost *:80
<VirtualHost *:80>
  ServerName sample1.example.com
  DocumentRoot "/var/www/html"
  <Directory "/var/www/html">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>
# .htaccessを許可
<VirtualHost *:80>
  ServerName sample2.example.com
  DocumentRoot "/var/www/html/2"
  HostNameLookups off
  UseCanonicalName on
  <Directory "/var/www/html/2">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>
hostsに以下を追加し確認
127.0.0.1       sample2.example.com
127.0.0.1       sample2.example.com

mod_rewriteの使い方

apacheのhttpd.confの以下コメントを外す。

LoadModule rewrite_module modules/mod_rewrite.so

例)URLの./abc/を./new/に変更する場合 .htaccess

RewriteEngine on
RewriteRule ^abc/(.*)$ new/$1 [L]

localhostでサブドメインを使用

http://www.localhostをd:/home/に割り当ててみる

C:\Program Files\Apache Group\Apache\conf\httpd.conf
一番下の
#</VirtualHost>
の下に追加記述
<VirtualHost *>
DocumentRoot d:/home
ServerName www.localhost
</VirtualHost>

C:\WINDOWS\system32\drivers\etc\
hostsに以下を追加
127.0.0.1       localhost
127.0.0.1       www.localhost
アパッチとブラウザを再起動

Index Of非表示方法

httpd.conf
Options Indexes FollowSymlinks MultiViews
↓
Options FollowSymlinks MultiViews

バーチャルホストconfを別ファイルで設定

  • httpd.confの最下に設定
Include conf/extra/httpd-vhosts.conf
  • extra/httpd-vhosts.confにVirtualHost設定記述

mod_proxy

<Location />
  ProxyPass http://localhost:8080/
  ProxyPassReverse  http://localhost:8080/
</Location>

test.example.comを内部的に別サーバ(test.cloudcore)で動作させる場合

 略
 </Directory>
 ProxyPass / http://test.cloudcore/
 ProxyPassReverse / http://test.cloudcore/
 ProxyPassReverseCookieDomain test.cloudcore test.example.com
 ProxyPassReverseCookiePath / /
</VirtualHost>

accesslogからipの集計

awk '{print $1;}' /etc/httpd/logs/access_log|sort|uniq -c
#アクセスの多いip上位100件
awk '{print $1;}' /etc/httpd/logs/access_log|sort|uniq -c|sort -r|head -n 100
#特定パスのみからip集計
grep /test1/ /etc/httpd/logs/access_log | awk '{print $1;}' |sort|uniq -c|sort -r|head -n 100