by chunksmurray

Installation on Windows Server 2003 with IIS

Please note that security of the installation should be considered before you complete any install. The individual products have great documentation; make sure you check it out.

Assumptions

This document assumes that you have a fresh install with no web server installed; we will start from scratch. Concrete5 will be installed into the root folder.

I'll also assume if you are tackling a Windows Server install you have a decent knowledge of the operating system. Some experience in configuring IIS, PHP and MySQL would be beneficial but not mandatory. I have noted some excellent tutorials that will get you through.

Before getting started, make sure you have checked out the information at the Help section:http://www.concrete5.org/help/building_with_concrete5/installation...

Alternatives

Installing on Windows is possible with Apache. Otherwise there are countless Open Source options to choose from. Check out the Help section for me information.

You can also have Concrete5 hosted, check out this link for more information:http://www.getconcrete5.com/

Installation Steps

1. Installing IIS

- Login as an admin user.

- Click Start, point to Control Panel, and then click Add or Remove Programs.

- In Add or Remove Programs, click Add/Remove Windows Components.

- In the Windows Components Wizard, under Components, select Application Server.

- Click Next.

- After the wizard completes the installation, click Finish.

2. Download and Install PHP

Check outhttp://www.peterguy.com/php/install_IIS6.html... for an excellent tutorial on how to install and configure PHP for IIS.

*Note - If at any point you need to restart the IIS Service:

- Go to Start -> Control Panel -> Administrative Tools -> Services
- Scroll down to World Wide Web Publishing Service and right click -> Restart

I have found this method more effective than restating the service within the IIS manager, but you can do it either way.

2a. As a minimum you need to enable the following extensions in php.ini:
- php_gd2.dll,
- php_mbstring.dll
- php_mysql.dll

Again, you may need to enable more depending on your situation. These are just what I found to be minimal requirements.

2b. In php.ini, enter your email details under the [mail function] section. This will depend on your host.

2c. You will need to add index.php as your default content page in IIS.

- Open IIS Manager
- Expand the local computer in the left pane
- Right-click on "Web Sites" in the left pane, then click "Properties" in the menu that pops up
- Go to the "Documents" tab
- Click "Add" and enter index.php. Select index.php and click "Move Up" until it is at the top of the list.
- Click OK
- You can restart the service here if you wish.

2d. At this point you will need to make sure IIS and PHP are working. If you haven't already done so, use a phpinfo file to confirm.

3. Download and Install MySQL - Here is a decent tutorialhttp://www.iis-aid.com/articles/how_to_guides/install_and_configure...

If you get stuck, consult the documentation at mysql.org.

3a. I ended up turning off 'Strict Mode' to allow the indexing job to complete. This can be done at the install or after.

3b. You can choose to download/install the MySQL gui tools for administering your database. This can be done from the command line if you wish.

4. Reboot to make sure all services are functioning. Check for any errors.

5. Download and Unzip Concrete5 install to your root directory. By default this should be C:\Inetpub\wwwroot

5a. You need to give IUSR_YOURMACHINENAME Read/Write/Modify rights to:

/config
/files (and any sub-directories)

6. Using either command line of GUI tools, create a database, a user and make sure to note down the password. You will need to give the user the following rights to the database: INSERT, SELECT, UPDATE, INDEX, DELETE, CREATE, DROP, ALTER

7. Open a web browser and enter the address of your installation. You should see a screen asking for your new web site details. Make sure to check all requirements have been fulfilled.

8 Once installation is complete you are ready to start building!

9. Optional addition of Pretty Url's
I have been able to get them working in IIS using Ionics Isapi Rewrite Filter, which you can get fromhttp://iirf.codeplex.com/

Follow the installation instructions included, it is very straightforward. Once installed, enable pretty urls in the dashboard.

No .htaccess is used, instead a 'ini' holds to ReWrite rules. These are what worked for me:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/(.*)$ /index.php/$1 [L]

Save this as IsapiRewrite4.ini as per the instructions, restart the 'World Wide Web Publishing Service' and you should now have pretty urls.

*Note: Depending on your environment, you may experience some errors. If you do make sure to note it and check the forums as there is a wealth of information there.

*Note - I had to manually add a sitemap.xml file, and give IUSR_MACHINENAME write access in order to produce to sitemap detail.

Recent Discussions on this Topic

I just installed concrete5 on my wamp server on windows 7

Thanks to t00thless for his write up! It took me half an hour to find the info in the forum, mostly because I wanted to read lots of irrelevant stuff. But I noticed people got helped, things got fixed and now I too can say installation was about 5 minu…

One minor issue with my new C5 site...

Hi folks I developed my site locally on my Windows 7 machine using XAMPP. I then uploaded the site, created a new database and imported my sql data. I'm running a Windows server with PHP5 support. I changed the permissions on the config, files, packag…

Installing Concrete5 on IIS 7 errors

Hi, I have a virtual windows server and i am trying to get concrete5 to run on it - so far with no success. I am using IIS 7 and i also have plesk control panel installed. This is the concrete5 folder, with all the installation errors: http://www.…