Laminar/run/kanboard/workspace/setup.sh

39 lines
1.1 KiB
Bash
Raw Normal View History

2025-02-11 17:24:47 +09:00
#!/usr/bin/env bash
set -euox pipefail
UPSTREAM_VER="1.2.43"
2025-02-11 17:24:47 +09:00
a2enmod rewrite
cd /tmp
wget "https://github.com/kanboard/kanboard/archive/refs/tags/v${UPSTREAM_VER}.zip"
unzip "v${UPSTREAM_VER}.zip" -d /var/www
mv /var/www/kanboard-* /var/www/kanboard
chown -R www-data: /var/www/kanboard
chmod -R 775 /var/www/kanboard
chmod -R 770 /var/www/kanboard/data
cat << EOT > /etc/apache2/sites-available/kanboard.conf
<VirtualHost *:80>
DocumentRoot /var/www/kanboard
<Directory /var/www/kanboard>
2025-02-11 19:40:37 +09:00
AllowOverride FileInfo Options=All,MultiViews AuthConfig
Options FollowSymLinks
2025-02-11 17:24:47 +09:00
Require all granted
</Directory>
2025-02-11 19:40:37 +09:00
<Directory /var/www/kanboard/data>
Require all denied
</Directory>
2025-02-11 17:24:47 +09:00
</VirtualHost>
EOT
# Enable the site
a2ensite kanboard.conf
a2dissite 000-default.conf
apache2ctl configtest || echo "Apache2 config failed!"
systemctl restart apache2
2025-02-11 19:40:37 +09:00
# Define the user and the command
USER="www-data"
KANBOARD_PATH="/var/www/kanboard"
CRON_JOB="0 8 * * * cd $KANBOARD_PATH && ./cli cronjob >/dev/null 2>&1"
# Add the cron job for the specified user
(sudo crontab -u $USER -l 2>/dev/null; echo "$CRON_JOB") | sudo crontab -u $USER -