Tag Archives: Sever

logwatchインストール Vine

logwatchは毎日のログを読みや好く簡単に編集して指定のメールアドレスへ送信してくれる便利なソフトです。

しかし
Vine Linuxにはパッケージが無いので自分で探してインストールしました。
今回はVer 7.3-2で紹介します。

最新版ダウンロード
Download

ダウンロードとインストール
# cd /usr/local/bin
# wget ftp://ftp.kaybee.org/pub/beta/redhat/RPMS/noarch/logwatch-pre7.3-2.noarch.rpm
# rpm -ivh logwatch-pre7.3-2.noarch.rpm

自動実行
インストール後
/etc/cron.daily
に実行スクリプトが作成されています。

# cd /etc/cron.daily
# ls -al | grep logwatch
このように入力しましょう。
私の環境では以下のように表示されました。
lrwxrwxrwx 1 root root 39 1月27日 18:17 0logwatch -> /usr/share/logwatch/scripts/logwatch.pl*

実行時間を/etc/crontabで設定
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

02 4 * * * root run-parts /etc/cron.daily
と有りますので毎朝 4時 2分に実行されます。
数字を書き換えると実行時間が設定出来ます。

logwatch の設定
# vi /usr/share/logwatch/default.conf/logwatch.conf

….
# Default Log Directory
# All log-files are assumed to be given relative to this directory.
LogDir = /var/log  → ログファイルの場所

# You can override the default temp directory (/tmp) here
TmpDir = /tmp  → テンポラリファイルの場所

# Default person to mail reports to. Can be a local account or a
# complete email address.
MailTo = root  → メールを送信する宛先
特定のメールアドレスに送信する場合はメールアドレスを入力

# If set to ‘Yes’, the report will be sent to stdout instead of being
# mailed to above person.
Print = No  → Yesの場合は画面表示、Noはメール送信

# if set, the results will be saved in instead of mailed
# or displayed.
#Save = /tmp/logwatch → Yesの場合メール送信をせずにファイルに保存する

これで設定完了です。

ProFTPd 追加設定

・ この二つの項目を off にする事で高速に接続可能
UseReverseDNS off
IdentLookups off

・ /public_htmより上位層には行けなくしている
DefaultRoot ~/public_html

・ 隠しファイルを表示、削除できるようにする場合に追記
ListOptions “-a”

・ パスワードの入力ミスは10回まで
MaxLoginAttempts 10

・ 同一ホストからの同時接続数の制限
# The maximum number of clients allowed to connect per host.(default none: no limit)
MaxClientsPerHost 1

・ 複数ホストから同一ユーザでの同時接続数の制限
# The the maximum number of times different hosts. (default none: no limit)
MaxHostsPerUser 1

・アップロードファイル容量の制限
# Restrict upload to only 3 megabytes
MaxStoreFileSize 3 Mb

・制御・データコネクションのいずれかからもデータを全く受け取らないまま、接続を 維持している時間。
# Sets the idle connection timeout (default: 600)
TimeoutIdle 600

・クライアントが認証に最大何秒間費やせるかを指定。
# Sets the login timeout (default: 300)
TimeoutLogin 300

・ 認証後に、データ転送(ファイル転送やリストを取得)をしないで、最大何秒間接続していられるかを指定。
# Sets the connection without transfer timeout (default: 600)
TimeoutNoTransfer 600

・認証後に、制御コネクションを保持している時間を指定。デフォルトは無制限。
# Sets a timeout for an entire session (default: none)
TimeoutSession none

・サーバとFTPクライアント間で、
転送をしないで最大何秒間データコネクションを維持していられるかを指定。デフォルトは無制限の”0″。
# Sets the timeout on stalled downloads (default: 0 {no limit})
TimeoutStalled 600

・アップロード中断ファイルの自動削除
# Enable automatic deletion of partially uploaded files (default off)
DeleteAbortedStores on

・ 詳細なログのフォーマットと取得
LogFormat allinfo “%t : %l %u (%a [%h]) : [%s] “%r” %T, (%f)”
LogFormat auth “%t : %u %a “%r” %s”
LogFormat write “%t : %u : %F %a”
LogFormat read “%t : %u : %F %a”

