0% found this document useful (0 votes)
5K views

Summer Internship Report

This document provides instructions for configuring a web server and hosting it through Apache on Amazon Web Services (AWS). It discusses setting up an Elastic Compute Cloud (EC2) instance on AWS, configuring services like virtual hosting and MySQL database setup using Apache. It also covers prerequisites for accessing the EC2 instance securely using SSH keys and PuTTY software on Windows. Key technologies involved include AWS EC2, load balancing, database sharding, Apache web server, and virtual hosting.

Uploaded by

chanchal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5K views

Summer Internship Report

This document provides instructions for configuring a web server and hosting it through Apache on Amazon Web Services (AWS). It discusses setting up an Elastic Compute Cloud (EC2) instance on AWS, configuring services like virtual hosting and MySQL database setup using Apache. It also covers prerequisites for accessing the EC2 instance securely using SSH keys and PuTTY software on Windows. Key technologies involved include AWS EC2, load balancing, database sharding, Apache web server, and virtual hosting.

Uploaded by

chanchal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

 

Report by
​ ​-Kuldeep Aswal 
-Roll no-17135050 
Title:​ ​Configuration Of a Web Server and Hosting it
Through Apache, Amazon Web Services (AWS)

The project is done with the help of below technologies

Data Structures
In Information Technology, a ​data structure​ is a data organization, management,
and storage format that enables efficient access and modification. More precisely, a
data structure is a collection of data values, the relationships among them
Types of data structures are Arrays,Linked lists,stack,queue,Trees,Hashmap,Graphs

Algorithms
An algorithm is a finite sequence of well defined, computer-implementable
instructions, typically to solve a class of problems or to perform a computation.
Algorithms are always unambiguous and are used as specifications for performing
calculations,data processing,automated reasoning and other tasks.
Types of Algorithms -Sorting and searching algorithms, ​Simple recursive
algorithms,Backtracking,Divide and conquer algorithms,Dynamic programming
,Greedy algorithms,Brute force.
Object​-​oriented programming​ (​OOP​)
It's a computer programming model that organizes software design around data,
or objects, rather than functions and logic. An object can be defined as a data
field that has unique attributes and behavior.

Database Management System ​(​DBMS​)


It’s a software for storing and retrieving users' data while considering appropriate
security measures. It consists of a group of programs which manipulate the
database.

Web development
The work involved in developing a Web site for the Internet or an intranet.
Web development can range from developing a simple single static page of
plain text to complex Web-based Internet applications, electronic businesses,
and social network services

Systems design
The process of defining the architecture, modules, interfaces, and data for a
system to satisfy specified requirements. Systems design could be seen as
the application of systems theory to product development.
Project Agenda -
​Set up Elastic Compute Cloud(EC2) web server and configure different services
through Virtual Hosting with embedded Caching and Mysql Host setup.

Technologies Involved -

Amazon Web Service EC2 Ubuntu image instance


Elastic ​Internet Protocol​ (IP) load balancer
Database sharding
Virtual Hosting through Apache V2
MYSQL setup, Version Control(Github)
Domain Name System Configuration and full web stack for our microservice
(HTML,CSS)

Prerequisites -

● Sign into ​AWS console​ and create a free 1 year account


● Create a personal account and not professional
● For Windows user ​install ​putty and ​putty keygen
● We need to know all basic ​Linux Commands
● Version control system (Github)

 
 

We need to login to the Aws console and then select services and go to 
EC2 
Click on instances then launch instance
Step 1.Choose an amazon machine image and select Ubuntu
Step 2.Choose an instance type
Step 3.Configure Instances
Step 4.Add storage
Step 5.Add tags
Step 6.Configure Security groups
Step 7.Review Instance launch-select an existing key pair or launch a new one
(Its SSH key through which I’m going to login to server)
If we create a new one download it
Then launch instance and click view instances

Server

​ erver​ is a piece of computer hardware or software (computer program) that


S
provides functionality for other programs or devices, called "clients". This
architecture is called the client-server model. Servers can provide various
functionalities, often called "services", such as sharing data or resources
among multiple clients, or performing computation for a client. A single server
can serve multiple clients, and a single client can use multiple servers. A client
process may run on the same device or may connect over a network to a
server on a different device.
An EC2 instance is a virtual server in Amazon’s Elastic Compute Cloud for running
applications on the Amazon Web Services infrastructure.

AWS is a comprehensive, evolving cloud computing platform; EC2 is a service that


allows business subscribers to run application programs in the computing
environment. The EC2 can serve as a practically unlimited set of virtual machines

Amazon provides a variety of types of instances with different configurations of


CPU,memory,storage and networking resources to suit user needs. Each type is
also available in two different sizes to address workload requirements.

Instance types are grouped into families based on target application profiles. These
groups include: general purpose, compute-optimized, GPU instances, memory
optimized, storage optimized and micro instances.

Instances are created from Amazon Machine Images (AMI). The machine images
are like templates that are configured with an operating system and other software,
which determine the user’s operating environment. Users can select an AMI
provided by AWS, the user community, or through the AWS Marketplace. Users can
also create their own AMIs and share them.
● Elastic Load Balancing

Elastic Load Balancing​ automatically distributes incoming application traffic across


multiple targets, such as Amazon EC2 instances, containers, IP addresses, and
Lambda functions. It can handle the varying ​load​ of your application traffic in a single
Availability Zone or across multiple Availability Zones.

Database Sharding

