since my website would have too much data to upload it via my isp, do I need to have a Linux server, or can my Linux desktop do this?
You can use dyndns
to get a fixed URL (like http://yourname.dyndns.org
) for your own computer. And yes, you can install a HTTP server (and more) on a desktop machine (although any application that's not needed for the server tasks (like a web browser) might be a security risk, theoretically).
# can Nvu make all those elements? If not, what Linux software can, given that I do not want to learn to code HTML at this point?
# Can Dreamweaver do it? If so, can I build it with Dreamweaver and then host it on a Linux server?
No, not at all. With those tools, you can create plain HTML pages, but not server-side
logic means to dynamically
output (like HTML pages); it's a kind of pre-processing.
Common languages for that are PHP, ASP.NET (Windows-only), Java, partly Python. PHP is the simplest and most common one.
# view pictures and be able to download large copies
# enter a section that ...
Learning how to accomplish (server-side) programming will cost you several man-months, at least. Moreover, these tasks are very common, and should be already implemented in many content management systems (CMS)
. CMS's have a lots of popular modules which you can include or exclude. So I'd suggest to focus on them.
For a start:
(BTW, that's included with the Ubuntu repositories - well, I'm joking - as it's going to be a bit harder than just installing some pre-configured software)
Be warned, there'll be a steep learning curve. Getting your tasks done is half a vocational training, at least.