From: Soeren Grunewald Date: Tue, 8 Jul 2014 15:35:12 +0000 (+0200) Subject: distrib: Add script to install gitblit on fedora X-Git-Tag: v1.6.1~59^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Ftickets%2F46%2F146%2F1;p=gitblit.git 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 --- diff --git a/src/main/distrib/linux/install-service-fedora.sh b/src/main/distrib/linux/install-service-fedora.sh new file mode 100755 index 00000000..281fa409 --- /dev/null +++ b/src/main/distrib/linux/install-service-fedora.sh @@ -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"