Small Buisness Network Environment

Small Business Network Environment

The goal of this project is to provide a small business with the necessary tools

to build a functional infrastructure for their company. This guide will help you

set up an Apache web server, FTP, NFS, DNS, and VPN. This is a step in the right direction for any small business

infrastructure.

ITIS 2110L-L02 Team Kombol

Team #4 2016/04/25

Small

Buisness

Network

Environment

Christopher Lau Kyle Poitinger Azhar Toqeer Thomas Washington Michael Foley

Small Business Network Environment

Introduction

The goal of this project is built some infrastructure for a small business, allowing them to host their own web server and access it remotely in multiple different ways. Apache will be the web server of choice in this project but there are many other open source alternatives that work. We will also implement a local DNS server for internal domain name resolution. This will provide administrative users on the server the ability to use domain names to access network locations in oppose to IP addresses. FTP and VPN allow remote users to access the server and manipulate data within it.

FTP (File Transfer Protocol) is a technology that is very useful for any server environment where files need to be added and removed. This transfer protocol is especially useful for a web server as it allows a website to be updated with ease. You make changes to files on your local machine and transfer the file to the root directory of your website. This updated file can then be accessed by the internet over port 80.

VPN (Virtual Private Network) is also a great tool to have in a network environment. This is a single server network so VPN does not really get used in full fledge for this project but when adding other network locations, this technology becomes extremely useful. When you have a VPN enabled on your network, remote machines can use specific credentials to access the network. VPN enables a remote machine to act as if it was part of the local network, giving you access to network locations and other things that may be local area specific. This is extremely useful for a small business because it allows employees to work from home or other remote locations.

There are so many benefits to hosting your own web server, especially if you have a physical server at the office. In this project, we cover hosting a web server through Amazon AWS which is a cloud server service but having a physical server gives you complete control over hardware specifications. Whenever you host a website through a data center like GoDaddy or HostGator, you just don't get the control over the server like you do with a self-hosted web server. People run into many problems with server specifications and these hosting services attempt to control what you can and cannot do. Of course this is also going to be much cheaper than hosting through a company, especially if you are planning a long term deployment. On average, hosting will cost between $3-$10 and depending on how much traffic you are expecting, it could cost more than that. Having complete and total control over the server itself is the main reason to host a local webserver and the gratification that comes from instant changes and results to the server will pay for itself. In this project, we use a free EC2 instance through Amazon that is running Ubuntu Server.

Small Business Network Environment

We also made an attempt to add NFS (Network File System) to the server but were not able to do so. We will cover this in more detail later in this document.

Amazon EC2 Virtual Server Hosting is a cloud computing solution for developers. It allows you to host a small virtual server for free or a large farm of higher capacity virtual servers for a monthly price. It is very useful because you can fire up an instance of multiple different types of servers in less than 5 minutes and then you can run with it. Another benefit of using Amazon EC2 is that it gives you full control over your server. There is not much that you can't do with it compared to a physical server on location. It is also very secure and reliable. Using a virtual cloud server is great for someone that is just getting started with this type of stuff because you do not have to worry about the maintenance of any hardware. It uses Amazon's sturdy infrastructure and data centers to provide you with a reliable server environment. Below are the steps to get you started with your own Amazon Cloud Server running Ubuntu Server.

1. Create an AWS account and login to the dashboard. You should see a large list of services available to you through EC2.

2. Click on EC2. Click on the "Launch Instance" button.

3. You will be presented with default AMI(Amazon Machine Images) that are built into EC2 for your convenience. For this project, we choose Ubuntu as it was most familiar to the group members and is well documented throughout the internet.

4. The next screen presents the instance types that are available through AWS. The free instance is called "t2.micro" and can be used for low to moderate network performance. Paid options are available but we will use the free option for this project.

5. After this, you can click on "Review and Launch" and then launch the instance. You will be directed back to a screen that hosts all the instances you are currently running. You will see that I have two instances running but the one that is being used for this project is called "2110 Project."

6. The next thing we must deal with is the IP address of the instance. By default, Amazon provides you with a private and public IP address. The problem is, both of these are

Small Business Network Environment

dynamic and are liable to change at any given time. Amazon had addressed this problem by adding a service they call "Elastic IP" which gives you access to a Static IP address for your server. Look at the menu items on the left side of the Instances screen and you will find "Elastic IP" under the "Network and Security" section. Click on it and you will be taken to the Elastic IP screen. Click on "Allocate New Address" and click "OK." At this point you should see a new address pop up. This is the static IP you will use for the server. It is very important to use a static IP for your web server because the DNS server of your choosing will not update instantly with your dynamic IP when it changes. Right click the address and allocate it to the instance you created in the previous steps. The final product should look like this.

7. The next important step is to open up the necessary ports to receive incoming and outgoing traffic on your server. Amazon provides you with a graphical interface for doing this. Navigate back to your instance and click on it. Scroll down in the details section at the bottom of the screen until you see "security groups." Create a new security group with whatever name you please. Right click it and click "edit inbound rules." This will allow you to open up ports for inbound traffic on the server. We are going to initially open up port 80 for HTTP traffic, port 20-21 for FTP traffic, port 22 for SSH traffic, and port 5900-5950 for VNC remote desktop traffic. You will see that I have opened up some other ports but the ones listed below are what we will be working with initially. To set up a new rule, a. Click "Add Rule" b. Type: Custom TCP Rule c. Protocol: TCP d. Port Range: Port #

Small Business Network Environment

e. Source: Anywhere (You may want to change this at some point for security reasons but leave it at this for now)

8. Once you save this, you are ready to start working with your server. At this point you may be wondering how in the world we are going to access the server. How do we make changes to it?

PuTTY is an SSH and telnet client developed for Windows. It allows the user to connect to a secure command line interface on their server to make changes remotely. SSH is one of the most secure ways that you can connect to a server and make changes. Whenever you fire up a new server instance on Amazon EC2, you are going to have to use SSH to make initial changes. Some server administrators with years of experience with the CLI could completely manage a server through PuTTY. Since we are beginners, we are going to want to install a lightweight desktop environment and the necessary tools to use a remote desktop client. Below are the steps you must follow to set up PuTTY, connect to the server with SSH, install a lightweight GUI desktop environment, and set up VNC server for remote desktop access.

1. Go to and download and run it on your client machine. Make sure that you have created and inbound rule for port 22 in the previous steps or this will not work.

2. Remember the .ppk authentication file that EC2 made you create before you launched your instance. This is the key that will be used to SSH into the system. You will need to download another small piece of software to convert that .pem file to a .ppk file that PuTTY can understand. Head over to and download the puttygen.exe. Once it is up and running, click load and locate the .pem file that you got

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download