Installing Silverstripe on live server (without SSH)

<%- if @topic_view.topic.tags.present? %>
<%= t 'js.tagging.tags' %>: <%- @topic_view.topic.tags.each do |t| %> <%= t %> <%- end %>
<% end %>

Hey guys I’ve got an issue here I’ve been stuck on for days. My domain is timothystannard.com

I’m trying to move my localhost (MAMP) Silverstripe 4 site onto live hosting. I’m on a GoDaddy hosting plan which doesn’t allow SSH so have decided to do it via FTP. What I’m getting is a default Silverstripe homepage and I’m unable to login to admin panel to dev/build and flush. If I try to access timothystannard.com/admin it redirects to a blank page with my navigation bar at the top (all links go to localhost).

What I’ve done so far:

  1. Copied all files in my local Silverstripe folder (the folder containing app, public, themes, & vendor folders) across to public_html folder

  2. Created a new DB on live server, imported the local db, and connected this with .env file

.env file reads like this:

SS_DATABASE_CLASS="MySQLDatabase"
SS_DATABASE_NAME="db_ss"
SS_DATABASE_PASSWORD="(hidden)"
SS_DATABASE_SERVER="localhost"
SS_DATABASE_USERNAME="tim"
  1. Edited my .htaccess file in public_html folder to read like this:

        RewriteEngine On
        RewriteRule ^(.*)$ public/$1
    

I can’t figure out what’s causing the issue here, would really appreciate a bit of help!

What’s different between your local environment and the ftp’d webserver? I could bet, locally you have symlinks for exposed resources (in public/resources), and those are not copied over to the server. To fix this you can tell your local environment to copy the files on composer vendor-expose either by modifying public/resources/.method or by adding an environment variable SS_VENDOR_METHOD=copy.

Hey thanks for the reply. I figured it out. If anyone else has this issue:

  • I had to set the site in dev mode to dev/build and flush.
  • my Controller namespaces had a misspelt capital letter in them which still worked on localhost but broke the live site