As a Magento Solution Partner, BSS has a lot of website development projects. We have to store multiple dev site/live site on the same dedicated server. Today I’ll show you how to setup 2 different domains, for example bsscommerce.com and bsscommerce.net in one server.
Assume that we have Apache2 server, IP address is 192.168.1.1, of course we have root ssh access too.
Step 1: Create the directories to contain site’s content
With Ubuntu 14 and apache 2.4, the path of root document is /var/www/html. You can create 2 root documents for 2 sites with paths: /var/www/bsscommerce.com and /var/www/bsscommerce.net. You also can create other path for root document but I recommend you should create path as me to facilitate the management.
Create the following directories for bsscommerce.com
mkdir /var/www/bsscommerce.com/public_html
mkdir /var/www/bsscommerce.com/cgi-bin
mkdir /var/www/bsscommerce.com/logs
Create the following directories for bsscommerce.net
mkdir /var/www/bsscommerce.net/public_html
mkdir /var/www/bsscommerce.net/cgi-bin
mkdir /var/www/bsscommerce.net/logs
Step 2: Create 2 config files
Create config file for bsscommerce.com
Using command:
pico /etc/apache2/sites-available/bsscommerce.com.conf
Insert this content to file and save:
#
# bsscommerce.com (/etc/apache2/sites-available/bsscommerce.com)
#
<VirtualHost *:80>
ServerAdmin webmaster@bsscommerce.com
ServerName www.bsscommerce.com
ServerAlias bsscommerce.com
# Indexes + Directory Root.
DirectoryIndex index.php
DocumentRoot /var/www/bsscommerce.com/public_html
# CGI Directory
ScriptAlias /cgi-bin/ /var/www/bsscommerce.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /var/www/bsscommerce.com/logs/error.log
CustomLog /var/www/bsscommerce.com//logs/access.log combined
</VirtualHost>
<Directory "/var/www/ bsscommerce.com/public_html">
AllowOverride All
</Directory>
Create config file for bsscommerce.net
Using command:
pico /etc/apache2/sites-available/bsscommerce.com.conf
Insert this content to file and save:
#
# bsscommerce.net (/etc/apache2/sites-available/bsscommerce.net)
#
<VirtualHost *:80>
ServerAdmin webmaster@bsscommerce.net
ServerName www.bsscommerce. net
ServerAlias bsscommerce. net
# Indexes + Directory Root.
DirectoryIndex index.php
DocumentRoot /var/www/bsscommerce. net /public_html
# CGI Directory
ScriptAlias /cgi-bin/ /var/www/bsscommerce. net /cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /var/www/bsscommerce. net /logs/error.log
CustomLog /var/www/bsscommerce.net/logs/access.log combined
</VirtualHost>
<Directory "/var/www/ bsscommerce.net/public_html">
AllowOverride All
</Directory>
Step 3: Run site
Using command:
a2ensite bsscommerce.com
a2ensite bsscommerce.net
Step 4: Restart apache2
service apache2 restart
Step 5: Point 2 domains
Point 2 domains: bsscommerce.com and bsscommerce.net to ip address 192.168.1.1.
Step 6: Create magento site
Magento files and directories will be contained in the Root document.
Site bsscommerce.com: /var/www/bsscommerce.com/public_html
Site bsscommerce.net: /var/www/bsscommerce.net/public_html
Step 7: Set permission for root document
Site bsscommerce.com.
find /var/www/bsscommerce.com/public_html -type d –exec chmod 755 {} \;
find /var/www/bsscommerce.com/public_html -type f –exec chmod 644 {} \;
Site bsscommerce.net.
find /var/www/bsscommerce.net/public_html -type d –exec chmod 755 {} \;
find /var/www/bsscommerce.net/public_html -type f –exec chmod 644 {} \;
Only with 7 steps above. I hope you’ll find some use for your problem to store multiple Magento website with Apache2.