We start by installing the Web Server role on Windows Server 2008 on 32 bit OS. 1. Go to Server Manager 2.

Go to Roles click on add roles

3. Select server roles

4. Select role service as CGI

5. Select Management tools 6. Click on install .

. After installation of joomla enable this security.7. It helps while configuring the Joomla. Temporarily disable Administrator security. In Server Manager Click on Web Server (IIS) under Roles and configure IE ESC 9. After completion of installation click on close button 8.

Configure a MySQL Instance 1. b. MySQL cannot currently be installed with the Microsoft® Web Platform Installer (Web PI). Once the installation wizard is completed. . 1. This article provides guidance for installing MySQL manually. The separation of database server and Web server makes overall installation more secure and manageable and avoids resource contentions between the database and Web server processes. you can also use MySQL as the database. For more information. Install MySQL Server on Windows Server 2008 or Windows Server 2008 R2 It is recommended that you install MySQL on a dedicated server rather than installing MySQL on the same server that is running IIS 7. many popular PHP applications use MySQL Server for data storage. Click Next in the Instance Configuration Wizard. it is recommended that you leave the Configure the MySQL Server now check box selected. We recommend downloading Windows® Installer.Install and Configure MySQL for PHP Applications on IIS 7 Introduction While Microsoft® SQL Server® 2008 is the recommended database to use when hosting PHP applications on an Internet Information Services 7 (IIS 7) Web server. Best practice recommendations are as follows: a. Run the MySQL Server Instance Configuration Wizard. Start Windows Installer. or extract all the files from the archive. see the Server Instance Configuration Wizard. Using MySQL requires hosting providers to include MySQL database support with the hosting packages. Download MySQL Community Server. and then click Next. Select Detailed Configuration. a. 4. 2. Currently. and then choose the configurations options that most closely match your environment. and then start Setup. You can use a Typical Setup or customize the installation to suit your needs. 3.exe.

