Primary Access to the hosting backend access is done via encrypted SSH or SFTP connections.

We run SSH/SFTP on a non-standard port of 22222. We also provide phpMyadmin access for web-based database debugging and administration.

We do not provide cPanel, Plesk, Webmin, or other web based control panels. This is because they do not meet our requirement for secure, fully open source software. If you are only used to cPanel and are not sure what to do, please see some of the recipes below for getting things done!

Hosting Backend Layout

Depending on your hosting plan, you may be on a shared or a private server. Regardless of which, you will find the same backend layout.

Your main login to a site will let you into a user account, usually named after the customer name or site name. When you connect to the server you will find yourself in the home directory for your user. This lives at the path: /home/yourusername .

Inside your home directory, you will find folders for logs and backups, as well as a domains folder for each website that lives there:

  • backups
  • domains/yoursite.example.com
  • domains/anothersite.example.com
  • logs

Each of those domains/ folders is a project folder for a different site that you are hosting.

The project folder is where you put the top level files in your project, (ie. your Git checkout location).

Inside the project folder is a web folder which contains the actual files that are exposed to the Internet.  It is where the public WordPress or Drupal site flies go (starting with “index.php”, the main index page for the application).

  • web/             (contains the PHP and files for your website).

There are many different ways to organize projects, but the simplest way to upload some web files without source control etc. is to just place them into the “web” folder, (index.php and the rest).

When you start with a newly provisioned site, there is a default “index.php” file there that shows a phpinfo(); output page. You should delete/overwrite this file with the correct index.php in the codebase you are uploading.

Typical Developer Workflows

We support developers of all sizes with varying workflows. However there are two major types of workflow that we see developers using:

1. SSH Command line with git-based workflow. Everything happens in command line, using tools such as WP CLI, Drush, Composer, git, tail, rsync, and so on. This is the most popular method for larger development shops and advanced developers. Database dumps are loaded and saved using command line scripts.

2. SFTP for file transfer of PHP files, and phpMyAdmin for database administration.

This is popular with less experienced developers and smaller dev shops. Git version control may or may not be used, depending on the developer’s approach. A file transfer client like FileZilla is used to connect.

Connecting via SSH

When your site was provisioned you should have received a secure note that contains login information (server, port, username, password, along with MySQL DB information)

Use that information for these instructions wherever a username, password, or server name is required.

From MacOS, Linux, BSD

With UNIX based OS’s (ie. everything but Windows), the “ssh “command should be built in. You can connect by opening a Terminal (command line) window.

Then type the following, replacing “yourusername” with your username, and “yourserver” with the correct server name.  These details were sent to you when you initially signed up, and are hopefully stored now in your password manager.

ssh -p 22222 yourusername@yourserver01.ct.coop

Enter your password and you will find yourself logged in in the home directory.

From Windows

In Windows you can install OpenSSH Client as a windows component (Windows 10+ only).  ( For older versions of Windows you can try )

  1. Install it as a windows component, command line:
    https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
  2. Instal via Settings:  https://geekrewind.com/how-to-install-openssh-client-in-windows-11/
  3. Install via Windows Subsystem for Linux (WSL) and your favourite Linux Distro:
    – choose Debian Linux or Ubuntu Linux or whatever you prefer from the Microsoft Store.
    – run the new shortcut for your Distribution to to get a shell, then proceed as per the Mac/Unix instructions above.

If you don’t want to use OpenSSH, are running older Windows, or you already use it, you can also connect via PuTTy.  You will have to configure them to use port 22222 when setting them up. You will need to enter: server name, server port (22222), username, and password in order to connect.

Connecting via SFTP

You can SFTP using command line SFTP or a program like FileZilla (free and available for Mac and Windows).
You will need to enter: server name, server protocol (SFTP), server port (22222), username, and password in order to connect.
You can also set your preferred folder after connect (e.g. domains/yoursite.example.com/web).

Recipes

These recipes cover some common operations and how best to perform them in our environment.  More recipes and a dedicated cookbook of recipes are coming soon!

Recipe: Updating a WordPress site via SSH / WP CLI

To update a wordpress site via SSH, the easiest way is using the WP CLI utility.

  1. SSH into the server (see “Connecting via SSH” above)
  2. change into the correct site’s directory, e.g.:    cd domains/example.com/web
  3. use WP CLI to see what plugins would update:     wp plugin update –all –dry-run
  4. and if that looks good, try again without the –dry-run to update for real:   wp plugin update –all
  5. Run any pending database updates:   wp core update-db
  6. Flush the cache:  wp cache flush
  7. Test your site still works correctly.

Recipe: Updating a WordPress site via SFTP

To update a WordPress site via STP, you must replace the wordpress and/or plugin files with new ones.

This is a very inefficient and accident-prone method and should only be used if for some reason you can’t update from within your site’s Update section (and also aren’t able to use SSH).

  1. SFTP into the server (See “Connecting via SFTP” above)
  2. change into the correct site’s directory, e.g.:    cd domains/example.com/web
  3. Taking care not to delete wp-content, use your SFTP program to delete and then recreate the core WordPress folders except for that.
  4. Now move into wp-content and delete and replace any plugins or theme folders you wish to update, one at a time.
  5. Log into your wordpress site with an Administrator user, and perform any pending database updates that are there.
  6. Clear your caches (in W3 Total Cache that’s Performance->Clear all caches)
  7. Test your site still works correctly.