Summer Internship Report
Summer Internship Report
Report by
-Kuldeep Aswal
-Roll no-17135050
Title: Configuration Of a Web Server and Hosting it
Through Apache, Amazon Web Services (AWS)
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.
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 -
Prerequisites -
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
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
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?
also to distribute modified versions of the software under the terms of the license,
● 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:
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.
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.
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.
To convert your private key
1. From the S
tart menu, choose All Programs, P
uTTY, P
uTTYgen.
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
Logged into your Ubuntu 18.04 server as a sudo non-root user, first update your default packages.
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
Now that you have Git installed and to prevent warnings, you should configure it with your information
If you need to edit this file, you can use a text editor such as nano: nano ~/.gitconfig
~/.gitconfig contents
[user]
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