Articles by Dejan Panovski
Install and Configure Roundcube Webmail on Ubuntu 26.04
Install Roundcube Webmail on Ubuntu 26.04 with PHP-FPM, MySQL, Nginx, IMAP, SMTP submission, and server-side Sieve filters.

Install and Configure Postfix and Dovecot on Ubuntu 26.04
Postfix is an open-source mail transfer agent (MTA), a service used to send and receive emails. Dovecot is an IMAP/POP3 server and in our setup it will also handle local delivery and user authentication.

How to Install Python on Ubuntu 26.04
Install Python on Ubuntu 26.04 using the default Ubuntu packages, the deadsnakes PPA for alternate versions, or a source build. Includes pip and virtual environments.

fdisk Command in Linux: Create Disk Partitions
Use the fdisk command in Linux to list disks, create GPT or MBR partitions, change partition types, format new partitions, and mount them safely.

ps Command in Linux: ps aux and Common Options
Use ps aux and related ps command options in Linux to list running processes, read output columns, sort by CPU or memory, filter by PID or user, and show full command lines.

How to Remove a User in Linux
Remove user accounts in Linux with userdel. This guide explains how to delete a user, remove the home directory, handle logged-in users, clean up cron jobs, and find files left behind.

How to Extract tar.xz Files in Linux
Extract .tar.xz and .txz archives in Linux with tar. This guide shows the basic command, verbose extraction, extracting to a directory, listing contents, and fixing common tar.xz errors.

SSH Hardening Guide: Best Practices for Linux Servers
SSH hardening best practices for Linux servers, including sshd_config checks, key-only logins, root login restrictions, firewall rules, timeouts, and Fail2Ban.

Bash Split String: Split a String by Delimiter
How to split a string in Bash by a delimiter using read, IFS, tr, awk, and parameter expansion, with practical examples for scripts.

How to Install Docker on Debian 13 (Trixie)
Install Docker on Debian 13 from the official Docker repo. Set up the apt keyring, install Engine and Compose plugin, and fix common errors.

Shebang Explained: #! in Bash and Shell Scripts
What the shebang line does, why scripts need #!, common shebang examples, and when to use #!/bin/bash or #!/usr/bin/env bash.

How to Add a User to a Group in Linux
Add users to Linux groups with usermod, verify group membership, change primary groups, and fix common issues when group changes do not apply.

How to Install Java on Ubuntu 24.04
Install Java 25, Java 21, and Oracle JDK on Ubuntu 24.04. This guide covers OpenJDK packages, default Java selection, and JAVA_HOME setup.

.gitignore: Ignore Files and Folders in Git
Use .gitignore to ignore folders, files, logs, and build output in Git. See folder patterns, global rules, tracked-file cleanup, and debugging commands.

Initial Server Setup on Ubuntu 26.04
Prepare a new Ubuntu 26.04 server with a sudo user, SSH key authentication, UFW firewall rules, a hostname, timezone settings, and system updates.

Bash break and continue Statements
The break and continue statements in Bash control loop execution. Use break to exit a loop early and continue to skip the current iteration.

su Command in Linux: Switch User
The su command in Linux switches users in the current session and runs commands with another user's privileges. Examples, options, and a sudo vs su comparison.

How to Add APT Repository in Ubuntu
Add APT repositories in Ubuntu using add-apt-repository, the signed-by method, and PPA. Includes the DEB822 format used by default on Ubuntu 24.04 and 26.04.

netstat Command in Linux: Network Connections and Statistics
Use the netstat command to list network connections, listening ports, routing tables, interface counters, and TCP states on Linux.

fsck Command in Linux: Check and Repair Filesystems
Use the fsck command in Linux to check and repair filesystems safely, run read-only checks, fix unmounted partitions, and schedule boot-time checks.

