I know how to create a custom error page using the apache htaccess file:
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php
But is it possible to have a custom error page without using the htaccess file?
I have access to the server and all its settings
You can use the same code inside your apache virtualhost ; it will have the same behaviour.