Roots Discourse

Deploy Bedrock + Sage to VPS hosting multiple websites


#1

Hi there,

I recently started using trellis as my local development environment. I have developed a wordpress website for a client, which will be hosted on a FastComet VPS server, that is already hosting multiple websites.

I have added an addon domain pointing to /public_html/new-website/ as document root, and edited the .env file in the folder. I am still getting internal server errors. Does anyone have any experience setting up an environment like this?

Thanks in advance!


#2

Bedrock sets the web root a level deep in its web directory. Is your setup reflecting this?


#3

Im not entirely sure what you mean by this. Where in my setup should this be?
It’s unclear to me wether I should be doing this all through Trellis, or manual deployment via git, since I want this website to be uploaded in a subfolder of the public_html folder


#4

You need to have the addon domain point to /public_html/new-website/web (where new-website is a Bedrock project), since Bedrock’s document root (aka web root) is the web directory. Here’s a full explanation of Bedrock’s folder structure:

You don’t need Trellis to deploy Bedrock, but it is nice, however, you’d need to modify Trellis to use it with your existing setup.


#5

Thanks for the reply!

I’ve set up the web folder as the document root, and after adding the .htaccess the frontend is working.

However, when I try to access the admin, i get redirected to /wp/wp-admin, which gives a 404 page. Do you know how to solve this?


#6

Its fixed! If anybody ever faces the same problem, this were the steps I took:

  1. Created an addon domain pointing to the /web folder.

  2. Created the following .htaccess file, also located in the /web folder:

     <IfModule mod_rewrite.c>
     RewriteEngine on
     RewriteCond %{HTTP_HOST} ^(www.)?{{HOME_URL}}$
     RewriteCond %{REQUEST_URI} !^/wp/
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule ^(.*)$ /wp/$1
     RewriteCond %{HTTP_HOST} ^(www.)?{{HOME_URL}}$
     RewriteRule ^(/)?$ wp/index.php [L] 
     </IfModule>
    

(Replace {{HOME_URL}} with yourwebsite.com)

The admin section should now be available, if the pages arent displaying, save the permalink settings from admin.