RSS | ATOM
Apacheのフッタの変更
複数のWebサーバを稼働させ、ロードバランサを使用し負荷を分散させて使用している
各サーバが正常に動いているのかを確認するために、各々のApacheの「httpd.conf」に細工をして、「Index of」ページの下(フッタ)に各サーバ名が表示されるようにし、「Index of」のページをリロードすると、今現在表示に使用されたWebサーバ名が出て確認できるようにしてある。
ちょっと邪道な方法であるが、トラブル時の原因を見つける上では、結構重宝していたりもする。

結構前から使用していたが、今回、何台か再セットアップを行った際に、すっかり忘れてしまっていたので、書き残しておこうと思いつく(笑)
続きを読む >>
author:ino, category:Apache, 17:32
comments(0), trackbacks(0), pookmark
メールアドレス収集ロボット対策
自分でホームページを作って管理するようになると、どこから調べたのかSPAMメールが届くようになる
(来ないという人は、幸運な人だ(笑))
SPAMが送られて来るメールアドレスはどこから漏れているのだろう・・・と、考えずにはいられない
原因としては、以下のような事が考えられる
◎インターネットで懸賞やアンケートサイトに登録したメールアドレスが流出した
◎掲示板などに書き込みをした際にメールアドレスも書き込んだ
◎メールをやりとりした事のある人のPCがウィルス感染してメールアドレスが流出した
◎名刺などにアドレスを載せている
◎ホームページを運営し、そこにアドレスを表示している
などなど・・・

実はメールアドレスは高い値で取引されているらしい・・・
※住所などの個人情報がついていればかなり高額らしいが、メールアドレスのみでも、実際に現在使用されているメールアドレスのリストというのも高値らしい・・・
DM(SPAM)送るには今使われているメールアドレスに送った方が率が良いし、昔のDMを郵送していた頃に比べると、メアドのリストを買ったとしても元は取れるという理屈らしいが・・・
どんな理由にせよ、SPAMは邪魔以外の何者でもないなぁ・・・

特に腹立たしい方法が、「メールアドレス収集ロボット」
これは何か?というと・・・
ホームページ上に書いてあるメールアドレスを自動的に収集して回るもの
インターネット上にある数限りないホームページに書かれているメールアドレスを収集しまくり、収集した数千、数万のメールアドレスは、取引されたりしているのだから、異様に腹が立つ

この事は、昔から話題に上っていたのだが、今回、面白い実験をしているサイトを見つけた
メールアドレス収集ロボット対策←ここをクリック
簡単に書かれたページだが、収集されないようにする工夫やら、実際に収集される可能性があるかどうかを検証できるページやら、読んでいると面白い
もし、ホームページを管理しているのなら、自分のメールアドレスは大丈夫かチェックしてみるのも良いかもしれない
author:ino, category:Apache, 14:06
comments(0), trackbacks(0), pookmark
Apacheのベーシック認証
よく見るユーザ名とパスワードを入力しなければアクセス出来ないページ作成
簡単に説明をすると・・・
あらかじめ、パスワードファイルを作成しておき、Limit項目の中でrequireコマンドを使用し、アクセス制限をする(簡単になっていない(笑))

とりあえず、習うより慣れろということで、比較的簡単なベーシック認証
(※これ以外の方法も存在するので、色々と調べてみると面白いかも・・・)

・パスワードファイルの作成
・httpd.confの編集


◎パスワードファイルの作成([sp]はスペース空けるの意)
#cd /etc/httpd/
どこでもいいが・・・
#/usr/bin/htpasswd[sp]-c[sp]
.htpass_hoge(ファイル名)[sp]hogehoge(ユーザ名)
このコマンドを実行すると、パスワードを尋ねられるので、設定したいパスワードを入力

既存のファイルに追加を行う場合は-cオプションはつけないこと
[sp]はスペース空けるの意)
#cd /etc/httpd/
#/usr/bin/htpasswd[sp]
.htpass_hoge(ファイル名)[sp]hogehoge2(ユーザ名)
この結果「/etc/httpd/.htpass_hoge」が作成される

◎httpd.confの編集
#/etc/httpd/conf
#cp httpd.conf httpd.conf_old
念のためバックアップ
#vi httpd.conf
編集する

編集箇所
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
# Order deny,allow
# Deny from all
# </Limit>
#</Directory></font>
<Directory "/home/httpd/html/hoge">
AuthUserFile /etc/httpd/.htpass_hoge
AuthName "Member URL"
AuthType Basic
Require valid-user
</Directory>

設定内容・・・
[1行目] パスワード認証をするディレクトリ
[2行目] パスワードファイルのディレクトリ
[3行目] 認証ダイアログに表示される文字
[4行目] ベーシック認証を行うという指定
[5行目] パスワードファイルのユーザを認証

設定が終了したら、Apacheを再起動する
#/etc/rc.d/init.d/httpd restart

これで、指定のURLをブラウザから閲覧する際には、ユーザ名とパスワードの認証が必要となる
author:ino, category:Apache, 17:38
comments(0), trackbacks(0), pookmark
HTMLファイルに関して
今更だが、Vine Linux3.2をフルインストールすると、Apache(httpd)のデフォルトパスは、「/home/httpd/html/」になっている・・・
他のLinuxでは、/var/www/html/だったり(もちろん変更することは可能)して、どちらが使いやすいのか・・・などと考えたりもするが、当方の個人的な意見としては、「/home/httpd/html」が、複数ユーザに対して個々にサブドメインを使用させたり、メールのアカウント用のユーザ管理もしたり・・・ユーザ関連は全て/home以下にあるというふうに割り切って管理できるので楽

