Add installation instructions

This commit is contained in:
René Pfeuffer
2020-06-03 12:19:34 +02:00
parent 40df591c59
commit fb5a7a91c7
7 changed files with 279 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
---
title: Cloudogu Ecosystem
subtitle: SCM-Manager installation in the Cloudogu Ecosystem
displayToc: true
---
Coming soon...

View File

@@ -0,0 +1,51 @@
---
title: Debian/Ubuntu
subtitle: Installation for debian based linux distributions
displayToc: true
---
## Directory structure
Since version 1.39, SCM-Manager is delivered as RPM and DEB package. The package are generated with the [nativepkg-maven-plugin](https://github.com/sdorra/nativepkg-maven-plugin). The following table shows the directory structure which will be created by the packages:
File | Description
--- | ---
/opt/scm-server | Main directory for scm-server installation
/etc/default/scm-server | Default settings for scm-server
/etc/init.d/scm-server | Start script for scm-server
/var/cache/scm/work | Cache directory
/var/log/scm | Logging directory
/var/lib/scm | SCM-Manager home directory
The package will create a user and group which are called scm. The scm user will be the owner of the process. The init script uses jsvc to start the scm-server process, which makes it possible to run scm-server on port 80 without running it as root user. The main settings for the server process are stored at /etc/default/scm-server.
## Installation
The DEB package is tested with Debian and Ubuntu. Execute the following commands to install scm-server:
```bash
# add the scm-manager repository
echo "echo 'deb https://packages.scm-manager.org/repository/apt-v1-releases/ stable main' >> /etc/apt/sources.list" | sudo sh
# install gpg key for the scm-manager repository
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D742B261
# update
sudo apt-get update
# install scm-server
sudo apt-get install scm-server
```
## Migration from ApplicationServer or Standalone version
To migrate from an existing installation, you have to the following steps:
* Stop the old service
* Move the folder /opt/scm-server, if it exists
* Install the package
* Copy the content of your existing scm home directory to /var/lib/scm
* Change the owner of the directory and all containing files to scm:scm (chown -R scm:scm /var/lib/scm)
* Verify *repositoryDirectory* in /var/lib/scm/config/[git|hg|svn].xml], make sure they point to respective /var/lib/scm/repositories/[git|hg|svn] and not your old location. Otherwise the repository health check will fail.
* Optional: Reapply changes to /opt/scm-server/conf/server-config.xml and /opt/scm-server/conf/logging.xml
* Start scm-server (/etc/init.d/scm-server start)

View File

@@ -0,0 +1,52 @@
---
title: Docker
subtitle: Install scm-manager with docker
displayToc: true
---
## Quickstart
Grab the latest version from [download page](/download) and replace `<version>` in the code blocks below
```bash
docker run --name scm -p 8080:8080 -v scm-home:/var/lib/scm sdorra/scm-manager:<version>
```
for example:
```bash
docker run --name scm -p 8080:8080 -v scm-home:/var/lib/scm sdorra/scm-manager:1.60
```
## Persistence
It is recommended to create a persistent volume for the scm-manager home directory.
This allows scm-manager updates and recreation of the container without lose of data.
The home directory is located at `/var/lib/scm`.
It is recommended to use a volume managed by docker.
If it is required to use a host directory, keep in mind that the scm-manager process is executed with a user which has the id 1000.
So ensure that the user with the uid 1000 can write to the directory e.g.:
```text
mkdir /scm_home
chown 1000:1000 /scm_home
docker run --name scm -p 8080:8080 -v /scm_home:/var/lib/scm sdorra/scm-manager:<version>
```
## Docker Compose
If you want to use the image with docker-compose have a look at the example below.
```yaml
version: '2.0'
services:
scm:
image: sdorra/scm-manager:<version>
ports:
- "8080:8080"
volumes:
- scmhome:/var/lib/scm
volumes:
scmhome: {}
```

View File

@@ -0,0 +1,7 @@
---
title: Mac OS X
subtitle: SCM-Manager installation on OS X using homebrew
displayToc: true
---
Coming soon...

View File

