Tuesday, December 4, 2007

Drupal Installation Guide

I have compiled a quick install guide that shows what I ave found to be the most efficient way to install Drupal on a Windows workstation.

The file is hosted here:

http://bpastudio.csudh.edu/fac/lpress/471/hout/drupal.htm

Ryan

Friday, November 30, 2007

Final Thought

Drupal is a flexible platform and it truly does make it easy for someone with no programming or web design skill to create useful, user friendly websites. The community that supports Drupal is vast, and the module add ons are seemingly endless and well documented.

The first user created on a Drupal install is the master administrator. I reset the user name to this account to "admin", and the password is reset to "drupal2007". You can use this account to administer the server or to give new users administrative rights. The workstation logs on as "student" automatically and this account has administrative rights on the machine.

The original installation will be accessible for a limited amount of time at http://70.135.188.118/. I still use it to host files occasionally, so I will try and keep it up as long as I can.

Thank you to Larry Press for giving me the opportunity to work on this project and making me stick with it, and to the Apache Friends open source community for creating the XMAPP software suite and taking the difficulty out of the install. Now I can tell my friends that I designed my own website with it's own forum!

If a future student needs to work on the server and has any questions about the installation, you can contact me at Ryan@AllionHealthcare.com and I will do my best to answer them.

Ryan

Project Complete

At long last, this project has completed. The last major change to the server was finding the "DOC" module to host files. This module is very simple to use compared to the video and audio upload modules. It easily allows users to create folders and upload files to them. The files are accessible to the outside world with direct links, so you can use it to host pictures or documents for other people to access without them having to log onto the server. The only changes to the settings was to limit the maximum allowed file size and the space available for each user.

The website is now very simple and streamlined, with active modules for blogging, forum posting, and file uploading.

I moved my installation to a Windows XP workstation provided to me by Professor Press.

Here are the instructions on how to move an existing installation:

1. Install the XMAPP suite that configures Apache, MySQL, and PHP onto the target PC.
2. In the XMAPP control panel, set Apache and MySQL to run as a service and make sure they start successfully on reboot.
2. Copy the existing c:\xmapp directory to the new server, and overwrite the folder on the new server.
3. To be safe, enable the windows firewall, and make an exception for HTTP on port 80.

Since the programs are driven by INI files, moving the installation is a simple file copy process once the services are running.

Thursday, October 25, 2007

Major Progress

The site is up and running. I haven’t been documenting everything that I have been doing, as I have been doing a lot of experimenting with the interfaces. The interface is very easy to use and the website truly is feature packed. I will try and recap what I have done with the site, but it is all very straight forward and easy to use.

I enabled most of the modules, including the Blog, Forum, Upload, modules, and given the users permission to use them. This is found under the site building menu.

I created a general discussion forum, and a sub forum for technical support. Only administrators can create entire forums and arrange the forum trees, but any user can create topics and post within those forums. I created a hello thread in the general discussion forum and uploaded a picture.

I began to customize the user menu’s and side bars. Now on the right pane I have a list of the top 5 most recent Blog posts and the top 5 active forum topics. Users can jump to these posts by clicking them, and they will update with each page jump or refresh. On the left hand site, I created a menu called “jump to” which will immediately take you to the forums or your personal Blog. There is also a search form on the left pane that automatically searches all blogs and forum posts.

Some of the other settings that I have set are:

- Set maximum file upload reolution to 1600x1600

- Limit maximum file size per upload to 10mb

- Limit total file size per user to 100mb

- Set Timezone

- Allow users to create new accounts without Administrator approval

- Create a forum and a sub forum

- Allow users to modify their own themes

- Allow users to upload files to the Forums and Blogs

That’s all for now. I will do some more fine tuning and report back.

Ryan

Finally, some progress

Nobody on the Drupal support forums had anything to say about why I couldn't run the Drupal PHP files so today I bit the bullet and decided to start from scratch. I went ahead and attempted a bundled install from xampp. Before I ran it, I uninstalled all of the recent programs, including MySQL, PHP, IIS, and any existing Drupal files.

I download the installable version for Windows from the xampp, and everything went smoothly. It installed Apache, IIS, MySQL, and a few other goodies that probably won't be useful in this scope. I logged onto the server through http://localhost, and it actually worked!

I learned that all of the web content is found in the c:\xampp\htdocs directory. This is the equivalent to the wwwroot folder on IIS. I then copied over the Drupal database files to the c:\xampp\htdocs\drupal folder, and pointed my web browser to http://localhost/drupal. I had my doubts, but it actually worked. I then re-created the MySQL database and the Drupal installation went forward without any error messages.

Now that the install is completed, I can actually start playing with the software. I am not happy about all of the hours wasted by trying to do a manual install, but that is what I get for not doing my research.