Select both check boxes. when prompted to select a server type. use the Non-Transactional Database Only option. Click Execute to apply your settings. Note: Connections require memory. i.\ext”). and then click Next. advanced isolation levels and row-level locking. in terms of memory usage and disk utilization. select Dedicated MySQL Server Machine. Save and close the Php. your server may not have enough memory. It has low overhead. b.ini file. Otherwise. d. k. Secure MySQL . You may adjust networking settings to suit your environment or accept defaults. which is optimized for high-performance SELECT operations. but at the cost of more aggressive usage of disk space and memory. h. Select a database option. Select either the Multifunctional Database or Transactional Database Only options if you are using the InnoDB storage engine or the high-speed MyISAM storage engine (for example. consistent. isolated. frequently in the Ext folder (for example. For PHP to work with MySQL.ini file: a. and then click Next. and then click Next. 2. foreign key constraints.dll c. extension_dir=”. Select a server type that best suits your environment. and then click Next. or atomic. and then click Next. and then click Next. j. and durable [ACID] features). These options provides fully ACID transactional capabilities. Type the password you want to use for the root account. We recommend enabling both Windows options here. Click Finish to close the wizard. Choose the option that sets the number of concurrent connections you need. It is recommended to set up a separate MySQL server.c. f. Select the default character set that best suits you. Confirm that the extension_dir points to the folder where all PHP loadable extensions are located. if the Web applications on your server require multi-statement transactions. if the number you choose is too big. g. e. but at the cost of not supporting transactions. it is necessary to perform the following modifications to the Php. Enable dynamic extension for MySQL by uncommenting the corresponding line for the MySQL extension: extension=php_mysql.

Database changed mysql> DELETE FROM user WHERE user = ''.00 sec) 3. type the following command: mysql>CREATE DATABASE IF NOT EXISTS taskrunner. Query OK. 1 row affected (0.03 sec) mysql> FLUSH PRIVILEGES.1.05 sec) 4. use the following sequence of commands: mysql> use mysql. 3. and use the following sequence of commands: mysql> use mysql. Query OK. DROP. . To create a new database. DELETE. ALTER ROUTINE. Query OK. 0 rows affected (0. Once logged on to MySQL.03 sec) mysql> FLUSH PRIVILEGES. CREATE VIEW. Next.05 sec) 5. Enter the password for the root account. To provision a new user. restrict the root account to log on only from localhost. CREATE. type the following command: mysql> -> -> -> -> -> -> -> GRANT ALTER.23 sec) Provision the User and Database 1. 0 rows affected (0.1 -> MySQL Command Line Client: 2. 2 rows affected (0. Open the MySQL command prompt by clicking Start -> All Programs -> MySQL -> MySQL Server 5. 0 rows affected (0. type the following command from the MySQL command prompt: mysql>CREATE USER ‘taskrunner’ IDENTIFIED BY ‘taskrunner’. The newly created user does not have any privileges on the MySQL server by default. Query OK. Remove the anonymous database account (if it exists). Query OK. Database changed mysql> DELETE FROM user WHERE user = 'root' AND host = '%'. 1 row affected (0.19 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> FLUSH PRIVILEGES. CREATE TEMPORARY TABLES. 2 rows affected (0. Database changed mysql> UPDATE user SET user='johndoe' WHERE user='root'. Query OK. Open a MySQL command prompt.00 sec) 2. Query OK. CREATE ROUTINE. 0 rows affected (0. Change the name of the root user with the following sequence of commands from the command prompt: mysql> USE mysql. To grant access to this database for a particular user. Query OK.

If the database will be running on a separate system from the Web server. INDEX. • Include Bin Directory in Windows PATH This makes the MySQL utilities available from the command prompt or from Windows PowerShell™.dll extension=php_mcrypt. 4. additionally.php). Restart the IIS service by clicking on Start. 2.* TO ' taskrunner'. typing iisreset. and then pressing ENTER.Configure PHP to Access MySQL 1. Keep the TCP port that MySQL uses to listen at 3306. Figure 1: The mysqli section on the PHP information page Best Practices for MySQL • Enable TCP/IP Networking This is the default.ini file with your favorite text editor. Uncomment the following lines by removing the semicolon: extension=php_mysqli. you should see the mysqli section on the PHP information page created earlier (http://localhost/phpinfo. If all went well. Adding anonymous user support may create a security risk for the database.dll 3. INSERT. SHOW VIEW taskrunner. UPDATE.dll extension=php_mbstring. • Create an Anonymous Account The default is to keep this disabled. Install PHPMyAdmin on IIS7 and Server 2008 . -> -> -> -> -> -> -> ON EXECUTE. LOCK TABLES. SELECT. Open the c:\php\php. enabling anonymous users causes the GRANT statements used to set up database to be unreliable. selecting the Search Field. select the Add firewall exception for this port check box.

zip for this demo. Note: PHPMyAdmin requires both PHP and MySql to be installed on the server. Which version you use will depend on your environment.phpmyadmin. right click on phpmyadmin and left click on Convert to Application. views. fields and indexes create. fields and indexes maintenance server. edit and bookmark any SQL-statement. copy. If you need to please refer back to my articles on installing them: • • Installing PHP Installing MySql Download and Install PHPMyAdmin Ok so now that we know why we should install it. Extract the files from the archive to a site that is available on the web server (remember the application is web based). Well if you don’t feel like learning the command line sequences for MySQL you might be interested in using a web based GUI based tool which will make managing the databases a lot easier. tables.After installing our copy of MySQL on IIS7 and Server 2008.9. with proposals on server configuration execute. drop. databases and tables. let’s get to the actual installation part. What will you be able to do with PHPMyAdmin in the database? Here is a list of some of the features: • • • • • • • • browse and drop databases. so I am going to go ahead and download that to get started.net.net/home_page/downloads.php. Now start IIS Manager and expand the default website.11. . even batch-queries load text files into tables administer multiple servers create and read dumps of tables search globally in a database or a subset of it And that is just the short list of features of this very powerful application. tables. I am going to use the english. But before we begin. For this demo I am going to use C:\inetpub\wwwroot\phpmyadmin 2. Let’s get started! 1. you might be wondering what to do next. rename and alter databases. let’s go download the software at: www. The current version as I write this article is 2. It recently was named Best of Open Source Platforms and Middleware by Infoworld. This tool is called PHPMyAdmin and can be found at www.phpmyadmin.

You can leave the default settings in place for the Add Application window and click OK. Create a folder to save your PHP sessions. Go into IIS Manager.ini and you should see it uncommented.save_path and set it to the same as you used in step 4 which in our case is C:\temp\phpsessions and save the file.ini — we have to make a few changes: Find session. 4. for our example I am going to use C:\temp\phpsessions and give full rights to the following users: IUSR IIS_IUSRS Network Service 5. Now go into your php directory and find php. go to the default site (that is if you have been following my demo. Please note that this application requires the following extensions for PHP: MySQL GD MBSTRING If you do not have these on your server already.dll 7.dll extension=php_mbstring. or if you already installed it rerun the installer msi file and modify your installation to include these extensions. To check if they are installed do a search for extension=php_mysql in the php. 8. if you have been modifying your site location or path then use that) and click on Default Document.3. Do the same for the other extensions: extension=php_gd2. If you are using my article to install PHP then in step 6 just add the above extensions to your installation. In the right pane click Add… . please install them. 6.

9.inc. go down to the next section Advanced phpMyadmin features and uncomment all the lines under it (remove the // from the front of the line). Now you are in and able to manage your MySql instance! As a quick test let’s create a database by scrolling to the Database link and clicking on it 17. then click Go. next. . if you have used a different site/directory then point to that) and you should see a login page. Now find the line $cfg[‘blowfish_secret’] = ‘’. You will now see a page that confirms that database Trainsignaltraining has been created. 13. 16. In the dialog box type index. 14.php and open it in Wordpad.inc. Type in the userid and password for your local MySql server.sample. In this case I am going to use trainsignal1111TST 12.php and click Ok. (You can use notepad but it tends to jumble everything up) 11. 10. you have to fill in this line with anything that you want but it needs to be a value. Go to the directory that you unzipped PHPMyAdmin to and look for a file named config. for this demo I am going to use trainsignal. Type in the name of your new database. for this example I am going to use Trainsignaltraining and then click Create. Point your browser to http://localhost/phpmyadmin/ (if you have been following this example. Only up to 46 characters and it can be alphanumeric. 18.php 15. Go down to you see the section User for advanced features and uncomment (Remove the // from the front of the line) the two lines under that and change the pmapass to a different password. Now save this file as config.

For this article. Joomla uses the Administrator\Cache folder Tmp and therefore needs to be able to write and modify files in this folder. Joomla version 1.5. the location of your php extensions directory). The instructions assume that you have set up and configured the FastCGI extension and the PHP libraries. create the configuration file Configuration.2.php /grant BUILTIN\IIS_IUSRS:W The installer will modify the Configuration.5. Assign write permissions to it with the command (from the installation directory): C:\inetpub\wwwroot\joomla>icacls configuration.ini configuration: • Define extension_dir as c:\php\ext (for example.9 • MySQL 5. which Joomla uses to store key configuration settings. Install Joomla! On IIS This article describes how to install and configure Joomla for use with the FastCGI extension on Internet Information Services 7 (IIS 7) on Windows® Web Server 2008.php. modify the following lines in your Php.php file with information provided during the installation process. Grant “modify” permissions to the folder: .That’s all there is to it. now you can quickly and easily manage you MySql databases on IIS7 through PHPMyAdmin.14 was used (future versions are likely to be similar to install).14 Prerequisites From the base default configuration file provided by PHP. The instructions have been tested and found to work with the following software versions: • PHP 5. Uncompress the Joomla files and copy them to C:\Inetpub\wwwroot\joomla (or another directory of your choosing). Before running the Joomla installer. it is necessary to install an update for IIS FastCGI module for IIS 7.dll in the extensions list to enable MySQL support. Download and Unpack the Application First.34 • Joomla 1. • Uncomment extension=php_mysql. download the latest stable release of Joomla.1. In order for Joomla to work correctly with IIS 7.

Figure 1: Choose Language page 3. and then click Next. you must create a database on your server. then add it. and then click Next. Grant “modify” permissions to the folder: C:\inetpub\wwwroot\Joomla>icacls tmp /grant BUILTIN\IIS_IUSRS:(OI)(CI)(M) Set Up the Database Before starting the installation procedure for Joomla. . Go to http://localhost/joomla/. Select the language. Start the configuration procedure in a Web browser.php file is not in the browser default document. Verify that all pre-installation checks are successful.C:\inetpub\wwwroot\Joomla>icacls administrator\cache /grant BUILTIN\IIS_IUSRS:(OI)(CI)(M) Joomla uses the temporary folder Tmp to store temporary files and therefore needs to be able to write and modify files in this folder.) 2. This article uses the following database information: • Database name: joomla • Database user: joomla • Account password: joomla Run the Installation Script 1. (If the Index. Also create a user and grant this user “db ownership” permission to the database.

and then click Next. Host Name: localhost b.Figure 2: Pre-installation Check page 4. Username: joomla . and then click Next. Figure 3: License page 5. Review the GNU General Public License. On this page enter the following information. a.

and then click Next. Figure 5: FTP Configuration page 7.c. Click Next to complete the installation. select the No option button (not to enable FTP file system layer). Password: joomla d. On the FTP Configuration page. Specify the site name and the administrator password. . Database: joomla Figure 4: Database Configuration page 6.

The Finish page appears. and you are instructed to delete the C:\inetpub\wwwroot\joomla\installation directory. . Figure 6: Main Configuration page 8. Figure 7: Finish page 9. You can now go to the Joomla site.Note: You may scroll down and install sample data if you prefer.

IIS 6.*script. <?xml version="1.*\(. a feature which relies on the URL rewriting functionality. Paste the following XML code into this file. IIS 7 includes URL rewriting support.Figure 8: Joomla site Enable Search Engine Friendly URLs By default.*)$" ignoreCase="false" /> <conditions logicalGrouping="MatchAny"> <add input="{QUERY_STRING}" pattern="mosConfig_[a-zA-Z_]{1.0" encoding="UTF-8"?> <configuration> <system.21}(=|\%3D)" ignoreCase="false" /> <add input="{QUERY_STRING}" pattern="base64_encode.config file located in the C:\inetpub\wwwroot\joomla directory. create and open a Web.|%3C).0 does not include URL rewriting capabilities. 1.*(\>|%3E)" /> <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0. which can be enabled by installing Microsoft URL Rewrite Module for IIS 7. Download and install the Microsoft URL Rewrite Module.2})" . You change this by by enabling search engine friendly URLs. you can use a third-party URL rewriting product such as ISAPI_Rewrite or Ionics ISAPI Rewrite Filter. 2.*\)" ignoreCase="false" /> <add input="{QUERY_STRING}" pattern="(\&lt. Joomla uses query string parameters for all the URLs it generates for your Web site.webServer> <rewrite> <rules> <rule name="Security Rule" stopProcessing="true"> <match url="^(. 3. If it does not already exist.

html|\.2})" ignoreCase="false" /> </conditions> <action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> </rule> <rule name="SEO Rule"> <match url="(. 5.htm|\.php" ignoreCase="false" /> <add input="{URL}" pattern="(/|\.*)" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" /> <add input="{URL}" negate="true" pattern="^/index.php" /> </rule> </rules> </rewrite> </system.pdf|\. Click on Site --> Global Configuration menu to configure SEO Settings: 1.Yes 2. Open a Web browser.feed|\. Save the web.ignoreCase="false" /> <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0.webServer> </configuration> 4.]*)$" /> </conditions> <action type="Rewrite" url="index. and log on to the Joomla administrator console at http://localhost/joomla/administrator/. 6. Add suffix to URLs .php|\. Search Engine Friendly URLs .raw|/[^.No .config file.

Restart Windows® Internet Explorer®. Click Apply to save the configuration. the server returns a correct response: . If you click on any of these links. 4. Go to http://localhost/joomla/. All links in Joomla pages now have URLs without query string parameters.Figure 9: Global Configuration page 3. 5.

Sign up to vote on this title
UsefulNot useful