The skill matters more than the tool bundle
These lessons teach programming and engineering concepts. They are not a course about one local-server tool. You can use Windows, Ubuntu/Linux, or another compatible environment. The code usually stays the same; paths, installation steps, service commands, and terminal syntax may differ.
| Choice | What it means |
|---|---|
| Windows | An operating system. Use PowerShell, Command Prompt, Windows Terminal, or an editor terminal. |
| Ubuntu/Linux | An operating system. Use its terminal and package tools. Commands often use / in paths. |
| Laragon, XAMPP, or another bundle | Optional local development tools. Check their actual PHP/database versions and included services. |
| Standalone language tools | Install or use the interpreter and tools you need without a server bundle. |
| Docker | An optional way to package an environment. Learn normal runtime concepts before adding containers. |
Start with the lesson's requirements
A Python basics lesson needs Python and an editor. A PHP CLI lesson needs PHP and an editor. Neither needs a running Apache or Nginx server. A database lesson needs the named database engine. A Laravel web application has additional framework, extension, and database requirements.
Do not assume that a bundle includes every language, or that its versions match a course project. MySQL and MariaDB are different products; identify the engine before following engine-specific instructions. Start from the lesson's stated runtime and expected output.
Choose the command that works on your system
| Task | Windows | Ubuntu/Linux |
|---|---|---|
| Check Python | python --version or py --version, depending on installation |
python3 --version |
| Run a Python file | python hello.py or py hello.py |
python3 hello.py |
| Create a Python environment | python -m venv .venv or py -m venv .venv |
python3 -m venv .venv |
| Use its interpreter | .\.venv\Scripts\python.exe hello.py in PowerShell |
./.venv/bin/python hello.py |
| Check PHP | php --version |
php --version |
| Run a PHP file | php example.php |
php example.php |
These commands assume the chosen interpreter is installed and available in that terminal. A full executable path is another option. On Windows, an editor terminal and a bundle's terminal can resolve different interpreter versions. On Ubuntu, install missing virtual-environment support using the official distribution instructions. Keep project packages inside the environment.
Understand the terminal examples
PowerShell, Command Prompt, and Bash are different shells. Do not paste a command with a shell-specific environment-variable expression into another shell. Copy the command only, without a prompt such as $, PS>, or C:\>.
Use a dedicated practice folder and ordinary test data. Find your current folder, check the filename, and read the first error message before installing more software. If a command is missing, check its version, installation location, and PATH.
Local learning and production are different
Local tools make practice convenient. A production Ubuntu server also needs appropriate users, permissions, TLS, secrets, process management, database access, and backups. Later deployment lessons explain those steps separately. A command that works locally is not proof that a public deployment is ready.