How to host your website on Go54 (formerly whogohost)
Tags: hosting, deployment, webdev
Published: 2024-04-04 16:57:32

## What is Go54
Go54 (formerly Whogohost) is a web hosting platform in Nigeria that leverages shared hosting to cater to a wide range of customers. They offer services such as domain registration, web hosting, website building, email hosting, etc. Go54 leverages cPanel as the control panel for managing their hosting accounts. Through cPanel, customers can perform various tasks related to website management, such as creating email accounts and deploying websites.

## How to deploy your website using Go54
To deploy your website using Go54, you need to have purchased both a domain name and a hosting package. There are two primary methods for deploying your website: uploading your folder and using Git version control.

## Uploading your folder
When you log in to your Go54 account, you'll be directed to the dashboard. From there, you can access various features and settings related to your hosting account. In the dashboard, you go to files and click on file manager to navigate to your file manager.

![cpanel dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ptomikph7tciv8fw3rv.png)
Once you’re in your file manager, go into the public_html folder, delete the index.html file there, and proceed to add your file by clicking on upload.  

![cpanel file manager](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0evjkhozvbkjgad5jtdk.png)
After clicking on upload, you will see the upload box, go ahead and add your files. Please note that you are not permitted to add folders directly. Therefore, you'll need to add your files one by one or select multiple files and drop them into the upload box.
Ensure that your homepage is saved with a filename such as "index.html", "index.php", or any other appropriate format. This is necessary as the web server looks for an "index" file to display as the default homepage of your website.
Once you have uploaded your files, your site is ready to be viewed.


## Initializing with a public github repo
When you log in to your account, you will be directed to the dashboard. In the dashboard, you go to files and click on Git version control.

![cpanel dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3sygeb0fcbfta3z0zisu.png)
In the Git version control interface, click on "Create" to add your Git repository. You have the option to either clone an existing repository by adding its public repository URL or create a new repository. If creating a new repository, provide your details and click on the "Update" button. Once done, return to the Git version control interface.

![Git version control in cpanel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apl4w4b7rcixp6lhyepi.png)
When you go back to the Git version control interface, you will notice that your repository has been added. Click on the “Manage” button to checkout to your preferred branch and deploy.

![manage repo in cpanel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2raiozdw4p1tomfc9jyp.png)
For deployment to be successful, your repository must meet the following requirements:

- **At least one branch:** Your repository must have at least one branch, either locally or remotely. This ensures that there is a source from which changes can be pulled for deployment.

- **No uncommitted changes:** Ensure there are no uncommitted changes in your repository before deploying. Commit any pending changes before deploying.

- **Valid .cpanel.yml file:** Your repository must contain a valid .cpanel.yml file in the top-level directory. This file contains configuration settings that specify how your website should be deployed on the server. If your repository doesn't already have this file, you can add it manually.
  - Navigate to the File Manager.
  - Go to the repositories section and locate your repository.
  - Add a new file named ".cpanel.yml" in the top-level directory.

![cpanel file manager, add yml file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qkcfdyztd0xtg8871is6.png)
Edit and add the following to the .cpanel.yml file and save:

```
---
deployment:
  tasks:
    - export DEPLOYPATH=/home2/username/public_html/
    - /bin/cp index.html $DEPLOYPATH
    - /bin/cp logo.png $DEPLOYPATH
    - /bin/cp icon.jpg $DEPLOYPATH
    - /bin/cp -R assets $DEPLOYPATH
```
Make sure to replace "username" with your actual username or the appropriate directory path. Also, replace the file and folder names to match your file and folder names, you can add as many as you wish. The files added here are the files that are going to be deployed during deployment.
After you have added the .cpanel.yml file to your repository, navigate back to the Git version control section and select the "Manage" button for your repository. From there, proceed to the "Pull/Deploy" option, and then click on the "Deploy HEAD Commit" button to start the deployment process.

![deploy git repo on cpanel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mzwcp6lnz2mlku9tmkjx.png)

Your site is live and you can easily update your website by pushing changes to the repository.
**PLEASE NOTE THAT THIS ONLY WORKS FOR PUBLIC REPOSITORIES. TO INTEGRATE PRIVATE REPOSITORIES, YOU WOULD NEED AN SSH KEY.**

## CONCLUSION
In conclusion, deploying a website on Go54 can be a seamless process if you follow the necessary steps and adhere to the specified requirements. 
If you have any thoughts or experiences to share, please feel free to leave them in the comment section below. Your feedback is valuable and can help improve the deployment experience for others.