Mel's Projects

KDE Plasma Installation on External SSD

This project documents installing KDE Plasma on an external SSD with Ubuntu, including all trial-and-error steps, errors encountered, and solutions.

Timeline & Challenges

Lessons Learned

PHP & Nginx Debugging

This project documents configuring PHP 8.3 FPM with Nginx and resolving 500 Internal Server Errors caused by PHP syntax mistakes.

Problem

Initially, phpinfo.php was downloaded instead of being executed. Running the file via PHP CLI showed:

PHP Parse error: syntax error, unexpected token "<", expecting end of file
    

Nginx was not processing PHP files correctly due to misconfiguration.

Steps Taken

Outcome

Example test: phpinfo.php

Samba Assignment – Virtual Machines

First VM Setup

On the first virtual machine, the goal was to create a user and share their home directory via Samba, read-only:

  1. Created user smbuser with password [Smb password].
  2. Installed Samba:
    sudo apt update
    sudo apt install samba -y
  3. Configured /etc/samba/smb.conf:
    • Home directory shared as [First VM's IP address]
    • Read-only: read only = yes
    • Authentication: security = user, allowed user: valid users = smbuser
  4. Restarted Samba: sudo systemctl restart smbd
Troubleshooting:
  • Connection errors often caused by NAT vs. Bridged network misconfiguration in VirtualBox.
  • If the shared directory was empty, double-check that smbuser had files in their home.

Second VM Setup

  1. Installed packages:
    sudo apt install cifs-utils autofs -y
  2. Created local mount point:
    sudo mkdir -p /mnt/test_smb
  3. Configured /etc/auto.smbuser:
    smbuser -fstype=cifs,username=smbuser,password=[Smb password],ro ://[First VM's IP address]/smbuser_home
  4. Enabled and started autofs:
    sudo systemctl enable autofs
    sudo systemctl start autofs
  5. Tested the mount:
    ls /mnt/test_smb
    If empty, verify connectivity:
    ping [First VM's IP address]
    and ports:
    nc -zv [First VM's IP address] 445
Troubleshooting:
  • “key not found in map sources” errors usually indicate mismatched share name, username, or IP.
  • Check that smbclient is installed on the second VM: sudo apt install smbclient -y
  • Switching VirtualBox network from NAT to Bridged Adapter solved connection refusals on port 445.

Outcome

Zabbix Monitoring Stack (Docker)

This project documents deploying a full Zabbix monitoring stack using Docker Compose. The goal was to understand how real infrastructure monitoring systems connect application services, databases, and web interfaces through container networking.

Stack

Deployment

The stack was launched using Docker Compose:

sudo docker compose up -d

After the containers started, the web interface became available at:

http://localhost:8080

Challenges

Outcome

Default Login

Username: Admin
Password: zabbix

This project provided hands-on experience with container orchestration, service networking, database configuration, and troubleshooting distributed systems.

Projects

KDE Plasma Installation PHP & Nginx Debugging Samba Assignment Zabbix Monitoring Stack