{{:wiki:logo.png|Xev Net Docs}} ====== Xev Net Docs ====== ===== A Web Hosting Guide ===== ==== Summary ==== In this guide we will learn how to setup servers in various locations around the world and install and setup all of the needed software to run a web hosting company. The knowledge shared here is an accumulation of decades worth of research and education. We will start from scratch and build a robust network of KVM Virtual Private Servers (VPS) for all of our hosting accounts. Using a KVM VPS pool allows us to build our infrastructure on a small budget. This infrastructure eliminates the need for a RIR account and costly ASN/IPv4/IPv6 resources that may be needed for other infrastructures such as those using colocated servers. This is perfect for an entry level web host or for those who just want something to provide hosting for some friends, family or a small organization. We will use ISPConfig to manage our hosting accounts, Blesta to manage the billing and our own BTCPay server to process our payments for free. Along the way, we will learn how to setup a plethora of services and software. In the end we will have a fully functional web hosting company. The steps in this guide are meant to be followed in sequence. Performing steps or commands out of sequence may result in catastrophic failure. ==== Virtualization ==== When purchasing a VPS plan, it's very important to pay attention to the type of virtualization that the server uses. Providers offer many types of server virtualization, including OpenVZ, KVM and others. Make sure you do not get an OpenVZ plan, as it is not compatible with the setup described here. Our setups all use KVM, but types other than OpenVZ may work. ==== Color Convention ==== We will use two different background colors in our setup guides for input and output code. The text in the input code boxes is text that is supposed to be entered on the command line. Sometimes there is more than 1 line of text in the box. To make things more efficient, all of the lines in a single box can be copied and pasted into the SSH terminal window at once. This is input code The text in the output code boxes is the output text that is displayed on the command line after entering input code. This is output code ==== Naming Convention ==== * Server hostnames are named with three letters after the city in which they are located followed by an incrementing two digit number. * Looking glasses are named lg on a subdomain hosted as a separate site.