60 lines
1.3 KiB
Bash
60 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# This script performs the installation of Tanabata web server
|
|
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Please run as root"
|
|
exit 1
|
|
fi
|
|
|
|
cd "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
|
|
|
../tdbms/install.sh || exit 1
|
|
|
|
usermod -a -G tanabata www-data
|
|
|
|
if [ ! -d /var/lib/tanabata/tweb ]; then
|
|
mkdir /var/lib/tanabata/tweb
|
|
if [ ! -d /var/lib/tanabata/tweb ]; then
|
|
echo "FATAL: failed to create directory '/var/lib/tanabata/tweb'"
|
|
exit 1
|
|
fi
|
|
fi
|
|
chown 42776:42776 /var/lib/tanabata/tweb
|
|
chmod 2755 /var/lib/tanabata/tweb
|
|
|
|
if [ -d ../build ]; then
|
|
rm -r ../build/*
|
|
else
|
|
mkdir ../build
|
|
if [ -d ../build ]; then
|
|
echo "FATAL: failed to create build directory"
|
|
exit 1
|
|
fi
|
|
fi
|
|
cd ./server
|
|
echo "Building Tweb server..."
|
|
if ! go build -o ../build; then
|
|
echo "FATAL: failed to build Tweb server"
|
|
exit 1
|
|
fi
|
|
cd ..
|
|
mv -f ../build/tweb /usr/bin/
|
|
chown 0:0 /usr/bin/tweb
|
|
chmod 0755 /usr/bin/tweb
|
|
|
|
if ! cp ./tweb.service /etc/systemd/system/; then
|
|
echo "FATAL: failed to copy 'tweb.service' to '/etc/systemd/system'"
|
|
exit 1
|
|
fi
|
|
chown 0:0 /etc/systemd/system/tweb.service
|
|
chmod 0644 /etc/systemd/system/tweb.service
|
|
|
|
if ! cp -r ./public/* /srv/www/tanabata/; then
|
|
echo "FATAL: failed to copy public files to '/srv/www/tanabata'"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Tweb server successfully installed."
|
|
echo "Start it with 'systemctl start tweb'"
|