Might be other, prettier ways to do this but here's one idea.
foo <- data.frame(bar = rnorm(100)) + theme_bw()
p <- ggplot(data = foo, aes(x = bar, y = ..count../sum(..count..))) ## or aes(x = bar, y = ..density..) if you want that
p + geom_histogram(size = 2, colour = "red", fill = "white") + geom_histogram(colour = "transparent", fill = "white")

Edit:
geom_histogram(size = 2, colour = "red", fill = "white")
creates this

I edited the thickness of the outline to size = 2
to make the final output look nice. It looks awful at this stage. To remove the interior lines you add geom_histogram(colour = "transparent", fill = "white")
which will draw another histogram on top covering the interior lines (and some of the outline which is why I think size = 2
looks nice)