How to install on a Windows machine
Permalink
EDIT: These instructions have been updated. Please visit them here:http://www.concrete5.org/index.php?cID=2642...
Here is the software I installed:
MySQL 5.1.30
MySQL Tools for 5.0
Apache HTTP Server 2.2
PHP 5.2.8
1. I installed MySQL (defaults)
2. I installed MySQL Tools (defaults)
3. I installed Apache (set server name to localhost and otherwise used defaults)
4. I installed PHP with CURL, GD and MySQL extensions
5. I used MySQL Administrator to set up a database and user for Concrete
6. I edited httpd.conf in Apache's conf folder to add "index.php" as a directory index, and to uncomment the line that imports mod_rewrite
7. I copied all of Concrete's files into Apache's htdocs folder
8. I stopped and started the Apache service (seems to work better than restart)
9. Opened a web browser and visited localhost
10. Installed Concrete. It works!
I tried to install on other occasions with no luck, and even tried to use a preconfigured set up (WAMP) but still had problems. I am very happy that it is working and that it will be simple to do in the future now that I know what steps to take.
I like this set up because it is easier to add other technologies than if I was using an out of the box setup. I feel like I have a lot more control. Plus, MySQL tools is a lot nicer to use than setting up databases using phpMyAdmin.
By the way, the readme for Concrete asks for the database user to have INSERT, SELECT, UPDATE, DELETE, CREATE, DROP, and ALTER privileges, but I would also recommend providing privileges for INDEX. I ended up needing it when I upgraded from Concrete 5 to Concrete 5.1.
Finally, the other things I'll be doing now that everything is working is changing the document root for Apache to the folder with all of my work projects, and I may set up phpMyAdmin as a virtual host, installed somewhere else on my hard drive. I'd rather not place it in the same directory as my projects. All of these settings are configured using the httpd.conf file for Apache.
Hope this helps someone! I know this would have helped me, but I am sure that many other people out there already have a working PHP set up and don't need instructions.
Here is the software I installed:
MySQL 5.1.30
MySQL Tools for 5.0
Apache HTTP Server 2.2
PHP 5.2.8
1. I installed MySQL (defaults)
2. I installed MySQL Tools (defaults)
3. I installed Apache (set server name to localhost and otherwise used defaults)
4. I installed PHP with CURL, GD and MySQL extensions
5. I used MySQL Administrator to set up a database and user for Concrete
6. I edited httpd.conf in Apache's conf folder to add "index.php" as a directory index, and to uncomment the line that imports mod_rewrite
7. I copied all of Concrete's files into Apache's htdocs folder
8. I stopped and started the Apache service (seems to work better than restart)
9. Opened a web browser and visited localhost
10. Installed Concrete. It works!
I tried to install on other occasions with no luck, and even tried to use a preconfigured set up (WAMP) but still had problems. I am very happy that it is working and that it will be simple to do in the future now that I know what steps to take.
I like this set up because it is easier to add other technologies than if I was using an out of the box setup. I feel like I have a lot more control. Plus, MySQL tools is a lot nicer to use than setting up databases using phpMyAdmin.
By the way, the readme for Concrete asks for the database user to have INSERT, SELECT, UPDATE, DELETE, CREATE, DROP, and ALTER privileges, but I would also recommend providing privileges for INDEX. I ended up needing it when I upgraded from Concrete 5 to Concrete 5.1.
Finally, the other things I'll be doing now that everything is working is changing the document root for Apache to the folder with all of my work projects, and I may set up phpMyAdmin as a virtual host, installed somewhere else on my hard drive. I'd rather not place it in the same directory as my projects. All of these settings are configured using the httpd.conf file for Apache.
Hope this helps someone! I know this would have helped me, but I am sure that many other people out there already have a working PHP set up and don't need instructions.
In Apache 2.2 there is an entry called DocumentRoot in httpd.conf.
I changed that to "C:/Projects" (it is important to use only forward slashes!) and then changed the path a little bit further in the file where the comments say that it should match whatever DocumentRoot is set to.
But I think it makes sense to use the virtual hosts settings to create a virtual directory which points to the Apache htdocs folder or any other folder.
That way you can accesshttp://localhost/ to open your work projects, but you can also use a URL likehttp://localhost/phpmyadmin/ for your utility pages.
What settings would you use if you only wanted a virtual directory, rather than a virtual domain?
I changed that to "C:/Projects" (it is important to use only forward slashes!) and then changed the path a little bit further in the file where the comments say that it should match whatever DocumentRoot is set to.
But I think it makes sense to use the virtual hosts settings to create a virtual directory which points to the Apache htdocs folder or any other folder.
That way you can accesshttp://localhost/ to open your work projects, but you can also use a URL likehttp://localhost/phpmyadmin/ for your utility pages.
What settings would you use if you only wanted a virtual directory, rather than a virtual domain?
I just tried changing my DocumentRoot, and thereby discovered all my previous issues.
After installing, the site was not logged in, and when trying to log in, I consistently receive a "You must be signed in to access this page!" error.
I set DocumentRoot back to the htdocs folder and it works again.
Is this a problem with folder naming? A problem with file permissions (though I doubt that -- file permissions absorbed a huge amount of fix-it time yesterday)?
Perhaps I will set my whole projects folder up as a virtual host, like you suggested. Though I might set it up as a subdomain so I don't need to mess with Windows' hosts file
After installing, the site was not logged in, and when trying to log in, I consistently receive a "You must be signed in to access this page!" error.
I set DocumentRoot back to the htdocs folder and it works again.
Is this a problem with folder naming? A problem with file permissions (though I doubt that -- file permissions absorbed a huge amount of fix-it time yesterday)?
Perhaps I will set my whole projects folder up as a virtual host, like you suggested. Though I might set it up as a subdomain so I don't need to mess with Windows' hosts file
It turns out that the problem was not caused by permissions. Concrete doesn't like being installed to a directory with spaces. When I changed my DocumentRoot to a directory other than htdocs, I inevitably used a path with spaces.
I have submitted a bug request here:
http://www.concrete5.org/index.php?cID=2645...
I have submitted a bug request here:
http://www.concrete5.org/index.php?cID=2645...
I have revised my instructions, and posted them here:
http://www.concrete5.org/index.php?cID=2642...
http://www.concrete5.org/index.php?cID=2642...
http://www.concrete5.org/index.php?cID=2557...
By the way, thanks for taking the time to post that elyon. I'm sure other people will find it helpful.