Though an answer has been accepted, I needed some additional steps to make this work. I also wanted to import The End (which didn't exist when this queston was asked and answered). So here are full, updated instructions for others with this problem.
Note: I installed Spigot rather than Bukkit. Spigot is a speed-enhanced fork of Bukkit, and the same migration process should work for both as of this writing.
In the following instructions, [worldname] is your world's name. By default, this is the word world, unless you have created a new world with a different name.
What causes the problem
The underlying problem is that, as of this writing (version 1.7.2), Bukkit and Spigot store world data files in somewhat different locations than Vanilla does.
All of them store The World in the same place:
- Minecraft: /[worldname]
- Bukkit: /[worldname]
But the Nether is here:
- Minecraft: /[worldname]/DIM-1
- Bukkit: /[worldname]_nether/DIM-1
And The End is here:
- Minecraft: /[worldname]/DIM1
- Bukkit: /[worldname]_the_end/DIM1
When you install Bukkit or Spigot, they create those new top-level directories for the Nether and The End. When I did this, the installation process imported a modified/damaged verison of my Vanilla Nether. The End, however, was completely reset: all our changes were gone, and the Ender Dragon was alive again even though we'd defeated it earlier.
How to fix it
To migrate your Nether and The End from Vanilla to Bukkit/Spigot, copy the files in like this:
- Stop your server.
- Make a backup copy of your World data from /[worldname]
- Install Bukkit or Spigot, either manually or through a Minceraft host's control panel.
- Start your server.
- Confirm there are new directories /[worldname]_nether and /[worldname]_the_end.
- Stop your server.
- Delete directory /[worldname]_nether/DIM-1
- Using the World backup from step 2, copy /[worldname]/DIM-1 into /[worldname]_nether/DIM-1
- Delete directory /[worldname]_the_end/DIM1
- Using the World backup from step 2, copy /[worldname]/DIM1 into /[worldname]_the_end/DIM1
- Start your server
If anything seems to have gone wrong, you can undo the process by reverting to Vanilla and then copying back your /[worldname] backup files.