How to install Yii 2 advanced on a shared hosting environment

You are viewing revision #36 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version or see the changes made in this revision.

« previous (#35)next (#37) »

I've read many comments that it's not possible to install Yii 2 advanced on a shared hosting environment, as it has two webroots. This is partially true.

In this tutorial I'm going to demonstrate how to install Yii 2 advanced on GODADDY shared hosting. Why GODADDY? In GODADDY it's possible to set the document root of the subdomains and addon domains above the public_html folder. In other hostings this trick might not work. For example, in Resellerclub hosting I tried to set the document root above the public_html folder but I didn't succeed.

My website is in Yii 1, which is hosted on Godaddy shared hosting. I've also installed Yii 2 advanced. Look:

Take note that, in this example, I installed Yii 2 advanced frontend on a subdomain (in order not to buy a new domain). But you can install Yii 2 advanced on a domain as well.

How to achieve this? Well, we just need to create a folder on the /home/myself directory called, for example, sites. Then we upload the Yii 2 advanced files on /home/myself/sites/yii2advanced (you can give the directory any name you want). Then, using the Godaddy cPanel, we create 2 subdomains:

  • yii2advanced.oligalma.com ---> /home/myself/sites/yii2advanced/frontend/web
  • admin.yii2advanced.oligalma.com ---> /home/myself/sites/yii2advanced/backend/web
home
├── myself
      ├── public_html
      ├── sites
            ├── yii2advanced
                  ├── frontend
                        ├── web
                  ├── backend
                        ├── web

Finally, you may need to adjust the A records of your main domain.

And that's all!!

(You can create the sites folder if you plan to put several domains/subdomains there. If not, you can just put the yii2advanced folder directly in /home/myself)

If you want to install Yii 2 on a domain instead of a subdomain you need to purchase a deluxe plan https://www.godaddy.com/hosting/web-hosting, which allows you to have multiple sites (and therefore create addon domains).

It's important to note that we don't use the public_html folder to install the Yii 2 advanced. If you want you can install any website there that doesn't need to set the document root (Joomla, Wordpress, Yii 1, etc.)