@@ -0,0 +1,53 @@
---
title: Redhat/CentOS/Fedora
subtitle: Installation for Red Hat based linux distributions
displayToc: true
---
## Directory structure
Since version 1.39, SCM-Manager is delivered as RPM and DEB package. The package are generated with the [nativepkg-maven-plugin](https://github.com/sdorra/nativepkg-maven-plugin). The following table shows the directory structure which will be created by the packages:
File | Description
--- | ---
/opt/scm-server | Main directory for scm-server installation
/etc/default/scm-server | Default settings for scm-server
/etc/init.d/scm-server | Start script for scm-server
/var/cache/scm/work | Cache directory
/var/log/scm | Logging directory
/var/lib/scm | SCM-Manager home directory
The package will create a user and group which are called scm. The scm user will be the owner of the process. The init script uses jsvc to start the scm-server process, which makes it possible to run scm-server on port 80 without running it as root user. The main settings for the server process are stored at /etc/default/scm-server.
## Installation
The RPM package is tested with Fedora and Centos. Create a new files at /etc/yum.repos.d/SCM-Manager.repo with the following content to install the scm-manager repository:
```text
[scm-releases]
name=SCM-Manager Releases
baseurl=https://packages.scm-manager.org/repository/yum-v1-releases/
enabled=1
gpgcheck=0
```
After file creation execute the following command to install scm-server:
```bash
# install the scm-server package
sudo yum install scm-server
```
## Migration from ApplicationServer or Standalone version
To migrate from an existing installation, you have to the following steps:
* Stop the old service
* Move the folder /opt/scm-server, if it exists
* Install the package
* Copy the content of your existing scm home directory to /var/lib/scm
* Change the owner of the directory and all containing files to scm:scm (chown -R scm:scm /var/lib/scm)
* Verify *repositoryDirectory* in /var/lib/scm/config/[git|hg|svn].xml], make sure they point to respective /var/lib/scm/repositories/[git|hg|svn] and not your old location. Otherwise the repository health check will fail.
* Optional: Reapply changes to /opt/scm-server/conf/server-config.xml and /opt/scm-server/conf/logging.xml
* Start scm-server (/etc/init.d/scm-server start)

View File

@@ -0,0 +1,42 @@
---
title: Unix
subtitle: General unix installation
displayToc: true
---
# Getting started
### Install Java
SCM-Manager needs an installed Java 1.7 or newer. It is recommended to use the [oracle jre](http://java.oracle.com/).
How to check which version of Java is installed:
```bash
java -version
```
Download java from [here](http://java.oracle.com/) and follow the install instructions.
### Install SCM-Manager
Download the latest version of SCM-Manager from
[here](http://www.scm-manager.org/download/), unpack the .zip
or .tar.gz package and start SCM-Manager with
```bash
scm-server/bin/scm-server
```
### First access
| | |
| ------------ | ----------------------- |
| **URL** | <http://localhost:8080> |
| **Username** | scmadmin |
| **Password** | scmadmin |
### Mercurial
Subversion and Git will work out of the box, but if you want to use
mercurial with SCM-Manager you have to install mercurial version
**1.9** or newer.

View File

@@ -0,0 +1,67 @@
---
title: Windows
subtitle: Install scm-manager on windows
displayToc: true
---
# Getting started
### Install Java
SCM-Manager needs an installed Java 1.7 or newer. It is recommended to use the [oracle jre](http://java.oracle.com/).
How to check which version of Java is installed:
```bash
java -version
```
Download java from [here](http://java.oracle.com/) and follow the install instructions.
### Install SCM-Manager
Download the latest version of SCM-Manager from
[here](http://www.scm-manager.org/download/), unpack the .zip
or .tar.gz package and start SCM-Manager with
```bash
scm-server/bin/scm-server
```
### First access
| | |
| ------------ | ----------------------- |
| **URL** | <http://localhost:8080> |
| **Username** | scmadmin |
| **Password** | scmadmin |
### Mercurial
Subversion and Git will work out of the box, but if you want to use
mercurial with SCM-Manager you have to install mercurial version
**1.9** or newer.
The installation of mercurial for SCM-Manager is very complicated on
windows, have a look at:
- [#1](https://bitbucket.org/sdorra/scm-manager/issues/1/no-ability-to-rename-repository)
- [xeFcruG70s8J](https://groups.google.com/d/msg/scmmanager/zOigMIn2RiE/xeFcruG70s8J "Python/Hg Package Build Process")
- [build-win-hg-packages](https://bitbucket.org/sdorra/build-win-hg-packages)
SCM-Manager comes with the option to install packages for windows to
simplify this setup. To use such a package just login as Administrator,
goto \"Repository Types\", click the \"Start Configuration Wizard\" and
Choose \"Download and install\".
If you see an error like the following:
```text
sonia.scm.repository.RepositoryException: command exit with error 14001 and message: 'The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.'
```
Then you have to install [Microsoft Visual C++ 2008 SP1 Redistributable Package
(x86)](http://www.microsoft.com/en-us/download/details.aspx?id=5582).
Note you have to use the x86 package and not the x64 package, because we
use 32bit python in SCM-Manager on Windows. For more informations have a
look at
[#522](https://bitbucket.org/sdorra/scm-manager/issue/552/hg-repo-creation-failed).