Updating your Kora Installation
Updating Kora keeps your site secure and gives you bug fixes and new features. You do not need to be a server expert, but you should set aside a short maintenance window and follow the steps in order.
Before you start
- Check compatibility. Confirm your server still meets the current System Requirements, especially your PHP version and required extensions.
- Back up everything. Save a copy of the database and the whole
korafolder (be sure.envandstorage/are included). In cPanel, use the built‑in backups; over SSH you can usemysqldumpplustar. - Plan a short downtime. Let users know the site may be unavailable for a few minutes.
- Read the release notes. Each release explains what changed and if any special steps are needed.
Choose your update method
Pick the path that matches how you installed Kora. If you installed with Git, use Method A. If you uploaded a zip or used cPanel/File Manager, use Method B.
Method A: Update with Git (for Git installs)
- SSH into your server and go to the Kora install directory (commonly
/var/www/koraor~/kora). - Put the site in maintenance mode:
bash php artisan down - Pull the latest tagged release (replace
vX.Y.Zwith the version you want):bash git fetch --tags git checkout vX.Y.Z - Install PHP dependencies and optimize:
bash composer install --no-dev --optimize-autoloader php artisan migrate --force php artisan config:cache php artisan route:cache php artisan view:cache - If you previously customized front-end assets with npm, rebuild them now. If not, skip to the next step.
bash npm install npm run prod - Bring the site back online:
bash php artisan up
Method B: Update from a zipped release (cPanel/File Manager)
- Download the latest release zip from the official Kora GitHub releases page.
- In cPanel (or your host’s file manager), upload the zip to a temporary folder (e.g.,
kora_update/) outside your live site. - Extract the zip. You should see a
korafolder with the application files inside. - Copy your existing
.envfile andstorage/directory from the live site into the new extracted folder so configuration and uploads are preserved. - Put the live site into maintenance mode:
bash php artisan down - Replace the live application files with the new ones:
- cPanel File Manager: rename the current
koradirectory tokora_old, move the newkorafolder into place, then rename it tokora. - SSH: move the new files over the old directory, making sure
.envandstorage/stay in place. - From inside the new
koradirectory, run:bash composer install --no-dev --optimize-autoloader php artisan migrate --force php artisan config:cache php artisan route:cache php artisan view:cacheIf you do not have SSH, ask your host to run these commands for you because they are required to complete the update. - Turn maintenance mode off:
bash php artisan up - Once you verify the site, delete the old
kora_olddirectory to recover space.
After the update
- Smoke test: Log in, load the dashboard, view a project, create a test record, and run a search.
- Check logs: Review
storage/logs/laravel.logfor any errors. - Re-enable scheduled tasks: If you paused cron jobs or queue workers, start them again.
- Back up again: Take a fresh backup now that the update is complete.
Troubleshooting tips
- If
composer installfails, confirm PHP memory limit is sufficient and required extensions are enabled. - If migrations fail, restore your database backup, resolve the error noted in the console, and rerun
php artisan migrate --force. - If pages serve cached errors, clear caches with
php artisan config:clear && php artisan cache:clear.
Keeping a simple changelog of versions and dates applied at your institution will make future updates faster and safer.