In the previous post Joomla! Installing XAMPP on Vista I described installation of the XAMPP package for Windows 7 and Vista. XAMPP package installs Apache web server, MySQL database, phpMyAdmin, FileZilla FTP Server and many more. With XAMPP it is really easy to install and configure Joomla!.
In this post I will show how to install Joomla! 1.6 on IIS7 on Vista or Windows 7. I will be performing installation on Windows 7 with no IIS installed. We will install PHP support for IIS 7, MySQL database (I will not be covering installation of Joomla! with SQL Server just yet), phpMyAdmin for maintaining databases.
In my first attempts. I tried to install Joomla! using Windows Platform installer from Microsoft/web site, which did not work completely. Installer did not install properly IIS, failed to register PHP with IIS 7, did not configure MySQL and I got mixed up with credentials for Joomla! and MySQL. My decision was to start over and install all required components manually.
Before we begin
In my explanations of the steps below I will assume that you are familiar with installation of basic windows components. I will only note most important points of the installation. If you require detailed explanation of the some of the installs I will provide reference section with links to sites with more detailed steps.
Install IIS 7
In this step we will perform basic installation of IIS 7. Open Control Panel>Programs>Program and Features>Turn Windows Features on or off.
Navigate to Internet Information Services and make sure you tick it first. It will select all required modules to run IIS7. Then expand tree to navigate to Application Development Features and tick CGI. I will be also doing ASP.NET development so I ticked ASP.NET Development and this also selected .Net Extensibility and other required modules. If you do not need any of the .Net features, don’t tick it. CGI component is needed to use FastCGI module of the PHP package, which we will be installing in the step below. Click OK.
When installation is complete open http://localhost to see if it installed OK. You should see similar screen to one below.
Installing PHP support for IIS7
Now we are going to install PHP support for IIS 7. Download latest PHP windows package from php.net site.
Now follow installation Wizard steps.
In the Web Server Setup select IIS FastCGI module. Click Next.
I selected to install all items including Register *.php to open automatically with PHP.
Click Finish.
I would also suggest installing PHP Manager for IIS package. It will add PHP configuration module into IIS Console.
This is an example PHP configuration screen. I find it is handy when you need to do some tweaks to PHP configuration.
Copy Joomla! CMS files to ISS 7
In this step we are going to copy Joomla! package files into C:\inetpub\wwwroot folder and create JoomlaDev Web Application to see if we can run PHP web sites. Configuration of Joomla! site will be done after completing of the MySQL database server installation. Download Joomla! CMS package from the joomla.org site. Unzip it and copy folder to ISS7 directory C:\inetpub\wwwroot. I named folder as JoomlaDev. Open IIS Management Console. Right click Default Web Site and select Add Application.
Enter fields as shown above if you are using the same names. Click OK.
JoomlaDev Application is created. Use Browse to open the site. If everything OK you should see the screen below.
Install MySQL on Windows 7 or Vista
Congratulations if you got that far, but don’t get too excited as we got a little be more work to do. Now we are going to install MySQL server. I am not going to cover using Joomla! with SQL Server here. This can be a topic for future posts. We need to download, install and configure MySQL database and phpMyAdmin package for managing databases. Get MySQL Community Server from mysql.com site. PhpMyAdmin can be downloaded from phpmyadmin.net site.
Run MySQL Installation Wizard.
Run through wizard steps and click Install at the end.
Leave Launch the MySQL Instance Configuration Wizard tick box on and click Finish.
This will open MySQL Server Instance Configuration Wizard.
We will go through the Detailed Configuration steps. Click Next.
This is a Development Machine, so this option is what we need.
Leave as it is on Multifunctional Database and click next.
Installation Path as a location for database files will be fine.
I do not expect a lot of connection during development work, but I like to have more options at hand so I selected Online Transaction Processing Option. You can select what is more suitable in your case.
All looking good. Tick Add firewall exception for this port to enable access for phpMyAdmin. phpMyAdmin uses TCP/IP connection by default. If you are worried about security you can setup phpMyAdmin to use socket connection. It is possible in our case to use socket as we are installing MySQL server on the same machine as IIS 7 web server.
I am developing website in English and Russian Languages so the second option is the best one for me. Click Next.
We will set our Database Instance Name as MySQL. I like to perform some commands in the command prompt so I also ticked Include Bin Directory in the Windows PATH.
Enter a password for root. This is a development database and will not be accessed outside development machine. So I did not ticked Enable root access from remote machine or Create An Anonymous Account. For build and testing servers I will use a different installation of MySQL and IIS 7. Click Next.
Excellent! Click Execute when you are ready.
We are done! Click Finish.
Install and Configure phpMyAdmin
Installation of MySQL Server is done. Now we are going to configure phpMyAdmin package, which will help us to manage MySQL Databases. If you haven’t downloaded phpMyAdmin from previous step download it from phpmyadmin.net site. Unzip package and copy it to C:\inetpub\wwwroot directory. Open IIS 7 Management Console and create new web application in a similar way how we created web application for our Joomla! install.
I named folder and Web Application as phpMyAdmin. After clicking OK use browse to open http://localhost/phpMyAdmin/. You will get the screen below.
Enter root as username and your root password, Click Go.
I got in! I was really impressed that without any additional configuration phpMyAdmin detected local MySQL Server and the setup is done!
Conclusion
Congratulations ones more time on the going through this rather lengthy post. Don’t get disappointed that you do not see Joomla! configuration steps here. There are very easy and straightforward. I am planning to post Joomla! configuration steps in the future post. This and the other posts will be part of the Creating Joomla! Development Environment series. Don’t forget to check out some references for more information.
References