• Professional Development
  • Medicine & Nursing
  • Arts & Crafts
  • Health & Wellbeing
  • Personal Development

Course Images

Hands-on Linux - Self-Hosted WordPress for Linux Beginners

Hands-on Linux - Self-Hosted WordPress for Linux Beginners

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 8 hours 32 minutes

  • All levels

Description

Master the art of self-hosting WordPress on Linux with our comprehensive video course, designed to empower technical professionals to fully control their web presence.

Embark on a transformative learning experience, starting from basic Linux server setup to deploying and managing a full-featured WordPress website. You will start by familiarizing yourself with virtual environments and foundational Linux commands, then swiftly move into remote server management, using industry-standard tools like SSH. You'll gain first-hand experience in configuring web servers with Nginx, managing databases, and ensuring your WordPress site is primed for performance. As you progress, the course delves deeper into the administrative aspects of WordPress, guiding you through user roles, content management, and e-commerce integration with WooCommerce, shaping your site into a versatile online store. Beyond setup, this course elevates your skillset to tackle real-world sysadmin challenges-performance optimization, security hardening, and automation using Ansible-giving you the confidence to manage multiple WordPress instances with ease. The closing sections are dedicated to ensuring the longevity and reliability of your hosting environment, teaching you monitoring with Monit, secure data handling, backup strategies, and disaster recovery techniques. By the end, you'll have not only launched a WordPress site but also ensured its ongoing integrity and efficiency with professional-grade sysadmin skills.

What You Will Learn

Install and configure Linux on virtual machines
Set up and secure Nginx and MySQL for web services
Optimize server performance for high-traffic WordPress sites
Deploy and customize a WordPress site from the ground up
Harden server security and implement SSH best practices
Automate repetitive tasks with Ansible for efficient site management

Audience

This course is ideal for beginners to Linux and those interested in DevOps and Cloud Infrastructure, aspiring engineers, and software developers seeking infrastructure insights. It's tailored for learners preferring hands-on projects and those aiming to understand professional-grade WordPress hosting, not just basic site setup.

Approach

A practical, project-based approach guides beginners from Linux basics to professional-grade WordPress hosting, emphasizing hands-on learning, real-world application, and continuous skill development.

Key Features

From virtual machine setup to advanced server management, follow clear, sequential video tutorials designed for beginners * Equip yourself with professional sysadmin abilities that are indispensable for managing modern web platforms * Beyond setup, learn to secure, optimize, and maintain your WordPress sites against evolving digital challenges

Github Repo

https://github.com/PacktPublishing/Hands-on-Linux---Self-Hosted-WordPress-for-Linux-Beginners

About the Author
David Cohen

David Cohen is a seasoned system administrator, DevOps engineer, and software developer with experience spanning small businesses, mid-size companies with over a hundred employees, to large tech and engineering firms boasting staffs exceeding ten thousand. He is currently honing his skills as a Site Reliability Engineer (SRE) at a leading tech unicorn. Throughout his diverse career, David has concentrated on Linux, Cloud Infrastructure, DevOps, and programming in languages such as Python, Ruby, JavaScript, and Go, with a special emphasis on web security. He has an impressive track record, which includes contributing to the design of two Tier-4 data centers and serving as an infantryman. David's passion for teaching and technology shines through on his tutorialinux YouTube channel, where he has empowered tens of thousands to master both the fundamental and intricate aspects of system administration and software engineering.

Course Outline

1. Introduction

Dive into a course featuring a project-based approach, promising deeper skill retention, guided by my tech industry insights. Get up to speed with the prerequisites, then explore a clear roadmap of the valuable knowledge and skills you'll acquire.

1. How this Course is different from what you're used to

This course uses a project-based approach, which is different from what you're probably used to. Here's a overview of how this is different, and why it's better for your skill development and retention. In this lecture, I also share a few more details about my background in the tech world.

2. Course Requirements

An introduction to the course, along with a quick overview of the requirements/prerequisites you'll need to make the most out of it.

3. What This Course Will Give You: Step by Step

A full introduction to what will be covered in the course.

2. Let's Get Started

Learn to set up a virtual Linux operating system using VirtualBox or VMware Player on your existing Windows or Mac system, providing a practical platform for web server administration and development. This section covers everything from downloading Ubuntu, installing it on your chosen virtual environment, to configuring additional features for a seamless virtual experience.

1. Option 1: Install Virtualbox

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

2. Install VMWare Player

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.

3. Download Ubuntu

Here, you'll download an image file (.iso) of the Ubuntu Desktop operating system. If you're comfortable with Linux, or running a different distribution which you want to use for this course, that's perfectly fine.

4. Install Ubuntu on Virtualbox

If you've never installed Linux before, this lesson will walk you through the process of installing it side-by-side with your existing operating system (Windows or Mac OS) using the Virtualbox software we downloaded earlier.

5. Configure Guest Additions on Virtualbox

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.

6. ALTERNATIVE: Install Ubuntu on VMWare Player

If you're using VMWare instead of Virtualbox to run your virtual machine, the install process is slightly different. This video will walk you through the process, if you need help.

