Kirby (v4) runs on PHP 8.1+, Apache or Nginx.
Dev tooling uses node v20.17.
- tobimori/kirby-seo (
site/plugins/seo): meta/search tags, sitemap, robots - bnomei/kirby3-feed (
site/plugins/kirby3-feed): RSS feed - thathoff/kirby-git-content (
site/plugins/kirby-git-content): panel edits auto-commit and push to GitHub
Vite is set up for sass & js compilation. Serve the site via XAMPP with a vhost pointing at this directory (deanbot.local).
- install:
composer install - update kirby to latest:
./tools/update.sh
- Install xampp
- Clone project into
/Applications/XAMPP/xampfiles/htdocs, e.g., asdeanbot.local
- to clone with submodules include
--recurse-submodules -j8
- Edit
/Applications/XAMPP/xampfiles/etc/httpd.conf.
- Update User/Group as indicated below or you get cannot write error during panel installation. User is the name of your home directory.
httpd.confconfiguration:- change:
User daemon /n Group daemon - to:
User your_username /n Group staff
- change:
- Configure vhosts
- Edit
/private/etc/hostsand add line:127.0.0.1 deanbot.local(requiressudo) - Edit files in
/Applications/XAMPP/xampfiles/- Edit
etc/extra/httpd-vhosts.confand add configuration below. - Edit
etc/httpd.confand uncomment line following# Virtual hosts
- Edit
- Restart apache server in xammpp (manager-osx).
httpd-vhosts.conf configuration:
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
</VirtualHost>
<VirtualHost *:80>
ServerName bluemooncommunityfarm.local
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/bluemooncommunityfarm.local"
ErrorLog "logs/bluemooncommunityfarm.local-error_log"
CustomLog "logs/bluemooncommunityfarm.local-access_log" common
</VirtualHost>
- Node
- install/update nvm
- install latest lts
nvm install --ltsand use itnvm use --lts
- PNPM
- install pnpm
pnpm run build- create prod build of css and js inassets/buildspnpm run start- launch Vite dev server with HMR
./tools/deploy.sh — pushes to GitHub then pulls on the server.
Requires .deploy.config at the project root (gitignored):
_key='/path/to/ssh/private/key'
_host='user@host'
_path='~/path/to/site'- Icon svgs are from Remix Icon