| PHP Programming Get Apache and PHP | headers and footers |
A Wikibookian suggests that this book or chapter bemerged withPHP Programming/Setup and Installation. Please discuss whether or not this merger should happen on thediscussion page. |
To get Apache, first you must go tothe Apache website. From there, find the section forthe HTTP Server Project, and then thedownload page. Unless you have an understanding of compiling an executable from the source code, besure you download the binary (for Windows users, I recommend thelatest (2.0.52) MSI installer package).
Once you've obtained an Apache installer, whether an EXE or an MSI or what have you, run it. Apache will prompt you (eventually) for several (three) pieces of information. Following this are, very basically, your choices regarding what to input:
When given an option between running on when started and running as a service, I recommend using Apache as a service. This means that it will run when Windows begins, saving you the trouble of using the Start menu to start it every time you want to use it. To start Apache manually: Start > All Programs > Apache... > Control Apache Server > Start Apache In Console.
Note: you will also see some other options, like an option to stop Apache and an option to restart Apache. You will need to be able to control the server later. Alternatively, when I run Apache, I get an icon in the system tray next to the clock. I can right-click this icon and it has options to stop and restart the Apache server. This system tray icon should appear by default on the windows installation.
Once the install is finished, you'll have Apache installed. However, it's not yet configured. Before we do so, though, let's test Apache to see if the installation went according to plan. You should be able to now, if the server is started, run your preferred browser and type "http://localhost/" or, if your computer is on a network, the name of the computer (in my case "http://dellpc/"). You should see a page with the message "If you can see this, it means that the installation of the Apache software on this system was successful." Congratulations!
First, you must set up a location for your files to be stored. I created a folder in an easy to remember and easy to type location. All of my documents are stored in the folder "C:/Web/". In this folder, I also included a shortcut to the httpd.conf document in the Apache folder for easy modification.
This httpd.conf document is located in the conf directory of where Apache is installed. On my computer this location is "C:/Program Files/Apache Group/Apache2/conf/". Regardless of where it is, find it and open it before continuing.
This file is the primary (if not only) configuration file for your Apache server. The size and amount of words looks intimidating, but really most of them are comments; any line that begins with a hash mark / pound sign (#) is a comment. Find (using ctrl+f), "DirectoryIndex" and you will eventually see a line that readsDirectoryIndex index.html index.html.var. We are going to change that to readDirectoryIndex index.html index.html.var index.php index.htm. This means that if an index.html is not found in your web directory, the server will look for an index.php, and then will look for index.htm if index.php is not found. Go ahead and save the file. Fantastic. For the changes to take effect, you must restart the server.
To define where your web folder is, find (via ctrl+f) "DocumentRoot". Replace what follows "DocumentRoot" in quotes with the full path to your web directory. If you're using C:/Web/ as your web directory, your line would readDocumentRoot "C:/Web/". Scroll down a tad to find the comment line that reads "This should be changed to whatever you set DocumentRoot to." Change the following line to read<Directory "C:/Web/"> or whatever you set DocumentRoot to.
You should have a functioning Apache server now. You can test this by first restarting Apache, then placing an HTML file in your web directory named "index.htm" and then accessing it by opening your browser and browsing tohttp://localhost/. If you see your index.htm, excellent work.
Note: for a while, I would see the Apache test page if I just went tohttp://localhost/ orhttp://dellpc/. To see my index page, I would have to go directly to that file, i.e.http://localhost/index.htm. Eventually, this just stopped happening. I'm not sure what happened.
This probabally happened because the Apache test page was cached. This means your web browser had stored a copy of it locally and was serving that file instead of the real webpage. Hitting refresh should fix this problem.
Since Apache is configured and working, all that's left is to download, install, and configure PHP, and then reconfigure Apache to use it.
ThePHP website is the home of PHP on the web. There you can download PHP and also find the PHP manual. In any language, having a manual is ahuge help.
Navigate to thedownloads page and find the latest ZIP package. At the time of this writing, the current version is 4.3.9, and the ZIP package ishere. Unzip, via WinZip or WinRAR or PKUnzip or whatever decompressing program you use, to the root (C:/, usually) directory. It will leave a folder called "php-...". Rename this folder to "php", and it is in this C:/PHP/ directory that your new script interpreter now resides.
Note: There is also an installer available for PHP, but I do not recommend this as using it shall lessen your knowledge of how PHP works.
PHP 5.0.2 is also available for download. This is a newer code base and generally has a greater performance, and more capabilities than then 4.x.x line. It is generally advised that you use the 5.x.x line in preference to 4.x.x. The code for PHP5 is very similar to the code for PHP4, and everything covered in this book should work under both environments.
In your C:/PHP/ directory, find the files called "php.ini-dist" and "php.ini-recommended". These are two separate files that are included with PHP that contain separate configurations for PHP depending on your needs. The PHP website recommends you use the recommended version, so you need to rename this to "php.ini".
Here you have a choice. At this stage you need to make the file accessible to your webserver and the PHP parser. You can either:
# If you chose PHP 4 insert this:LoadModule php4_module "c:/php/sapi/php4apache2.dll"AddType application/x-httpd-php .php
# If you chose PHP 5 insert this:LoadModule php5_module "c:/php/php5apache2.dll"AddType application/x-httpd-php .php
# configure the path to php.iniPHPIniDir "C:/php"
AddType application/x-httpd-php-source .phps
In php.ini, find "doc_root". Much like you did with the Apache DocumentRoot directive, make the line readdoc_root = "c:\web" or whatever your web directory is. Scroll down a tad (or find) to reach the extension_dir line. After the equals sign, type, in quotes, the directory in which PHP is located. For people following along, this would be C:/PHP/. My extension_dir, for instance, readsextension_dir = "c:\php".
Finally, you need to make the relevant DLL's available to the web server. Again, there are a number of different ways of doing this. I recommend the final method because it will allow you to easier upgrade PHP in the future, should you choose to do so. The DLL's arephp4ts.dll andphp5ts.dll depending on the version of PHP that you are installing.
| PHP Programming Get Apache and PHP | headers and footers |