
Linode, an infrastructure as a service platform with 11 global data centers, offers affordable, beginner-friendly cloud deployment with a simple api and free human support.
Learn how cloud computing enables on-demand provisioning of servers, storage, databases, networking, and analytics over the internet, with scalable resources via virtualization and pay-as-you-go models.
Discover how cloud computing delivers cost efficiency, agility, faster time to market, scalable resources, and improved reliability and security through on demand provisioning, backups, and shared responsibility.
Explore the three cloud service models—IaaS, PaaS, and SaaS—and compare them to traditional on-premises setups, including pay-as-you-go resources and cloud tenants.
Discover how infrastructure as a service provides scalable, on demand compute, storage, and network resources via Linode, with virtualization and pay-as-you-go benefits for e-commerce, development, AI, and disaster recovery.
Explore platform as a service (PaaS) and see how it enables scalable, managed software across the full application stack for DevOps, APIs, data analytics, and IoT.
Learn software as a service, a cloud application model where subscription-based apps are hosted and managed by vendors, with data storage and middleware, delivered via web, desktop, or mobile clients.
Contrast the three cloud service models—on premises data centers, IaaS, PaaS, and SaaS—and observe how control and cost shift from self-managed infrastructure to vendor-managed software.
Set up a Linode account by signing up, confirming your email, entering billing and payment details, agreeing to the master services agreement, and accessing the cloud manager.
Navigate the Linode cloud manager to access instances, volumes, object and block storage, and the marketplace, while using the account dashboard and help resources.
Enable two-factor authentication on your Linode account using knowledge and possession factors, set up Google Authenticator, scan the QR code, enter the generated token, and safely store the scratch code.
Deploy a Linode virtual instance by selecting an Ubuntu 20.04 LTS image, choosing a data center, and configuring resources and security before provisioning.
Explore the Linode instance dashboard to verify provisioning status, view analytics and resources, access SSH commands and public IPs, and manage volumes, configurations, backups, and settings.
Connect securely to a Linode instance to administer it—update the operating system, install software, manage files, monitor performance, and configure security patches in firewalls.
Explore password versus SSH key authentication, learn how SSH keys provide secure remote access with a private/public key pair, and generate keys to connect to Linode instances.
Generate an SSH key pair on Windows with Putty and Putty Gen, save the keys, configure Putty to use the private key, and upload the public key to Linode.
Generate a 4096-bit ssh key pair on macOS or Linux, save as id_rsa and id_rsa.pub with a passphrase, copy public key via ssh-copy-id to your Linode, and login via ssh.
Shows remotely connecting to a linode instance using the web-based lish console from the Linode cloud manager, with root login and terminal-style commands, and emphasizes exiting sessions for security.
Add an SSH public key to your Linode cloud manager to enable future instance deployments by labeling the key, pasting the public key, and selecting it during deployment.
Learn the Linux kernel and distributions, including Ubuntu, compare Linux to Windows, and discover Apache and Nginx, scripting languages, and databases such as MySQL, MariaDB, and PostgreSQL.
Explore the Linux filesystem and its hierarchical directory structure, learn absolute versus relative paths, and identify key directories such as /root, /home, /bin, /var, and /etc.
Master Ubuntu maintenance commands, including apt update, apt upgrade, and apt dist upgrade, to keep packages current. View upgradeable packages with apt list --upgradable and manage software with apt install.
Navigate the Linux file system with pwd, cd, and ls to move between root and system root and explore the /var directory, then create and edit files with nano.
Create directories with mkdir, move and copy files using mv and cp, and navigate with cd and ls while applying recursive copy and removal with cp -r and rm -r.
Configure a Ubuntu server by changing the host name with hostnamectl, updating hosts file, and setting time zone and RTC with time datectl to ensure accurate local and UTC times.
Learn how to manage non-root user accounts and groups to restrict administrative access, preventing root-level risks. Explore the pseudo and su distinctions and plan secure privileges for scalable cloud deployments.
Create a non-root user named Bob, add him to the sudo group to grant superuser privileges, and verify his presence with user and pseudo group checks.
Secure a new non-root user account with SSH key pair authentication by creating Bob's keys, configuring authorized_keys with a passphrase, and granting sudo access.
Disable root login and password authentication to strengthen server security, enforce ssh key authentication, modify sshd_config, restart ssh, and verify access with key pairs.
Explore how web servers host and deliver content by examining hardware and software roles, http request-response flows, dns mapping, and 404 handling.
Compare self hosting on a home computer with using a hosting provider, highlighting limits in internet speed, power, backups, dynamic IP, security, and scalability.
Compare Nginx and Apache to understand which suits static versus dynamic content, architecture, and modularity. Explore how reverse proxy configurations and load balancing leverage their strengths for scalable web hosting.
Explore how databases store and retrieve data for web apps. Define databases and DBMS, and compare relational SQL and NoSQL solutions with the roles of backups, monitoring, and recovery.
Explore the differences between SQL and NoSQL databases, including relational DBMS, one-to-many relationships, and NoSQL categories such as key-value, document, wide column, and graph; compare use cases.
Compare relational and non-relational databases, detailing acid transactions and the cap theorem, with notes on exceptions where sql offers partial acid support.
Explains the CAP theorem for NoSQL databases, showing CA, CP, and AP trade-offs among consistency, availability, and partition tolerance.
Compare sql and nosql databases by contrasting acid versus cap, rigid schemas versus flexible structures, and scale up versus scale out; note document stores MongoDB and key-value stores Redis.
Define key terms such as software stack and popular stacks like lamp, mern, and mean, then compare components from Linux, Apache, MySQL, and PHP to React, Angular, Node.js, and Express.js.
Explore the difference between frameworks and libraries, including inversion of control and opinionated versus unopinionated design, with examples such as Reactjs, AngularJS, Vue.js, Express.js, Django, and Flask.
Distinguish between server-side and client-side scripting languages, understand runtime interpretation, and recognize examples like PHP, Python, Node.js, Ruby, Perl, HTML, CSS, and JavaScript in front-end and back-end roles.
Install and configure the lamp stack on Ubuntu via command line, setting up Apache, MariaDB, and PHP, securing the database, testing the web server, and verifying PHP integration.
Learn to install lamp stack with a one-click app from Linode marketplace during deployment, configure the MySQL root password and ssl, select Ubuntu 20.04 LTS, and test via server IP.
Demonstrates testing php on apache by creating a php info page in the web root, verifying php configuration, and securely removing the test file.
This lesson demonstrates how to test a MariaDB connection from PHP by creating a database and non-root user, granting privileges, and building, inserting, and querying a sample table.
Create a php file in the web root, connect to MariaDB with defined credentials, and output the name list as an HTML ordered list.
Learn to set up a graphical desktop on a Linode Ubuntu server using the glitch console, install xfce, and access web root files like index.html and list_underscore_names.php in /var/www/html.
Explore foundational server security principles for protecting hosting environments, including firewall configuration, network monitoring, and best practices to defend Apache web servers from DDoS, directory traversal, and brute force attacks.
Configure a firewall to safeguard your server by filtering incoming data and scanning for threats. Implement rules for http port 80 and ssh port 22.
Configure a network firewall in the Linode cloud console to control inbound and outbound traffic, add an inbound rule to block http on port 80, and verify changes.
Change the ssh port from 22 to a custom port and restrict ssh access to trusted IP addresses using the Linode firewall, then test connectivity.
Set a strict inbound firewall policy by dropping default traffic and enabling http port 80, https port 443, dns 53 tcp/udp, mysql 3306, and icmp; save changes and test Apache.
Configure a hosted firewall with ufw on Ubuntu, enabling a default deny, allowing essential ports like 9555, 80, 443, 3306, and 53, and restricting ssh by IP.
Learn vertical and horizontal scaling in Linode, upgrading a single instance or adding nodes behind a front end load balancer with health checks guiding traffic.
Demonstrates vertical scaling on Linode by resizing a nano 1gb virtual machine to a 4gb plan, adjusting storage to 50gb, and rebooting. The next lecture covers horizontal scaling.
Learn to horizontally scale apps on Linode using a node balancer that distributes traffic between two cloned servers with private networks, using round robin and HTTP status health checks.
Swap public IPs between production and test VMs in the Linode cloud console using IP transfer, then verify with Apache pages and update the hosts file.
Explore how to back up Linode instances using disk images and automated backups, compare manual image creation with the backup service, and deploy new instances from saved images.
Create a custom image from a Linode by ensuring the primary disk utilization is under six gigabytes, then deploy a new instance from that image and explore image management options.
Enable the Linode backup service for a test instance and create a manual snapshot. Set up automated daily backups with a three-slot rotation (daily, 2–7 days, 8–14 days).
Terminate all Linode instances and delete unused volumes and images via the management console to prevent charges, then optionally close the account under settings if you won't use it again.
Develop hands-on skills to deploy scalable cloud instances, secure servers with non-root accounts and network firewalls, and use remote ssh for linux to install web stacks.
Welcome to our latest course, where you will have the opportunity to build customizable and highly scalable React Web Apps on Linode. In this course, you will learn the skills necessary to set up and deploy a remote instance on Linode, as well as the foundational knowledge of Linux and Ubuntu, web servers, and databases. By the end of the course, you will have built and deployed a fully functional E-Commerce site on a remote cloud server.
In the first section of the course, we will introduce you to the basics of cloud computing and the different service models available, including IaaS, PaaS, and SaaS. You will learn about the advantages of using cloud computing and how it can benefit your projects.
Next, we will guide you through the process of setting up a Linode account and deploying a remote instance on the platform. This will include configuring your instance, setting up networking, and securing your instance with firewalls.
In the third section, we will delve into the foundations of Linux and Ubuntu. You will learn the basics of the command line interface, file system navigation, and basic Linux commands. This will be essential for managing your remote instance on Linode.
We will then cover the basics of web servers and databases, including LAMP stack (Linux, Apache, MariaDB, and PHP). You will learn how to install and configure LAMP stack, as well as how to use it to serve your web applications.
In the fifth section, we will focus on server security, including network and software firewalls. You will learn how to secure your server and protect it from potential threats using popular utilities like UFW, and custom Port configurations.
From there, we demonstrate how to scale servers vertically and horizontally using application load balancers. This will include using web servers like Apache and Nginx to distribute traffic and ensure high availability for your web applications.
Finally, we will delve into the world of React.JS. You will learn how to build a calculator, a connect-4 game, and an e-commerce site using React. You will learn about the basics of React components, state, and props, and how to use them to build dynamic, interactive web applications.
By the end of this course, you will have a solid understanding of how to use Linode to set up and deploy remote instances, as well as the foundational knowledge of Linux, web servers, and databases. You will also have the skills to build dynamic and interactive web applications using React.JS.
This course is designed for developers who are new to cloud computing and want to learn how to use Linode to build web applications. Some basic knowledge of web development and programming concepts is recommended but not required.
If you're ready to take your cloud computing and web development skills to the next level, this course is the perfect place to start! Sign up now to get started.