
Explore how Linode, an infrastructure as a service platform with data centers across 11 markets, offers beginner-friendly, affordable cloud with easy setup, 100% free human support, and predictable pricing.
Learn how cloud computing provides on-demand, pay-as-you-go resources over the internet, with virtualization and hypervisors enabling scalable provisioning of virtual instances, servers, storage, databases, and networking.
Discover how cloud computing delivers cost efficiency, agility, scalability, reliability, and security, with on-demand resources, fast deployment, global data centers, and shared responsibility model.
Explore cloud computing service models—IaaS, PaaS, and SaaS—and contrast them with traditional on-premises setups. Understand how cloud providers provision resources on a pay as you go basis for each model.
Explore infrastructure as a service (IaaS) and how Linode enables on-demand compute, storage, and network resources. Learn IaaS benefits like cheaper upfront costs, data redundancy, cross regional latency, and security.
Explore platform as a service (paas) where the provider manages software and infrastructure, enabling DevOps collaboration, rapid deployment, scalable resources, and secure data storage.
Explore software as a service (SaaS), a cloud-hosted, subscription-based model delivering web, desktop, and mobile applications fully maintained by vendors.
Explore IaaS, PaaS, and SaaS, and contrast on-premises data centers with vendor-managed SaaS. Learn how PaaS and IaaS sit between infrastructure and software, with market shares and growth projections.
Set up a Linode account to practice cloud computing basics, including signing up, confirming email, entering billing and payment details, and accessing the Linode cloud manager.
Navigate the Linode admin dashboard to manage instances, volumes, block and object storage, explore the marketplace, and access account, support, and learning resources as you prepare for two-factor authentication.
Enable two-factor authentication on your Linode account using Google Authenticator, including a QR code setup and a scratch code to protect access and prevent unauthorized deletions.
Learn to deploy a Linode virtual instance with Ubuntu 20.04 LTS, choose a data center like Newark, New Jersey, select a plan, set a root password, and label the instance.
Explore the Linode instance dashboard, reviewing analytics, networks, and storage, then learn to manage volumes, configurations, backups, and settings, including SSH access and common instance actions.
Learn to securely connect to a Linode instance via SSH for remote administration, performing command-line tasks to update the OS, install software, manage files, monitor performance, and configure security.
Learn how SSH key authentication replaces password-based logins to secure remote access, file transfers, and command execution using private and public keys with OpenSSH tools.
Generate an ssh key pair on windows with puttygen, configure putty to use the private key, upload the public key to linode's authorized_keys file, and enable ssh key authentication.
Generate a 4096-bit ssh key pair on macOS or Linux, protect it with a passphrase, and copy the public key to your Linode to enable secure ssh authentication.
Learn to remotely connect to your Linode instance using the web-based lish console from the cloud manager, log in as root, run commands, and securely terminate sessions.
Add ssh public keys to your Linode cloud manager for future instance deployments. Create a labeled key, paste the public key, and select it during new deployments to provision access.
Discover the Linux kernel, distributions, and bootloaders that connect hardware to processes. Learn Linux security, desktop environments, and common server software like Apache and Nginx.
Explore the Linux file system and its hierarchical tree, learn absolute versus relative paths, and identify key directories like root, /bin, /home, /var, and /var/www/html.
Learn to administer an Ubuntu server using common maintenance commands, including apt update, apt upgrade, apt dist-upgrade, and apt install and remove, to manage packages securely.
Explore linux directory navigation from the root to system root, using pwd, cd, and ls, then create and edit a file with nano in the root home directory.
Learn to navigate Ubuntu directories and manage files with mkdir, mv, cp, rm, ls, and cd, including recursive copying of directories.
Configure Ubuntu basic server by setting the hostname to Saturn, updating the hosts file, and managing time and time zone with time date ctl, including ntp and rtc settings.
Learn how Ubuntu manages root and non-root accounts, the risks of root privileges, and how groups like the pseudo or wheel control access with the pseudo and SU commands.
Create a non-root user named Bob, add him to the sudo group for superuser privileges, verify membership, and prepare to secure Bob with SSH key authentication in the next lesson.
Secure a non-root Bob account by creating an SSH key pair, configuring authorized_keys, and logging in with Bob's private key, then enable sudo and prepare for next step security hardening.
Learn how to harden your Linode server by disabling root login and password authentication, enforcing ssh key authentication through sshd_config and a restart of the ssh service.
Explore how web servers host and deliver static html, images, and dynamic scripts through http, map urls with dns, and respond to client requests, including 404 errors.
Weigh pros and cons of self hosting a website on a home computer versus using hosting provider, focusing on internet speed, power consumption, backups, static vs dynamic IP, and security.
Compare Nginx and Apache to determine the best fit for static versus dynamic content, explore their architectures, modules, and a reverse-proxy setup.
Explore the fundamentals of databases, DBMS, and how data storage and retrieval power web applications. Learn relational SQL and NoSQL distinctions and the role of databases in web apps.
Compare SQL and NoSQL databases by examining relational databases, the role of SQL, and how JSON-stored data in document databases supports diverse relationships.
Compare relational acid transactions with NoSQL CAP-based designs, detailing atomicity, consistency, isolation, durability and how these standards shape reliable data processing in SQL and NoSQL databases.
Explore the CAP theorem for NoSQL databases and how horizontal scaling across nodes enables handling rising traffic, with an understanding of consistency, availability, and partition tolerance.
Contrast SQL and NoSQL characteristics, ACID versus CAP, and data models like tables and JSON documents to guide scalable database choices.
Explore key terms for software stacks, frameworks, and languages, including lamp, mern, and mean stacks, with components like Linux, Apache, MySQL, PHP, React JS, AngularJS, TypeScript, Node JS, and Express.js.
Clarify the difference between frameworks and libraries and explain inversion of control, highlighting examples like AngularJS, Vue.js, Express.js, ReactJS, and PHP frameworks such as Laravel Code and Igniter.
Distinguish client side from server side scripting languages and their front end and back end roles, with HTML, CSS, JavaScript on the client and PHP, Python on the server.
Install and configure a lamp stack on Ubuntu via command line, setting up Apache, MariaDB, and php, securing MariaDB, and verifying php integration on the server.
Install a lamp stack via the Linode marketplace one-click app during deployment; configure root password and ssl on Ubuntu 20.04, test with IP and Apache2.
Test PHP on an Apache server by creating a PHP info page in the web root (/var/www/html), view PHP configuration and version details, and securely remove the test file.
Learn how to connect PHP to a MariaDB database, create a non-root user with privileges, and manage a name_list table with inserts and a select query.
Create and run a PHP script in the web root to connect to MariaDB, retrieve records from the name list table, and display them as an HTML ordered list.
Learn to administer a Linode instance by setting up an xfce graphical desktop on Ubuntu server via the glitch console or ECS, including updating packages.
Secure your hosting environment by applying foundational server security principles and configuring firewalls. Learn to monitor traffic and mitigate DDoS, directory traversal, and brute-force attacks with Apache configurations.
Configure a firewall to safeguard your server by filtering incoming data and requests; network and hosted firewalls act as software or hardware inspecting ports 80 and 22 to block threats.
Configure a network firewall in the Linode console to block inbound http requests on port 80, using inbound and outbound rules, test changes, and save them, with a drop action.
Secure your Linode server by changing the SSH port to a custom number, restricting SSH access to trusted IPs, and validating the setup with firewall rules.
Enforce a strict default deny inbound policy on your Linode and add HTTP, HTTPS, DNS (TCP/UDP 53), MySQL/MariaDB (port 3306), and ICMP rules to secure your web app.
Secure your Linode web server with a hosted firewall using ufw on Ubuntu. Enable default deny, allow http, https, 53 for DNS, and 3306 for MySQL, and restrict SSH access.
Explore vertical and horizontal scaling in Linode, upgrading single instances and adding nodes with a front-end load balancer and health checks to distribute load.
Discover vertical and horizontal scaling on Linode, power off and resize to 4 GB RAM, 2 CPUs, 50 GB storage, and prepare for reboot with optional disk resize.
Configure a node balancer to horizontally scale Linode deployments. Distribute HTTP traffic across two private servers using round robin with HTTP status checks.
Swap the public IP addresses of two Linode instances (production VM and test VM) via IP transfer, verify with hard refreshes, and update the hosts file.
Back up Linode instances with disk images, using manual snapshots or automated backups, including fully managed backups, scheduling, limits (6 gb, 25 images), and deploying from saved images.
Create a custom Linode image by ensuring the source disk stays under six gigabytes, then deploy and reuse the image for new or rebuilt nodes.
Enable the Linode backup service on a test instance, set manual and automated snapshots with daily backups and up to two weekly backups, and learn auto enrollment and volume cloning.
Explore how PHP powers server-side web scripting with speed and cross-platform compatibility. Learn how Apache processes PHP via a built-in plugin and how PHP works with MySQL databases.
Set up and launch a local WAMP or MAMP server to test PHP scripts in the web root folder, organizing sites in dedicated folders like PHP lessons for testing.
Configure a wamp or mamp server, create a php file that echoes hello world, and view it at localhost PHP lessons intro dot php to confirm php is working.
Learn to open and close PHP tags, embed PHP in HTML, use echo with semicolons, and write comments, while recognizing variable case sensitivity and error display.
Learn how PHP variables act as containers for numbers and text, declared with a dollar sign, and echoed for display.
Understand how global and local scope variables work in PHP functions, including accessing outside vs inside a function and echo statements showing undefined variable errors.
Use the PHP global keyword to access global variables inside a function, summing X and Y (30 and 20) to update y to 50, with the globals array holding variables.
learn how the static keyword preserves a local variable's value across function calls, initializing x to ten and incrementing to eleven, twelve, and thirteen with each execution.
Compare PHP echo and print for output, noting echo supports multiple parameters and is faster, while print handles a single value. See examples with strings, HTML, variables, and sums.
Explore PHP data types: string, integer, float, array, null, and boolean, with examples of variables, quotes, and var dump outputs for a scalable blog app.
Define a class with properties like first name, last name, and age to build objects. Use public properties and a Hello method, create objects with new, and echo personalized output.
Explore essential PHP string functions, including word count, reverse, position, and replace, and see how they manipulate and search strings like hello world.
Discover how PHP operators are organized into arithmetic, assignment, comparison, increment and decrement, logical, string, and array groups, with practical echo examples and browser outputs.
Explore PHP conditional statements, including if, else, else if, and switch, with examples showing how to print condition met for x under 50 and condition not met otherwise.
Explore PHP elsif statements to build a grading system that converts a 0–100 score into letter grades F through A plus, using if, elsif, and else conditions.
Master the PHP switch statement by showing how an expression matches cases like Volvo, BMW, or Honda and executes the corresponding output, with a default fallback.
Discover PHP loop constructs, including while, do while, for, and foreach, and see how conditions and increments govern repeated execution and output.
Learn how to use the PHP for loop to execute code a set number of times, and the foreach loop to iterate arrays and output each value with echo.
Explore PHP functions, including built-in and custom functions, and learn to define, call, and pass arguments using echo outputs and multiple parameters.
Explore PHP arrays, including indexed, associative, and multidimensional arrays, and learn to access elements by index, use the count function, and loop through values and keys.
Explore how to build and access multi dimensional arrays in PHP by storing student names and two test scores as arrays within an array, and retrieving values using zero-based indices.
Learn how PHP sorts arrays using the sort function to arrange elements alphabetically or numerically, including sorting associative arrays by value or key with ascending and descending options.
Explore PHP superglobals, built-in and always accessible, with examples of a global variable accessible outside a function, and server, request, post, and get providing headers and server name like localhost.
Learn to process html form data with php, connect a form to a php script via the action attribute, validate inputs on the server, and compare get and post methods.
Demonstrate linking an html form to a php script and comparing post and get methods, showing how first name and email data are transmitted and why post protects sensitive info.
Add PHP form validation by requiring name and website with the empty function, display red errors when fields are missing, and only output data when validated.
Explore PHP input validation using the match function to enforce names with letters and whitespace and ensure website formats are correct.
This course is designed to provide students with a comprehensive understanding of cloud computing and server deployment using Linode. The course starts by introducing students to cloud computing foundations and service models. Students will gain an understanding of cloud computing technologies, including virtualization, containers, and microservices. They will also learn about the benefits of cloud computing, including scalability, flexibility, and cost savings.
Next, the course will delve into cloud server deployment on Linode. Students learn to set up a Linode account and deploy a virtual server in the cloud. Students gain practical experience by deploying Linux servers and configuring various services, such as web servers and databases. Students also learn about Linux foundations, including command-line tools, file systems, and user management.
After understanding the basics of cloud computing and server deployment, the course will introduce students to web server and database foundations. They will learn several web server technologies such as Apache and Nginx, and database technologies such as MySQL, MariaDB and MongoDB. Students also learn about LAMP stack, which includes Linux, Apache, MySQL/MariaDB, and PHP. Students gain practical experience by installing and configuring LAMP stack on their Linode server.
The course then covers the foundations of server security. Students learn to secure their Linode server by configuring firewalls, securing SSH access, and using SSL certificates. They also learn about best practices for securing web servers and databases.
Once students have gained a strong understanding of server deployment and security, the course covers server scaling. Here, students learn how to scale their Linode server by adding resources such as CPU, RAM, and storage. Students also learn about load balancing and auto-scaling, which are important concepts for ensuring high availability and scalability of cloud-based applications.
The course then dives into server images and backups. Students learn how to create and restore server images, which are useful for deploying pre-configured servers quickly. They will also learn about backup strategies and best practices for ensuring data reliability.
The next topic covered in the course is PHP foundations. Students learn about the PHP programming language, including syntax, data types, and control structures. They also gain practical experience by writing and executing PHP scripts.
Finally, the course will culminate with students building a members-only blog using PHP and MySQL. Students will apply the knowledge they have gained throughout the course by creating a web application that requires user authentication and allows users to create and edit blog posts. They will also learn about best practices for designing and developing web applications.
This course is designed to provide students with a comprehensive understanding of cloud computing, server deployment, and web application development. Students will gain practical experience by deploying virtual servers in the cloud, configuring web servers and databases, and building web applications using PHP and MySQL. By the end of the course, students will have the skills and knowledge necessary to deploy and maintain cloud-based applications with confidence.