Operating System, Stack, Package Management
WordPress can be installed on almost any operating system that has a web server, PHP processor and MySQL database. This combination is often referred to as a “stack.”
The stack, commonly referred to as an “AMP” stack, stands for Apache2, MySQL and PHP.
Among these, only PHP is a requirement for WordPress. Alternatives to Apache2 and MySQL can be used. For example, Windows IIS and NGINX can be used as alternative web servers. And MariaDB, an open source database, is sufficiently equivalent to MySQL to support WordPress.
reference: https://codex.wordpress.org/Using_Alternative_Databases
reference: https://wordpress.org/about/requirements/
Linux, a Unix-like operating system, may be the most common operating system for installing an AMP stack and WordPress. It’s Unix-like because of the similar commands and file system.
The combination of Linux with an AMP stack is referred to as a “LAMP” host or server. Similarly there are “MAMP” and “WAMP” servers for AMP stacks on Macintosh OS and Windows. Generically these are all referred to as “XAMP” – or with the addition of PERL, “XAMPP.”
reference: https://code-boxx.com/difference-wamp-lamp-mamp-xampp/
To illustrate the operating system independence of WordPress, Windows is not Unix-like. And the Macintosh operating system, derived from an original Unix, is actually considered Unix. All support WordPress.
Each operating system has it’s own way of installing application software. Linux comes in distribution “families” – that stem from how they were distributed to the community. Members of a Linux distribution family tend to use the same method of installing software.
reference: http://wiki.linuxquestions.org/wiki/List_of_Linux_distributions
To simplify the creation of many XAMP servers, there are utility packages that install all the components at once.
Example: https://ampps.com/
Example: https://www.mamp.info/en/
Example: http://www.wampserver.com/en/
Instead of using an “all-in-one” application such as one of these, I install each component individually.
To simplify software installation, software is typically distributed and installed in “packages.” Each operating system may have it’s own type and system for application distribution and installation. There are several types of package management systems used by Linux – a Linux distribution family tends to use the same one.
Reference: https://lifehacker.com/how-to-install-software-on-linux-1822447190
I use Linux distributions in the Debian family. My examples should work with all Debian derivatives. While the actual software installation steps in other Linux distributions, Windows and Macintosh OS are different, the over process is very similar.
reference: https://www.debian.org/derivatives/
My examples will use the command “APT” (Advanced Package Tool) for package installations. The APT command supersedes the “APT-GET” command and the APT command is more geared to interactive use. APT and programs like it are called “package managers.” Where you have a choice, I recommend sticking with the APT command.
reference: http://www.linux-magazine.com/Issues/2018/208/apt-vs.-apt-get
reference: https://itsfoss.com/apt-vs-apt-get-difference/
The similarities among all WordPress installations are close enough that my examples and discussion may provide some helpful orientation.
There are a few concepts and procedures to keep in mind when using the APT package manager.
- Software packages managed with APT resides in a “repository” – a type of library.
- A repository is maintained by the distributor of the Linux you’re installing – and may not have the same software or versions as other Linux package repositories.
- Before installing a software package, your operating system has to have a copy of a list (index) of repository contents.
- Because repositories change frequently, you must update your computer’s copy of the repository list to ensure getting the most up to date packages.
- Software in a package may be dependent on other software installed on your computer. The package manger (APT in my examples) tests for these dependencies and automates how they are reconciled.
reference: https://linuxize.com/post/how-to-use-apt-command/
Go to: Part 2