「Apacheメモ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→Apatch2.4の時に404エラーとなった場合) |
|||
(同じ利用者による、間の7版が非表示) | |||
行18: | 行18: | ||
DocumentRoot "/var/www/html" | DocumentRoot "/var/www/html" | ||
<<nowiki />Directory "/var/www/html"> | <<nowiki />Directory "/var/www/html"> | ||
− | AllowOverride All | + | AllowOverride All # .htaccessを許可 |
Allow from All | Allow from All | ||
</Directory> | </Directory> | ||
</VirtualHost> | </VirtualHost> | ||
− | |||
<<nowiki />VirtualHost *:80> | <<nowiki />VirtualHost *:80> | ||
ServerName sample2.example.com | ServerName sample2.example.com | ||
行30: | 行29: | ||
<<nowiki />Directory "/var/www/html/2"> | <<nowiki />Directory "/var/www/html/2"> | ||
Options Indexes FollowSymLinks Includes ExecCGI | Options Indexes FollowSymLinks Includes ExecCGI | ||
− | AllowOverride All | + | AllowOverride All # .htaccessを許可 |
Allow from All | Allow from All | ||
</Directory> | </Directory> | ||
行39: | 行38: | ||
127.0.0.1 sample2.example.com | 127.0.0.1 sample2.example.com | ||
− | == | + | ==htaccessを許可/拒否== |
+ | AllowOverride All # すべて許可 | ||
+ | AllowOverride None # すべて拒否 | ||
+ | 詳細に設定したい場合は以下の通り | ||
+ | AllowOverride AuthConfig FileInfo Indexes Limit Options=Indexes,SymLinksIfOwnerMatch,MultiViews,FollowSymLinks,ExecCGI,Includes,IncludesNOEXEC | ||
+ | ==mod_rewriteの使い方== | ||
apacheのhttpd.confの以下コメントを外す。 | apacheのhttpd.confの以下コメントを外す。 | ||
LoadModule rewrite_module modules/mod_rewrite.so | LoadModule rewrite_module modules/mod_rewrite.so | ||
行50: | 行54: | ||
==localhostでサブドメインを使用== | ==localhostでサブドメインを使用== | ||
− | + | ttp://www.localhost を d:/home/に割り当ててみる | |
C:\Program Files\Apache Group\Apache\conf\httpd.conf | C:\Program Files\Apache Group\Apache\conf\httpd.conf | ||
一番下の | 一番下の | ||
行98: | 行102: | ||
#特定パスのみからip集計 | #特定パスのみからip集計 | ||
grep /test1/ /etc/httpd/logs/access_log | awk '{print $1;}' |sort|uniq -c|sort -r|head -n 100 | grep /test1/ /etc/httpd/logs/access_log | awk '{print $1;}' |sort|uniq -c|sort -r|head -n 100 | ||
+ | |||
+ | ==proxyを挟んでもip適切に出力する方法== | ||
+ | /etc/httpd/conf.d/combined_x.conf | ||
+ | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Forwarded-For}i\"" combined_x | ||
+ | /etc/httpd/conf.d/hogehoge.com.conf | ||
+ | CustomLog "/var/log/httpd/hogehoge.com.access_log" combined_x | ||
+ | |||
+ | 参考:https://kakakikikeke.blogspot.jp/2013/07/apachex-forwarded-for.html | ||
+ | |||
+ | 参考:http://rriifftt.hatenablog.com/entry/2016/02/10/155744 | ||
+ | |||
+ | 参考:http://dotnsf.blog.jp/archives/1018169332.html |
2018年2月21日 (水) 15:50時点における最新版
目次
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
htaccessを許可/拒否
AllowOverride All # すべて許可 AllowOverride None # すべて拒否
詳細に設定したい場合は以下の通り
AllowOverride AuthConfig FileInfo Indexes Limit Options=Indexes,SymLinksIfOwnerMatch,MultiViews,FollowSymLinks,ExecCGI,Includes,IncludesNOEXEC
mod_rewriteの使い方
apacheのhttpd.confの以下コメントを外す。
LoadModule rewrite_module modules/mod_rewrite.so
例)URLの./abc/を./new/に変更する場合 .htaccess
RewriteEngine on RewriteRule ^abc/(.*)$ new/$1 [L]
localhostでサブドメインを使用
ttp://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
proxyを挟んでもip適切に出力する方法
/etc/httpd/conf.d/combined_x.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Forwarded-For}i\"" combined_x
/etc/httpd/conf.d/hogehoge.com.conf
CustomLog "/var/log/httpd/hogehoge.com.access_log" combined_x
参考:https://kakakikikeke.blogspot.jp/2013/07/apachex-forwarded-for.html