With the growing prominence of the Internet across the globe, the number of Internet user has also increased. To maintain user databases on online services and to sustain online activities, additional server capacity was needed to provide a reliable and centralised data control.
There has always been a misconception that a server is no different from a typical PC. Although a desktop PC equipped with powerful hardware can perform tasks that are also performed by servers, it doesn't make it a true server. A true server is a dedicated device that manages the network resources and provides functionalities for other devices in a network.
A server is designed to carry out specific tasks such as data processing, sending and retrieving data throughout its lifetime. Accordingly, a server is equipped with powerful hardware and software, making it capable of carrying out these aforementioned tasks. There are different types of servers there serve different purposes. Although there is a wide range of servers available, they can be broadly classified into four categories: the FTP servers, proxy servers, web servers, and the game servers.
An FTP server is a dedicated server that keeps running on a system utilising File Transfer Protocol to store and share data over a network. FTP servers are largely based on client-server networking model for their functionality. These servers also allow a user to connect to a server remotely through an FTP client using a valid username and password.
Deploying an FTP server
Deploying an FTP server is similar to deploying a web server, which we'll discuss below. That said, both these servers use the Internet protocols for communication between a client and server. The only difference among them is that the FTP server doesn't run web pages like the web servers do, although some can be used for the same thing (someone may use an FTP server to upload files to a website, for instance).
Converting a normal home PC to an FTP server is a relatively simple task, as the process is aided by a large number of third-party applications. An FTP server can be deployed in two ways in any system: utilising IIS (Internet Information Services) to act as an FTP server, or through a third party application such as FileZilla or Serv-U.
Configuring IIS as an FTP server
- Click on the Start button on your Windows based PC/laptop and open Control Panel
- Click on Add/Remove Programs and select Turns Windows features on or off
- Now select Internet Information Services (IIS) and click on its details
- From the IIS dialogue box, enable the File Transfer Protocol (FTP) services, and continue with the installation process.
- Once the installation process is completed, navigate to Control Panel > System and Security > Administrative tools > IIS Manager and create a valid self-signed certificate for the FTP server.
NOTE: During the installation process the Windows Component Wizard might prompt you for an installation CD of Windows. If it does, please put in the Windows CD for the installation process to complete.
Once installed, you can now use FTP services through IIS on your Windows PC and can start transferring files to other client systems connected to the same network. But before doing that, a user must first configure permissions to other users enabling them to access the files.
Setting up an FTP server using a third party application (FileZilla)
- Before starting up with the installation process, you first have to create a hostname with NoIP to start using an FTP server via FileZilla or any other third-party application. Otherwise, you can just remember your IP address, but having some memorable DNS resolution is better.
- Firstly, download the free FileZilla Server application.
- Once the file is downloaded, start the installation process.
- When the installation is completed, you can now setup an administrative password to the server.
- Now you can make different groups of users and add client systems in these groups. Moreover, different permissions can be assigned to different groups.
- When a user is added to any group, the admin needs to set up a password for each and every user who connects to the FTP server.
Setting up an FTP server using any of the available third-party application requires a similar installation process as that of FileZilla.
Irrespective of the process of setting up an FTP server, do note that if you wish for a more secure experience, assigning user permissions and setting up a proper certificate is a vital aspect here. That said, proper user rights and a self-signed certificate should set up during the installation process to avoid any further consequences such as data theft or data misuse.
Proxy servers are intermediary servers which reside in between a client application (usually a web browser) and the original server. The primary purpose of this server is to filter user requests to improve the performance of an entire system. If a request from a user can be fulfilled by the proxy server, the request is resolved by the proxy server; otherwise, the request is forwarded to the actual server.
Besides passwords and encryption techniques, proxy servers are also used to secure a network. A proxy server is largely used to block or allow access to blacklisted sites and is used in content filtering. When a user uses a proxy server on a device, then that device will enter the Internet via a completely anonymous IP address. Moreover, a proxy server can separate the Internet and intranet within a network to filter all the inbound connections, making a local intranet even more secure.
But before using a proxy server, do note that there is an equal amount of risk associated with it. Although connecting to the web using a proxy server is a way to protect your online anonymity, improper use of these proxy servers can bring a lot of complications to data and to user privacy. When you access a webpage using a proxy server, all the data packets flow through a third-party server before reaching the actual server. These third-party servers are not always reliable and can easily hijack sensitive information such as credit card details and bank account credentials. Additionally, these third-party intermediate servers can also facilitate virus attacks on the system as they may or may not be protected. Finally, the most vital threat using a proxy server is that of identity theft. By using a proxy server you are actually giving your authentication rights to a third-party server, which can easily abuse your own identity.
Below we're going to cover how to use a proxy and how to set up a proxy. A proxy server can be bound to a particular system or a group of systems within a network. To use proxy internet services, there are two simple ways: one being the use of a system’s browser to get the benefits of proxy Internet services and the latter being the use of a third party application.
Setting up a system’s browser (Internet Explorer 6.0) to serve as a proxy server
- Open the Internet Explorer and navigate to the Tools menu > Internet options > connections tab > LAN settings.
- In the LAN settings, under the proxy server enable the use of a proxy server for your LAN option
- In the address bar, type the proxy IP address and enter the port value that is used by a proxy server for a client connection.
- Click OK to apply the changes.
NOTE: A proxy server can also be installed on most browsers including Firefox, Opera, Safari, Chrome, and Netscape. Although the process might slightly vary from the above one, it still essentially is the same process to set up a proxy server.
Using a third party application to set up a proxy server
As mentioned earlier, there are a lot of third-party applications such as Google AppEngine, WinProxy, CCProxy, and AnalogX to set up a proxy server. Although the installation process in these applications might vary, it is hassle-free and is guided by the installation wizard of that particular application. All these applications work pretty much similarly to each other in terms of providing proxy server functionality.
Web servers are primarily meant to serve users through web pages by providing content, generating responses to the user’s online requests, and offering various other functionalities. Web servers usually use HTTP (Hypertext Transfer Protocol) to provide information to users across the World Wide Web.
Deploying a web server is a process of providing strong and reliable system to handle serving a web page to an end user. This seemingly simple task is not actually quite simple. Deployment of a web server can be done in several ways, but here's the Windows and Linux way:
Deploying a web server using IIS
A web server can be deployed using IIS in Windows OS. But to do that, you will first have to install Web Platform Installer (Web PI) or the Web Deploy MSI to deploy a web server. Both the aforementioned methods have a similar installation process which is guided by an installation wizard. Moreover, these application packages also bundle additional software required for the functionality of a web server such as MySQL and PHP.
Deploying a web server might be very simple, but properly maintaining that deployed web server requires a lot of skill and cautiousness. There are several risks associated with running a web server. A user has to carefully monitor the network and traffic flow in the system and should keep the system patched. Moreover, maintaining software application blacklists and whitelists to ensure only desired software can be executed as well as keeping a backup of the entire system are few more ways to safeguard a web server.
Deploying a web server using Linux
On a Linux machine, you can easily install a web server. Either download Apache or ngnix, the two most common web server platforms, by either going to their project homepages or doing it through your distribution. In other words, on a Linux shell, you can run one of the following lines depending on what installer you have on your system:
# yum install apache
# dnf install apache
You may need to install dependencies, and if you want additional functionality, you'd want to download other associated applications such as MySQL (or mariadb, available as a MySQL replacement) or PHP. Apache/ngnix is just the server, but those other applications make the server work.
Out of the box, your Apache setup should work and run on HTTP port 80. Just be sure to add MySQL/mariadb for database support and PHP for PHP code support (you may need the devel libs as well for various additional components).
A game server acts as an authoritative source in multiplayer video games to handle multiple gaming devices on a network. A game server might be either a local server or a remote server. That said, a game server can be implemented either on a normal PC/laptop or can be implemented through a remote host. Unlike all the aforementioned other types of servers, a game server is largely focused on entertainment rather than productivity.
A game server can be generally classified into two types, i.e, a listen (local) server and a dedicated server. In the case of a listen server, one of the client systems itself acts as a server to all other clients and can support a maximum number of 16 devices at a time in a network. On the other hand, a dedicated server simulates all the gamers across the globe, supporting direct inputs and outputs. However, a user needs to create an account on the remote game server to enjoy the perks of that particular game. Multiple remote servers means multiple logins to be maintained across the board, since they are not utilizing a centralized database.
Deploying a game server on a local machine
Configuring a local system in a network to function as a server differs from game to game. However, in all of the multiplayer games, setting up a local connection of games is assisted by an installation wizard, making the process easy. The only prerequisite to start this local deployment is that all the devices must be connected to the same network.
Deploying a dedicated game server
Setting up a dedicated game server can be done in multiple ways, but many opt to use a cloud based server or an Ubuntu server. The other way is to obtain the server software from the official game site to deploy a dedicated game server.
Setting up a game server results in a good number of user benefits, such as access to voice chat servers, remote management, and complete access to the game and gamers. However, there are an equal number of disadvantages associated with setting up a game server: high usage of Internet and bandwidth, excessive usage of memory in the system, and an increased threat of virus attacks from other client systems in the network.
On a conclusive note, regardless of its type, a server is meant to simplify the user experience in a network-related environment and is meant to support the user in terms of productivity, connectivity, and entertainment. When utilised properly, servers can truly benefit the user. However, lack of cautiousness and even a slight negligence in their implementation can have a similarly significant negative impact on an entire group of systems and might also result in an unrecoverable loss.