
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 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 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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.