{"id":164,"date":"2011-04-11T21:57:04","date_gmt":"2011-04-11T12:57:04","guid":{"rendered":"http:\/\/www.furelo.jp\/wordpress\/?p=164"},"modified":"2011-04-11T21:58:08","modified_gmt":"2011-04-11T12:58:08","slug":"virtualdomain%e5%88%a5%e3%81%aewebdav%e8%a8%ad%e5%ae%9a%e3%82%92%e8%87%aa%e5%8b%95%e5%8c%96","status":"publish","type":"post","link":"http:\/\/www.furelo.jp\/wordpress\/2011\/04\/11\/virtualdomain%e5%88%a5%e3%81%aewebdav%e8%a8%ad%e5%ae%9a%e3%82%92%e8%87%aa%e5%8b%95%e5%8c%96\/","title":{"rendered":"VirtualDomain\u5225\u306eWebDAV\u8a2d\u5b9a\u3092\u81ea\u52d5\u5316"},"content":{"rendered":"\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u306eftp\u30a2\u30ab\u30a6\u30f3\u30c8\u30b5\u30fc\u30d3\u30b9\u306e\u3088\u3046\u306a\u3082\u306e\u3092\u3001ftp\u306e\u4ee3\u308f\u308a\u306bWebDAV\u3067\u5b9f\u88c5\u3067\u304d\u306a\u3044\u304b\u3044\u308d\u3044\u308d\u8a66\u3057\u3066\u307f\u305f\u3068\u3053\u308d\u3001\u51fa\u6765\u305f\u306e\u3067\u307e\u3068\u3081\u3066\u304a\u304f\u3002\r\n\r\n\u3084\u308a\u305f\u3044\u3053\u3068\u306f\u3001\u300c\/webdav\/{VirtualHost\u540d}\/\u300d\u3067\u30b5\u30fc\u30d0\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001DB\u306b\u4fdd\u5b58\u3057\u3066\u3042\u308bVirtualHost\u306b\u5bfe\u5fdc\u3057\u305fBasic\u8a8d\u8a3c\u306eID\/PW\u3067\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u3001\u4ed6\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u53c2\u7167\u51fa\u6765\u306a\u3044\u3068\u3044\u3046\u3082\u306e\u3002\r\n\u5384\u4ecb\u306a\u306e\u306fmod_vhosts\u3092\u4f7f\u3063\u3066VirtualHost\u8a2d\u5b9a\u3092\u81ea\u52d5\u5316\u3057\u3066\u3044\u305f\u305f\u3081\u3001\u300c%v\u300d\u3067VirtualHost\u304c\u53d6\u308c\u306a\u3044\u70b9\u3002\r\n\r\n\u4ee5\u4e0b\u306fCentOS5.5\u306e\u74b0\u5883\u3067\u3001mod_vhosts\u3068mod_dav\u3068mod_auth_mysql\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u5834\u5408\u306e\u624b\u9806\u306b\u306a\u308a\u307e\u3059\u3002\r\n[code]\r\n# yum install mod_auth_mysql\r\n# vi \/etc\/httpd\/conf.d\/webdav.conf\r\n&amp;lt;Location \/webdav\/&amp;gt;\r\n\u00a0Dav On\r\n\u00a0Order deny,allow\r\n\u00a0Deny from all\r\n\u00a0### \u7ba1\u7406\u7528\u30b5\u30fc\u30d0\u306eIP\u304b\u3089\u306f\u3001\u4e00\u89a7\u8868\u793a\u3092\u8a31\u53ef\r\n\u00a0Allow from 192.168.11.100\r\n&amp;lt;\/Location&amp;gt;\r\n\r\n&amp;lt;LocationMatch \/webdav\/*\/&amp;gt;\r\n\u00a0### Basic\u8a8d\u8a3c\u3082\u3057\u304f\u306f\u3001\u7ba1\u7406\u7528\u30b5\u30fc\u30d0\u306eIP\u304b\u3089\u306e\u307f\u8a31\u53ef\u3002\r\n\u00a0Satisfy any\r\n\u00a0AuthName &quot;Please enter your ID and password&quot;\r\n\u00a0AuthType Basic\r\n\u00a0equire valid-user\r\n\u00a0AuthMySQLSocket \/var\/lib\/mysql\/mysql.sock\r\n\u00a0AuthMySQLUser apacheuser\r\n\u00a0AuthMySQLPassword apachepass\r\n\u00a0AuthMySQLDB auth\r\n\u00a0AuthMySQLNameField user_name\r\n\u00a0AuthMySQLPasswordField user_passwd\r\n\u00a0AuthMySQLUserTable users\r\n\u00a0AuthMySQLUserCondition &quot;&#8217;%U&#8217; REGEXP CONCAT(&#8216;^\/webdav\/&#8217;,virtual_domain,&#8217;\/&#8217;)&quot;\r\n\u00a0AuthMySQLNoPasswd Off\r\n\u00a0AuthMySQLPwEncryption none\r\n\u00a0AuthMySQLEnable On\r\n&amp;lt;\/LocationMatch&amp;gt;\r\n[\/code]\r\nApache\u3092\u518d\u8d77\u52d5\u3057\u3066\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u3001\u5f8c\u306f\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3092\u4fdd\u5b58\u3059\u308bDB\u3092\u4f5c\u6210\u3059\u308b\u3002\r\n[code]\r\n# mysqladmin create auth -p\r\n# mysql -u root -p auth\r\nCREATE TABLE users (\r\n\u00a0 user_name CHAR(30) NOT NULL,\r\n\u00a0 user_passwd CHAR(20) NOT NULL,\r\n\u00a0 virtual_domain CHAR(64) NOT NULL,\r\n\u00a0 PRIMARY KEY (user_name, virtual_domain)\r\n);\r\nGRANT SELECT ON auth.users TO apacheuser IDENTIFIED BY &#8216;apachepass&#8217;;\r\nGRANT SELECT ON auth.users TO &lt;a href=&quot;mailto:&#8217;apacheuser&#8217;@&#8217;localhost&#8217;&quot;&gt;&#8217;apacheuser&#8217;@&#8217;localhost'&lt;\/a&gt; IDENTIFIED BY &#8216;apachepass&#8217;;\r\nFLUSH PRIVILEGES ;\r\n[\/code]\r\n\u305d\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u767b\u9332\u3059\u308b\u3002\r\n[code]\r\nINSERT INTO users (user_name, user_passwd, virtual_domain) VALUES (&#8216;admin&#8217;, &#8216;testadmin&#8217;, &#8216;www.sample.com&#8217;);\r\nINSERT INTO users (user_name, user_passwd, virtual_domain) VALUES (&#8216;admin2&#8217;, &#8216;testadmin2&#8217;, &#8216;www2.sample.com&#8217;);\r\n[\/code]\r\n\r\n\u52d5\u304b\u306a\u3044\u3068\u304d\u306f\u3001my.cnf\u306blog\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3057\u3001\u5b9f\u884c\u3055\u308c\u3066\u3044\u308b\u30af\u30a8\u30ea\u3092\u3057\u3089\u3079\u307e\u3059\u3002\r\n","protected":false},"excerpt":{"rendered":"<p>\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u306eftp\u30a2\u30ab\u30a6\u30f3\u30c8\u30b5\u30fc\u30d3\u30b9\u306e\u3088\u3046\u306a\u3082\u306e\u3092\u3001ftp\u306e\u4ee3\u308f\u308a\u306bWebDAV\u3067\u5b9f\u88c5\u3067\u304d\u306a\u3044\u304b\u3044\u308d\u3044\u308d\u8a66\u3057\u3066\u307f\u305f\u3068\u3053\u308d\u3001\u51fa\u6765\u305f\u306e\u3067\u307e\u3068\u3081\u3066\u304a\u304f\u3002 \u3084\u308a\u305f\u3044\u3053\u3068\u306f\u3001\u300c\/webdav\/{VirtualHost\u540d} &hellip; <a href=\"http:\/\/www.furelo.jp\/wordpress\/2011\/04\/11\/virtualdomain%e5%88%a5%e3%81%aewebdav%e8%a8%ad%e5%ae%9a%e3%82%92%e8%87%aa%e5%8b%95%e5%8c%96\/\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[31,30],"_links":{"self":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts\/164"}],"collection":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":3,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":168,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts\/164\/revisions\/168"}],"wp:attachment":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}