ExtendedLog /var/log/proftpd/all.log ALL allinfo
ExtendedLog /var/log/proftpd/auth.log AUTH auth
ExtendedLog /var/log/proftpd/write.log WRITE write
ExtendedLog /var/log/proftpd/read.log READ read

Vine Linuxで自宅サーバー

私はサーバーにVine Linuxを使用しております。
Vine Linuxについてすごく役立つ情報を紹介してくださるサイトを
日ごろよく参考にさせていただいておりますので、
感謝の意味を込めて紹介したします。
Vine Linux で自宅サーバー
胸を張ってわかりやすいと紹介できるサイトです。

Vine Linuxはスペックの低いパソコンでも快適に使え、
安定性も高く何より日本人が開発したOSでもあります。
ほかのLinux サーバーで起動しない等で挫折した人もチャレンジしてみてはいかがでしょうか?

外部LANからのFTP接続テスト

サーバーを管理していて一番気になるのは、
やはり外部からの接続でも正常に機能するかどうかですよね。

HTTP関係のチェックサービスサイトや
ポート開放確認サイトは豊富にありますがなかなかFTPやPOP等のチェックサービスは少ないです。

今回お勧めのサーバ環境チェックサービスを紹介します。
テストFTP接続
URL:http://seo.atompro.net/seotoolfree_ftpchk_.html

PHP5 のインストール

PHP5 のインストール
# apt-get update 
↑APTデータベース更新
# apt-get install php5 php5-apache php5-devel php5-pear php5-mysql 
↑インストール

PHPの設定
# vi /etc/php5/php.ini 
↑設定ファイル編集
output_buffering = On 
↑出力バッファを有効に
output_handler = mb_output_handler 
↑出力時に使用するハンドラ関数を指定
error_reporting = E_ALL & ~E_NOTIC 
↑;を削除
;error_reporting = E_ALL 
↑;を追加
magic_quotes_gpc = Off
default_charset = EUC-JP 
↑HTTPヘッダ charset を設定
mbstring.language = Japanese 
↑言語のデフォルトを日本語に
mbstring.internal_encoding = UTF-8 
↑内部文字コードをUTF-8に(EUCの場合EUC-JP JISの場合SJIS)
mbstring.http_input = auto 
↑HTTP入力の文字コード
mbstring.http_output = EUC-JP 
↑HTTP出力文字コードをEUCに
mbstring.encoding_translation = On 
↑HTTP入力文字コードへの変換を有効に
mbstring.detect_order = auto 
↑文字コード自動検出の優先順を自動に
mbstring.substitute_character = none; 
↑処理できない文字の代替文字
※ 注意
最近の設定ファイルの最下部には [Vine] という項目がある場合があり、上記設定と重複する部分がありますので、
どちらかに「;」を付けてコメントアウトしてください。

# /etc/rc.d/init.d/apache2 restart 
↑設定が終了したら再起動

httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

ようこそVineLinuxで自宅サーバーへさまより(一部編集)
http://vine.1-max.net/

Apache2の基本設定

# vi /etc/apache2/conf/httpd.conf 
↑Apache2の設定ファイル編集

ServerTokens Prod 
↑エラーページでOS名を非表示にする

ServerAdmin webmaster@xxxxx.com 
↑管理者のメールアドレス

ServerName xxxxx.com:80 
↑#を削除して自分のドメイン名を指定
(※ドメインの後に「:80」が付きます)
設定しないと、何やら端末で警告?が表示されます。

DocumentRoot “/var/www/html” 
↑ドキュメントルートをVine4標準の場所に設定

 
↑ディレクトリをVine4標準の場所に設定

Options Includes ExecCGI FollowSymLinks 
↑Indexesを削除してSSIとCGIを有効に
(※ Optionsのオプションは下記を参照)

AllowOverride All 。
↑.hctaccessの有効化
(※ AllowOverrideのオプションは下記を参照)

DirectoryIndex index.html index.htm index.shtml index.php index.cgi 
↑インデックスファイルを設定

WebDAVの脆弱性を狙った攻撃への対策
LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” combined
 ↓
