Laminar/run/kanboard/workspace/setup.sh

50 lines
1.3 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
2025-04-06 12:58:35 +09:00
CRON_FILE="/etc/cron.d/kanboard"
2025-02-11 19:40:37 +09:00
KANBOARD_PATH="/var/www/kanboard"
2025-04-06 12:58:35 +09:00
USER="www-data"
# Cron job line (must include the user!)
CRON_JOB="0 8 * * * $USER cd $KANBOARD_PATH && ./cli cronjob >/dev/null 2>&1"
# Write the cron job to the file
echo "# Kanboard daily cronjob" > "$CRON_FILE"
echo "$CRON_JOB" >> "$CRON_FILE"
# Set proper permissions
chmod 644 "$CRON_FILE"
chown root:root "$CRON_FILE"
2025-02-11 19:40:37 +09:00
2025-04-06 12:58:35 +09:00
# Verify
echo "✅ Cron job installed in $CRON_FILE:"
cat "$CRON_FILE"