How to install on a Windows machine (revised)
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.
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:
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 :)
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.
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.
But all is good now, I realised the default mysql port was not set to 3306.
Thanks for your help.
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.
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?