header 2000

Welcome to one of our most challenging courses, Create Your Own Linux Server. Don’t worry. If you have completed all of our previous courses, you can handle this course too! In all of our previous courses, we solved the server problem by putting our websites on a server with a shared hosting account. This can be a good idea as the hosting accounts takes care of most of the security issues and software updates. We also used a tool called Cpanel which makes it very easy to add websites to our shared hosting account. Cpanel allows us to ignore all of the hidden and messy details of configuring the database associated with our website.

In this course, we will take off our training wheels and learn how to create our own Linux server and then install our website on our own server. An important question is why anyone would want to build their own server when using a shared server is so cheap and easy?

The answer is that, if you want to start your own online business or help others with their online businesses, you or they may need to use some kind of private server for security and data control reasons. Setting up your own private server can eliminate the need to store your important data and your customer’s important data in the cloud – assuming you take precautions to fend off all of the hackers who will be trying to access your server shortly after you go online.


You also have total control over your server. For example, with a shared hosting account, if another person on that account starts sending out a bunch of spam emails, everyone on the server can have their emails black listed. Having your own server allows you to more carefully control the kind of emails going out from your server.

Third, if you are running a bunch of online courses, with a shared hosting account, you are likely to run into the issue of maxing out your connections. Imagine you have been hired to run a Moodle online courses program for a college with a few hundred students. During testing season, many of them may be using the server at the same time. But the connection limit on shared servers is often as low as 20 to 40 students at a time. This is OK if you only have a couple of courses. But if your Moodle courses grow over time, you will soon need to know how to set up your own server.

Fourth is the issue of cost. You can set up a server for a very low price. Nearly everything we will use in this course is free. Meanwhile, a shared hosting account might start out at $10 a month. But as your business grows and you add more content and or more websites, shared hosting can quickly rise to $50 or even $100 per month. You may have some old computer sitting in your garage that can do the same job for free.

Finally, there is the issue of getting a job. If you have experience in running your own server, you can translate this into a job working on servers for a major corporation. You will need more skills than we cover in this course. But this course can be a great introduction to more complex server skills and server courses.

To make the learning process as easy as possible, we will begin by installing a local host or local server on our current computers using a program called LAMP – which stands for Linux, Apache, MySQL and PHP – the four main programs used by nearly all servers. Linux is the operating system. Apache is the web server, MySQL is the database and PHP is the program that runs the database. Thankfully, we will have Graphic User Interfaces (GUIs) we can use for most of the learning. There will be almost no coding involved.


We will then review our various options for creating a real server. One option is that old computer in your garage. Bring it to class and we will help you turn it into a Linux Home Server. If you do not have old computers laying around, another option is to set up a virtual private server through a company like Digital Ocean. This is harder than using a shared hosting account. But it does give you full control over your own computer. Digital Ocean has trial programs that are free to extremely cheap.

The server market is a rapidly evolving field and there are likely to be additional options available as time goes by. We will therefore not be posting articles on this topic for several months. But the following is a rough outline of the course:

1 Setting Up a LAMP server on your current computer.

3 Practicing with MySQL and PHP MyAdmin

2 Adding a website to a LAMP server and Adding Encryption to Your website

4 Connect your server to the Internet

5 Options for a real Linux Server

6 Install LAMP on a VPN

7 Install a website on LAMP

8 Manage your Server

9 Trouble Shooting

10 Server Security