LogFormat “%h %l %u %t “%!414r” %>s %b “%{Referer}i” “%{User-Agent}i”” combined

※ 追記 (wormからのアクセスをログに記録しない対策)
SetEnvIf Request_URI “cmd.exe” nolog
SetEnvIf Request_URI “root.exe” nolog
SetEnvIf Request_URI “Admin.dll” nolog
SetEnvIf Request_URI “NULL.IDA” nolog
SetEnvIf Request_URI “^/_mem_bin/” nolog
SetEnvIf Request_URI “^/_vti_bin/” nolog
SetEnvIf Request_URI “^/c/” nolog
SetEnvIf Request_URI “^/d/” nolog
SetEnvIf Request_URI “^/msadc/” nolog
SetEnvIf Request_URI “^/MSADC/” nolog
SetEnvIf Request_URI “^/scripts/” nolog
SetEnvIf Request_URI “^/default.ida” nolog

※ 追記 (gif,jpg,png,ico,cssへのアクセスをログに記録しない対策)
SetEnvIf Request_URI “.(gif)|(jpg)|(png)|(ico)|(css)$” nolog

※ 追記 (内部からのアクセスをログに記録しない対策)
SetEnvIf Remote_Addr 192.168.11. nolog

CustomLog logs/access_log combined env=!nolog 
↑env=!nologを追記

ServerSignature off 
↑off指定でエラーページでApacheのバージョン非表示

#ScriptAlias /cgi-bin/ “/var/www/cgi-bin/” 
↑# を追記(コメントアウト)
ユーザーディレクトリでCGIを実行許可する場合、矛盾してしまうため必ず必要。

#AddDefaultCharset UTF-8 
↑#を追記(コメントアウト)
文字化け対策。
.htaccess で自動的に変換してもらうようにしましょう。

AddHandler cgi-script .cgi .pl 
↑#を削除して .plを追加
.lpでCGIを実行するためには必要。

# /etc/rc.d/init.d/apache2 restart 
↑設定終了後に再起動で設定反映

httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

# chkconfig apache2 on 
↑自動起動設定

# chkconfig –list apache2 
↑自動起動設定の確認
apache2 0:off 1:off 2:off 3:on 4:on 5:on 6:off

ようこそVineLinuxで自宅サーバーへ様より(一部編集)
http://vine.1-max.net/

ユーザーディレクトリでCGIを動かす Apache2 正規表現

※自動的にタグが挿入されるので<>は全角入力で記述されています。
正規表現記述します。
以下の記述では、
CGIが含まれるURLを自動的に/home/$1/public_html/cgi-bin/($1はユーザー名と認識する)転送します。

ScriptAliasMatch /~(..*)/cgi-bin/(.*) /home/$1/public_html/cgi-bin/$2

<Directory “/home/*/public_html/cgi-bin”>
AllowOverride None
Options +ExecCGI
Order allow,deny
Allow from all
AddHandler image/gif .gif
AddHandler image/jpeg .jpeg .jpg .jpe
AddHandler image/png .png
AddHandler text/html .html .htm
</Directory>

AddHandler image/gif .gif
AddHandler image/jpeg .jpeg .jpg .jpe
AddHandler image/png .png
AddHandler text/html .html .htm

で、CGIが動くディレクトリでも画像やテキストが表示出来るようにします。
この記述が無い場合エラーが出て表示できません。
記述しておきましょう。

WordPress 内部LAN環境 設定

WordPressをインストールして困った事は設定でドメインを入力するところ。
私のネットワーク環境では内部DNSを採用していないので
同じネットワークのサーバーにアクセスするときプライベートIPアドレスを入力して表示させていました。

ですのでこの環境では直接サーバーのドメインを入力するとサーバーが見つかりませんと帰ってきます。

必死になって解決方法を探していると
内部のパソコンの設定を変更するだけでよいようです。
Cドライブの
WINDOWS>system32>drivers>etc>hosts
をノートパッド等で開き

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a ‘#’ symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost
192.168.3.4 orbit-space.net

のように自分のサーバーの環境にあわして設定すると
ドメインを入力してもサーバーのプライベートアドレスにアクセスすることになるので
無事ページを表示することが可能になります。