How to install on a Windows machine (revised)

Getting Concrete to work on a Windows machine is easy.

1. Install MySQL

I downloaded and installed MySQL 5.1.30 as well as MySQL Tools for 5.0, and it works great. MySQL Tools is especially nice, since it gives you an interface for creating a new user and database for Concrete to use which is much nicer than a command-line or using PHP admin.

2. Install an HTTP server

Concrete isn't necessarily supported on IIS, but it should definitely work in Apache. I downloaded and installed Apache 2.2 on its default settings. I just changed the server and domain name values in the install to localhost, since I'm only using the server to develop locally.

3. Install PHP

I downloaded and installed PHP 5.2.8. You can install as an IIS ASAPI module if you're getting IIS to work, but I installed it as an Apache 2.2 module. When you install, make sure you install the GD and MySQL extensions, and any others you foresee wanting.

4. Update httpd.conf (Optional)

Optionally, you can edit Apache's config file to customize the server further. I would recommend finding the "DirectoryIndex" entry, and adding index.php as a directory index. Also, I don't like having my site files inside of Apache's directory, so you can also change "DocumentRoot" to a different directory on your system. If you do, there are two entries in the file where you should change the path, so make sure you update both. Also remember that you need to use forward slashes, so C:\Projects would need to be entered as "C:/Projects" in order for Apache to understand the path.

5. Create a MySQL user and database for Concrete to use

If you installed MySQL Tools, open MySQL Administrator. Go to Catalogs, then right-click in the list below and select "Create New Schema". This is the database you'll use for your Concrete install. Once you are finished creating the database, go to User Administration and click the "Add new user" button at the bottom. Give the user a name and password you can remember, then go to the Schema Privileges tab. Select the database you created for Concrete, and add the following permissions: INSERT, SELECT, UPDATE, DELETE, CREATE, DROP, ALTER and INDEX.

6. Restart your HTTP server

After installing editing your server configuration and installing PHP, make sure you stop and start your HTTP server. I would recommend that you don't "restart", but "stop" then "start" again. Apache didn't seem to fully reset itself when I chose a restart.

7. Copy and paste Concrete

Download the latest version of concrete, and extract the files to your system somewhere inside the directory you are using for your DocumentRoot. The default directory for Apache 2.2 is "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs". Concrete doesn't currently install correctly in a directory with spaces, so make sure you paste the files in a folder like "... \htdocs\concrete" and not "... \htdocs\concrete 5".

8. Install Concrete

Open your browser and go to the location of your Concrete install. I set my system to use localhost, so a system path of "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\concrete" would translate tohttp://localhost/concrete/index.php.... Enter a name for the site, your email, localhost or whatever else you called your HTTP server, your database user name, password, and database name. Click install.

View Replies:
Tony replied on at Permalink Reply
Regarding points 1,2, & 3, I recommend downloading XAMPP, since it installs apache, php, and mysql for you:

Just as a matter of preference, I like using virtual hosts with apache instead of messing with the apache document root. This will allow you to access your site as a domain, such ashttp://mySite/ instead ofhttp://localhost/mySite/

For information on virtual hosts, refer to this posting:
elyon replied on at Permalink Reply
I've had packages like XAMPP work great, but I've also experienced problems before. I was surprised how easy it really was to install Apache, MySQL and PHP separately, so I would really recommend that anyone go with what they feel most comfortable with.
NickjUK replied on at Permalink Reply
Getting IIS to work on Vista Home Premium can be deeply frustrating and even when you've done all you can it's at best a crippled version :( .... The MS response is go get Ultimate, just to get a funtional install of IIS that seems a little expensive.
I wanted to run Concrete as a demo, Docebo, OpenElm which needs .NET and ASPX.
I've compromised and am using the free version of the Aprelium Abyss web server which has turned into quite an asset.
MYSQL and PHP use the standard installs, PHP was a little glitchy to start with (see all the Vista related reports) but is fine now.

Concrete runs cleanly on this :)

I also run a couple of virtual machines using the SUN Virtualbox, again had concrete running on these on an Ubuntu LAMPS, Debian Sarge and XP too :)
douks replied on at Permalink Reply
Hi Guys,

Thanks for the instructions, I have installed Apache, MySQL and PHP onto my windows vista machine.

However when I load the initialhttp://localhost/concrete/index.php... the MySQL test fails and I receive the following message:

Function mysql_connect() not found. Your system does not appear to have MySQL available within PHP.

I have updated the php.ini to point the directory to

extension_dir = C:\Program Files\php

And I have uncommented the MySQL extensions:


but still no luck.

Any ideas?

elyon replied on at Permalink Reply
If you are using the standard PHP installer, it gives you the choice of installing optional components. There is a long list of extensions that are included in that optional list.

When you ran the installer, did you select the MySQL extension from that list? If not, or if you are not sure, try running the PHP installer again, and look for where you can select optional components to install what you need.
douks replied on at Permalink Reply
I installed manually via the .zip file, wanted to learn the setup process for the php.ini file.

But all is good now, I realised the default mysql port was not set to 3306.

Thanks for your help.
trialuser replied on at Permalink Reply

I followed the setup instructions shown here and elsewhere on the site, using the virtual server idea (which seemed to be the only way I could get the concrete setup page to run) under XAMPP running on Win7eval, but even though the required items all show up I can't seem to get Concrete to connect to the database. I've set up a user for the DB and granted all privileges, set the server to both localhost and the URL of the virtual site I defined in Apache, but still no luck. Can anyone offer any guidance on what I'm missing? TIA.
pastor replied on at Permalink Reply
Do you think that wamp and concrete do not get along very well? As I have been expriencing problem with a install of two websites using wamp. Everyone keeps telling me to do it this way and

I do it this way and it fails. Now I have been expreimenting and I think that there has to be some other coding that needs to be done for what I am trying to do to work.

Here is two questions. One can you set more than one directory for your document root ? Two how much editing such we be doing in HTTPD CoNF it wamp is suppose to work out of the box with just adding VHOST to the mix?