Soeren Grunewald
2014-07-08 ddb15dbe9e592c60c842fe8c2a2cdeef56244474
distrib: Add script to install gitblit on fedora

The script will create a environment file keeping all the major settings and
installs a systemd unit file.
The script (mainly the unit file part) should also work for other systemd
based distributions like ArchLinux. But /etc/sysconfig may not exist there.

Signed-off-by: Soeren Grunewald <soeren.grunewald@desy.de>
1 files added
36 ■■■■■ changed files
src/main/distrib/linux/install-service-fedora.sh 36 ●●●●● patch | view | raw | blame | history
src/main/distrib/linux/install-service-fedora.sh
New file
@@ -0,0 +1,36 @@
#!/bin/bash -x
# This script installes gitblit on a system running under systemd.
# The script assumes the server is running as user giblit
# First create a file with the default settings
cat > /tmp/gitblit.defaults << EOF
GITBLIT_PATH=/opt/gitblit
GITBLIT_BASE_FOLDER=/opt/gitblit/data
GITBLIT_HTTP_PORT=0
GITBLIT_HTTPS_PORT=8443
GITBLIT_LOG=/var/log/gitblit.log
EOF
# Create a systemd service file
cat > /tmp/gitblit.service << EOF
[Unit]
Description=Gitblit managing, viewing, and serving Git repositories.
After=network.target
[Service]
User=gitblit
Group=gitblit
Environment="ARGS=-server -Xmx1024M -Djava.awt.headless=true -jar"
EnvironmentFile=-/etc/sysconfig/gitblit
WorkingDirectory=/opt/gitblit
ExecStart=/usr/bin/java \$ARGS gitblit.jar --httpsPort \$GITBLIT_HTTPS_PORT --httpPort \$GITBLIT_HTTP_PORT --baseFolder \$GITBLIT_BASE_FOLDER --dailyLogFile
ExecStop=/usr/bin/java \$ARGS gitblit.jar --baseFolder \$GITBLIT_BASE_FOLDER --stop
[Install]
WantedBy=multi-user.target
EOF
# Finally copy the files to the destination and register the systemd unit.
sudo su -c "cp /tmp/gitblit.defaults /etc/sysconfig/gitblit && cp /tmp/gitblit.service /usr/lib/systemd/system/"
sudo su -c "systemctl daemon-reload && systemctl enable gitblit.service && systemctl start gitblit.service"
# Prepare the logfile
sudo su -c "touch /var/log/gitblit.log && chown gitblit:gitblit /var/log/gitblit.log"