{"id":3201,"date":"2012-07-04T17:18:32","date_gmt":"2012-07-04T09:18:32","guid":{"rendered":"http:\/\/jpuyy.com\/?p=3201"},"modified":"2012-09-25T18:11:44","modified_gmt":"2012-09-25T10:11:44","slug":"apache-subversion","status":"publish","type":"post","link":"https:\/\/jpuyy.com\/?p=3201","title":{"rendered":"\u4f7f\u7528apache\u548csubversion\u6574\u5408"},"content":{"rendered":"<p>\u9700\u6c42\uff1a\u53ef\u7528\u6d4f\u89c8\u5668\u6253\u5f00svn\u67e5\u770b\uff0c\u4f46\u4f7f\u7528tortoise\u63d0\u4ea4\u9700\u8981\u8ba4\u8bc1<\/p>\n<p>\u7ba1\u7406\u5458\u5b89\u88c5<\/p>\n<pre>yum install mod_dav_svn subversion<\/pre>\n<p>\u5728\/etc\/httpd\/conf.d\/subversion.conf\u6dfb\u52a0<\/p>\n<pre>&lt;Location \/svn&gt;\r\n DAV svn\r\n SVNParentPath \/var\/www\/svn\r\n SVNListParentPath on\r\n AuthType Basic\r\n AuthName \"Subversion repositories\"\r\n AuthUserFile \/etc\/svn-auth-users\r\n &lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;\r\n Require valid-user\r\n &lt;\/LimitExcept&gt;\r\n&lt;\/Location&gt;<\/pre>\n<p>\u4e0a\u9762\u7684\u610f\u601d\u662f\u90fd\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u91cc\u770b\u5230\uff0c\u4f46\u662fsvn\u63d0\u4ea4\u9700\u8981\u8ba4\u8bc1<\/p>\n<p>\u6dfb\u52a0svn\u8ba4\u8bc1\u7528\u6237<\/p>\n<pre>## Create testuser ##\r\nhtpasswd -cm \/etc\/svn-auth-users testuser\r\nNew password: \r\nRe-type new password: \r\nAdding password for user testuser<\/pre>\n<p>\u6dfb\u52a0\u4e00\u4e2asvn\u5e93<\/p>\n<pre>mkdir \/var\/www\/svn\r\ncd \/var\/www\/svn\r\n\r\nsvnadmin create testrepo\r\nchown -R apache.apache testrepo\r\n\r\nchcon -R -t httpd_sys_content_t \/var\/www\/svn\/testrepo\r\n\r\n## Following enables commits over http ##\r\nchcon -R -t httpd_sys_rw_content_t \/var\/www\/svn\/testrepo<\/pre>\n<p>\u91cd\u542fapache<\/p>\n<pre>\/etc\/init.d\/httpd restart<\/pre>\n<p>\u8fd9\u6837\u6253\u5f00\u6d4f\u89c8\u5668\u5c31\u76f4\u63a5\u770b\u5230\u5e93\u7684\u5185\u5bb9\uff0c\u800c\u5982\u679c\u63d0\u4ea4\u8fd8\u9700\u8981\u8ba4\u8bc1\u3002<\/p>\n<p>PS\uff1a\u5982\u679c\u5168\u7a0b\u8ba4\u8bc1\uff0c\u5219\u628asubversion.conf\u7684Require valid-user\u4eceLimitExcept\u62ff\u51fa\u6765\uff0c\u5e76\u628aLimitExcept\u53bb\u6389\u3002<\/p>\n<p>\u4ece\u4e0a\u8ff0\u8fc7\u7a0b\u53ef\u4ee5\u53d1\u73b0\uff0csvnserve\u4e00\u76f4\u6ca1\u6709\u5f00\uff0c\u7528\u5230\u7684\u534f\u8bae\u662fhttp\uff0c\u5982\u679c\u7528svn\u6765\u63a7\u5236\u6743\u9650\uff0c\u5219\u662f\u53e6\u5916\u4e00\u56de\u4e8b\u4e86\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9700\u6c42\uff1a\u53ef\u7528\u6d4f\u89c8\u5668\u6253\u5f00svn\u67e5\u770b\uff0c\u4f46\u4f7f\u7528tortoise\u63d0\u4ea4\u9700\u8981\u8ba4\u8bc1 \u7ba1\u7406\u5458\u5b89\u88c5 yum install mod_dav_svn subversion \u5728\/etc\/httpd\/conf.d\/subversion.conf\u6dfb\u52a0 &lt;Location \/svn&gt; DAV svn SVNParentPath \/var\/www\/svn SVNListParentPath on AuthType Basic AuthName &#8220;Subversion repositories&#8221; AuthUserFile \/etc\/svn-auth-users &lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt; Require valid-user &lt;\/LimitExcept&gt; &lt;\/Location&gt; \u4e0a\u9762\u7684\u610f\u601d\u662f\u90fd\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u91cc\u770b\u5230\uff0c\u4f46\u662fsvn\u63d0\u4ea4\u9700\u8981\u8ba4\u8bc1 \u6dfb\u52a0svn\u8ba4\u8bc1\u7528\u6237 ## Create testuser ## htpasswd -cm \/etc\/svn-auth-users testuser New password: Re-type new password: Adding password for user testuser \u6dfb\u52a0\u4e00\u4e2asvn\u5e93 mkdir \/var\/www\/svn cd [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[23],"class_list":["post-3201","post","type-post","status-publish","format-standard","hentry","category-linux","tag-summary"],"_links":{"self":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts\/3201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3201"}],"version-history":[{"count":6,"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts\/3201\/revisions"}],"predecessor-version":[{"id":3203,"href":"https:\/\/jpuyy.com\/index.php?rest_route=\/wp\/v2\/posts\/3201\/revisions\/3203"}],"wp:attachment":[{"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jpuyy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}