Ever wanted to setup your own web server to host a website or share files with family? Creating a web server is really easy to do and we’ll show you everything you need to get started.
In this tutorial, we’ll install all of the components required for setting up of a web server on a ServerMania server. This will setup all of the basic components of a web server. If you will be hosting many sites, or want more robust site management, you should install a control panel like cPanel instead.
Why should I use an external server for my web server instead of a computer in my house?
There are many reasons why you should use a ServerMania Hybrid, Cloud, or Dedicated Server to set up your web server instead of setting up a web server at home
- Cost: While it may sound cheaper to use that computer lying around doing nothing when creating your web server, when you factor in the cost of powering an old computer 24 hours a day, it can get very expensive. A 250W desktop computer running 24 hours per day at 12 cents per KW/h is a whopping $262.00 per year! Not to mention the costs of internet, hardware replacement, etc. It is much cheaper to rent a ServerMania server each month in the long run.
- Reliability: Consumer grade internet and computer hardware is not designed for the stresses of 24×7 usage and connections from around the globe. ServerMania on the other hand, uses enterprise grade hardware and connections to ensure everyone can connect to your server at lightning fast speeds.
- Support: One of the major drawbacks of hosting your own website is that you are responsible for any support issues. With ServerMania, you get 24×7 support included with every server so you know we’re always here if you need help.
Components of a Web Server
There are several major components to setting up a web server: This is often referred to as the LAMP Stack.
Linux: The operating system behind the LAMP stack is Linux. It’s a lightweight and secure OS, making it one of the most popular choices for the best web servers.
Apache: This is the software used to power the HTTP protocol which delivers web content from the server to the web browser.
MySQL: A popular database engine used for database driven websites.
PHP: A popular language of many websites, PHP is required for popular website scripts like WordPress.
The system requirements for setting up a personal web server depend on the type of sites you intend to run. The minimum requirements are as follows:
- A ServerMania Hybrid, Cloud, or Dedicated Server
- CentOS 7+
- 512MB RAM
- 2GB Disk Space
Database driven sites may require greater system resources to run effectively.
Connect to root via SSH to your ServerMania server.
Install utilities wget,screen, and unzip which are required to execute the installation script:
yum -y install wget screen unzip
Download the LAMP installation script from github using wget:
wget --no-check-certificate -O lamp.zip https://github.com/teddysun/lamp/archive/master.zip
Unzip the installation files:
Change into the lamp-master folder:
Set the installation script to be executable:
chmod +x *.sh
Open a screen to start the installation process:
screen -S lamp
Execute the install script:
Complete the following steps during the install process:
- Choose an apache version. We recommend the latest version listed.
- Select the database you wish to install. We recommend MySQL and selecting the latest version.
- Click enter to use the default MySQL data directory
- Enter a MySQL root password
- Select a PHP version. We recommend selecting the latest version.
- Install any required PHP modules. php-imagick is a good option if you’re not sure what you need.
- Select 1 to install PHPMyAdmin
- Press any key to begin the install process
Managing Web Server Components
Now that your LAMP stack is installed, you can use these commands to start, stop, and restart components of the web server:
Creating a New Site
Now that the LAMP stack is installed, you can now setup your first website on the web server.
The following command will add a site to your apache configuration file:
Follow the steps in the script, providing the domain name and database information (if required).
You can now add files to the directory of your website. The default directory is:
You can use the scp command from your local machine to upload files to the directory:
Pointing a Domain to the Web Server
You will need to login to the admin interface at your domain registrar. Our tutorial did not setup any nameservers on the server, so you will need to use an external nameserver provider. Most domain registrars provide this for free.
Simply copy the IP address of your server into the A record of the domain name DNS zone file.
Once you point the A record of the domain to your servers public IP address, the data in this folder will be visible for users in their browser.
You have now setup your web server. You can now install popular software to your web server like WordPress, or upload files to the server for download by users.