Sharding is the process of breaking up large tables into smaller chunks called
shards that are spread across multiple servers. A shard is essentially a horizontal
data partition that contains a subset of the total data set, and hence is responsible
for serving a portion of the overall workload. The idea is to distribute data that
can’t fit on a single node onto a cluster of database nodes. Sharding is also
referred to as horizontal partitioning. The distinction between horizontal and
vertical comes from the traditional tabular view of a database. A database can be
split vertically — storing different table columns in a separate database, or
horizontally — storing rows of the same table in multiple database nodes

Why sharding?

Business applications that rely on a monolithic RDBMS hit bottlenecks as they


grow. With limited CPU, storage capacity, and memory, query throughput and
response times are bound to suffer. When it comes to adding resources to support
database operations, vertical scaling (aka scaling up) has its own set of limits and
eventually reaches a point of diminishing returns.
Apache​- It allows users to use the software for any purpose, to distribute it, to modify it,

also to distribute modified versions of the software under the terms of the license,

without concern for ​royalties​.

The Apache Software Foundation and its projects release their

software products under the Apache License.

Also buy a domain name of any kind from Godaddy website

● Godaddy​ is used as a web host and domain registrar. What that means is when
people want to buy a domain name they can go to GoDaddy and purchase it.
After they purchase the domain name they can host their website with the
service​.

Steps:

Connecting to your Linux instance from Windows using PuTTY 


After you launch your instance, you can connect to it and use it the way that you'd use a 
computer sitting in front of you. 

The following instructions explain how to connect to your instance using PuTTY, a free 
SSH client for Windows. If you receive an error while attempting to connect to your 
instance. 

Before you connect to your Linux instance using PuTTY, complete the following 
prerequisites. 

 
Verify that the instance is ready 

After you launch an instance, it can take a few minutes for the instance to be 
ready so that you can connect to it. Check that your instance has passed its 
status checks. You can view this information in the S
​ tatus Checks​ column on the 
Instances​ page. 

Verify the general prerequisites for connecting to your instance 

To find the public DNS name or IP address of your instance and the user name 
that you should use to connect to your instance ,​Install PuTTY on your local 
computer 

Download and install PuTTY from the ​PuTTY download page​. If you already have 
an older version of PuTTY installed, download the latest version. Be sure to install 
the entire suite. 

Convert your private key using PuTTYgen 

Locate the private key (.pem file) for the key pair that you specified when you 
launched the instance. Convert the .pem file to a .ppk file for use with PuTTY. For 
more information, follow the steps in the next section. 

Convert your private key using PuTTYgen 


PuTTY does not natively support the private key format for SSH keys. PuTTY provides a 
tool named PuTTYgen, which converts keys to the required format for PuTTY. You must 
convert your private key (.pem file) into this format (.ppk file) as follows in order to 
connect to your instance using PuTTY. 

 
To convert your private key 

1. From the S
​ tart​ menu, choose ​All Programs​, P
​ uTTY​, P
​ uTTYgen​. 

2. Under ​Type of key to generate​, choose R


​ SA​. If you're using an older version of 
PuTTYgen, choose S
​ SH-2 RSA​. 

 
3. Choose L
​ oad​. By default, PuTTYgen displays only files with the extension ​.ppk​. 
To locate your ​.pem​ file, choose the option to display files of all types. 

 
4. Select your .
​ pem​ file for the key pair that you specified when you launched your 
instance and choose ​Open​. PuTTYgen displays a notice that the .
​ pem​ file was 
successfully imported. Choose ​OK​. 
5. To save the key in the format that PuTTY can use, choose ​Save private key​. 
PuTTYgen displays a warning about saving the key without a passphrase. 
Choose Y
​ es​. 
6. Specify the same name for the key that you used for the key pair (for example, 
my-key-pair​) and choose S
​ ave​. PuTTY automatically adds the ​.ppk​ file 
extension. 

Your private key is now in the correct format for use with PuTTY. You can now connect 
to your instance using PuTTY's SSH client. 

Now setup version control systems,​Version control systems help you share and 
collaborate on software development projects. Git is one of the most popular version 
control systems currently available. 
Below I will walk you through installing and configuring Git on an Ubuntu 18.04 server. For a more deta
version of this tutorial, with better explanations of each step 

Step 1 — Update Default Packages 

Logged into your Ubuntu 18.04 server as a sudo non-root user, first update your default packages. 

sudo apt update

Step 2 — Install Git 

sudo apt install git

 
 
Step 3 — Confirm Successful Installation 
You can confirm that you have installed Git correctly by running this command and receiving output sim
the following: 

git --version

Output git version 2.17.1

Step 4 — Setup Git 

Now that you have Git installed and to prevent warnings, you should configure it with your information

git config --global user.name "Your Name"

git config --global user.email "youremail@domain.com"

If you need to edit this file, you can use a text editor such as nano: ​nano ~/.gitconfig
~/.gitconfig contents 

[user]

name = Your Name

email = ​youremail@domain.com

Then after going into the server upload any of the content in it and the
server is ready to use.

Conclusion
Configured a web server and then hosted a webservice and created a 301 redirect to demux

Reference links

1. ​https://www.geeksforgeeks.org/data-structures/

2. ​https://aws.amazon.com/
3.​https://hackernoon.com/understanding-git-fcffd87c15a3

4.​https://medium.com/@jryancanty/domain-by-godaddy-dns-by-route53-fc7acf2f5580

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy