Server setup
Shared hosting with cPanel, or your own VPS — both end with a WordPress site you install Quickmunch into.
Shared hosting (cPanel, Plesk and friends)
This is the no-command-line path, and Quickmunch is built to live happily here.
- Check the PHP version (Select PHP Version / MultiPHP Manager): 7.4 or newer, 8.2 recommended, with the extensions from System requirements ticked.
- Raise the PHP limits (MultiPHP INI Editor or your panel's
equivalent):
upload_max_filesizeandpost_max_sizeto 64M,memory_limitto 256M,max_execution_timeto 300 andmax_input_varsto 3000. The theme upload is the first thing that fails without this. - Turn on HTTPS (SSL/TLS Status or Let's Encrypt) before you
install WordPress, so the site's address is
https://from the start rather than changed afterwards. - Install WordPress. Your panel's one-click app installer is the easy route. By
hand: create a database and a user in MySQL Databases, add the user to the database
with all privileges — the step people miss — upload the WordPress download to the folder your
domain serves (usually
public_html), extract it there, and open your domain to run WordPress's setup. - Install Quickmunch — see Installing Quickmunch.
VPS — Apache
Serve the WordPress folder directly and let it manage its own .htaccess:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/quickmunch
<Directory /var/www/quickmunch>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Enable mod_rewrite, give the web server ownership of the folder, then browse to the
domain and run WordPress's setup:
sudo a2enmod rewrite && sudo systemctl reload apache2
sudo chown -R www-data:www-data /var/www/quickmunch
VPS — Nginx + PHP-FPM
server {
listen 80;
server_name example.com;
root /var/www/quickmunch;
index index.php;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
location ~ /\.(?!well-known).* { deny all; }
}
Nginx has no .htaccess, so two lines above matter more than they look.
try_files is what makes pretty permalinks work — and with them every dashboard
address. client_max_body_size is what lets the theme upload through: Nginx's own
default is 1 MB, and it refuses the file before PHP ever sees it.
Either way, afterwards
- HTTPS. Let's Encrypt is free on most panels and on any VPS via certbot. Online card payments, push notifications and the installable customer app require it.
- Permalinks. Settings → Permalinks → Post name, then save. The dashboards live at their own addresses and do not exist on Plain.
- Writable folders.
wp-contentandwp-content/uploadsmust be writable by the web server user. - A real cron (optional). WordPress runs its scheduled jobs when somebody visits. On a quiet site, a server cron entry makes them run on time — see Scheduled tasks.