Project Overview
This website is my ICT171 Cloud Server Project. The project demonstrates how a personal portfolio website can be deployed using Infrastructure-as-a-Service instead of a website builder or local hosting.
Cloud Infrastructure
Cloud Provider
Amazon Web Services was used to host the virtual server.
Service Used
Amazon EC2 was used to create an Infrastructure-as-a-Service Linux server.
Operating System
The server runs Ubuntu Linux and is managed through the command line.
Public Access
The website is available online using the EC2 public IPv4 address.
Server Setup
I connected to the server using SSH and installed Apache as the web server.
Apache serves this website from the /var/www/html/ directory.
Key commands used during setup included:
sudo apt updatesudo apt install apache2 -ysudo systemctl enable apache2sudo systemctl start apache2sudo systemctl restart apache2
JavaScript Scripting Component
This website includes JavaScript to make the page interactive. The live date and time displayed at the top of the page updates automatically every second.
The dark mode button also uses JavaScript. When clicked, it toggles a CSS class on the page body and changes the visual theme of the website.
The navigation buttons also use JavaScript. When a tab is clicked, the selected section is displayed and the other sections are hidden. This makes the website more interactive than a simple static page.
Feature 1
Live date and time display using JavaScript.
Feature 2
Dark mode button using JavaScript and CSS class toggling.
Feature 3
Interactive tab navigation using JavaScript to show and hide sections.
Testing and Verification
The website was tested in a web browser using the public IP address:
http://15.135.138.233
The scripting output can be verified by watching the live time update at the top of the page, clicking the dark mode button, and switching between the navigation tabs.
Student Details
Name: Aidan Macliver
Student Number: 33401722
Unit: ICT171 Introduction to Server Environments and Architectures
Project: Cloud-hosted personal portfolio website