#author("2019-02-23T19:17:47+09:00","default:dramsukohome","dramsukohome")
#author("2022-02-09T19:29:19+09:00","default:dramsukohome","dramsukohome")
[[Linux]]

#shadowheader(1,目次);

#contents




* インストール,Install [#r0e8ed57]



** CentOS 6 [#z0c3a392]
- apache のインストール
 yum install httpd
- php のインストール
 yum install php-common php-mbstring
- ssl(https 認証)系のインストール
 yum install openssl mod_ssl




* .htaccess による制御方法 [#b323294f]



** 作成 [#g10c0a63]
 AuthUserFile /var/honya/honya/.htpasswd
 AuthGroupFile /dev/null
 AuthName "Please Input! UserName & Password(^^)"
 AuthType Basic
 require valid-user



** .htaccess が有効にならない [#ia3ce135]
- <Directory /> の設定を確認する。~
同様に Indexes も有効にならない時がある。
 <Directory />
    AllowOverride All
    Options Indexes FollowSymLinks
 </Directory>




*htpasswd [#u99d8e15]
+最初の1人目
 htpasswd -c /var/honya/honya/.htpasswd (username)
+2人目以降
 htpasswd /var/honya/honya/.htpasswd (username)




*apache が作成するファイルの umask を変更する。 [#w7bb7fcb]
 echo "umask 002" >> /etc/sysconfig/httpd
 /etc/init.d/httpd restart




*Ubuntu(debian)系、apache実行ユーザー [#idf7c4d7]
-下記に記述あり
 /etc/apache2/envvars




* RewriteEngine が有効にならない時 [#m6a9ac35]
- Options に FollowSymLinks があることを確認する




* redirect(url の転送) [#h3f1a8a9]



** httpd.conf による転送 [#xbb2b317]
- 例) ルートディレクトリを転送する http://tar3.net/ -> https://www.tar3.net/
+ 方法1) 例) ルートディレクトリを転送する http://tar3.net/ -> https://www.tar3.net/
-- vi /etc/httpd/conf/httpd.conf
 <Directory />
 #    Options FollowSymLinks
 #    AllowOverride None
 Redirect / https://www.tar3.net/
 </Directory>
+ 方法2) 
-- 以下を追加
 RewriteEngine on
 RewriteCond %{HTTPS} off
 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]



** htmlでリダイレクト [#ef631d1f]
-vim index.html
 <meta http-equiv="refresh" content="0; URL='http://new-website.com'" />




* チューニング [#t75af9bd]



** 参考サイト [#je3d6352]
- [[中規模サイトのApacheチューニング(qiita):https://qiita.com/kou/items/acb3dcf1dcb428d7a3ec]]
- [[Apacheチューニング方法(Apache2.4, prefork)(qiita):https://qiita.com/takahashi-kazuki/items/2352aec16d6a1dc40582]]



** 前提 [#n05c5377]
- CentOS6 を使用(RedHat clone)



** mpm 関連設定 [#h2d846a5]
- sudo vi /etc/httpd/conf/httpd.conf
- 自分はこんな感じ
 <IfModule prefork.c>
  StartServers      10
  MinSpareServers   10
  MaxSpareServers   10
  ServerLimit      100
  MaxClients       100
  MaxRequestsPerChild  1000
 </IfModule>
- 上から3つ(Start, Min, Max)見たとおり。子プロセスの数。
- 次のLimit と Max は同時接続数。
− 一番下のMaxリクエストは、いくつリクエストを処理したら~
httpd のSpareServerを作りなおすか。



** Timeout, KeepAlive [#f0bd34e2]
- sudo vi /etc/httpd/conf/httpd.conf
- Timeout のデフォルト300秒は長すぎ。もっと短くする。
- KeepAlive はオフにする。
 Timeout 60
 KeepAlive Off



** logファイル関連。 [#rcd2793a]
- sudo vi /etc/httpd/conf/httpd.conf
- HostnameLookups をオフにする。
 HostnameLookups Off




* Log解析 [#qb8947bd]



** Visitors [#w7c80827]
-Visitors(外部)
--[[Visitorsのインストール(外部):http://ja.528p.com/linux/centos6/SM006-visitors.html]]
--[[Visitorsの公式サイト:http://www.hping.org/visitors/]]



** Webalizer [#j0659d04]


*** Link [#hb1c86be]
+ [[(外部リンク)Webalizerの設定ファイル(webalizer.conf ) の簡単解説:https://server-setting.info/centos/webalizer-conf.html]]
+ [[(外部リンク)WebAlizer Readme:https://webalizer.robata.org/readme.html]]
+ [[(外部リンク)Download:http://li.nux.ro/download/nux/misc/el7/x86_64/]]

*** Install [#y66940e3]
-関連するパッケージのインストール
 sudo yum install zlib-devel libpng-devel libgd-devel libdb-devel libbz2-devel GeoDB GeoIP GeoIP-update gd
-rpm のダウンロード
 wget http://li.nux.ro/download/nux/misc/el7/x86_64/webalizer-2.23_08-2.el7.nux.x86_64.rpm
-rpm のインストール
 sudo rpm -ivh webalizer-2.23_08-2.el7.nux.x86_64.rpm


*** 設定ファイル [#d10d0e30]
-設定ファイルのデフォルトは以下ですが、今回は通常のログとSSLのログを解析するために2つの設定ファイルを作りました。
-default
-- /etc/webalizer.conf
-通常のログ(not SSL)用
-- /etc/webalizer.conf.access
-SSL用
-- /etc/webalizer.conf.ssl


*** 解析結果ファイル(history, current)が保管される場所の作成 [#bb91b651]
 sudo mkdir /var/lib/webalizer/access
 sudo mkdir /var/lib/webalizer/ssl


*** 設定内容(access_log) [#j6f8c9ac]
+最初にログを読み込む時(過去のデータを抹消)
-- 一番古いログファイルを指定
--- LogFile        /var/log/httpd/access_log-20190127
-- Output ディレクトリの指定
--- OutputDir       /var/www/html/webalizer/access
-- HistoryName の指定
--- HistoryName     /var/lib/webalizer/access/webalizer.hist
-- 増分解析の有無
---  Incremental     no
-- 増分解析用のcurrentファイル
--- IncrementalName /var/lib/webalizer/access/webalizer.current
-- 解析結果ページのタイトル
--- ReportTitle    Access Usage Statistics for
-- DNSCache ファイル
--- DNSCache        /var/lib/webalizer/access/dns_cache.db
+次のログを読み込む時(過去のデータを保持)
-- 次に古いログファイルを指定
--- LogFile        /var/log/httpd/access_log-20190203
-- 増分解析の有無
---  Incremental     yes
+最終的な設定
-- 最新のログファイルを指定
--- LogFile        /var/log/httpd/access_log


*** 設定内容(ssl_access_log) [#mef5f897]
+最初にログを読み込む時(過去のデータを抹消)
-- 一番古いログファイルを指定
--- LogFile        /var/log/httpd/ssl_access_log-20190127
-- Output ディレクトリの指定
--- OutputDir       /var/www/html/webalizer/ssl
-- HistoryName の指定
--- HistoryName     /var/lib/webalizer/ssl/webalizer.hist
-- 増分解析の有無
---  Incremental     no
-- 増分解析用のcurrentファイル
--- IncrementalName /var/lib/webalizer/ssl/webalizer.current
-- 解析結果ページのタイトル
--- ReportTitle    Access Usage Statistics for
-- DNSCache ファイル
--- DNSCache        /var/lib/webalizer/ssl/dns_cache.db
+次のログを読み込む時(過去のデータを保持)
-- 次に古いログファイルを指定
--- LogFile        /var/log/httpd/ssl_access_log-20190203
-- 増分解析の有無
---  Incremental     yes
+最終的な設定
-- 最新のログファイルを指定
--- LogFile        /var/log/httpd/ssl_access_log


*** 解析の実行 [#c44d3c90]
-accessファイル
 webalizer -c /etc/webalizer.conf.access
-sslファイル
 webalizer -c /etc/webalizer.conf.ssl


*** 実行後の調整 [#xc31766c]
-実行後のページで過去の表示がおかしい場合、以下のファイルを編集したり削除したりする
 sudo vim /var/lib/webalizer/access/webalizer.hist
 sudo vim /var/lib/webalizer/ssl/webalizer.hist
 
 sudo rm /var/lib/webalizer/access/webalizer.hist
 sudo rm /var/lib/webalizer/ssl/webalizer.hist
 
 sudo rm /var/lib/webalizer/access/dns_cache.db
 sudo rm /var/lib/webalizer/ssl/dns_cache.db
 
 sudo rm /var/lib/webalizer/access/webalizer.current
 sudo rm /var/lib/webalizer/ssl/webalizer.current


*** 定期実行ファイルの修正 [#p43d5b34]
 sudo vi /etc/cron.daily/00webalizer 
-前
 #!/bin/bash
 # update access statistics for the web site
 
 NAME=webalizer
 
 [ -f /etc/sysconfig/$NAME ] || exit 0
 source /etc/sysconfig/$NAME
 
 [ "z$WEBALIZER_CRON" != "zyes" ] && exit 0
 
 exec /usr/bin/webalizer -Q
-後
 #!/bin/bash
 # update access statistics for the web site
 
 #NAME=webalizer
 #
 #[ -f /etc/sysconfig/$NAME ] || exit 0
 #source /etc/sysconfig/$NAME
 #
 #[ "z$WEBALIZER_CRON" != "zyes" ] && exit 0
 #
 #exec /usr/bin/webalizer -Q
 
 webalizer -c /etc/webalizer.conf.access
 webalizer -c /etc/webalizer.conf.ssl


*** ScreenShot [#i72311ad]
#ref(apache_httpd-WebAlizer-screenShot01.png);~
~
#ref(apache_httpd-WebAlizer-screenShot02.png);

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS