Blog

Configuring FTP for Windows Server 2008

30. December 2009 17:50

Setting up FTP on Windows Server 2008 isn’t as easy as in previous versions and the steps you need to take vary depending on what version of IIS you have installed.

Unless you upgrade to IIS 7.5, FTP in IIS 7 is still managed with IIS 6 Manager!

FTP configuration in IIS 7

Failed to Retrieve Directory Listing

The first hurdle I encountered when trying to connect using Filezilla was the error message “Failed to Retrieve Directory Listing”.  Filezilla was able to connect but couldn’t list the files in the remote folder.

A work around to this is to run Filezilla in active mode (Edit > Settings > Connection > FTP > Active), but some programs that use FTP such as Windows Live Writer can’t be set to use active and prefer passive FTP.  Read more about active and passive FTP.

Configuring Passive FTP on IIS

Configuring Passive FTP on IIS essentially involves configuring FTP port ranges in IIS for the passive connection and then opening up those ports in Windows Firewall on the server.

Depending on what version of IIS you have installed I can verify that both of these methods work.  Although the c:\Inetpub\adminiscripts folder didn’t exist on my server so I ended up getting them from a Windows Server 2003 machine.

My advice would be to upgrade to IIS 7.5.

Tags: , ,

Filed under: Web Servers | Windows

Installing Hardware RAID on Windows 7

24. October 2009 20:43

Like a lot of Windows fans I pre-ordered Windows 7 and built a new PC ready to install it on; I chose a motherboard (MSI DKA790GX) that, like many on the market, has a hardware RAID controller on-board allowing you to take advantage of redundancy with RAID 1 and/or benefit from faster disk access with RAID 0.  Read more about RAID.

I had already installed Windows 7 before I remembered I wanted to set-up a RAID 1 array.  I tried to get the RAID array working with Windows already installed but soon realised I would have to set it up prior to installing Windows 7 because Windows kept hanging on boot-up because it was lacking the RAID controller drivers.

The supplied manual doesn’t explain how to get RAID up and running unfortunately.

RAID Controller Set-up

So here’s a quick guide to installing hardware RAID on a motherboard that features a RAID controller.  These steps assume you are performing a clean Windows 7 install rather than an upgrade, and they might differ depending on your system set-up, but the general principles should be the same.

  1. Download the RAID drivers for your motherboard from the manufacturer’s website and save them to a memory stick.
  2. Back up all your important data!
  3. Turn your PC off and unplug it.
  4. Install 2 hard disks preferably with identically capacity into your PC.
  5. Turn on your PC, press the delete key or F2 key when prompted to get to the BIOS menu.
  6. Find the option to select the RAID mode, save your settings and exit BIOS.BIOS RAID options
  7. On reboot you should see a new menu option to enter the RAID controller settings.  Enter the key combination when prompted to get to the RAID controller menu. AMD RAID controller menu
  8. Create a new RAID array selecting either RAID 0, or RAID 1.
  9. Select the disks that will form the array, save the settings and exit.
  10. On reboot press the delete key or F2 key when prompted to get to the BIOS menu.
  11. Check the boot sequence of your PC and ensure your optical drive is top of the list.BIOS boot sequence options
  12. Insert your Windows 7 disk into the optical drive and exit the BIOS.
  13. On reboot press any key when prompted to boot from the optical drive.
  14. Windows 7 should start installing.
  15. Select your localisation settings and click next.Windows 7 localization menu
  16. Click “repair your computer” and click the ”load drivers” button.Windows 7 install menu Windows 7 load drivers menu
  17. Insert your memory stick and browse to the correct driver and install.
  18. Exit back to the Windows 7 install menu click “Install now” and on the next screen click “Custom (advanced)” to perform a clean install.install-windows-custom
  19. When you are asked where you want to install Windows 7 you should see that the 2 RAID hard disks are now visible as just 1 drive.
  20. Add a partition to the new drive so Windows with be able to recognise it.
  21. Continue installing Windows as normal.

Tags: , ,

Filed under: Windows | Hardware | Storage

Create a Simple Windows Service to Request a URL at Set Intervals

14. April 2009 13:45

I needed a simple Windows Service to request a web page at set intervals indefinitely. Windows Services are the best way of doing this as they have the ability to start automatically when the computer boots up and can be paused, stopped and restarted. You can also get them to write events to the Windows Event log.

I found this Windows Service sample tutorial on The Code Project and downloaded the code to familiarise myself with the basics. The tutorial lacked a timer and the code to request a URL though so I had to add this functionality.

Visual Studio Standard edition doesn't have a Windows Service template, but you can still create a Windows Service, you just need to do a bit of extra work.

After some research and a bit of coding I added two new methods:

