#author("2022-02-09T19:29:19+09:00","default:dramsukohome","dramsukohome") #author("2024-10-02T08:08:40+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] + 方法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); * 実行ユーザー、ユーザーグループの変更(Ubuntu) [#wd4361ca] + sudo vim /etc/apache2/envvars export APACHE_RUN_USER=apacheUser export APACHE_RUN_GROUP=ApacheUsers + php sessionフォルダの権限変更も忘れずに。。。 sudo chown apacheUser:ApacheUsers /var/lib/php/sessions -R