-
Notifications
You must be signed in to change notification settings - Fork 58
/
0015.html
153 lines (146 loc) · 7.36 KB
/
0015.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Setting Up Apache Subversion on Windows</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="UTF-8">
<meta name="keywords" content="How To Host Apache Subversion On Windows,Apache,Subversion,Source Code,Apache HTTPD Administration,Self-Hosted,Code Repository,Source Code Tracking,Home Lab,Install Guide,Web Developer,Apache HTTPD,SVN Basics,SVN Server,Repository,Source Control,SVN,System Administrator,Apache HTTPD Config,Web Server Administration,Web Server,HTTPD,TortoiseSVN,Version Control,Self-hosted,Apache Subversion,How To,Tutorial,i12bretro">
<meta name="author" content="i12bretro">
<meta name="description" content="Setting Up Apache Subversion on Windows">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="revised" content="03/25/2022 03:26:17 PM" />
<link rel="icon" type="image/x-icon" href="includes/favicon.ico">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="includes/js/steps.js"></script>
<link href="css/steps.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="gridContainer">
<div class="topMargin"></div>
<div id="listName" class="topMargin">
<h1>Setting Up Apache Subversion on Windows</h1>
</div>
<div></div>
<div id="content">
<h2>Installing Subversion</h2>
<ol>
<li>Download Microsoft Visual C++<a href="https://aka.ms/vs/16/release/vc_redist.x64.exe" target="_blank">Download</a></li>
<li>Download TortoiseSVN <a href="https://tortoisesvn.net/downloads.html" target="_blank">Download</a></li>
<li>Install Microsoft Visual C++</li>
<li>Install TortoiseSVN, making sure to enable the command line client tools option</li>
</ol>
<h2>Installing and Configuring Apache HTTPD</h2>
<ol>
<li>Download Apache HTTPD <a href="https://www.apachelounge.com/download/" target="_blank">Download</a></li>
<li>Download Subversion Apache Modules <a href="https://github.com/nono303/win-svn/tree/1.14.0" target="_blank">Download</a></li>
<li>Extract the downloaded .zip files</li>
<li>Copy the extracted Subversion files to the desired location, for example C:\Program Files\Subversion</li>
<li>Click the Start button > Search Control > Click Control Panel</li>
<li>Click on System > Advanced system settings</li>
<li>Click the Environment Variables...</li>
<li>Edit the System Path variable</li>
<li>Add the Subversion /bin path</li>
<li>Click OK</li>
<li>Open a command prompt and run svn --version to confirm the Subversion executables are configured in the system path correctly</li>
<li>Copy the following files from the extracted Subversion directory to the Apache installation directory specified below:
<p><u>Apache /modules</u><br />
mod_dav_svn.so<br />
mod_authz_svn.so<br />
deps/brotlicommon.dll<br />
deps/brotlidec.dll<br />
deps/brotlienc.dll<br />
deps/libapr-1.dll<br />
deps/libapriconv-1.dll<br />
deps/libaprutil-1.dll<br />
deps/libcrypto-1_1-x64.dll<br />
deps/libexpat.dll<br />
deps/libhttpd.dll<br />
deps/libserf-2.dll<br />
deps/libssl-1_1-x64.dll<br />
deps/zlib1.dll<br />
<u>Apache /bin</u><br />
libsvnjavahl-1.dll<br />
libsvn_client-1.dll<br />
libsvn_delta-1.dll<br />
libsvn_diff-1.dll<br />
libsvn_fs-1.dll<br />
libsvn_fs_fs-1.dll<br />
libsvn_fs_util-1.dll<br />
libsvn_fs_x-1.dll<br />
libsvn_ra-1.dll<br />
libsvn_repos-1.dll<br />
libsvn_subr-1.dll<br />
libsvn_wc-1.dll</p>
</li>
<li>Inside the extracted Apache file structure, navigate to /conf/httpd.conf and edit it with a text editor</li>
<li>Find the following lines LoadModule dav_module modules/mod_dav.so and uncomment them by removing the # at the beginning
<p>LoadModule access_compat_module modules/mod_access_compat.so<br />
LoadModule dav_module modules/mod_dav.so</p>
</li>
<li>Add the following block to the file:
<p>LoadModule dav_svn_module modules/mod_dav_svn.so<br />
LoadModule authz_svn_module modules/mod_authz_svn.so</p>
<p><VirtualHost svn.i12bretro.local:80><br />
ServerName svn.i12bretro.local<br />
ServerAlias i12bretro.local<br />
DocumentRoot E:\SVN_Repos<br />
<br />
<Location /><br />
DAV svn<br />
SVNListParentPath On<br />
SVNParentPath E:\SVN_Repos<br />
<br />
Order allow,deny<br />
Allow from all<br />
</Location><br />
</VirtualHost></p>
</li>
<li>Save the changes</li>
<li>To just start Apache and have it run, double click the httpd.exe in the Apache /bin directory</li>
<li>To run Apache as a Windows server, hold the shift key and right click in the Apache /bin directory > Open command window here</li>
<li>Enter the following command to create the Apache service:
<div class="codeBlock">httpd.exe -k install -n "Apache HTTPD"</div>
</li>
<li>Open a web browser and navigate to http://svn.i12bretro.local</li>
<li>A bare bones directory listing of the "Collection of Repositories" should be displayed</li>
</ol>
<h2>Setting Up LDAP Authentication</h2>
<ol>
<li>Navigate to the Apache install directory/conf in Explorer</li>
<li>Edit httpd.conf in a text editor</li>
<li>Find both the authnz_ldap_module and ldap_module and make sure it is enabled by removing the # at the start of the line
<p>LoadModule authnz_ldap_module modules/mod_authnz_ldap.so<br />
LoadModule ldap_module modules/mod_ldap.so</p>
</li>
<li>Add the following to the Location block created earlier for svn.i12bretro.local to enable LDAP authentication
<p> Order deny,allow<br />
# Basic authentication with LDAP against MS AD<br />
AuthType Basic<br />
AuthBasicProvider ldap<br />
<br />
# AuthLDAPURL specifies the LDAP server IP, port, base DN, scope and filter<br />
# using this format: ldap://host:port/basedn?attribute?scope?filter<br />
AuthLDAPURL "ldap://i12bretro.local:389/DC=i12bretro,DC=local?sAMAccountName?sub?(objectClass=user)" NONE<br />
<br />
# The LDAP bind username and password<br />
AuthLDAPBindDN "readonly_svc@i12bretro.local"<br />
AuthLDAPBindPassword "Read0nly!!"<br />
LDAPReferrals Off<br />
AuthUserFile /dev/null<br />
<br />
AuthName "Restricted Area [i12bretro.local]"<br />
# to authenticate a domain group, specify the full DN<br />
AuthLDAPGroupAttributeIsDN on<br />
require ldap-group CN=WebAuthAccess,CN=Users,DC=i12bretro,DC=local</p>
</li>
<li>Save httpd.conf</li>
<li>Restart the Apache service</li>
<li>Open a web browser and navigate back to http://svn.i12bretro.local</li>
<li>An authentication prompt should be displayed</li>
<li>Enter a valid username and password for a user belonging to the group specified above</li>
<li>A bare bones directory listing of the Subversion repositories should be displayed</li>
</ol>
</div>
</div>
</body>
</html>