Hosting multiple applications using single yii2 on shared hosting


(Saran) #1

Hi Team,

I am using yii2 framework with 4 internal applications like frontend,backend etc…Now i am trying to move the framework core and applications out of my web root by following the below url
https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md.

We are using the same sessions for all the internal applications.My present app structure is

public_html/app2/
---------------------/frontend/
---------------------/midend/
--------------------/backend/
-------------------/topend/
------------------/common/
-----------------/console/
----------------/environments/
etc…

Now, i want to move all these application out of my webroot like

public_html/

---------./frontend-web/ --> content of web folder of frontend app
---------/backend-web/ --> content of web folder of backend app
--------/midend-web/
--------/topend-web/

app2/
-------/frontend/
-------/midend/
-------/backend/
-------/topend/
-------/common/
-------/console/
------/environments/

Please suggest me how can i do this correctly as my current attempts in .htaccess and config files are not successful till date


(Alexander Makarov) #2

Are you able to include files from outside of webroot?


(Saran) #3

Yes.I am able to include php files that reside outside webroot and inside my user account.

/home/username/public_html/.

I kept all my files in /home/username/


(Alexander Makarov) #4

Yes, your structure seems OK. You need to fix paths in your index.php but other than that it should work just fine.


(Saran) #5

Still not working. Any configuration required in specific app’s config/main.php file? My present config settings are like this in frontend/config/main.php.

‘request’ => [
‘web’ => ‘/frontend-web’,
‘adminUrl’ => ‘/frontend’
],

I am getting 404 error if i access frontend/site/index.My htaccess in root folder is like this.

RewriteCond %{REQUEST_URI} ^/(frontend)
RewriteRule ^.*$ frontend-web/index.php [L]


(Alexander Makarov) #6

Should not be required.


(Saran) #7

Working now.
I just moved my htaccess to public_html from app2 folder. I didn’t notice that before.Thank you.
All of my internal apps uses their respective controllers and respective db’s. At the same time for some common methods and for some common data they are using an another global database.So i have created a central module in common folder and a common controller in that which is accessible by all the internal apps for common methods.Is it a right move?Need some suggestions from your side.


(Alexander Makarov) #8

Yes, that is OK.


(Saran) #9

Thank you!!