SSブログ

VPS設定:WebDAV [iPhone]

いよいよディスク容量を有効活用するためにWebDAVを導入。
これでWindwosやMac、それにiPhoneからも読み書きができるストレージができる。

さくらVPSはapacheが導入されていないので、そこから開始。
rootになってから以下の作業を行う。
1.インストール:yumが使える:これでインストールされるのはapacheの2.2.22らしい。
  yum install httpd
2.とりあえず設定:
  /etc/httpd/conf/httpd.confを編集:編集箇所は以下。
  >>>
  ServerTokens OS→Prod
  KeepAlive Off→On
  ServerSignature On→Off
  <IfModule prefork.c>
  StartServers       8→5
  MinSpareServers    5
  MaxSpareServers   20→10
  ServerLimit      256→15
  MaxClients       256→15
  MaxRequestsPerChild  4000
  </IfModule>
  #LoadModule authn_anon_module modules/mod_authn_anon.so
  #LoadModule ldap_module modules/mod_ldap.so
  #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
  #LoadModule proxy_module modules/mod_proxy.so
  #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
  #LoadModule proxy_http_module modules/mod_proxy_http.so
  #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  #LoadModule proxy_connect_module modules/mod_proxy_connect.so
  #LoadModule authn_dbm_module modules/mod_authn_dbm.so
  #LoadModule authz_dbm_module modules/mod_authz_dbm.so
  #LoadModule ext_filter_module modules/mod_ext_filter.so
  #LoadModule usertrack_module modules/mod_usertrack.so
  #LoadModule version_module modules/mod_version.so
  #LoadModule suexec_module modules/mod_suexec.so
  #LoadModule deflate_module modules/mod_deflate.so
  #LoadModule speling_module modules/mod_speling.so
  <<<<
  とりあえず、HPではないので、プロセス数を最小限にするということと、メモリ節約のために不要そうなmodule
  は使わないようにコメントアウト(#つける) 
  Webテストページ非表示にする設定:見えるといやな感じだし。
  conf.d/welcome.confを編集
  すべてコメントアウト
  conf/httpd.confを編集
  >>>>
  <Directory "/var/www/html">
    Options Indexes FollowSymLinks
    Options -Indexes FollowSymLinks
  </Directory>
  <<<<
  安全のためには自己証明書でもSSLがいいので、mod SSLインストール
  yum install mod_ssl
  サーバー証明書作成
  /etc/pki/tls/certs/で作業すると楽。xxxxはお好み。AAAAAAAは決まってるもの。
  make server.key
  PWD:xxxx
  make /etc/pki/tls/certs/server.csr
   Country Name (2 letter code) [XX]:JP
   State or Province Name (full name) []:どこでも
   Locality Name (eg, city) [Default City]:いいから
   Organization Name (eg, company) [Default Company Ltd]:書いて
   Organizational Unit Name (eg, section) []:
   Common Name (eg, your name or your server's hostname) []:wwwAAAAAAA.sakura.ne.jp
   Email Address []:
   Please enter the following 'extra' attributes
   to be sent with your certificate request
   A challenge password []:xxxx
   An optional company name []:
  openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 3650
  chmod 400 /etc/pki/tls/certs/server.key
  chmod 400 /etc/pki/tls/certs/server.csr
  chmod 400 /etc/pki/tls/certs/server.pem
  apacheでSSLを使うように設定
  /etc/httpd/conf.d/ssl.confを編集。
  >>>>
  DocumentRoot "/var/www/html"
  SSLCertificateFile /etc/pki/tls/certs/server.pem
  SSLCertificateKeyFile /etc/pki/tls/certs/server.key
  <<<<
  ポートオープンしないと大変。
  /etc/sysconfig/iptablesを編集
  -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
  service iptables restart

3.共有フォルダの設定
  ファイルの置き場所。面倒なのでデフォルトの下に作る。権限はapacheに変更
  mkdir /var/www/html/dav
  chown apache.apache /var/www/html/dav
  chmod 755 /var/www/html/dav (700から変更)
  ここでポイント。WebDAVで簡便なアクセスコントロールをしてあるユーザー(adminuser)はどこでも編集可能
  だけれども、その他のユーザーは一部のディレクトリだけ編集可能で他は参照のみとしたい。
  というようなことを行う設定。
  WebDAV設定ファイル:/etc/httpd/conf.d/webdav.confを編集。
  >>>>
  alias /dav/ "/var/www/html/dav/"
  <IfModule mod_dav.c>
    DAVMinTimeout 600
    <Location /dav>
     DAV On
     EnableSendfile off
     SSLRequireSSL
     AuthType Basic
     AuthName "Login WebDAV"
     AuthUserFile "/etc/httpd/conf/.htpasswd"
     <Limit PROPFIND GET HEAD OPTIONS>
       Require valid-user
     </Limit>
     <LimitExcept PROPFIND GET HEAD OPTIONS>
       Require user adminuser
     </LimitExcept>
     Order deny,allow
     Deny from all
     Allow from all
    </Location>
    <Location /dav/Documents>
     DAV On
     EnableSendfile off
     SSLRequireSSL
     AuthType Basic
     AuthName "Login WebDAV"
     AuthUserFile "/etc/httpd/conf/.htpasswd"
     Require valid-user
     Order deny,allow
     Deny from all
     Allow from all
    </Location>
  </IfModule>
  <<<<
  これでadminuserはどこでもいじれるけれども、それ以外のユーザーはDocumentsの下のみ編集可能になる。
  気合があればユーザー毎に設定もできるけれども、今はこの辺で。
  忘れずにロックファイル作成:複数ユーザでの編集を制御しないと。
  touch /var/lib/dav/lockdb
  chown apache.apache /var/lib/dav/lockdb
4.アクセスユーザーの作成
  htpasswd -c /etc/httpd/conf/.htpasswd adminuser
  PWD:xxxx
  ユーザー追加
  htpasswd /etc/httpd/conf/.htpasswd 他のユーザー
5.その他の設定
  使っている最中にlogrotateのためにセッションが切れてしまうと悲しいので、ログの取得方法を
  ちょっと変更。
  /etc/logortate.d/httpdを編集
  reloadからgracefulに変更
  /sbin/service httpd graceful > /dev/null 2>/dev/null || true

6.httpd起動
  service httpd start

この設定だと、SSLの認証ファイルにパスワードがかかっているので、httpd立ち上げ時にパスワード
入力が必要になる。
よって、自動起動にはせずに、サーバーリブート時には手起動にする。

これでWebDAV:ちょっとだけアクセスコントロールが完成。
せっせとファイルをコピーしよう。上り1MのADSLは辛い。。。。。更なる落とし穴も。。。。。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

VPS設定:monitVPS設定:WebDAV &文字対応 ブログトップ
ダイエット BBX

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。