commit | author | age
|
1f9dae
|
1 |
## Server Setup and Configuration
|
dd7961
|
2 |
|
f13c4c
|
3 |
1. Download and unzip [Gitblit %VERSION%](http://gitblit.com/%DISTRIBUTION%).<br/>
|
dd7961
|
4 |
*Its best to eliminate spaces in the path name as that can cause troubleshooting headaches.*
|
JM |
5 |
2. The server itself is configured through a simple text file.<br/>
|
|
6 |
Open `gitblit.properties` in your favorite text editor and make sure to review and set:
|
|
7 |
- *git.repositoryFolder*
|
|
8 |
- *server.tempFolder*
|
00afd7
|
9 |
- *server.httpBindInterface* and *server.httpsBindInterface*<br/>
|
JM |
10 |
**NOTE:** Consider using **https** exclusively because passwords for authentication are transmitted as clear text!
|
dd7961
|
11 |
- *server.storePassword*<br/>
|
00afd7
|
12 |
**NOTE:** The certificate password AND the keystore password must match!
|
dd7961
|
13 |
3. Execute `gitblit.cmd` or `java -jar gitblit.jar` from a command-line
|
JM |
14 |
4. Wait a minute or two while all dependencies are downloaded and your self-signed certificate is generated.
|
|
15 |
5. Open your browser to <http://localhost> or <https://localhost> depending on your chosen configuration.
|
|
16 |
6. Click the *Login* link and enter the default administrator credentials: **admin / admin**<br/>
|
00afd7
|
17 |
**NOTE:** Make sure to change the administrator username and/or password!!
|
dd7961
|
18 |
|
JM |
19 |
### Administering Repositories
|
00afd7
|
20 |
Repositories can be created, edited, renamed, and deleted through the web UI. They may also be created, edited, and deleted from the command-line using real [Git](http://git-scm.com) or your favorite file manager and text editor.
|
dd7961
|
21 |
|
JM |
22 |
All repository settings are stored within the repository `.git/config` file under the *gitblit* section.
|
|
23 |
|
|
24 |
[gitblit]
|
|
25 |
description = master repository
|
00afd7
|
26 |
owner = james
|
dd7961
|
27 |
useTickets = false
|
JM |
28 |
useDocs = true
|
|
29 |
showRemoteBranches = false
|
|
30 |
accessRestriction = clone
|
00afd7
|
31 |
isFrozen = false
|
dd7961
|
32 |
|
JM |
33 |
#### Repository Names
|
|
34 |
Repository names must be unique and are case-insensitive. The name must be composed of letters, digits, or `/ _ - .`<br/>
|
|
35 |
Whitespace is illegal.
|
|
36 |
|
00afd7
|
37 |
#### Repository Owner
|
JM |
38 |
The *Repository Owner* has the special permission of being able to edit a repository through the web UI. The Repository Owner is not permitted to rename the repository, delete the repository, or reassign ownership to another user.
|
|
39 |
|
dd7961
|
40 |
### Administering Users
|
00afd7
|
41 |
All users are stored in the `users.properties` file or in the file you specified in `gitblit.properties`.<br/>
|
dd7961
|
42 |
The format of `users.properties` follows Jetty's convention for HashRealms:
|
JM |
43 |
|
|
44 |
username,password,role1,role2,role3...
|
|
45 |
|
|
46 |
#### Usernames
|
|
47 |
Usernames must be unique and are case-insensitive.<br/>
|
|
48 |
Whitespace is illegal.
|
|
49 |
|
|
50 |
#### Passwords
|
56c549
|
51 |
User passwords are CASE-SENSITIVE and may be *plain* or *md5* formatted (see `gitblit.properties` -> *realm.passwordStorage*).
|
dd7961
|
52 |
|
JM |
53 |
#### User Roles
|
f13c4c
|
54 |
There is only one actual *role* in Gitblit and that is *#admin* which grants administrative powers to that user. Administrators automatically have access to all repositories. All other *roles* are repository names. If a repository is access-restricted, the user must have the repository's name within his/her roles to bypass the access restriction. This is how users are granted access to a restricted repository.
|
dd7961
|
55 |
|
JM |
56 |
### Creating your own Self-Signed Certificate
|
|
57 |
|
00afd7
|
58 |
Review the contents of the `makekeystore.cmd` or `makekeystore_jdk.cmd` script and execute it.<br/>
|
JM |
59 |
**NOTE:** The certificate password AND the keystore password must match!
|
dd7961
|
60 |
|
JM |
61 |
### Running as a Service
|
f13c4c
|
62 |
Review the contents of the `installService.cmd` or `installService64.cmd`, as appropriate for your installed Java Virtual Machine.<br/>
|
JM |
63 |
Set the *JVM* variable in the script to the location of your Java Virtual Machine, add any necessary start parameters, and execute the script.
|
dd7961
|
64 |
|
JM |
65 |
#### Command-Line Parameters
|
|
66 |
--tempFolder Server temp folder
|
|
67 |
--repositoriesFolder Git Repositories Folder
|
|
68 |
--realmFile Users Realm Hash File
|
|
69 |
--useNio Use NIO Connector else use Socket Connector.
|
|
70 |
--httpPort HTTP port for to serve. (port <= 0 will disable this connector)
|
|
71 |
--httpsPort HTTPS port to serve. (port <= 0 will disable this connector)
|
|
72 |
--storePassword Password for SSL (https) keystore.
|
|
73 |
--shutdownPort Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)
|
|
74 |
|
|
75 |
**Example**
|
|
76 |
|
1f9dae
|
77 |
java -jar gitblit.jar --realmFile c:\myrealm.txt --storePassword something
|
JM |
78 |
|
|
79 |
## Client Setup and Configuration
|
|
80 |
### Https with Self-Signed Certificates
|
|
81 |
You must tell Git not to verify the self-signed certificate in order to perform any remote Git operations.
|
|
82 |
|
|
83 |
- Eclipse/EGit
|
|
84 |
1. Window->Preferences->Team->Git->Configuration
|
|
85 |
2. Click the *New Entry* button
|
|
86 |
3. <pre>Key = *http.sslVerify*
|
|
87 |
Value = *false*</pre>
|
|
88 |
- Command-line Git ([Git-Config Manual Page](http://www.kernel.org/pub/software/scm/git/docs/git-config.html))
|
|
89 |
<pre>git-config --global --bool --add http.sslVerify false</pre>
|
|
90 |
|
|
91 |
### Cloning an Access Restricted Repository
|
|
92 |
- Eclipse/Egit<br/>Nothing special to configure, EGit figures out everything.
|
|
93 |
<pre>https://yourserver/git/your/repository</pre>
|
|
94 |
- Command-line Git<br/>*My testing indicates that your username must be embedded in the url. YMMV.*
|
|
95 |
<pre>https://username@yourserver/git/your/repository</pre>
|
|
96 |
|