It's actually simpler than one would think, the first server would be getting Minecraft server software or so-called server .jar. Those can be downloaded from minecraft.net but usually, servers use modded software such as Bukkit, Spigot or even PaperSpigot. If you're just starting out I'd suggest you use Spigot.
After getting your server .jar you can simply start it, it works on Windows or Linux and your servers will startup, you will be able to connect and play. Of course, there are a few settings you should look into it, like server.properties and be sure you've set up proper network port forwarding if you want others to be able to connect to your server.
Next thing to look at would be Minecraft plugins or Spigot plugins, one of the most common plugins is Essentials plugin, it adds various features, including administration commands like ban and jail. At this point it might also be a good idea to start building your server builds, since you need at least server spawn.
Once you're all good and ready, the last step is to add your server to Minecraft server list, since this will help you get more players and promote your server. With Minecraft server lists it's also a good idea to have Votifier plugin running on your server.