3. Your First Linux Server

This section guides you through the essentials of web hosting with a VPS, including cloud provider selection, secure server access with SSH keys, and fundamental Linux command-line skills. You'll learn to provision and manage a remote Linux server, install the necessary software for a robust hosting platform, and understand service management, preparing you to confidently host and administer web applications.

1. Hosting Basics -- Why You Need a Virtual Private Server

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!

2. IMPORTANT: Use Official GitHub Instructions when copy-pasting Commands!

Use the official GitHub instructions, which contain version numbers that are more up-to-date than what you see in the course videos.

3. Create an SSH Key and Use it on DigitalOcean

In this lecture, you'll learn what Secure Shell (SSH) keys are and why you need them when you're managing servers. You'll create your first SSH key and configure your DigitalOcean account to use it.

4. Provisioning and Connecting to Your First Remote Linux Server

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.

5. Linux Command-Line: The Absolute Basics

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

6. Connecting to Your Server: Basic SSH

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.

7. Installing Required Software for our Hosting Platform

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.

8. Updating and Installing Software on Ubuntu

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.

9. Linux Services Overview

This lecture is an overview of software, services, and daemons on Unix and Linux. After watching, you'll have the necessary knowledge (and understand the necessary jargon) to start managing the services you'll be using for your WordPress hosting server.

10. Service Management with system

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 systemd service management commands.

11. Module 1 Review

A quick review of the fundamentals we've covered in Module 1.

4. Setting up Your Hosting Platform

This module is central to mastering your WordPress hosting platform, delving into Linux essentials, from editing files with nano and understanding configuration files to managing users and permissions. You'll grasp advanced Bash shell commands, configure nginx for web services, comprehend HTTP and interprocess communication, and set up a secure MySQL database, cementing your foundation for system administration.

1. Module 2 Intro

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.

2. How to Edit Files with nano

Edit files on the command line, the easy way: with nano! After this lesson, you'll feel comfortable editing text without the help of a graphical user interface.

3. How Configuration Files Work in Linux

In this lecture, you'll get an overview of how software is configured in Linux and Unix. This background theory is essential, and being comfortable with this knowledge will make the rest of this course much easier.

4. Advanced Bash Shell Usage

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.

5. Creating a System User: Linux Users and Groups

An overview of users and groups in Linux: basic theory which you'll use every day while managing systems.

6. Changing Ownership and Permissions (and Reading Binary Code!)

Take 15 minutes for this lecture, and you'll have a solid basic grasp on one of the more confusing parts of Linux system administration. As a bonus, you'll be able to impress your friends by reading binary code!

7. Basic nginx Webserver Configuration

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.

8. HTTP Basics: How the Web Works

A quick introduction to basic HTTP concepts: requests, responses, and headers.

9. Interprocess Communication (IPC) and Linux/Unix Filetypes

Every sysadmin and developer who works with Unix and Linux needs to know about the basic filetypes, and what they are used for. Buckle up; it's much easier than it sounds!

10. How Relational Databases Work

A high-level overview of what a "relational" database actually does, using as little technical jargon as possible. This lecture won't make you a database admin, but it will teach you *why* and *how* a relational database is used for WordPress.

11. MySQL Database Setup and Security

Here, you'll deal with the basic configuration (and security hardening) of your MySQL service.

12. Module 2 Review

This module is the *core* of the course. It contains not only the practical foundation of your WordPress hosting platform, but also the theoretical foundation of the Linux knowledge and skills we're covering. Make sure you're comfortable with this material!

5. WordPress Application Setup

Configure your server for WordPress, starting with php-fpm setup, securing nginx with site-specific configurations, and managing php-fpm pools. You'll then proceed to install WordPress, establish tight security with user permissions, and connect it to a freshly created MySQL database. Final touches include DNS configurations to go live, creating a replicable process for launching additional WordPress sites.

1. Basic php-fpm Configuration

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.

2. Configuring an nginx Virtual Host for your Website

In this lecture, I'll walk you through creating your first site-specific configuration file (virtual host, or vhost) for your webserver.

3. Removing the Default nginx vhost Configuration

The first time you set up a site (but not for future sites), you'll want to remove the default nginx website that was set up for you when you installed the web server on your server.

4. Configuring the php-fpm Pool for your Website

In this lecture, you'll create a PHP pool configuration for your WordPress site. This will provide all PHP services that nginx will need, in a safe and isolated way.

5. Module 3 Introduction

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.

6. Creating a System User for your Website

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.

7. Downloading and Installing the WordPress Application

Time to download and install WordPress! In this lecture, you'll learn about downloading files from the command line, decompressing and unarchiving files, and setting up your first WordPress site.

8. Ownership and Permissions on WordPress Files

Some basic security tweaks for your new website, along with a quick tour of the filesystem.

9. Create a Database and DB User in MySQL

Our WordPress site needs a database. This lecture will walk you through creating one, along with a database user and a secure password.

10. WordPress Application Layout and Configuration Tweaks

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.

11. Making Your First Website Live

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.

12. Module 3 Review