private void ServiceTimer_Tick(object sender, ElapsedEventArgs e)
{
this.timer.Stop();
DoWork();
this.timer.Start();
}

void DoWork()
{
WebClient client = new WebClient();
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

Stream data = client.OpenRead(URL to request here);
client.Dispose();
data.Dispose();
}

I overrode the OnStart() method of ServiceBase to enable the timer and start it. I also overrode the OnStop() method to disable the timer.

The DoWork() method simply creates an instance of WebClient and reads in the URL you want to request.

Then in the constructor I set the timer interval and added an event handler to raise the ServiceTimer event when the interval elapses. The event handler simply stops the timer, calls the DoWork() method and then restarts the timer.

public static void Main()
{
ServiceBase.Run(new Service3());
}

public Service3()
{

InitializeComponent();
// Duration 1 hour
double interval = 3600000;

timer = new Timer(interval);
timer.Elapsed += new ElapsedEventHandler(this.ServiceTimer_Tick);

}

To install the Service you need to publish the project in Visual Studio. Then use InstallUtil.exe following the process below:

  1. Open a Visual Studio .NET Command Prompt
  2. Change to the bin\Debug directory of your project location (bin\Release if you compiled in release mode)
  3. Issue the command InstallUtil.exe MyWindowsService.exe to register the service and have it create the appropriate registry entries
  4. Open the Computer Management console by right clicking on My Computer on the desktop and selecting Manage
  5. In the Services section underneath Services and Applications you should now see your Windows Service included in the list of services
  6. Start your service by right clicking on it and selecting Start

Each time you need to change your Windows Service it will require you to uninstall and reinstall the service. Prior to uninstalling the service make sure you close the Services management console. To uninstall the service simply reissue the same InstallUtil command used to register the service and add the /u command switch.

e.g. InstallUtil.exe /u MyWindowsService.exe

When you install the service on a server you can find the InstallUtil.exe in the .NET framework folder e.g. C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

 

Tags: , , ,

Filed under: Windows | Software Development

Time to start testing your websites in Safari on Windows?

22. March 2008 13:31

Apple recently added their Safari web browser to the Apple Software Update and pre-checked the box by default. This effectively means that a lot of Windows users will now, possibly without knowing it, have installed Safari.
I'm not going to discuss the ethics of this practice here, instead read John's Blog - CEO of Mozilla.

But what it means for the humble web designer or developer is that we should really be installing Safari on our Windows machines and adding it to the list of browsers we test our sites against as the number of users is bound to increase as a consequence.

Apple pushed Safari web browser through their Apple Updates service

Competition in the browser business is good and over the last few years Firefox has begun to gain ground on Microsoft's Internet Explorer domination. It has also forced the browsers to become more standards compliant, thereby helping web developers and designers design cross-browser, cross-platform web pages.

According to Apple, Safari is a standards compliant browser built on the open source WebKit project, so hopefully if your pages have been built to W3C standards they will require minimal checking, but it is always wise to test. Apple have a range of web developer resources for the Safari browser, including the Safari CSS support, Safari developer FAQ, and a general web development best practices guide.

Tags: , , , ,

Filed under: Software | Web Browsers | Web Development | Windows

USB U3 Smart Drives: Drives That Make Your Applications & Data Portable

5. January 2008 13:24

USB flash drives have increased in capacity in leaps and bounds since I last purchased one. In the few years since I bought a Crucial 128MB Gizmo!, the price of flash memory has been literally free-falling, due partly to economies of scale and the mass adoption of flash-based mp3 players.
The size and sheer variety of these devices is astounding, but what I wasn't expecting when I inserted the drive was for a Launchpad application to start running, pre-loaded with special software!

SanDisk u3 Smart Drive - Cruzer Micro 4GB

I had in fact purchased a 4GB SanDisk U3 Smart Drive. U3 is a technology developed by SanDisk which effectively creates a platform for developers to build applications that install directly onto the flash drive rather than the host computer. This means that not only can you take your data with you, but you can take your applications too!

U3 Smart Drive Launchpad

When you insert your U3 Smart Drive into a USB slot on any computer, the U3 Launchpad is loaded, which is effectively like the Window's start menu, but instead contains menus to configure the drive, run installed applications and access your data. Nothing is installed on the host PC, so you can take your applications and data with you and its all secure and synced with your data on your PC back home.

The software that's available includes Skype, Firefox, Opera, various password safes, Thunderbird, OpenOffice... The list goes on. Some applications are free, while others cost a small amount of money, but most have downloadable trials. Here's a full list of U3 software.

Watch the video below for a quick guide to the U3 Smart Drive technology.

Tags: , , , ,

Filed under: Gadgets | Hardware | Windows