Here are the lessons I have learned that I would like to pass onto the next person:

Do not use ISS, use Apache for Drupal.
Do not try to install PHP with the automatic installer
DO use a bundled install package that installs Apache, PHP, and MySQL for you. It practically takes out the entire learning curve.

Monday, October 15, 2007

MySQL Install

The first step in installing My SQL on the server is to download the latest stable release from http://www.mysql.com/. Current version is 5.0.45.

Instructions on how to Install MySQL can be found here:

http://drupal.org/node/266

I noticed http://drupal.org/node/263 that they also list sites that offer install packages that install Apache, MySQL and PHP in one pass. If this does not work out, I will abandon the project and try one of those. At this point, I spent too much time getting PHP to work that I am not willing to start over.

I was able to successfully install My SQL and create a user account with the appropriate permissions.

The next step is to simple in the "install.php" file in the root drupal directory. This is the install script that is supposed to set up your database and create your first user, etc. I cannot get this file to run. It is saying simply that the page cannot be displayed. This leads me to believe that PHP is not working correctly, but I am able to view other PHP files through the web server. I will troubleshoot for a while, but if it does not work I will can the project and attempt Apache. It seems like all of the support documents are based in Apache anyways.

Thursday, October 11, 2007

PHP Install

After much trial and tribulation, I was finally able to get PHP working on the server. You wouldn’t think it would be that complicated. Let me start off by telling you what not to do: DO NOT attempt to install PHP by using their executable installation. After trying and failing (twice), I learned that the only way to fly is to download the zipped version that contains all of the application files and do that install manually. I don’t know why they even offer the executable, because apparently nobody on the web can get it to work right either.


Another confusing part of a failed PHP installation is that If IE does not know how to handle the PHP file, which is does not by default, it returns a “file not found” error. It should return an error that says something along the lines of “unrecognized file type” to avoid making you think that you have named the file incorrectly, typed in the wrong URL, or set the permissions incorrectly.

The files can be downloaded from: http://www.php.net/ The current stable version is 5.2.4


I was able to find some EXTREMELY well written manual install instructions here: http://www.peterguy.com/php/install_IIS6.html#phpInstall Did I mention that are EXTREMELY well written? This guy gives an excellent step by step manual install of PHP on an IIS 6.0 server. It involves copying the install files, editing the PHP ini files, and teaching IIS how to handle web pages with .php file extensions. It also has special notes for extensions that will allow IIS to work with MySQL, which we will need in the next step. Some of the steps in his guide (such as the browscap procedures) may not be necessary for our task, but I went ahead and installed everything to ensure compatibility in anticipation of our upcoming additions. My web server is now able to handle PHP files and has compatibility extensions for nearly every software package known to man.


Coming up next: MySQL database

Wednesday, October 10, 2007

Server found, PHP installed

As luck would have it, I recently replaced an old server from an acquisition site that is currently running 2003 Server SBS edition, so I can use this server for the Drupal install. This will be preferred because I will not have to use anything that is in production, which will let me do server restarts anytime I need without disrupting anybody.

I wasn't sure if I was going to do a fresh install of windows or just clean up the existing install, but after a quick inspection I found that IIS was not ever installed. I figure it already as clean as it is going to get.

My first step was to install IIS and get it up and running. I downloaded an ISO for 2003 SBS, added IIS, and configured a new default web directory called "DRUPAL" . I created a default page index.htm and verified that I could access it over the network. Some permissions needed to be modified to allow anonymous access and directory browsing. Permissions are very lax for the installation process and will be tightened down before going online.

Next, I downloaded the Drupal installation files from Drupal.org. The current stable version is 5.2. Be warned that All of the files on that website come compressed in a "tar.gz" archive that windows cannot recognize by default. I've never heard of that extension before, must be an open source thing. I used Winrar to open the archive and extract into the drupal web directory.

Next up: Installing PHP!

Tuesday, August 28, 2007

First Blog entry!

Testing 1, 2, 3. Is this thing on?

This Blog has been created to document the process to take on setting up customizing Drupal software on a webserver. I've never heard of Drupal before and I don't have experience with PHP, so this should be a learning experience for everyone!

From what I have read, Drupal is an open source software effort that allows users to create and host their own blogs, message forums, and file hosting services without being a profecient PHP programmer. I can tell that the biggest challenge here will be the initial install. This will require installations of IIS, PHP, MySQL, and Drupal. All of this software is going to need to be loaded and working in harmony - which I can't imagine will go soothly.

My first step and goal for the day will be to find a web server to work on. Luckilly my organization has plenty of Windows 2003 servers available that do not run IIS, so I will find a good target candidate to piggy back off of and run the software. (Just don't tell my boss.) My servers are all available 24/7 through VPN and Windows remote desktop, so they should be highly available.

Be back later.