Skip to main content
Share Your Experience: Take the 2024 Developer Survey
8 votes

What are useful guidelines for Craft CMS security on VPS (virtual private servers)?

This morning a couple of postings on Craft Slack #devops area linked good descriptions of basic server security, led by @merlingore there. Their instructions are tilted towards Ubuntu as far as ...
narration_sd's user avatar
  • 1,707
7 votes

How do I redirect traffic from a legacy category URL to a new category URL?

There are a few plugins which can handle this, but Retour is the newest and shiniest! https://github.com/nystudio107/retour It's from the same developer as SEOmatic... he puts a lot of love & ...
Lindsey D's user avatar
  • 24k
6 votes
Accepted

How do I redirect traffic from a legacy category URL to a new category URL?

Craft has a twig redirect tag. You should be able to create a "redirect" template that handles redirects based on {slug} and/or url segments and then use Craft routes to direct "legacy-subdirectory"...
Moto_Nomad's user avatar
6 votes
Accepted

What is the recommended Nginx configuration for Craft?

This Nginx-Craft configuration is one I've been using in production for some time, and it implements many best-practices that you might want to be using: https://github.com/nystudio107/nginx-craft
andrew.welch's user avatar
  • 11.6k
5 votes

Self-hosting requirements/scaling

No reason at all, that should work perfectly fine. In fact, at least 90% of my projects keep files, database, and assets all on the same server. For the remaining 10%, I'm usually only moving the ...
Lindsey D's user avatar
  • 24k
5 votes
Accepted

Installing other PHP app in sub directory

