In this course you will learn:
- How to deploy applications on a Linux server on an IaaS platform (Amazon Web Services).
- How to deploy applications on a PaaS platform (Heroku).
In pursuit of this goal, you will learn:
- How to use the command line and version control.
- The basics of Unix system administration and cloud computing architectures.
- Good security practices related to system administration and web applications.
This course is a COMEM+ web development course taught at HEIG-VD.
- Introduction
- Version control
- Security
- Basic deployment
- How to improve our basic deployment
- Advanced deployment
- Automated deployment
- Platform-as-a-Service (PaaS)
- Software development (extra)
- A Unix CLI (Git Bash is included with Git on Windows)
- Git
- A free GitHub account
- Google Chrome (recommended, any browser with developer tools will do)
- A free Heroku account
- The Heroku CLI
- Version control
- Unix
- Basic deployment
- Advanced deployment
- Deploy a PHP application with Git
- Configure a PHP application through environment variables
- Manage a PHP application with systemd as a Process Manager
- Configure a domain name
- Deploy a static site with nginx
- Deploy a PHP application with nginx and the FastCGI process manager
- Provision a Let's Encrypt TLS certificate with Certbot
- Set up an automated deployment with Git hooks
- Deploy a web application with a database (graded, not yet available)
- Platform-as-a-Service deployment
- Extra
These are the main references used throughout this course. More detailed and additional links to various online articles and documentation can be found at the end of each subject.
- The Linux Documentation Project
- SSH, The Secure Shell: The Definitive Guide - Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes
- The Git Book
- Open Web Application Security Project
- Ops School Curriculum
- The Internet Explained From First Principles
- The Twelve-Factor App
- Systemd Manual
- nginx documentation
- Heroku Dev Center
Wikipedia is also often referenced, namely these and related articles: