Yes, either a copy of CRAN or a repo with local packages is easy to set up. Presumably you want this for Windows so do this:
- Create a top-level directory on your webserver, say
R/
- Create the usual hierarchy in there:
R/bin/windows/contrib/2.11. If you need to support other (earlier) releases, simply create directories 2.10, 2.9, ... next to the 2.11 directory.
Place the packages you need into the directory (say, 2.11), then change into that directory and run
tools::write_PACKAGES(".", type="win.binary")
That is all there is to it -- now you can access the repository by pointing to the address given a command such as
update.packages(repos="http://my.local.server/R", ask=FALSE)
which I even do in R/zzz.R for local packages so that they update themselves.