Applies to recent versions of Minetest 0.4.
See Minetest-c55 Forums' Mod Releases and Modding General sections or the mods wiki page.
If you are running Microsoft Windows and downloaded the package distributed by celeron55, or use a RUN_IN_PLACE version, your mods folder is:
minetest-base-directory/mods/minetest/
If your minetest is a system-wide installed version on Linux your folder is something like (create if needed):
~/.minetest/mods/minetest/
Also you can put mods in (might be useful for adventure worlds or something)
your-world-directory/worldmods
Extract the mod to your mods folder. You're done!
The directory structure for mods looks like this (in this, there are mods bucket, default, experimental and give_initial_stuff, but they could be anything):
mods base directory (eg. mods/minetest/ or whatever)
├── bucket
│ ├── depends.txt
│ ├── init.lua
│ └── textures
│ ├── bucket_lava.png
│ ├── bucket.png
│ └── bucket_water.png
├── default
│ ├── init.lua
│ └── textures
│ ├── default_apple.png
│ ├── default_book.png
│ ├── ...
│ ├── default_tree_top.png
│ ├── default_water.png
│ └── default_wood.png
├── experimental
│ ├── depends.txt
│ └── init.lua
└── give_initial_stuff
├── depends.txt
└── init.lua