You don't need an IP per domain - you can use a single domain with a single certificate. This isn't using SNI - but SAN.
SAN is widely recognised and has 99.9% browser recognition.
So you could sign up for a SAN certificate (the Comodo Positive Multi-Domain is currently the cheapest) - and just add your other domains to the same certificate.
This would mean you only need a single account on cPanel (thus simplified permissions) - and you can keep editing/adding domains to the same certificate.
Otherwise, you could have multiple accounts, with multiple IPs (waste) - and maintain file permissions using ACLs/UMASK and sticky bits.
See http://www.sonassi.com/knowledge-base/stop-magento-permissions-errors-permanently/
Magento 2 has a 4-level hierarchy: Global, Website, Store (Store Group) & Store View.
This is the highest level in the Magento pyramid. Here you can set the only 3 options that will be the same for all stores:
- Stock - configure the main product settings.
- Price - define the same price for the products in all stores.
- Buyers - Merge all store customer data into one big database for all websites.
Global
Global values are values that are out-of-the-box if the user has not specified. These values are usually defined within a modules etc/config.xml
.
By default, a vanilla Magento install features:
- System configurations (dependent on their scope in declarative schema
showInDefault
, showInWebsite
, showInStore
) available in Admin > Stores > Configuration.
- No Products
- No Customers
- 1 Root Category + 1 Default Category without any products
- 1 Tax Rule: "Taxable goods", 3 Tax Zones / Rates: US-CA. A Non-taxable goods class is also available.
- 1 Website, 1 Store (Store group), 1 Store View.
Website
With one Magento base, you can design various websites, for example, hats.com and pants.com. The following can be configured per Website:
- Separate Payment methods.
- Separate Shipping methods.
- A totally separate Product base - products are required to be assigned to websites individually. They can have different prices / currencies / attribute values etc.
- Separate tax classes.
- Separate (base) currencies.
- Separate Customer base - It's up to you whether your customers can log in to all shops with the same credentials.
- System configurations (dependent on their scope in declarative schema
showInDefault
, showInWebsite
, showInStore
) available in Admin > Stores > Configuration. Mostly all configurations are configurable at this level.
For each website, you can create multiple stores, but all the information will be gathered in one admin panel.
Store
It's possible to create several stores on one Magento 2 website. The following can be configured per Store:
- Different Root Categories which allows for different products to be assigned.
The following CANNOT be configured per Store:
- All the stores within one website share the same customer accounts.
- All stores share Shipping Methods.
- All stores share Tax Rates / Zones.
- All stores share Product stock.
- All stores share Product prices.
- All currencies are identical for all the stores.
- System configurations available in Admin > Stores > Configuration.
- EAV attributes across entities Customer (including Customer Address), Products, Categories cannot be configured on a Store Group level.
Store View
Finally, for every store, you can create several store views. The following can be configured per Store View:
- Different languages.
- Different currencies.
- Different design themes
- Certain Product EAV attributes can be different such as name, or tax class (dependent on their
is_global
/ scope
/ is_user_defined
properties).
- Different Category EAV attributes (such as name, or URL key).
- System configurations (dependent on their scope in declarative schema
showInDefault
, showInWebsite
, showInStore
) available in Admin > Stores > Configuration.
The following CANNOT be configured per Store View:
- All store views within one website share the same customer accounts.
- All store views share Shipping Methods.
- All store views share Tax Rates / Zones.
- All store views share Product stock.
- All store views share Product prices.
- All store views share the same Root Category.
- All currencies are identical for all the store views.
References
Here is more information on the subject with infographics!
Here is some information regarding Scope System Configuration
Best Answer
Magento does not allow sharing carts between websites. The sessions objects for individual websites are completely detached, products in one website may not belong to the other website, the category structure and visibility of data will be different. As you pointed out, the pricing may be different from one website to another as well, as could the promotions, tax rates, etc.
From a data perspective, it would be rather difficult to share carts between websites given that a product you may have in your cart may or may not be in the next website you go to. This would create major problems with products disappearing and/or errors in the cart due to products not being available.
Something like this would have to be completely custom built, and I'm certain it would not come without it's problems and anomalies.
Without knowing more to contextualize the situation, I'm skeptical that using multiple websites with different prices and currencies plus sharing the cart between them is the best solution. If the pricing and the currencies are different, why do the carts even need to be shared? Doesn't make sense to me, and I'm having a hard time imagining a scenario where this would be appropriate. Perhaps you could enlighten us.