We've got a live WordPress site! You can now use your WordPress hosting platform to serve this site, or start adding more websites by simply repeating the steps from this module.

6. Day to Day WordPress Administration: Set Up an e-commerce Store

Dive into the intricacies of WordPress management, exploring core site settings, user roles, content creation, and menu structuring, alongside theme and plugin strategies, concluding with setting up a WooCommerce store for a comprehensive e-commerce experience.

1. Module 4 Introduction

This module is a comprehensive guide on using WordPress, covering everything from general settings and user management for security to creating posts, pages, and e-commerce sites with WooCommerce.

2. General WordPress Site Settings

In this lecture, you'll see where the most important WordPress settings are kept.

3. WordPress User Management

Proper user management in WordPress makes the difference between a secure site and a security nightmare. This lecture will teach you the most important points you need to remember, and demonstrate a proper admin/editor setup.

4. WordPress Pages, Posts, and Comments

WordPress publishing basics: pages, posts, and comments.

5. WordPress Menus

Menus can be a bit tricky in WordPress: this lecture shows you the basics, so you'll finally be able to create the perfect top menu (or show your clients how to do this).

6. WordPress Themes and Plugins

Themes and plugins are what made WordPress the success it is today. Learn the basics of managing themes and plugins, along with some security considerations.

7. WooCommerce Store Setup and Configuration

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.

8. Module 4 Review

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.

7. Professional Grade: Performance, Security, Automation, Monitoring, Backups

This section guides sysadmins through the essentials of real-life server management, including performance tuning, security enhancements, and automation techniques using tools like Ansible. It also covers monitoring with Monit, secure data access, backup strategies, and scheduling with cron for efficient WordPress platform maintenance.

1. Module 5 Introduction

Although most tutorials end after the successful setup of a platform, this is where the real job of system administration *begins*. This module will show you the most common real-life admin tasks which any good sysadmin needs to have at their command.

2. Performance Tuning

This lecture is an overview of performance tuning: what you've already done (perhaps without knowing it), and what you can do in the future to make your site load faster, perform better, and be able to handle more concurrent visitors.

3. Performance Tuning Review for Your WordPress Hosting Platform

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.

4. Security Overview

Security is one of the most important topics that any tech person needs to understand. Unfortunately it's also an enormous, extremely complex subject. This lecture serves as an overview for the basics you need to understand.

5. SSH Hardening: Key-Based Authentication

SSH is one of two services that you're exposing to the Internet (the other is HTTP). Learn how to boost your defenses and make a successful attack much less likely.

6. Automation Overview

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.

7. What is Configuration Management?

This lecture is an introduction to configuration management: what it is, which problems it solves, and why it's so important to know (whether you're a sysadmin, developer, or any other kind of IT person).

8. Configuration Management and Automation with Ansible: A Crash Course

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.

9. Monitoring with Monit

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.

10. Securely View Monitoring Stats with SSH Local Forwarding

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.

11. Basic Backup Theory

Backups are important. This lecture explains the biggest considerations that go into planning a backup strategy.

12. Filesystem Backups and Restores with tar

In this lecture, you'll learn how to make filesystem backups for your websites using the venerable (and powerful) 'tar' command.

13. How to Compile Software: tarsnap

In this lecture, we'll take a look at how to download and compile software (instead of downloading ready-to-run binaries). We cover downloads, security and verification, and the compile process, before 'installing' the finished binaries on our system.

14. Getting Started with Tarsnap: Next Steps

In this lecture, I'll give you the 'next steps' that you need to take to use tarsnap for offsite backups.

15. Scheduling Commands with Cron

In this lecture, you'll learn how to schedule repeating tasks on Linux and Unix. This is a core Linux skill which will be useful throughout your career, and not just for backups.

16. How to Back Up and Restore Your Website Databases

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.

8. Conclusion

You've reached the end of the course with a fully functional WordPress hosting service and a suite of Linux system admin skills. The next steps will steer you towards scaling your platform and provide a selection of Linux projects to bolster your ongoing technical development.

1. Conclusion

Congratulations on completing the course! Not only do you have a WordPress hosting platform set up, but you've also built a solid foundation of basic Linux system administration skills.

2. Next Steps

Ideas for improving and scaling your WordPress hosting platform, along with recommendations for other practical Linux projects that you can use to further your learning.

9. Extras, Next Steps and Bonus Content

This section provides a step-by-step guide to setting up a WordPress server, explores hosting options with AWS, and teaches secure HTTPS implementation for your site.

1. The Entire Course Project, Step by Step in one Video

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/

2. Use Amazon Web Services (AWS) to host WordPress on the Cloud

Set up the course platform and a WordPress website -- on AWS! This lecture requires that you have an AWS account already set up.

3. HTTPS Setup -- Setting up TLS with letsencrypt and certbot

Learn how to set up HTTPS for your site using a free TLS certificate from letsencrypt! We use the certbot tool to quickly (and automatically) provision and renew certificates and use them in our nginx config. The whole thing takes about 10 minutes, and is par for the course if you're planning on running a serious, professional website.

Course Content

  1. Hands-on Linux - Self-Hosted WordPress for Linux Beginners

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews