facebook twitter hatena line email

Apacheメモ

提供: 初心者エンジニアの簡易メモ
2017年12月19日 (火) 15:34時点におけるAdmin (トーク | 投稿記録)による版 (VirtualHostの設定方法)

移動: 案内検索

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 # .htaccessを許可
    Allow from All
  </Directory>
</VirtualHost>
<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 # .htaccessを許可
    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