早崎トップ 研究(気候気象) 研究(大気汚染) データリスト Linux Tips Mac Tips

HTTP関連

HTTP daemon 設定

CentOS 7 での使用環境は以下の通り(checked: 2014-10-09):

  • CentOS 7.x 系列使用(執筆時version: 7.0.1406)
  • (私の使用環境で)最低限必要なパッケージ: httpd, php. 作業手順概要は下記
    $ sudo yum -y install httpd php
    (php を入れないと,index.php などが表示されない.
    /etc/httpd/conf.d/php.conf も作られない)
    
    $ sudo vi /etc/httpd/conf.d/userdir.conf
    ($HOME/public_html の使用許可,同dir以下での AllowOverride All 設定何でも書き換え可能)
    
    $ sudo systemctl start httpd.service
    (ブラウザから localhost 指定で稼働確認,ユーザdirも.
    アクセスできなければ,See /var/log/httpd/error.log; 
    $HOME/public_html/ のディレクトリパーミッションなどもチェック.)
    
    $ sudo systemctl enable httpd.service
    (正常稼働が確認できれば,OS起動時にサービス開始するように)
    
software package name
Apache httpd-2.4.6-18.el7.centos
MariaDB (MySQL後継) mariadb-server-5.5.37-1.el7_0
PHP php-5.4.16-23.el7_0.1

現在(記載日不明.ファイル更新日では 2012-06-28)の使用環境は以下の通り:

  • CentOS 5.x 系列使用(執筆時version: 5.4)
software package name
Apache httpd-2.2.3-31.el5.centos.2
MySQL mysql-server-5.0.77-4.el5_4.2
PHP php-5.1.6-24.el5_4.5

conf 関連全般

  • DocumentRoot は,/home/www/html/ とする. 自分にとっての最重要ファイルを全て/home/ 以下に置き, バックアップ手順を簡素化する (最低でも,/home/ だけは必ずバックアップする)のが目的
  • DocumentRoot 以下の全体設定は,/etc/httpd/conf/httpd.conf に書く
  • 目的別ページに関する設定(アクセス制御など)は, /etc/httpd/conf.d/ 以下の 『ページ名.conf』という設定ファイルに記述する. 全体設定で使う httpd.conf が複雑になりすぎないための措置
  • (Fedora 14 にて)拡張子なしでもアクセス可能にするために, Options で Multiviews と "MultiviewsMatch Handlers" を追記. hoge.html を hoge.php でもアクセス出来るように,方針修正したため(2012-01-19 以後). CentOS 5.x 系列だと,特に何も修正しなくてもできた ... ような気がする. 単に,ずっと以前に修正したのを忘れているだけかもしれないが. httpd.conf の書き換えができない場合, 該当ディレクトリの .htaccess に書いたらできる場合もある (その場合,"Options +Multiviews" とプラスをつける.追加,の意. .htaccess による修正が許可されていれば、だが)

目的別ページに関するメモ

パッケージインストールで作成されるデフォルトの *.conf から 変更していないものについては,記述を省略.

 apcupsd.conf

  • localhost のAPCバッテリーのモニタ用
  • アクセス可能なのは localhost からのみ
  • CGI 実行許可を与える
Alias /apcupsd/ /home/www/html/apcupsd/
<Location /apcupsd/>
       DirectoryIndex upsstats.cgi
       Options ExecCGI
       order deny,allow
       deny from all
       allow from 127.0.0.1
       allow from ::1
</Location> 

  pukiwiki.conf

  • 外部非公開,個人的なメモは pukiwiki で書く
  • 見られると恥ずかしい(?)情報を置くのは構わないが, 見られたら危険な情報は置かない
  • アクセスは localhost からのみ許可

 weather_chart.conf

  • 個人的使用は出来るが再配布不可となっている天気図などを自分が閲覧するための web
  • 天気図だけでなく,公開が難しい自作の図なども置いてよい

 munin.conf

  • サーバ監視ツール munin のアクセス制限用に設置
  • 導入手順の詳細は,サーバ監視 (munin)を参照
  • サーバの稼働状況を誰にでも見られてしまうのはマズイ (恥ずかしい,という方が適切かな). 基本,自分自身 (localhost) からのみ見えれば,大きな問題無し
  • 複数台監視している場合には, 見せてもよいIPやサブドメイン単位で制限かければよかろう
<Location /munin/>
   Options Indexes Includes FollowSymLinks ExecCGI
   Order deny,allow
   Deny from all
   Allow from ::1
   Allow from 127.0.0.1
##    Allow from 127.0.0.1 192.168.1.0/255.255.255.0
</Location>

アクセス解析 (webalizer)

CentOS の場合,httpd を動かしていれば (厳密に言うと, /var/log/httpd/access_log が存在していれば), /etc/cron.daily/00webalizer により毎日更新される. つまり,httpd を動かして翌日になれば,解析情報が作成されているはず. すぐに解析したいのなら,コマンドラインから webalizer を実行すれば良い.

ちなみに,cron.daily を含め, システム標準で稼働する cron の実行時間は, /etc/crontab にて管理されている. CentOS 5.6 の cron.daily (webalizer が含まれる) は, 毎日 04:02 に実行される.