Hands-on Linux: Self-Hosted WordPress for Linux Beginners
- 8.5 hours on-demand video
- 1 article
- 1 downloadable resource
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Learn basic Linux system administration by setting up a WordPress hosting platform
- Configure a production-grade WordPress install on Linux
- Set up and configure the popular MySQL database
- Tune webserver performance and set up caching for lightning-fast page loads
- Be comfortable working with an nginx web server
- Configure monitoring for your web hosting server
- Create and manage Linux system users
- Manage Linux file permissions
- Understand the basics of how HTTP, the Web protocol, works
- Understand basic and more advanced Bash shell concepts and skills
- Schedule commands to run periodically on Linux with Cron
- Manage remote servers using SSH
- Automate repetitive tasks with Ansible, a powerful automation and configuration management tool
- Create and Restore website backups, both on the filesystem and in the MySQL database
- Effectively perform security hardening on Linux servers and services
- Know what Linux is
- Know what servers and web hosting are
- Know what an IP address and a domain name are
- Have a working Internet connection and a Windows, Macintosh, or Linux computer to follow along on
- If you already have a webserver somewhere, great! If not, I'll show you how to set one up for around $5/month.
Learn Linux and System Administration basics in a practical, project-based course designed to get you *using* new skills as soon as you learn them.
By the time you finish, this course will have taken you from 'Linux beginner' to the skill level of 'Junior Sysadmin,' and you'll have a production-grade WordPress hosting platform that you can use to host any number of WordPress sites for friends, family, and clients.
Other courses focus on slow memorization of theory, which doesn't always produce the best results. This one throws you into the mix from the word "go." Even if you've never installed Linux before, you'll be installing and configuring software from the command line, managing system services, working with a remote server, hardening security, scheduling backups and testing your disaster recovery plan, performing basic scripting and automation, and setting up monitoring for your infrastructure.
While you're doing this, you'll get a slow drip of theory, giving you just enough background to hang your new practical knowledge on and ensuring that you know what's going on underneath the covers.
Over the course of a few afternoons, you'll have completed a serious (and seriously useful) project, understand the basics of Linux and system administration, and be comfortable on the Linux terminal; ready to take on larger and more complicated projects or build on the foundation of your WordPress hosting platform.
- This course assumes little to no knowledge of Linux, and will teach the basics of Linux and Infrastructure Engineering.
- The course is designed for people who learn technical material best when it's presented in a practical, project-based way.
- Aspiring Linux, Cloud Infrastructure, or Devops Engineers
- The course is designed for people who want to set up a professional-grade WordPress hosting platform (running a WordPress blog or e-commerce site), NOT for people who just want to get a simple WordPress site set up for blogging.
If you want to learn Linux and basic system administration, and you like to learn using a practical, real-life project to get usable skills fast, this is the course for you.
An introduction to the course, along with a quick overview of the requirements/prerequisites you'll need to make the most out of it.
A bit about the instructor and the theory behind the course.
If you're not using Linux as your everyday operating system, you will want to use Virtualbox to set up a Linux install on your existing Windows or Mac system. This will make it possible to launch a virtual Linux operating system from your desktop like any other application.
Throughout the course, we'll be using this Linux virtual machine (VM) as our administration and development platform for the practical part of this course (administrating a live web server).
If you're on Windows, and you want an alternative to Virtualbox, you can try VMWare player. This is essentially the same: an application which allows you to run a Linux operating system *inside* of your existing Windows operating system. There's no major advantage or difference here; I just want to provide more than one option in case you can't use Virtualbox for some reason.
If you're using Virtualbox to run your Ubuntu Linux virtual machine (VM), you'll want to install the Guest Additions. This will make life much more pleasant by giving you a resizable VM window, shared clipboard between your Windows/Mac and Linux virtual machine, and more.
In this lecture, you'll learn about the difference between running a machine at home and running a web-accessible server on the Internet. I'll show you some of the most popular cloud providers where you can rent a Virtual Private Server (VPS) to use for this course. There's even a free option!
In this lecture, I demonstrate setting up a Virtual Private Server (VPS) in one of DigitalOcean's datacenters. The whole process takes about two minutes, and you'll be able to easily adapt the process I show here to other "Cloud" providers, in case you're not using DigitalOcean.
By the end of the lecture you'll have your own little Linux virtual machine (VM), happily running in a datacenter somewhere on the planet. This VM will be where we set up our WordPress hosting platform.
After this lecture, you'll have a basic grasp of how working in a command-line environment works. You'll know some basic commands and be able to move around your Linux machine without using the graphical user interface (GUI).
As a system administrator, you'll be using one tool more than anything else: Secure Shell (SSH). SSH allows you to log into machines halfway across the planet and work on them as if they're right in front of you. In this lecture, we'll get connected to your web hosting server.
Here, you'll learn the most basic system administration tasks on your server: updating and installing software. We cover basic apt-get commands, along with background theory on how software is managed on modern Linux distributions. After this lecture, you'll also understand the difference between normal users and the 'root' (administrator) account.
In this lesson, you'll install all the software that's required to turn your brand new server into a web hosting platform. I'll walk you through all the different moving parts: the PHP programming language/interpreter, the MySQL database, the nginx web server, and the monit monitoring service.
PLEASE NOTE: Due to Ubuntu operating system updates, the package names may be slightly different than the ones I'm using in this video. The "source code on github for installing software" resource will always have the most up-to-date commands you'll need when following along with the video, regardless of your Ubuntu version.
In this lecture, you'll learn how to manage the services you'll be running on your WordPress hosting platform: web services, your PHP services, database services, and monitoring services. We'll cover the following systemd service management commands:
systemctl: start, stop, enable, disable, status
journalctl: (for checking service logs and performing troubleshooting)
An introduction to the most important module of the course: here, you'll be setting up and configuring the software and services that make up your WordPress hosting platform. As you do this, you'll gain the basic Linux skills that every system administrator, devops, and software developer needs.
You'll need more than just the absolute basics of command-line/shell usage with Bash to be a competent system administrator. Here's the rest of the bash basics you need to have under your belt. In this video, I'll cover:
- Hidden files and directories.
- Input and output redirection (appending to files, overwriting files, taking input from a file).
- Logical AND; Logical OR
- Command substitution (how to insert the output of one command into a string, or another command).
- How to use the 'grep' command to search for matching lines in files.
- How to use Pipes in Linux, to connect the output of one command to the input of another command.
This lecture walks you through the basic configuration we need for our nginx web server. You'll find out what all those strange-sounding configuration options are for, and when you finish the lecture your web services will be properly configured for running WordPress.
In this lesson, you'll set up the PHP interpreter which will be running the WordPress application code for all of your sites. You'll learn how this is configured and *why*, and you'll get a better idea of how all of these services we're configuring actually work together to deal with requests from website visitors.
Finally; the WordPress install you've been waiting for! In this module, we'll set up our first WordPress site. This module is also a repeatable process which you can use to set up further sites on your platform.
To tighten up security (and teach you more Linux system administration basics), we'll create a system user for your WordPress site. This will make things safer and easier to administrate, besides teaching you an important basic skill which you'll use all the time.
A guided tour of the most important files and directories in your WordPress install, along with some configuration tweaks to make administrating each WordPress site easier and less time-consuming. This lecture will also give you the theoretical knowledge you'll need for the "backup and restore" section later.
You've got a web server and a website. Now all that's missing is the configuration needed to point your domain name (e.g. udemy.com) to your server. If you've already bought a domain name, this video will show you how to change your DNS settings to point to your web server.
If you haven't yet bought a domain name for your site, I recommend getting started with namecheap.com.
One of the most powerful plugins for WordPress is the WooCommerce e-commerce plugin. This turns a WordPress site into a fully featured online store, and can compete with $10,000 solutions from competitors. A webshop like this is an amazing feature for your customers, so this lecture shows you the very basics.
Even if you don't anticipate spending much time in the WordPress admin interface, a competent sysadmin always understands the software he's hosting. Taking a bit of time to understand the basics (and the most common misunderstandings) will save you hours in troubleshooting, frustration, and communicating with your clients.
A quick walkthrough of the performance optimization I've already baked into the configuration files you used to set up your WordPress hosting platform (and site configuration). If you're wondering what those strange caching rules actually look like, this is the lecture you're looking for.
If someone asks you to set up 50 sites by tomorrow, would you stay up late and manually go through the steps in module 3 again? Or would you automate the entire process and have a cup of coffee instead? The correct answer is "automate and have a cup of coffee." Here is a basic overview of the kind of automation we're talking about.
In this lecture, you'll get a crash course in Ansible, one of the most powerful automation systems that exists right now. Ansible can do configuration management, server provisioning, 'cloud' orchestration, deployment automation, and a whole lot more.
Give it 20 minutes, and you'll never go back to bash scripts.
You need to monitor your WordPress hosting platform: for capacity planning, security, troubleshooting, and just about everything else. In this lecture, you'll set up a small, simple, powerful, and easy-to-use monitoring system that can grow with your hosting platform.
Here, you'll learn how to set up server monitoring with monit. Monit allows you to easily monitor processes, services, files, and more. It also allows you to automatically 'react' to certain monitoring events, and set up e-mail alerting for the server metrics you're monitoring.
To avoid opening up another web service on our server (thereby decreasing our security), I'll show you how to use some of the magical features of SSH to access the monitoring dashboard on your server as if it were running on your local Linux machine. This is a convenient, flexible trick that can occasionally save the day.
In this lecture, you'll set up automatic database backups, and be surprised at how easy the restore process can be. Don't get caught without database backups for your WordPress sites: they take five minutes to set up, and can save you tens of hours (not to mention suffering) later on.
This video shows the entire process for setting up a WordPress hosting server on Ubuntu 18.04 , along with your first WordPress site, step by step. It's a simple video presentation that follows all the practical steps from the course documentation here: https://github.com/groovemonkey/hands_on_linux-self_hosted_wordpress_for_linux_beginners/