
Learn to host multiple websites on a single Digital Ocean droplet using virtual hosts, DNS zone files, and Let's Encrypt SSL certificates on Ubuntu 18.04.
Log in to digitalocean, create a new project, and deploy a ubuntu 18.04 droplet with a selected size and region. An ip address and root password are assigned for access.
Discover how floating IPs let you move a permanent IP between droplets, enabling easy server deployment, snapshot recovery, and flexible reconfiguration without changing IP addresses.
Learn to access your server for apache installation by connecting via ssh to a floating IP, log in as root, and change your password using Mac terminal or Windows PuTTY.
Install Apache to set up your web server, update the local package index, and verify the default Apache page by visiting your server IP.
Install and secure the MySQL server, remove anonymous users, disallow remote root, drop the test database, and switch to MySQL native password for reliable authentication, enabling phpMyAdmin later.
Install PHP to enable dynamic web content and interact with MySQL databases, restart Apache, and verify with a phpinfo page before securely removing it.
Install phpMyAdmin to manage MySQL databases via a graphical interface, update package indices, enable the PHP extension, restart Apache, and access the login page to authenticate.
Learn to configure virtual hosts for multiple domains by creating per-domain directories under the www folder, each with its own HTML folder and site files.
Configure virtual host files by creating domain directories, setting 755 permissions, and adding per-domain index.html files via nano or FTP, guiding multi-domain server setup.
Create, edit, and enable Apache virtual host files for each domain, setting server name and alias, then reload Apache and prepare to configure name servers with your registrar.
Configure and test dns zone files and nameservers to point domains to a hosting provider like Digital Ocean, update registrar records, and manage virtual host configurations for each domain.
Learn to secure multiple domains with Let's Encrypt and Certbot on Apache, configure virtual hosts, enable https redirects, and verify certificates across domains after DNS propagation.
Deploy a DigitalOcean Ubuntu droplet, create floating IPs, set up a LAMP stack, structure directories for multiple sites, configure DNS zone and virtual hosts, and obtain Let’s Encrypt SSL certificates.
Compare Apache and NGINX to plan scalable, cost-effective web deployments, balancing compatibility, capacity, and latency to deliver efficient, high-traffic web applications.
Apache's historical strength lay in architectural simplicity with one process per Http connection, allowing modular upgrades and easy issue isolation; scaling to many connections introduced bloated performance and security risks.
Explore how Nginx resolves Apache’s connection concurrency, offers a lightweight, scalable open-source server, and can run standalone or as a front-end proxy for Apache and other backends.
Deploy a Digital Ocean droplet running Ubuntu 18.04, create an educational project, and sign up to receive the server password for logging in and executing commands.
Attach a floating IP to your server to enable future IP transfers and flexibility by selecting Nginx in the networking tab and clicking assign to connect and configure with Nginx.
Connect to your virtual server using terminal, putty, or DigitalOcean's web console. Log in with root and the server's IP and password, then change the password.
Update the server's package index, install nginx with apt, accept the disk space prompt, and verify the installation by visiting the server's IP to see the Welcome to Nginx page.
Install and secure MySQL on Ubuntu alongside Nginx by removing anonymous users, disallowing remote root access, removing the test database, and switching to MySQL native password authentication.
Install and configure php on nginx to process dynamic content with php-fpm, enable index.php in the server block, and test the configuration before reloading the server.
Log in to your domain registrar and point your name servers to digitalocean, then configure the dns zone and nginx to serve your home page.
Configure the dns zone file in DigitalOcean by adding A records for root and www that point to the floating IP, then allow propagation.
Update the NGINX block file to include www and non-www domain variations, reload the server, and verify access by domain name and IP address after DNS changes propagate.
Secure your nginx server with a Letsencrypt SSL certificate by installing certbot, configuring www and non-www domains, and enabling https with automatic renewal.
Install phpMyAdmin on an Nginx server to manage databases via a web-based GUI, configure the database securely, set up a link to the Nginx web root, and test login.
Rename the phpMyAdmin symbolic link to a non-obvious url to secure access, then verify by loading the new path in your browser, adding a security layer.
Secure phpMyAdmin with an nginx authentication gateway by creating a password file with an encrypted password and a username, then enable the gateway to require login before access.
Configure an nginx authentication gateway to protect phpMyAdmin by adding a location block, defining auth_basic and auth_basic_user_file, restarting the server, and testing access before proceeding to WordPress setup.
Install WordPress, a flexible content management system powering a third of all websites, and manage membership sites, e-commerce stores, and blogs directly from the browser admin panel.
Create a WordPress database in MySQL with UTF-8, and set up a dedicated WordPress user with full privileges and a secure password. Then flush privileges and exit.
Install the necessary PHP extensions for WordPress on a LAMP stack by updating the apt package index, installing required packages, confirming prompts, and restarting PHP FPM to apply the changes.
Configure nginx block for WordPress by adding favicon and robots.txt location blocks and static content caching. Adjust try_files for permalinks, test with nginx -t, and reload the server.
Install WordPress on a prepared server by downloading the latest WordPress package, extracting it, configuring wp-config.php, moving files to the html directory, and setting permissions for web serving and updates.
Configure WordPress by updating the wp-config.php with generated secret keys, set database name and user, and password, and enable direct file system writes to avoid FTP prompts.
Set up WordPress on nginx by selecting language, naming the site, creating a secure login with a strong password, and configuring seo and admin access via the dashboard and phpMyAdmin.
Learn how ssl certificates secure communication and verify identity by examining digital certificates and issuing authorities, including Let's Encrypt, Digicert, GoDaddy, and Global Sign, and assess trust.
Learn how digital certificates are issued to an intended user, device, or web page, verified by a trusted certificate authority, and renewed before expiry with public keys and digital signatures.
Explore the types of SSL certificates—from domain validation to organization and extended validation—and learn issuance guidelines, verification steps, and how to obtain a free certificate with Letsencrypt.
Understand how ssl certificates secure data with digital signatures and hash values validated by private and public keys. See how browsers verify domain names against the certificate to prevent misuse.
Discover how to obtain an SSL certificate from a certificate authority like Digicert for Xyz.com, verify domain ownership, install it, and ensure browsers trust the certificate for https connections.
Install a Let's Encrypt certificate and learn automated management that eliminates manual steps, while preferring cloud hosting on a DigitalOcean Ubuntu 16.04 LTS droplet with TLS.
Register a domain name, since ssl certificates require a domain, not a public ip, create a digital ocean droplet with a fractional cent per hour cost and free $10 credit.
Point your domain's name servers to Digital Ocean, update ns1.digitalocean.com, ns2.digitalocean.com, and ns3.digitalocean.com at your registrar, and save changes to host your site with Digital Ocean.
Sign up for Digital Ocean, activate your account by email, enter billing with PayPal, and create a droplet that runs briefly for about an hour at minimal cost.
Switch from monthly to hourly pricing and select the smallest droplet at 0.07 per hour with 512mb ram, 1 core, 20gb ssd, 1tb transfer, ssl certificates install on any configuration.
Create a DigitalOcean droplet by selecting Ubuntu 16.04 64 bit, the smallest size, and the New York region, then use the ip address and email credentials in the next lecture.
Install PuTTY, connect to the server from Windows or Mac terminal, log in as root, and change the initial Digital Ocean droplet password to begin server configuration.
Install the lamp stack (apache, mysql, php) on a virtual machine, configure apache utilities and phpmyadmin, set passwords, restart services, and prepare for https with an SSL certificate.
Configure DNS on Digital Ocean by adding an A record and a CNAME to map your domain to your server, ensuring www resolves to ux.com.
Add the IP address and domain name to the hosts file, adjust the server time and date, and configure a cron job to renew the Letsencrypt certificate.
Install the Letsencrypt client, configure an SSL certificate for your domain, enable https with redirects, and verify the SSL status on the SSL Labs website, noting Google rankings.
Run periodic ssl certificate status checks to detect certificate authority cancellations and expiry, review domain names and validity dates, and prepare automatic renewal with cron jobs.
Redirect all domain variations to the https base domain using an htaccess file and Apache settings, then test variations and set up auto-renewal for SSL.
Set up a cron job in crontab to automatically renew the SSL certificate with Let's Encrypt renew on Ubuntu, logging to renewal log in /var every Monday at 3:30 a.m.
Welcome to our latest course, which will guide you through the process of installing, securing, and configuring NGINX or Apache on an Ubuntu web server. You will also learn to encrypt all web traffic, using a Free SSL certificate from Let’s Encrypt.
APACHE Section:
This course begins with exploring the most widely used web server technology available, Apache. Statistics show that Apache is used to run over 65% of all web servers around the world. Understanding how to work with Apache, is an instrumental part of the web development process. Students will learn the following key concepts:
Deploying a virtual server on Digital Ocean
Working with dynamic, static and floating IPs
Using Terminal for remote authentication
Installing and configuring LAMP Stack on Ubuntu 18.04
Testing PHP
Hosting Multiple Domains on one Apache Virtual Server
Configuring Virtual Host Files and Directives
DNS Zone File Configuration
NGINX Section:
NGINX is now considered the most powerful, efficient, and secure web server technology used to host web applications of all sizes and complexity. The software is open-source, and is designed for maximum performance and stability. It also aims to correct many of the short-falls of Apache, when it comes to delivering content to your end user. NGINX can be used for web serving, reverse proxying, caching, load balancing, media streaming, and much more.
The NGINX Section of this course will help you understand the following key concepts:
Understanding the difference between Apache & NGINX
Installing NGINX on a Digital Ocean Droplet or any Virtual Server of your choice.
Modifying the NGINX Block Configuration file for hosting Websites
Installing essential components on NGINX such as MySQL, PHP & PhpMyAdmin
Securing PhpMyAdmin using symbolic links and NGINX's built in authentication gateway.
Securing your hosted websites with free SSL using Certbot & Let's Encrypt
Installing and Configuring WordPress on your NGINX Server
SSL Certificates - Let's Encrypt
This section of the course offers an in-depth look into the role of SSL certificates when it comes to server security and web traffic encryption. We start with a thorough introduction which includes exploring different types of certificates and how they work. From there, students create a droplet on Digital Ocean and configure their own free SSL certificate using Let’s Encrypt Certificate Authority. This section of the course combines theoretical and hands-on training. Students have the opportunity to practice some of the concepts explored in the previous two sections, while also learning about free SSL Certificates, such as Let’s Encrypt.