Yes, possible. You just need to override the URL routing within the subdirectory, so requests to /sub/* get routed to /sub/index.php rather than /index.php. For example, if you’re using Apache, just ...
Brandon Kelly's user avatar
5 votes
Accepted

Problems setting up a local site

You can't use the domain .dev anymore, it's Google's gTLD (https://icannwiki.org/.dev) and they don't want to share. See https://medium.engineering/use-a-dev-domain-not-anymore-95219778e6fd for a ...
Seth Warburton's user avatar
5 votes
Accepted

Craft 3: 500 Internal Server Error when trying to install on server

The 503 error on the home page usually indicates that Craft can't connect to the database. That's to be expected when performing a fresh installation. The internal server error could be a typo or ...
Sam Hernandez's user avatar
5 votes
Accepted

Undefined index: siteSettings when updating entry types

Even with 'useProjectConfigFile' => false, it is still active under the hood. Could you run ./craft project-config/rebuild and see if that fixes the issue?
Oli's user avatar
  • 7,495
4 votes

Getting $craftPath error on server trying to get Craft running

If your permissions are set correctly, your php.ini is all correct, your craft folder exists and everything seems like it should work fine... Make sure you have the app folder inside the craft folder ...
Ian's user avatar
  • 564
4 votes
Accepted

How to serve Craft with Caddy server

For local development the Caddyfile looks like this (assuming that php-fpm runs on port 9000, you may have to adapt root to point to your web root relative to the location of the Caddyfile): ...
Lars Bilke's user avatar
4 votes

500 Internal Server Error when accessing admin

It turned out that RewriteBase / needed to be added to the htaccess
Andrew's user avatar
  • 738
3 votes

Self-hosting requirements/scaling

Not to stray too far off the Craft beaten path here but any scaling guidelines you see on other sites usually will apply to Craft as well. You'll know when you need to start scaling... might you have ...
RitterKnight's user avatar
  • 6,582
3 votes
Accepted

Do servers in a multi-server Craft setup need to share a storage directory?

Personally, I'd lean towards keeping the shared NFS volume. It's not just the runtime folder, but things like backups, site logos, user avatars, etc. and anything else plugins might be storing in ...
Brad Bell's user avatar
  • 67.5k
3 votes

Manual update fails on server

I figured it out. It was super unexpected, after turning on errors finally, I got Fatal error: Class 'Craft\AppPathCacheDependency' not found in Then I realized that GIT didn't include that file, ...
Tibor Szasz's user avatar
3 votes

Plugin to report when site becomes unavailable

There's no plugin for that... it wouldn't quite make sense. If the site went down, the plugin would be down too. Your best bet is to find a 3rd party service to monitor the site's uptime. There are ...
Lindsey D's user avatar
  • 24k
3 votes

Craft site moved to HTTPS - now having issues

So, removing the cache settings for CSS and JS in my nginx config fixed this. # CSS and Javascript location ~* \.(?:css|js)$ { expires 1M; access_log off; } Also, once I got into the admin area ...
Adam Menczykowski's user avatar
3 votes
Accepted

Is it possible to force Craft to recheck available sever modules?

Craft will re-run the requirement checks simply by loading that admin/utils/serverinfo page. The results aren't cached. It sounds like your box may have had the ImageMagic library installed, but not ...
Brad Bell's user avatar
  • 67.5k
3 votes

Visitor drop off since moving over to Craft CMS

I wouldn't be overly concerned about bounce rates and such, I'd be more concerned about conversion metrics. The reason is that many things affect bounce rate; if the new site is better designed, ...
andrew.welch's user avatar
  • 11.6k
3 votes
Accepted

Code shows instead of homepage

If your website is showing the text of your index.php instead of the actual website code, something is misconfigured with your server setup. Anything .php should be passed along to php-fpm or whatever ...
andrew.welch's user avatar
  • 11.6k
3 votes

How does the Craft CMS built-in web server works?

This just launches PHP's built in web server, documentation for it can be found here: https://www.php.net/manual/en/features.commandline.webserver.php You can use php -s localhost:8000 instead You ...
dmatthams's user avatar
  • 2,492
3 votes
Accepted

Less complicated local development w/Craft 3, is it possible?

If you're used to Local you can also use that for Craft. Here's 2 articles to get you started: https://medium.com/@madebyraygun/a-quick-and-easy-local-environment-for-craft-3-4fd7c7ff5815 and ...
erwinheiser's user avatar
2 votes

Get "Internal Server Error Undefined index: handle"

This ended up being an environmental issue with semi-largish Matrix fields. The three most common culprits are your php.ini file's max_input_vars, max_input_nesting_level and post_max_size would ...
Brad Bell's user avatar
  • 67.5k
2 votes

Internal Server Error

You're running Craft 2.6+ and you've got an older version of the Redactor I plugin installed that isn't Craft 2.6 compatible. If you download the latest version of the plugin and install it, the ...
Brad Bell's user avatar
  • 67.5k
2 votes

Craft files and DB out of sync

It looks like the database schema (at Craft version 2.6.2773) is ahead of the craft/app files on your file system (at Craft version 2.5.2763). Since (I assume) you're not seeing any update info being ...
Brad Bell's user avatar
  • 67.5k
2 votes
Accepted

Using Symbolic Links for Very Large Image directories

Am I missing something or is there a better/easier/default way to do handle large numbers of images/assets across DEV & LIVE environments when they are on the same server/account? Ideally you'd ...
Brad Bell's user avatar
  • 67.5k
2 votes
Accepted

PHP mbstring extension isn't enabled? (WampServer)

As these things go, after I posted my question, I clicked "Refresh" in the Wamp menu and now my site works. I'm not sure what changed, especially since I already restarted the entire program several ...
Katie Fritz's user avatar
2 votes

HTTP ERROR 500 after move to live

Howard, craft itself doesn't break like that, in my experience. set devMode true in config/general.php try the url again, then look at the logs for craft and php, in craft/storage/runtime/logs if you ...
narration_sd's user avatar
  • 1,707
2 votes

Internal Server error during install

In case it helps someone, my issue was the permissions for the root index.php file...It was 666 (writeable by group) and when I switched that file permissions to 644, the installation was able to move ...
glenn's user avatar
  • 61
2 votes
Accepted

Sub-pages not loading on Windows server

Figured it out. Config was set to force https, but the new server didn't have an ssl certificate set up. Fixing that cleared up the issue.
artmem's user avatar
  • 1,022

Only top scored, non community-wiki answers of a minimum length are eligible