facebook twitter hatena line email

Apacheメモ

提供: 初心者エンジニアの簡易メモ
2015年5月20日 (水) 03:14時点における127.0.0.1 (トーク)による版 (ページの作成:「=apacheメモ= ==VirtualHostの設定方法== httpd.confを以下のように修正 *:80の部分は変更可能です。 Listen 80 # 追加 NameVirtualHost *:80 <<...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

apacheメモ

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