You’ve installed CodeIgniter and you’ve written a couple of applications. Now, you want to run two of your applications under one install of CodeIgniter. The following article discusses how to run several applications within a single install of CodeIgniter. The approach is accomplished using Apache’s Virtual Host.
Install Apache Virtual Host
1. To add a virtual host, edit /etc/apache2/sites-available/default. We will use “vhostname” as the virtual hostname in this example. Edit the default file and add the following:
<Virtualhost *:80> ServerName vhostname DocumentRoot /var/www2 </VirtualHost>
2. Run the a2ensite script which enables your virtualhost within the apache2 configuration. It creates symlinks within /etc/apache2/sites-enabled.
# sudo a2ensite vhostname
3. Restart Apache
# sudo /etc/init.d/apache2 restart
4. Check your virtualhost if it’s working by pointing your browser to http://vhostname.
One way of setting up CodeIgniter to support multiple applications, is to have separate folders for each application. You can set up your CodeIgniter directories like the following:
system/ application/ app1/ config/ app2/ config/
1. Under the “app1/config” directory, edit the config.php file. Point your application to be hosted at vhostname by changing the following line:
$config['base_url'] = "http://vhostname/";
2. Copy the “index.php” file under the main CodeIgniter directory to the http://vhostname web root directory.
3. The “.htaccess” file recommended by CodeIgniter also needs to placed to the web root of http://vhostname.
4. Open your browser and check if your application is working by placing http://vhostname in the address bar of the browser.
5. Repeat steps 1-4 to add additional virtual hosts. That’s it.
If you have questions or suggestions, please leave a comment.