How to run multiple concrete5 installs on a single core (Apache vhost config)

First, you need VPS or dedicated Apache server that you have root access.
Then create symbolic links to point to one core.

Sometime, the shared server may let you do so if you have a SSH access.

This information is as of May 21, 2014.

1. Create /concrete/ & /updates/ folder where you save your concrete5 core files

In /concrete/ folder, you save all files under /concrete/ folder
In /updates/ folder, you will save the new version of concrete5.

Make sure to set the permission that all of concrete5 can read these core files.

If it’s apache server you may want to run the following.


cd [WHERE CONCRETE5 SINGLE CORE FILE]
sudo chown -R apache:apache concrete updates

Or you may just have to change the permission to 775 or 777.

2. Make two symbolic links from concrete5 site

Create symbolic link
You need to login via SSH. Then type the following


ln -s [FULL SERVER PATH TO YOUR CONCRETE5's CONCRETE CORE] concrete
ln -s [FULL SERVER PATH TO YOUR CONCRETE5's UPDATES CORE] updates

Again, you need to be careful with your ownership and permission setting of the server.
You may not be able to do the automatic download due to the file ownership and permission; you have to manually upload the update files onto /updates/ folder.

3. Add server path of central /concrete/ & /updates/ to each vhost.conf

Then, you need to set the following to ALL of your concrete5 site’s virtual host config file.

vhost.conf format

Alias "[RELATIVE PATH OF CONCRETE FOLDER]" "[FULL SERVER PATH TO YOUR CONCRETE5 CORE]"

 <Directory [FULL SERVER PATH TO EACH WEB AREA]>

 <IfModule sapi_apache2.c>
 php_admin_value open_basedir "[FULL SERVER PATH TO EACH WEB AREA]:[FULL SERVER PATH TO YOUR CONCRETE5 CORE]:/tmp"
 </IfModule>

 <IfModule mod_php5.c>
 php_admin_value open_basedir "[FULL SERVER PATH TO EACH WEB AREA]:[FULL SERVER PATH TO YOUR CONCRETE5 CORE]:/tmp"
 </IfModule>

 </Directory>

Click here for gist
https://gist.github.com/katzueno/735a5ac6ab4db17bb2c3#file-vhost-conf

EXAMPLE of vhost.conf

If the example above is hard to read… here is an example.

– concrete5 single core location: /var/www/concrete5/
– Site domain: EXAMPLE.COM
– Site location: /var/www/vhost/EXAMPLE.COM/httpdocs

Alias "/concrete" "/var/www/concrete5/"

 <Directory /var/www/vhost/EXAMPLE.COM/httpdocs>

 <IfModule sapi_apache2.c>
 php_admin_value open_basedir "/var/www/vhost/EXAMPLE.COM/httpdocs:/var/www/concrete5/:/tmp"
 </IfModule>

 <IfModule mod_php5.c>
 php_admin_value open_basedir "/var/www/vhost/EXAMPLE.COM/httpdocs:/var/www/concrete5/:/tmp"
 </IfModule>

 </Directory>

Click here for the actual config
https://gist.github.com/katzueno/735a5ac6ab4db17bb2c3#file-vhost-example-conf

Actual Sites

Here are my actual sites that running on a single core as mentioned above.

http://yokosonews.com/
http://japanexp.org/
http://yokkaichiSMS.com/

They are running on MediaTemple’s VSP hosting plan.

Good luck.