Final Requirements

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

CLOUD COMPUTING

IT APPDEV 4
Name: Azurin, Ma. Jessabel M. Course & Year: BSIT 3C
Lugo, Kaye T.

CHARACTERISTICS APACHE NGNIX WEB SERVER


a. Basic  Multi-threaded Approach  Event-Driven Approach
Architecture  Apache is an open-source web server that is  Nginx is an open-source web
designed to run on Unix or Linux operating server designed to run on
systems. Unix or Linux operating
 Apache is designed to be highly scalable and systems.
is capable of handling up to 10,000  Nginx has a wide variety of
simultaneous connections on a single server. modules available to extend
its functionality.
b. Performance  Apache is well known for its reliability,  Nginx is known for its
(static and speed, and security when it comes to serving extreme speed when it comes
dynamic web both static and dynamic web content. to serving both static and
content)  Apache is particularly well-suited for high- dynamic web content.
traffic and static content-heavy websites.  Nginx is also able to handle
slow requests better than
Apache, meaning it's a great
choice for handling
unexpected traffic spikes.
c. Operating  designed to support almost all the operating  Nginx is a lightweight web
System Support systems available and is the most widely used server that is available for
web server platform. Linux, Windows, and Mac
 It is available for Linux, Windows, Mac OS, OS.
and open-source Unix variants.  It has limited support for most
operating systems and is
better
suited for high-performance
deployments than Apache.
d. Centralized  uses a centralized configuration that is  Nginx uses a decentralized
configuration configured in only one file. configuration which is
 This centralized configuration can also be configured across multiple
used to set up global administrative privileges files.
for users.  It is also more difficult to
enforce global administrative
privileges for users with a
decentralized configuration.
e. Request  Primarily file-based  Primarily URL-based
interpretation
f. Feature module  Multi-processing modules  Serving static and index files
 Per-directory configuration support  Open file descriptor cache
 Reverse proxy with caching  Accelerated reverse
 Load balancing IPv6 compatible proxying with caching
 Supports HTTP/2  Load balancing and fault
 XML support FTP support (with a separate tolerance
module)  IPv6 supported, not enabled
by default
 Supports HTTP/2
 Mail proxying
 HTTP caching
g. Flexibility  is highly flexible and configurable, especially  very flexible and the
for experienced users, allowing them to adapt configuration is quite
features from the wide array of modules intuitive.
available.
 It’s also relatively simple to customize  The number of modules
without too much knowledge of web servers. available for Nginx is not as
large as Apache, but it's still
possible to customize and
tweak a web server with the
options that are available.
h. Security  Adjust configuration to prevent DoS attacks.  Lower the risk of potential
Some of the relevant directives for this vulnerability exploits by
are RequestReadTimeout, disabling unwanted modules.
KeepAliveTimeout, and TimeOut.  Disable
 Adjust permissions on ServerRoot directories. the server_tokens directive,
 Be careful with Server Side Includes (SSI). which makes your Nginx
 Be careful with CGI scripts. version publicly visible.
 Protect system settings  Disable unnecessary HTTP
against .htaccess overrides by configuring the methods.
server configuration file.  Control resources and limits
to prevent potential DoS
 Watch your logs.
attacks.
 Keep the server up to date.
 Set up, configure, and
monitor access and error logs
to understand the state of the
server better.
 Include security headers.
 Keep the server up to date.
i. Support  Apache HTTP Server Documentation  Community operated mailing
 Apache HTTP Server Users List list
 IRC  IRC
 Stack Overflow  Stack Overflow
 Commercial support by 3rd party providers  Paid official support for
Nginx Plus

2. Step by step process of website hosting using ngnix webserver. Installing ubuntu webserver
with gui to uploading a website with ngnix webserver.

1. Install Ubuntu Operating System


The first step is to install a Linux operating system. We recommend installing Ubuntu, one of
the most popular Debian-based distributions. If you are a Windows user, you can choose whether to
do a dual boot or a fresh installation. As for Linux users, you may skip this step.You can download
the Ubuntu installer from the official directory. After that, create a bootable USB drive using third-
party software, such as Rufus. Once finished, boot Ubuntu OS from the USB, and follow the
installation wizard.
2. Install the Apache Web Server
There are multiple steps to install and configure Apache, which we will cover in this section.
Installing SSH Client
Before installing Apache, you need to install the SSH client on your Linux computer. First, open
Terminal by pressing Ctrl + Alt + T and type the following command to check for updates and upgrades:
Verifying the Apache Installation
CLOUD COMPUTING
IT APPDEV 4
Name: Azurin, Ma. Jessabel M. Course & Year: BSIT 3C
Lugo, Kaye T.

After successfully installing Apache, verify the installation by entering this URL into your web
browser’s address bar: http://<your_ip_address_here>.
To find your local computer’s IP address, navigate to Settings → Network, then click the gear icon on
your current network interface. You can find your IP address’ information on the Details tab.
3. Install MySQL
MySQL will be the database management system for your web application. To install MySQL, enter
the command below in the Terminal window:
1$ sudo apt-get install mysql-server

The installer will prompt you to create a password for the MySQL root user. After that, check the
status of the MySQL service using the command below:
1$ sudo systemctl status mysql

4. Install PHP
PHP is a web server scripting language for executing applications. Installing the stable version of PHP
and its additional modules is highly recommended. So, in the Terminal window, input the following
command:
1$ sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql php-cgi php-curl php-json

Once completed, check if you have successfully installed the latest PHP version using the command
below:
1$ php -v

5. Make a Directory for Your Domain


After successfully installing the LAMP stack, you can set up the virtual host. First, you must create a
specific directory for storing your website files.
Use the command cd to move from your active directory to the /var/www directory. Open Terminal
and enter the following command:
1$ cd /var/www

After that, create a directory using the command below:


1$ sudo mkdir -p /var/www/domainname.com/

Remember to replace domainname.com with your own website’s domain name.


6. Create a Sample Web Page for Testing
After creating the directory to store your website files, create an HTML file or a sample web page
using a text editor.

\
7. Create a Virtual Host File and Activate It
At this stage, we have successfully created a local website directory and a sample web page. The next
step is to make the website accessible online. To do that, create a virtual host file inside the Apache
default directory.
8. Test Virtual Host
The final step is to test the virtual host. But first, it is important to perform error testing on the virtual
host configuration. Type the command below in the Terminal window:
1$ sudo apache2ctl configtest

If there is no error, the output of the command will show the confirmation message: Syntax OK. In
that case, restart the Apache service using the sudo systemctl restart apache2 command.
Finally, you can test your virtual host by entering your domain name in the web browser’s address
bar. If the web browser displays the sample web page, you have successfully created your own server.
created your own server.

You might also like