The theoretical answer to this is yes, you can.
You'll need to have the system folder on both servers since both the admin and catalog rely on the base classes to run.
On your client server you'll need:
catalog/*
config.php
crossdomain.xml
image/*
index.php
install/*
php.ini
system/*
On your admin server you'll want to make the normal admin folder your document root. So instead of adminserver.com/admin
you'll just use adminserver.com
Admin server setup:
config.php
controller/*
index.php
language/*
model/*
view/*
php.ini
system/*
Then in your adminserver/config.php
you would simply adjust you paths and db info as appropriate.
But the "real world" answer to this in no, you can't.
If you did do this, one of the main controllers in the admin area, file manager
would not work.
File manager relies on the public images folder to upload images for your products. On a separate server the file manager would attempt to upload images to image/data
which you could create on your adminserver
, but obviously this wouldn't carry over to your client server.
You'd need to FTP your images to the client server with the exact same name and route as the admin server. Plus this could be extremely problematic for extensions. How would you set up modifications? Or extensions that have image parameters?
If maybe you had a CDN module in place, that might resolve the issue ... tough to say for sure.
Just keep in mind, once you've completed the install, you can change the config
paths to whatever you like.
You don't have to use admin
as your admin area, you can change it to steve
or aardvark
or whatever you like in the config file.
Having it on a separate server would be ideal, but for OpenCart, it's really not practical in a real world environment.