というわけで、いまさらの話ではあるが、今回のWebサーバ(VineLinux3.2のデフォルトで入っているApache1.3.33)でHPを公開する際には「/home/httpd/html/」以下にあるindex.htmlファイルが公開されることになる(インストールしたままの場合は、デフォルトで入っている「テストページ」と書かれたindex.htmlが公開される。もしindex.htmlが入っていない場合は、/home/httpd/html/内がリストで公開されてしまうので注意)

リストでフォルダ内を公開したくない場合は、各フォルダ(HPを作る際に部品類を入れるフォルダ)内を見られないようにするには、空(何も書いていない)のindex.htmlファイルなどを入れて、リスト表示されないようにしておくと良いかもしれない(厳密に言うと、それでも閲覧は可能だが、何もしないで丸見えにするよりは良いと思う)

今回はちょっと初歩すぎだが、とりあえず、何でも書き残し(笑)
author:ino, category:Apache, 10:13
comments(0), trackbacks(0), pookmark
Apacheの書籍
Apacheの設定に関しては、ほとんどネットからの情報に頼っている
ただし、ネットの情報は、自分の環境と違う場合など、細かい部分の説明が無いまま、設定ファイルの変更箇所が書き記されている場合が少なくない(このブログもそうだが・・・)

そうなってくると、デフォルト設定以外の変更は出来ない(色々と設定を変更できることも気がつかない)ままで運用しているケースもある
デフォルトのまま(基本設定)でも何でもいいから、稼働させれれば良いという考えもあるが、サーバを構築するのであれば、ある程度の知識を身につけてから構築をした方が、後々楽になるし、Webサーバくらいなら自分のPCが他のサーバに迷惑をかけることもないが、メールサーバやDNSサーバとなった場合は、世の中に存在する他のサーバに迷惑をかけてしまうこともあったり・・・(DNSサーバは特に注意が必要だし・・・)
ネットからの情報も便利なのは認めるし、書籍信者でもないが、手元でパラパラとめくって確認しながら・・・という方が使いやすい

これなんか、判りやすく書いてそうだなぁ・・・
初めてwebサーバをたてるのであれば、こんな本が良いかも・・・と思い、掲載
ネットも活用しつつ、何かしらの書籍も持っておいた方が良いと思う

書籍の宣伝になってしまった・・・(笑)
author:ino, category:Apache, 11:07
comments(0), trackbacks(0), pookmark
Apacheの設定
Apache1.3.33の設定
(Apache2.×も出ていて、セキュリティなどを考えた場合はApache2.×を使う方が良いとは思うが、設定に関して多少面倒であるのと、1.3.33でも問題ないので、今回は設定が比較的簡単なこちらのバージョンを設定する・・・Apache2.×のインストールの説明は後日)

◎httpd.confの編集(/etc/httpd/conf/httpd.conf)
※「ServerAdmin」「ServerName」くらいは変更するのが望ましい
#cd /etc/httpd/conf/
#vi httpd.conf
(ここからhttpd.confの設定抜粋)
# ServerType is either inetd, or standalone. Inetd mode is only supported on
# Unix platforms.
#
ServerType
standalone
standaloneで起動するかinetdで起動するか
inetdの場合は呼び出されるたびに起動するようになってしまうので、webサーバとしてはstandaloneが一般的

# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE! If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at );
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
ServerRoot
/etc/httpd
サーバの設定ファイルなどを保存するディレクトリ、デフォルトで問題ないが、変更する際にはパスの最後にスラッシュ「/」は付けない
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents.
#
#ServerAdmin root@localhost
ServerAdmin
root@hoge.co.jp
サーバ管理用メールアドレスを記載する
# ServerName: allows you to set a host name which is sent back to clients for
# your server if it's different than the one the program would get (i.e., use
# "www" instead of the host's real name).
#
# Note: You cannot just invent host names and hope they work. The name you
# define here must be a valid DNS name for your host. If you don't understand
# this, ask your network administrator.
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address (e.g., http://123.45.67.89/)
# anyway, and this will make redirections work in a sensible way.
#
#ServerName localhost

ServerName www.hoge.co.jp
DNSに登録したWEBサーバ名を正確に記載する DNSに登録された名前が無い場合はIPアドレスを記載
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a
# container, that host's errors will be logged there and not here.
#
ErrorLog
/var/log/httpd/error_log
エラーログのディレクトリ
# If you prefer a single logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
#CustomLog
/var/log/httpd/access_log combined
詳細なアクセスログが欲しい場合

とりあえず、上記の項目を編集すれば、Webサーバとして稼働させる最低限の設定は完了

Apacheを起動させてみる
#/etc/rc.d/init.d/httpd restart
Apacheの再起動

ここでエラーが表示されなければ、Apacheは起動しているので、ブラウザから確認してみる
このPCのサイト(http://localhost/
※このブログを見ているのが設定中のLinuxの場合は上記URLをクリックすると確認できる

設定ファイルに関しては、今後の各ツールのインストールおよび、ツール使用、セキュリティ強化などにより変更が必要になるが、その都度表記するので、今回はApacheの最小設定での起動まで・・・
author:ino, category:Apache, 11:20
comments(0), trackbacks(0), pookmark