2008年5月29日木曜日

WebDAVの日本語環境への移行設定

WebDAVの文字化けをなくすためにmod_encodingのダウンロードとインストール実行
WebDAV Resources JPよりダウンロードする必要がある
しかしApache2.0版のモジュールはまだ試作版でしかないので注意

mod_encodingのファイルをダウンロード
http://webdav.todo.gr.jp/download/

次にダウンロードしたファイルを以下のように解凍
mod_encoding関連をインストールします。
# tar xvfz mod_encoding-20020611a.tar.gz
# cd mod_encoding-20020611a/lib
# ./configure
# make
# make install


一つ上のディレクトリに移動
mod_encodingモジュールを作成
./configureの次にmod_encoding.c.apache2.20020611a-2をmod_encoding.cとしてコピーしてからモジュールを作成
ただしインストールで失敗する
("cp: cannot stat `mod_encoding.so': No such file or directory"と表示される)
直接コマンドを実行してモジュールを作成、インストールする
# cd ../
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# cp ../mod_encoding.c.apache2.20020611a-2 mod_encoding.c
cp: `mod_encoding.c' を上書きしてもよろしいですか(yes/no)? yes ← yes
# make
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
# make install


mod_encodingを有効にする
httpd.confにLoadModuleディレクティブとIfModuleディレクティブを使用して有効する
(/etc/ld.co.conf 内に/usr/local/libのリンクが切れている可能性あり。
/etc/ld.co.confを確認し、もし/usr/local/libの記述 がない場合は追加
その後、ldconfigコマンドを実行しておく)
httpd.confに記述
LoadModule encoding_module modules/mod_encoding.so

EncodingEngine on
SetServerEncoding UTF-8
DefaultClientEncoding SJIS

以上
参考URLhttp://www.stackasterisk.jp/tech/systemConstruction/apache11_03.jsp




WebDAVのセキュリティ設定の例

ホストベースセキュリティについての例
WAVDAVで公開されているディレクトリを対象に
ネットワークに所属するクライアントのみアクセス可能とする
設定する箇所はhttpd.confでWebDAVの設定を行なったディレクィブに追加する


DavLockDB /var/lock/dav/DavLock

Allow from 192.168.1.0/255.255.255.0
Deny from ALL
Order Deny,Allow
Dav on
  


ユーザベースセキュリティ
Basic認証はOpenSSLと一緒に用いることを前提に・・・
設定する箇所はhttpd.conf
・・・・
しかしダイジェスト認証を予定しますので略します。




2008年5月26日月曜日

■apache2.2の設定

まず共通ディレクトリの設定を行う。
仮想ホスト、ユーザー別の設定等でその都度
書かなくても済むように共通に有効となるファイルを設定する

#nano /etc/apache2/conf.d/directory_settings
として新規にファイル作成し、以下の通り書き込む


Options All # ←CGI等用に
Options -Indexes # ←ディレクトリ一覧表示しないため
AllowOverride All # ←.htaccessで設定上書き用
Order allow,deny
allow from all # ←全ホストからアクセス


以上で保存。

次にメインのサイトの設定を行う
# cd /etc/apache2/sites-available/
# cp default my_site
# nano my_site
共通ディレクトリ<directory>は上記で設定したので以下では消去した

ログ用のディレクトリを作成する。/var/logは廃止する。
あらかじめ
#mkdir /home/www-logを作成しておく


NameVirtualHost *

ServerAdmin mail@localhost # ←管理者メールアドレス

DocumentRoot /var/www/html # ←HTMLとか、置く場所

# ↓ログは、/var/logに保存しないようにしている
ErrorLog /home/www-log/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

customlog /home/www-log/access.log combined

Alias /doc/ "/usr/share/doc/"

異なるホストはここに続けて記述し、保存する
以上

# a2dissite default ← defaultを無効にする
# a2ensite my_site ← my_siteを有効にする

設定を変えたので再読込と再起動する
# /etc/init.d/apache2 reload  ← 再読込み
# /etc/init.d/apache2 restart ← 再起動


もしものエラーメッセージ
apache2: Could not determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName
とかが出たら
httpd.confに
ServerName 127.0.0.1
を記述しておく
もしくは、DNSの逆引き設定を行うか
あるいは/etc/hostsに ホスト.ドメインなどを追加してやる。
以上

ユーザー別のディレクトリの設定
すでに共通のディレクトリ設定をおこなっていますので
/etc/apache2/mods-available/usrdir.confにて

<Directory />
 #を付してコメントアウトしておく
</Directory>
以上

CGIを有効にしておく設定
#nano /etc/apache2/conf.d/enable_cgiというファイルを作成する。
中に
AddHandler cgi-script.cgi
と記述して保存する。
以上 ←しかしこの設定はエラーが出たので後で削除しました。

以上 参照URLhttp://d.hatena.ne.jp/satake7/20080212


ユーザー毎のディレクトリを有効にした
~USERNAME/public_html/を有効にする
# /usr/sbin/a2enmod userdir
# /etc/init.d/apache2 restart
とした
以上

文字コードの設定
# nano /etc/apache2/conf.d/charset
AddDefaultCharset EUC-JP
設定ファイルの再読込
# /etc/init.d/apache2 reload
サービスの再起動
# /etc/init.d/apache2 restart

以上 ←しかしこの設定も未設定

*********************************************

mod_rewiteの設定

mod_rewiteを用い、動的URLを静的URLにリアルタイムに書き換える設定
# usr/sbin/a2enmod rewrite
# cd /etc/apache2/sites-available/my_site

<Directory /var/www/html/>
  ・
  ・
  ・
 Options FollowingSymLinks
RewriteEngine ON
RewriteCond %{REQEST_FILNAME} !-f
RewriteCond %{REQEST_FILNAME} !-d
RewriteRule ^(.*)$ index.html?q=$1 [L,QSA]

  ・
  ・
以上の書き込み追加と保存まで

Digest認証の設定
できればBasic認証より安全なDigest認証にしたい

# usr/sbin/a2enmod auth_digest        ←auth_digestを有効にする
# nano /etc/apache2/sites-available/my_site  ←追加編集
<Directory /var/www/html/nins/>
  AuthType Digest
AuthName "Member's Only"
AuthDigestDomain /nins/
AuthUserFile /etc/apache2/.htdigest
Require user USERNAME

以上
続いて認証ユーザの登録も
# htdigest -c /etc/apache2/.htdigest "Member's Only" USERNAME
# chmod o+r /etc/apache2/.htdigest
以上

以上 参照URLhttp://www.mkjinet.com/etch/apache2/

■ディレクトリの整理

自分のルートディレクトリの整理をしておく

サーバー上の/var/www/にはWebデータを置く  
        ←Win側ではwwwフォルダからのアクセス

サーバー上の/home/www-data/にはデータを置く 
        ←Win側ではshareフォルダからのアクセス

2008年5月25日日曜日

■NTPを設定するメモ

NTPを設定するメモ
今回の参考URLhttp://honana.com/ntp/

$ sudo apt-get install ntp

$ sudo nano /etc/ntp.conf で編集
時刻を同期するサーバーを近いサーバーに変更します

# /etc/ntp.conf, configuration for ntpd

driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/     ←#コメントアウト

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# You do need to talk to an NTP server or two (or three).
#server ntp.ubuntu.com     ←#コメント     
server ntp.nict.jp         ←挿入
server ntp.nict.jp         ←挿入
server ntp.nict.jp         ←挿入
・・・・・・・・・・・・・・・・・
以下は編集せずに保存しました。

再起動する
$ sudo /etc/init.d/ntp restart

10 分ほど経過して同期状況を確認する
$ sudo ntpq -p













2008年5月13日火曜日

DNS設定メモ

http://blog.hustle-user.com/index.php?id=07070002

ロリポップで取得したドメインを用いてDNS設定を行う方法
  • 余計な53番のポートを開ける必要がない
  • BINDで設定を行う事がない
  • ネームサーバーを乗っ取られる心配にビクビクする事もない
  • Webサーバーのみに集中する事ができる
良いことづくめかな?

2008年5月5日月曜日

サーバの設定参考メモ

参考させて戴いたサイト

fukabee.comブログ

  1. sshの攻撃を防ぐ方法  参照サイト sshへの総当り攻撃をiptablesの2行で防ぐ方法
  2. FTPのインストール
  3. Apacheの設定
参考になりました。

2008年5月4日日曜日

■WebDAVテスト設定の顛末

WebDAV ローカルでの設定テスト とりあえず成功しました。

とりあえずのメモですが、成功した部分について、失敗例も含めてメモしておきます。

Ubuntuサーバ構築ガイドを参考にして、UbuntuServer8.04+WebDAVの設定を試みました。

# cd /etc/apache2/
# nano httpd.conf
ここにデフォルトで何も記述がありませんでした。

で、どうしてだろう・・・何も初期設定がないのか、もしくは雛形をコピーするべきなのかなどいろいろ悩み抜きました。
とりあえず/usr/share/doc/apache2.2-common/examples/apache2/original/httpd.conf.gz
に雛形らしきファイル見つけたのですが、これをどのように扱えば良いのか・・・見当がつかないまま時間が過ぎてしまいました。

で、とりあえずホームページ更新用ディレクトリに所有権の変更を行います
# cd /var
# chown -R www-data:www-data www

  /var/www/ 所有権はwww-data     管理者用

さらに外部との共有用にディレクトリをあらたにつくりました。
# cd /home
# mkdir -m 755 www-data
# chown -R www-data:www-data www-data
www-dataディレクトリを作成し、所有を変更しておきました。

  /home/www-data/ 所有権はwww-data  外部公開用


その後、考え抜いた末(考え抜くより他に方法あったのかも知れないですけれど)
httpd.confに記述することを決めました。
この根拠は、apache2.2ではメインの設定はapache2.confにて設定し、
よく変更する部分はhttpd.confに記述するようになっているというものでした。
ならば、元々httpd.confは空のはず。勝手に思いこんで、とにかく記述を試みました。
以下の通りです。

DAVLockDB /tmp/DAVLock
DAVMinTimeout 600
DAVDepthInfinity on
# ファイル共有 share の定義で、外部にも公開するディレクトリです
#URLはhttp://192.168.1.2/shareとしてアクセス
#任意のクライアントから自由にアクセスOK
Alias /share /home/www-data
DAV on
AllowOverride None
Options None

# http サーバのドキュメントルート ホームページ更新用です 
#URLはhttp://192.168.1.2/wwwとしてアクセス
#ユーザ名はwww-dataとしてユーザー認証する
Alias /www /var/www
DAV on
AllowOverride None
Options None
AuthType Basic
AuthName "User www-data only"
AuthUserFile /var/log/apache2/password
Require user www-data

以上を何も記述のないhttpd.confファイルにいきなり書き足しました。

次に、リンクを作成します。
# cd /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-enabled/dav.load
ln -s /etc/apache2/mods-enabled/dav_fs.conf
ln -s /etc/apache2/mods-enabled/dav_fs.load
ln -s /etc/apache2/mods-enabled/auth_dbm.load
最後の行はユーザ認証のリスト追加だそうですが、この部分だけエラーが出ました。
なので、このファイルは削除しました。
本当はどうすべきなのか検討課題です。

次にapache2の再起動を実行します。
# cd /etc/apache2
# /etc/init.d/apache2 restart
これで一応サーバの方はエラーは出ず。

次にクライアントPCにてネットワークプレースを導入します。
マイコンピュータを右クリックして、ドライブの割り当てを選択
追加ウイザードでそのまま進み、ネットワーク プレースの場所を入力する画面で
http//192.168.1.2/shareと打ち込んで進みます。
すると、WebDAVにてサーバとつながる記述が生成されます。
このときに最後パスワード入力がなかったので、ユーザ認証がなされていないことがわかります。
これは次回以降の検討課題です。

これで\\192.168.1.2\shareでつながりました。
テキストで英文字を作成。
日本文字も入れました。
サーバにて/home/www-dataの中にクライアントで作成したファイルがありました。
これをnanoで開くと、日本文字だけは文字化けでした。
しかしそれ以外は通信できてるようでした。

以上ここまで

課題
  1. httpd.confはデフォルトでデータ無しだったが、雛形を利用すべきなのかどうか
  2. ユーザ認証のリストがエラーになったが、どうすべきなのか。
  3. ネットワークプレースの生成最後でパスワードによるユーザ認証がなかった。
  4. 日本語によるテキストが文字化けしたがどうすればよいのか。

Subversionメモ

UbuntuSubversion
http://d.hatena.ne.jp/hakobe932/20060318/1142663876

2008年5月2日金曜日

セキュアなWevDAVを設定するためのメモ

WevDAVは,既にセキュアなWWWサーバに組み込まれる事を前提にして作られているため、環境に合わせてのセキュリティ確保(Digest認証やSSL通信)が必要とのこと。
http://www.stackasterisk.jp/tech/systemConstruction/apache10_01.jsp

2008年5月1日木曜日

コマンドの基本

Linux基本コマンドの紹介ページ
http://www.jitaku-server.net/basic_command.html

WebDAV設定メモメモ

ネットワークプレースの設定方法の参照サイト
http://www.toyfish.net/guide/NetworkPlace.html

■SSHを用いたリモート設定 

■SSHを用いたリモート設定して成功したときのメモ
Ubuntu8.04Server版でOpensshがOSのインストール時に同時インストールされている。
念のため、本に紹介されていたように
$ sudo apt-get install sshd
を実行した。

その後、以下のサイトを参考に日本語版のPuTTY 0.60 ごった煮版を他のクライアントPCにインストールした。
設定はごく簡単で、サーバーのIPアドレスを入力するだけ。
あとは、警告メッセージあり。しかし、OKで進める。
コマンドプロンプトが現れる。
しばらくするとloginasにユーザネームを入れて、パスワード入力で接続する。
以上で設定終わり。
あとはWinXPからサーバーへのリモートが可能になる。

大成功!やった!

■ubuntuでの設定方法
http://honana.com/ubuntu/install/openssh.html

■日本語版
 PuTTY 0.60 ごった煮版 2007年8月6日版
http://yebisuya.dip.jp/Software/PuTTY/
以上参考になりました。ありがとうございます。