Installing Joomla on Windows - IIS
Posted: Thu Apr 06, 2006 1:27 pm
Installing Joomla on Windows (2000/XP/2003) - IIS
Note; taken from http://forum.mamboserver.com/showthread.php?t=4570, by Phill Hardstaff
A first attempt at a definitive guide to installing joomla on Windows, any comments appreciated. There is a real mix of info about installing on Windows out there, but nothing that goes from start to finish (well that I know of anyway) Once I get this right any ideas on where to post it ? I notice there is no separate forum here for Windows users, that might be a place to start ?
Phill
########################################
Installing joomla Server on Windows 2000, XP and Windows Server 2003
This has been tested on Windows 2000 and XP, should work fine on Windows 2003 Server. I am assuming an install into a directory and not into the root of the site, to install into the root just follow the same instructions and substitute your web server root directory, usually c:\inetpub\wwwwroot , I am assuming this is where your IIS root is. For these instructions I am assuming an install to c:\inetpub\wwwwroot\joomla.
Install IIS
Make sure you have IIS running, Settings Control panel – add or Remove software - Add or remove Windows Components - Internet Information Services (this is called something different under Windows 2003 server ?) Once installed http://localhost will bring up a web page saying your web service is running or something similar, do not go any further if this is not the case.
Install PHP
Once you have a web server running and you can browse http://localhost then it’s time to install PHP. Download PHP from http://www.php.net the best way to do this for IIS is to download the PHP x.x.x Installer, which will install PHP and configure IIS at the same time.
Test PHP
Make sure your PHP installation works, copy the following code into a text file and save it as c:\inetpub\wwwroot\test.php
Open your web browser and open http://localhost/test.php and you should get back a nice page with all the info about your PHP version.
Find php.ini, usually in your Windows directory, ie c:\wnnnt or c:\windows and change the line that says
error_reporting = E_ALL; display all errors, warnings and notices
and change it to
error_reporting = E_ALL & ~E_NOTICE
so that PHP sow all errors, except for notices, you will probably want to change this to just errors after you are happy your joomla site is working OK.
error_reporting = E_ERROR
Install MySQL
Download and install MySQL from http://www.mysql.com
Once installed run c:\mysql\bin\winmysqladmin.exe, this will install Mysql as a service, you cannot really do any admin with this program but you can see what’s going on.
A default install of MySQL has a blank password for the database user root, this should be changed ASAP.
Mysqladmin –uroot password new_password
Create the joomla DB by using c:\mysql\bin\mysqladmin.exe (this is optional, the web based installer will do this for you but it’s nice to know how to make a table)
mysqladmin -uroot -ppassword create joomla_database_name
so, if your user name was root and password was tst321 then this would be
mysqladmin -uroot –ptst321 create joomla_database_name
Set up joomla
Unzip the joomla files to the directory where it will be used, in our case
C:\inetpub\wwwroot\joomla (which will be http://localhost/joomla ) when you have done this it should look something like this
Volume in drive C is S3A1293D005
Volume Serial Number is E44E-B32B
Directory of C:\Inetpub\wwwroot\joomla
30/03/2004 09:14 AM .
30/03/2004 09:14 AM ..
30/03/2004 09:13 AM administrator
30/03/2004 09:13 AM classes
30/03/2004 09:13 AM components
06/02/2004 01:35 AM 3,069 configuration.php-dist
30/03/2004 09:14 AM 0 dir.txt
30/03/2004 09:13 AM documentation
30/03/2004 09:13 AM editor
19/09/2003 11:08 AM 1,433 globals.php
22/12/2003 09:37 PM 687 htaccess.txt
30/03/2004 09:13 AM images
30/03/2004 09:13 AM includes
27/02/2004 03:53 AM 5,208 index.php
24/12/2003 10:20 PM 2,794 index2.php
30/03/2004 09:13 AM installation
30/03/2004 09:13 AM language
15/12/2003 01:05 PM 1,095 mainbody.php
30/03/2004 09:13 AM joomlats
30/03/2004 09:13 AM media
30/03/2004 09:13 AM modules
24/12/2003 09:39 PM 3,250 offline.php
07/02/2004 10:58 PM 6,925 pathway.php
21/01/2004 10:32 AM 304 robots.txt
30/03/2004 09:13 AM sql
30/03/2004 09:13 AM templates
30/03/2004 09:13 AM uploadfiles
27/02/2004 09:35 PM 704 version.php
11 File(s) 25,469 bytes
Rename configuration.php.dist to configuration.php
OK, now to change some permissions, this is very important that you do this before you proceed any further.
Right click each of the following directories, select security and make the sure that the “Internet Guest Account” (usually IUSR_computer_name) has the following permissions.
Modify
Read and Execute
List Folder Contents
Read
Write
i.e. everything EXCEPT full control. Do this for these directories and files.
images
media
uploadfiles
components
language
modules
templates
administrator/backups
administrator/components
configuration.php
OK, lets see what we got, rather than manually editing configuration I found that using the web based installer works best, it will also create your tables in MYSQL for you rather than using the sql script ? This is why we have set configuration.php to be writable, do NOT forget to change this to read-only later !!!
Open your browser and go to http://localhost/joomla/installation/install1.php and you should see the “Welcome to joomla Open Source Installation” page, if not you need to go back and find out why.
Assuming we have this page, plug in our data for the database, if you are running MySQL on the same machine as joomla then the host is localhost. Do not put the name of the machine. You will probably want to check Install Help Data and Sample Data.
Click next.
OK, if you get to the next page that’s good, it means everything you entered about your database was correct, if you have an error then you need to check what you entered on the previous screen, OK, we are not out of the woods yet.
On the next screen enter a name for your site.
Click next.
On the next screen you have to enter some paths, DO NOT change the defaults unless you are certain they are wrong as in 99% of cases they will be correct. You might want to change the URL from localhost the FQDN of your system and the password but that’s about it.
Click next
OK, if you made it to install4.php that’s good, if you take a look at configuration.php with a text editor you will see your config changes in it. Do not open this with Wordpad, it will screw it up, also, it will look funny in Notepad because it is a Unix type text file, usually you won’t have to touch this file anyway.
Delete the installation directory ( c:\inetpub\wwwroot\installation )
Right Click configuration.php, select properties, and change to read-only. That means on the first tick Read-Only.
Click Run.(back in your browser at install4.php)
You should now see that standard peeklime joomla Home page. Make sure you can run the admin program, click on administrator, if you get an error it just means you have not set up index.php to be a default page, try
http://localhost/joomla/administrator/index.php rather than
http://localhost/joomla/administrator/index.php
To make your system recognize index.php as a default page, do this.
Start - Settings – Control Panel – Administrative Tools – Internet Information Services
Open out to default web site
Right click default web site
Properties
Documents tab
Add
Index.php
Apply
Close everything
Trouble Shooting Guide
1) You cannot get into the admin page, you see a few errors fly up and then you are back at the logon screen.
The default PHP installer does not set permission for the c:\php\sessiondata directory so that the “Internet Guest Account can write etc to this directory, right click c:\php\sessiondata and select properties, give the Internet Guest account
Modify
Read and Execute
List Folder Contents
Read
Write
2) Fixed something ? send it to me so I can add it here !!
Et Voila, that’s it, you should have a 100% functional joomla Site.
Addition:
There is a little problem with PHP that it generally assumes that it is installed on Unix. Therefore, one of the default settings in the php.ini file is:
session.save_path = /tmp
This would be fine on Unix because this directory is always there, but not necessarily so on Windows. The fix is to create a subdirectory under the PHP directory, i.e. "C:\PHP\Temp" Then, change the session setting:
session.save_path = "C:\php\temp"
If this is not correct, Joomla will not work correctly! Probably, one will have problems logging in as ADMIN.
Note; taken from http://forum.mamboserver.com/showthread.php?t=4570, by Phill Hardstaff
A first attempt at a definitive guide to installing joomla on Windows, any comments appreciated. There is a real mix of info about installing on Windows out there, but nothing that goes from start to finish (well that I know of anyway) Once I get this right any ideas on where to post it ? I notice there is no separate forum here for Windows users, that might be a place to start ?
Phill
########################################
Installing joomla Server on Windows 2000, XP and Windows Server 2003
This has been tested on Windows 2000 and XP, should work fine on Windows 2003 Server. I am assuming an install into a directory and not into the root of the site, to install into the root just follow the same instructions and substitute your web server root directory, usually c:\inetpub\wwwwroot , I am assuming this is where your IIS root is. For these instructions I am assuming an install to c:\inetpub\wwwwroot\joomla.
Install IIS
Make sure you have IIS running, Settings Control panel – add or Remove software - Add or remove Windows Components - Internet Information Services (this is called something different under Windows 2003 server ?) Once installed http://localhost will bring up a web page saying your web service is running or something similar, do not go any further if this is not the case.
Install PHP
Once you have a web server running and you can browse http://localhost then it’s time to install PHP. Download PHP from http://www.php.net the best way to do this for IIS is to download the PHP x.x.x Installer, which will install PHP and configure IIS at the same time.
Test PHP
Make sure your PHP installation works, copy the following code into a text file and save it as c:\inetpub\wwwroot\test.php
Open your web browser and open http://localhost/test.php and you should get back a nice page with all the info about your PHP version.
Find php.ini, usually in your Windows directory, ie c:\wnnnt or c:\windows and change the line that says
error_reporting = E_ALL; display all errors, warnings and notices
and change it to
error_reporting = E_ALL & ~E_NOTICE
so that PHP sow all errors, except for notices, you will probably want to change this to just errors after you are happy your joomla site is working OK.
error_reporting = E_ERROR
Install MySQL
Download and install MySQL from http://www.mysql.com
Once installed run c:\mysql\bin\winmysqladmin.exe, this will install Mysql as a service, you cannot really do any admin with this program but you can see what’s going on.
A default install of MySQL has a blank password for the database user root, this should be changed ASAP.
Mysqladmin –uroot password new_password
Create the joomla DB by using c:\mysql\bin\mysqladmin.exe (this is optional, the web based installer will do this for you but it’s nice to know how to make a table)
mysqladmin -uroot -ppassword create joomla_database_name
so, if your user name was root and password was tst321 then this would be
mysqladmin -uroot –ptst321 create joomla_database_name
Set up joomla
Unzip the joomla files to the directory where it will be used, in our case
C:\inetpub\wwwroot\joomla (which will be http://localhost/joomla ) when you have done this it should look something like this
Volume in drive C is S3A1293D005
Volume Serial Number is E44E-B32B
Directory of C:\Inetpub\wwwroot\joomla
30/03/2004 09:14 AM .
30/03/2004 09:14 AM ..
30/03/2004 09:13 AM administrator
30/03/2004 09:13 AM classes
30/03/2004 09:13 AM components
06/02/2004 01:35 AM 3,069 configuration.php-dist
30/03/2004 09:14 AM 0 dir.txt
30/03/2004 09:13 AM documentation
30/03/2004 09:13 AM editor
19/09/2003 11:08 AM 1,433 globals.php
22/12/2003 09:37 PM 687 htaccess.txt
30/03/2004 09:13 AM images
30/03/2004 09:13 AM includes
27/02/2004 03:53 AM 5,208 index.php
24/12/2003 10:20 PM 2,794 index2.php
30/03/2004 09:13 AM installation
30/03/2004 09:13 AM language
15/12/2003 01:05 PM 1,095 mainbody.php
30/03/2004 09:13 AM joomlats
30/03/2004 09:13 AM media
30/03/2004 09:13 AM modules
24/12/2003 09:39 PM 3,250 offline.php
07/02/2004 10:58 PM 6,925 pathway.php
21/01/2004 10:32 AM 304 robots.txt
30/03/2004 09:13 AM sql
30/03/2004 09:13 AM templates
30/03/2004 09:13 AM uploadfiles
27/02/2004 09:35 PM 704 version.php
11 File(s) 25,469 bytes
Rename configuration.php.dist to configuration.php
OK, now to change some permissions, this is very important that you do this before you proceed any further.
Right click each of the following directories, select security and make the sure that the “Internet Guest Account” (usually IUSR_computer_name) has the following permissions.
Modify
Read and Execute
List Folder Contents
Read
Write
i.e. everything EXCEPT full control. Do this for these directories and files.
images
media
uploadfiles
components
language
modules
templates
administrator/backups
administrator/components
configuration.php
OK, lets see what we got, rather than manually editing configuration I found that using the web based installer works best, it will also create your tables in MYSQL for you rather than using the sql script ? This is why we have set configuration.php to be writable, do NOT forget to change this to read-only later !!!
Open your browser and go to http://localhost/joomla/installation/install1.php and you should see the “Welcome to joomla Open Source Installation” page, if not you need to go back and find out why.
Assuming we have this page, plug in our data for the database, if you are running MySQL on the same machine as joomla then the host is localhost. Do not put the name of the machine. You will probably want to check Install Help Data and Sample Data.
Click next.
OK, if you get to the next page that’s good, it means everything you entered about your database was correct, if you have an error then you need to check what you entered on the previous screen, OK, we are not out of the woods yet.
On the next screen enter a name for your site.
Click next.
On the next screen you have to enter some paths, DO NOT change the defaults unless you are certain they are wrong as in 99% of cases they will be correct. You might want to change the URL from localhost the FQDN of your system and the password but that’s about it.
Click next
OK, if you made it to install4.php that’s good, if you take a look at configuration.php with a text editor you will see your config changes in it. Do not open this with Wordpad, it will screw it up, also, it will look funny in Notepad because it is a Unix type text file, usually you won’t have to touch this file anyway.
Delete the installation directory ( c:\inetpub\wwwroot\installation )
Right Click configuration.php, select properties, and change to read-only. That means on the first tick Read-Only.
Click Run.(back in your browser at install4.php)
You should now see that standard peeklime joomla Home page. Make sure you can run the admin program, click on administrator, if you get an error it just means you have not set up index.php to be a default page, try
http://localhost/joomla/administrator/index.php rather than
http://localhost/joomla/administrator/index.php
To make your system recognize index.php as a default page, do this.
Start - Settings – Control Panel – Administrative Tools – Internet Information Services
Open out to default web site
Right click default web site
Properties
Documents tab
Add
Index.php
Apply
Close everything
Trouble Shooting Guide
1) You cannot get into the admin page, you see a few errors fly up and then you are back at the logon screen.
The default PHP installer does not set permission for the c:\php\sessiondata directory so that the “Internet Guest Account can write etc to this directory, right click c:\php\sessiondata and select properties, give the Internet Guest account
Modify
Read and Execute
List Folder Contents
Read
Write
2) Fixed something ? send it to me so I can add it here !!
Et Voila, that’s it, you should have a 100% functional joomla Site.
Addition:
There is a little problem with PHP that it generally assumes that it is installed on Unix. Therefore, one of the default settings in the php.ini file is:
session.save_path = /tmp
This would be fine on Unix because this directory is always there, but not necessarily so on Windows. The fix is to create a subdirectory under the PHP directory, i.e. "C:\PHP\Temp" Then, change the session setting:
session.save_path = "C:\php\temp"
If this is not correct, Joomla will not work correctly! Probably, one will have problems logging in as ADMIN.