Create a web page with a simple cgi script which prints the


Task 1:

Users

To do some basic administration work using common tools and configure/ install a package.

Please note - in order to do this task, you will need to install a recent Ubuntu Server. YOU MUST NOT INSTALL UBUNTU's LAMP FEATURE SET.

Managing Users

Answer the following questions.

1. Consult the man page for the useradd command. Write down the command you would enter to create a account for the staff member Steven Jobs. The user should have a home directory in /homeand should belong to the apple group.

2. Write a script called remove_user.sh which manages the deletion of users. The script is to have the following usage $ remove_user.sh [USER]

The should tar up and compress the users directory and place it in a safe location - the file should be in the form of USER-DDMMYY.tar.gz where USER is the users, user name.

To delete the account use the standard utilities provided by the operating system.

Task 2:

To become familiar with monitoring platforms such as Nagios.

Nagios is a piece of open source software that allows administrators to monitor hosts and services in an modern computing environment. Nagios can be found at the website https://www.nagios.org/.

Your job this assignment is to create a host that will perform monitoring of a number of University services/ hosts. You are do document every step of the process and provide evidence i.e. screen shots.

Step One

You are to install CentOS onto a virtual machine - you can download this from the AARNET mirror. You should use VMware.
You are not to install Apache or Postfix as part of the OS install process.

In addition to this you are to create a user and group called nagios. Be sure to document the entire operating system install process.

Step Two

Ensure you have Apache and MySQL on your operating system. You may have to install these and configure them appropriately. You will also need a compiler.

In the case of Apache, nominate a directory on the file system to be the server root (and also the root). This server root should actually be the place where the Nagios CGI utilities are stored. You are to make this either /usr/local/sbin/nagios or /opt/local/sbin/ngaios. Refer to the Nagios literature to understand this better.

Within Apache be sure to provide full CGI execution to the CGI components housed in the nominated path.

Once you have done this, you should restrict access to this directory using Apache's Basic Auth facility. Simply create a .htaccess file with a valid password.

Be sure your web server and MySQL server has an appropriate start-up script so they starts automatically at boot.
Document the entire install, configure and testing process for this web server.

Step Three
Now you need to install Nagios and its Plugins - you are to do this by hand. Use the default options and be sure to refer to the Nagios Website for further information.

Make sure the nagios user/group has full read/write/execute privilege to the Nagios hierarchy on the file system.

Document the entire process.

Step Four

Your job is now to set up Nagios - refer to the Nagios literature when doing this. Your configuration at a minimum must do the following:

a) define two time periods
a. One time period is to represent 24 x 7.
b. One time period is to represent 8 x 5 (9am - 5pm business days).

b) Define two contacts one called operations and server_admins.
a. server_admins should monitor hosts and services 24 x 7. They should receive all notifications for services but none for hosts. Notifications should be sent by email to server_admins@localhost.
b. operations should monitor hosts and services 9 - 5. They should receive all notifications for services and hosts to the email address

operations@localhost

c) Define a contact group for your two contacts - call it itadmins. You can use any other details.

d) Monitor the following hosts using ping:
a. wumpus.its.uow.edu.au
b. banshee.cs.uow.edu.au
c. wraith.its.uow.edu.au
d. vpn.uow.edu.au
All notifications should go to server_admins and operations during their support periods.

e) Monitor the following services
a. smtp.its.uow.edu.au
b. www.uow.edu.au
Using Nagios's appropriate protocol tools. These services should be monitored 24 x 7 with notifications going to both server_admins and operations during their respective periods.

Please note you have some flexibility on options and other parameters, so make sensible choices.

Once you have edited the appropriate configuration files, start ngaios with the ngaios user created.

Document the entire install and configure process.

Demonstrate that your monitoring is working. You will need to ensure that Nagios's web configuration allows your authenticated web user to see all features.

Step Five

For both server_admins and operations you are to send a SMS.

You will now need to make these aliases execute a script when a event is sent to them typically from ngaios.

Before you do this however you will need to sign up for a free account at smsglobal.com. You will be given a username and password. Once signed up you will be able to send SMS's to phones using HTTP strings. You get 25 free chances.

A SMS can be sent using a HTTP request like:

https://www.smsglobal.com/httpapi. php?action=sendsms&user=dsaffi&password=33562891&&from=61 419333596&to
=61419333596&text=Hello%20world

Your job is to make it so that when a email is sent to the above email addresses an SMS containing the message from Nagios is sent off. You may have to simplify the message from Nagios in order to fit it in a SMS.

The SMS for both accounts can be delivered to the same number for illustration purposes. Implement a program in the language of your choice. Be sure to document the source and demonstrate the program.

Please note, if you are doing this from within the University you will need to consider the impacts of an authenticated proxy.

Step Six

Out of the Box nagios writes its events to log files which is great. For this part of the task you are to make it so that you use the NDOUTILS package. To get this to work you will need to have MYSQL working.

Once you got this working ensure NAGIOS logs to the NDOUTILS Database. You will have to compile this module and install it accordingly.

Step Seven

The final step of this task is to create a web page with a simple CGI script which prints the status of the service(s) ie UP, DOWN etc.
To do this you are to use the data stored in the NDOUTILS database. The page should display all services and refresh after 30 seconds. You can be as creative as you like when representing the status. My feeling is a box for each service with a RED or GREEN indication for whether or not it is up or down.

This will need to be a CGI script written in the language of your choice e.g. PHP or Python. Remember you might have to install a run time for your language along with the libraries to talk to the database.

Request for Solution File

Ask an Expert for Answer!!
PHP Web Programming: Create a web page with a simple cgi script which prints the
Reference No:- TGS01216282

Expected delivery within 24 Hours