LimeGreen -2ページ目

【自宅サーバ】Ubuntu14.04LTSへWebDAV、Digest認証インストール

・WebDAVとは、WWWでファイルの転送に使われるHTTPを拡張し、クライアント(Web
ブラウザ)からWebサーバ上のファイルやフォルダを管理できるようにした仕様。

・Digest認証(ダイジェストにんしょう)とは、HTTPの認証方法の一つ。ユーザ名と
パスワードをMD5でハッシュ(ダイジェスト)化して送る。Basic認証では防げなかった
盗聴や改竄を防ぐために考案された。


1.WebDAV ディレクトリの作成
sudo mkdir -p /var/www/webdav
sudo chown www-data:www-data /var/www/webdav
cd /var/www
sudo ln -s /share/Archive webdav

2.encoding Install Setup
sudo apt-get install libapache2-mod-encoding
sudo apt-get install apache2-utils

3.encoding設定ファイルの編集
vi /etc/apache2/mods-available/encoding.conf

### 編集内容 ####
# 新規作成
EncodingEngine on
SetServerEncoding UTF-8
DefaultClientEncoding UTF-8 CP932 EUCJP-MS
AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
AddClientEncoding "RMA/*" CP932
AddClientEncoding "xdwin9x/" CP932
AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
AddClientEncoding "Mozilla/" EUCJP-MS
#################

4.apahceモジュールを確認にする
※dav_module がapacheにインストールされているか確認します
sudo httpd -M | grep dav
※しかし、apache 2.4.7では、Mオプションがなくなってる・・・。

5.WebDAV Encodinf Digest認証モジュールを有効にする
sudo a2enmod encoding
sudo a2enmod dav
sudo a2enmod dav_lock
sudo a2enmod dav_fs
sudo a2enmod auth_digest

6.WebDAV のディレクティブ設定
sudo cp -p /etc/apache2/sites-available/000-default.conf /tmp/000-default.conf_`date +%Y%m%d`
sudo vi /etc/apache2/sites-available/000-default.conf

### 編集内容 ####
<VirtualHost *:80>
 ・
 ・
 ・
#WebDAV[Digest認証版]
 <Directory /var/www/html/webdav>
  Dav On
  AuthType Digest
  AuthName        "Tmp Login WebDAV"
  AuthDigestDomain /webdav/
  #AuthDigestFile    "/etc/apache2/.webdav"
  AuthUserFile    "/etc/apache2/.webdav"
  Require valid-user
 </Directory>
 ・
 ・
 ・
</VirtualHost>

###以下の記述を「httpd.conf」ファイルの最下部に追記します。
<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

SetEnvIf Request_URI "default\.ida" worm
SetEnvIf Request_URI "cmd\.exe" worm
SetEnvIf Request_URI "root\.exe" worm
SetEnvIf Request_URI "NULL\.IDA" worm

SetEnvIf Request_URI "ShareDocs" dav
SetEnvIf Request_URI "DVD" dav
SetEnvIf User-Agent  "DAV" dav

CustomLog /usr/local/apache/log/access_log combined env=!worm
CustomLog /usr/local/apache/log/worm_log combined env=worm
CustomLog /usr/local/apache/htdocs/Webdav.txt  combined env=dav
ErrorDocument 405 /Webdav.txt
#################

なお、最初AuthDigestFileを設定した場合、下記エラーとなったので調べたらapache2.2からはAuthUserFileへとパラメータ名が変わったらしいw
Invalid command 'AuthDigestFile', perhaps mis-spelled or defined by a module not included in the server configuration

7.WebDAV のDigest認証パスワードファイル
sudo htdigest -c /etc/apache2/.webdav "Tmp Login WebDAV" <username>
Adding password for <username> in realm Tmp Login WebDAV.
New password:
Re-type new password:
パスワードを2回入力する。
※ここで指定する"Tmp Login WebDAV"は、000-default.confのAuthNameを同一内容でないとNGらしい。
オプションの"-c"は初回だけ必要なオプション2回目以降"-c"を付けると最初にユーザは消えてしまう。と言うかやってしまった・・・orz

8.ファイルロック用のディレクトリの設定
sudo mkdir -m 700 /var/lock/dav
sudo chown www-data:www-data /var/lock/dav

9.Apache の再起動
sudo /etc/init.d/apache2 restart

10.ブラウザで動作確認
http://[IPAddress]/wabdav
Digest認証パスワードファイルで設定したユーザ・パスワードを入力。

【自宅サーバ】Ubuntu14.04LTSへvsFTPdインストール

・vsftpdとはFTPサーバーを構築するためのソフトです。vsftpdは「Very Secure FTP Daemon」の略です。

1.vsFTPdインストール
sudo apt-get install vsftpd

2.設定ファイルの編集
sudo vi /etc/vsftpd.conf

### 編集内容 ####
write_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=YES
local_root=public_html
seccomp_sandbox=NO
#################

sudo vi /etc/vsftpd.chroot_list

3.vsftpdサービスの再起動
sudo /etc/init.d/vsftpd restart

【自宅サーバ】Ubuntu14.04LTSへMySQLのインストール

・MySQLは無償で入手できる扱いやすい軽快なRDBMS(リレーショナルデータベース管理システム)です。

1.MySQLのインストール
sudo apt-get install mysql-server
 
途中、MySQLのrootパスワードを入力

2.設定ファイルの編集
sudo cp -p /etc/mysql/my.cnf ${BKDIR}/my.cnf_`date +%Y%m%d`
sudo vi /etc/mysql/my.cnf

### 編集内容 ####
bind-address = 127.0.0.1
注)インストール途中にrootのパスワードの設定がある
エディタで次の行を変更 「127.0.0.1」 を 「あなたのIPアドレス」
注)ローカルでしか使わないので私は変更しない
#################

3.MySQLに接続して確認する.
mysql -u root -p

4.MySQL停止と起動
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

5.phpMyAdminのインストール
sudo apt-get install libapache2-mod-auth-mysql phpmyadmin

6.インストールの途中phpMyAdminの設定がある
自動的に再設定するwebサーバ:apache2

7.Apache再起動
sudo /etc/init.d/apache2 restart

8.ブラウザで動作確認
http://[IPAddress]/phpmyadmin
user:root pass:設定したpass