Roadmap for setting up multiple websites with Apache
Setting up multiple stores consists of the following tasks:
- Set up websites, stores, and store views in the Admin.
- Create one Apache virtual host per Commerce website.
Step 1: Create websites, stores, and store views in the Admin
See Set up multiple websites, stores, and store views in the Admin.
Step 2: Create Apache virtual hosts
This section discusses how to set values for MAGE_RUN_TYPE
and MAGE_RUN_CODE
using the Apache server variable SetEnvIf
in a virtual host.
For more information about SetEnvIf
, see:
To create Apache virtual hosts:
-
As a user with
root
privileges, open the virtual host configuration file in a text editor.For example, open
/etc/httpd/conf/httpd.conf
-
Locate the section starting with
<VirtualHost *:80>
. -
Create the following virtual hosts after any existing virtual hosts:
<VirtualHost *:80> ServerName mysite.mg DocumentRoot /var/www/html/magento2/pub/ </VirtualHost> <VirtualHost *:80> ServerName french.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "french" SetEnv MAGE_RUN_TYPE "website" </VirtualHost> <VirtualHost *:80> ServerName german.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "german" SetEnv MAGE_RUN_TYPE "website" </VirtualHost>
-
Save your changes to
httpd.conf
and exit the text editor. -
Restart Apache:
- CentOS:
service httpd restart
- Ubuntu:
service apache2 restart
- CentOS:
Verify your site
Unless you have DNS set up for your stores’ URLs, you must add a static route to the host in your hosts
file:
-
Locate your operating system
hosts
file. -
Add the static route in the format:
<ip-address> french.mysite.mg <ip-address> german.mysite.mg
-
Go to one of the following URLs in your browser:
http://mysite.mg/admin http://french.mysite.mg/frenchstoreview http://german.mysite.mg/germanstoreview
- Additional tasks might be required to deploy multiple websites in a hosted environment; check with your hosting provider for more information.
- Additional tasks are required to set up Adobe Commerce on cloud infrastructure; see Set up multiple Cloud websites or stores in the Commerce on Cloud Infrastructure guide.
Troubleshooting
- If your French and German sites return 404s but your Admin loads, make sure you completed Step 6: Add the store code to the base URL.
- If all URLs return 404s, make sure you restarted your web server.
- If the Admin does not function properly, make sure you set up your virtual hosts properly.