No idea what Microsoft is thinking when they designed the Windows 11 OS, the additional "clicks" required to just access the "Context (Right-Click) Menu" is so inconvenience and troublesome to Users.
To resolve this, a simple registry modification is required :-
How to install the FREE Let's Encrypt SSL Certificate for Proxmox VE host.
Pre-requisites.
1. Ensure that your router or firewall have port forwarding to the Proxmox VE server with the following ports :-
a) 80/tcp
b) 443/tcp
c) 8006/tcp
2. You also need a valid or working email account, any free email account will work. The purpose of the email is for Let's Encrypt to send you email notification for the renewal of the SSL certificate after 90 days.
Let's Get Started.
1. Login to your Proxmox server, and select the primary host/node.
2. Browse to --> System --> Certificates.
3. Click --> Add ACME Account.
4. Fill-in the required information :-
a) Account Name: [Any valid Name will do, such as "demouser"]
b) E-Mail: [must be a valid email address]
5. Next, click --> Add.
a) Challenge Type: HTTP
b) Domain: [a valid Domain name or Dynamic Domain Name]
6. Then, click --> Order Certificates Now.
7. Once all done, close all browsers.
8. Open back the browser but this time use the new domain URL with "HTTPS" protocol, and you should now be able to see the new certificates was installed and active.
!!! HAPPY COMPUTING !!!
Edit : 3-Jul-2024 : I've noticed that after installing the SSL Certificate, any new VM creation will caused the installation to failed. Unsure what is the problems, maybe VLAN issue ?
But after removing the SSL Certificate & restarted the Host server, everything seems to be working back to normal.
How to passthrough a PCIe or On-Board device/controller in Proxmox VE v.8.2.4.
At times you might want to passthrough certain devices or controller to a VM Guest for full access and control. This can be a GPU, RAID Controller, NIC etc. This is very useful in scenario such as testing a NAS (TrueNAS).
Pre-requisites :-
1. System CPU must support IOMMU (I/O Memory Management Unit) interrupt remapping. Usually this is called Intel VT-d or AMD-Vi or similar names. Most newer Mainboard and CPU already have such features.
2. This passthrough methods means the entire device or controller is no longer in use by Proxmox VE itself and only manage by the VM Guest. This means you cannot passthrough a controller where the "Boot-Pool" is connected. It must be a separate controller or device.
Scenario :-
My test system or home lab system is a HP Z800 WorkStation series with the following hardware configurations, if your system is newer than mine then most probably it will works too :-
The "LSI 9212-4i SAS/SATA 4-ports PCIe Controller" is where Proxmox VE is installed, thus I cannot passthrough this controller.
Let's Get Started :-
1. Login to the Proxmox VE's WebUI.
2. Select the Node, in this case I have only a single node.
3. Open --> Shell
4. Verify that your system have IOMMU enabled.
dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
The results should shows "DMAR: IOMMU enabled" OR "DMAR: Intel(R) Virtualization Technology for Directed I/O". If either of these is missing then you need to check your BIOS/UEFI whether those virtualization technology are enabled.
5. Edit the "Kernel" file.
nano /etc/kernel/cmdline
Add the following line to the file.
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on
If your CPU is and AMD type, then add "amd_iommu=on" to it.
6. Next is to edit the "Modules" file.
nano /etc/modules
Add the following into the file.
vfio vfio_iommu_type1 vfio_pci vfio_virqfd
7. Now we also need to edit the "GRUB" file.
nano /etc/default/grub
Look for the following line and append the line as shown.
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
If your CPU is and AMD type, then add "amd_iommu=on" to it.
8. Once all done, we need to refresh the "Proxmox" boot.
proxmox-boot-tool refresh
9. Update the "initfamfs" also.
update-initramfs -u -k all
10. Next is to update "GRUB" also.
update-grub
11. Finally, we need to REBOOT the Proxmox VE host server.
12. After reboot, verify the "IOMMU" configuration.
dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
Results :-
DMAR: IOMMU enabled OR DMAR: Intel(R) Virtualization Technology for Directed I/O
13. Verify "vfio" configuration.
lsmod | grep vfio
Results :-
vfio_pci491520
vfio_virqfd163841 vfio_pci
irqbypass 163842 vfio_pci,kvm
vfio_iommu_type1 327680
vfio 327682 vfio_iommu_type1,vfio_pci
14. Verify "Interrupt Remapping" configuration.
dmesg | grep 'remapping'
Results :-
AMD-Vi: Interrupt remapping enabled OR DMAR-IR: Enabled IRQ remapping in 2xapic mode (only for older CPU model)
If you encounter an error message on the remapping interrupts, type the following command and reboot the Proxmox server again.
15. Now you can create a VM and passthrough a PCIe device to that VM. Take note you need to ensure the "Machine = q35" else it will not work.
Also note that the device must not be in the same IOMMU Group, if the device is in the same group of another device then high chances it will not work or the entire group will also be passthrough to the VM.
This method is only required when you have added or upgraded with a SAS/SATA Controller (eg. LSI 9212-4i PCIe).
If this option is not disabled, you will get the following error :-
110-Out of memory space for option ROMs
This is because the BIOS was not able to decide which Boot Controller it should use thus causing system conflict during boot.
As recommended by HP, to solve this problems is to disable the option ROMs of the integrated Intel Matrix Storage Controller or the LSI 1068E SAS/SATA Controller.
1. During the System Boot, Press --> [F10] key to go into "Setup Mode".
2. Goto --> Advanced menu.
3. Select --> Device Options.
4. Look for either of these and "Disable" accordingly :-
4.1 SAS Option ROM Download.
4.2 SATA RAID Option ROM Download.
5. Next is to press --> [F10] key to accept the configuration changes.
6. Proceed to "Save & Exit" the BIOS and the system will reboot.
7. Upon reboot, the error will have been resolved and the newly added LSI 9212-4i PCIe Controller will now be detected along with its connected SSD/HDD.
Piwigo is an Open Source Photo Management Server, it allows you to self-host your very own photo management, organizing and share your photo easily on the web.
<Directory /var/www/html/piwigo/> Options FollowSymlinks AllowOverride All Require all granted <\Directory> <\VirtualHost>
11. Then we need to enable the newly created site.
sudo a2ensite piwigo.conf
12. We also need to enable Apache module as below.
sudo a2enmod rewrite
13. Finally we need to restart Apache Server.
sudo systemctl restart apache2
14. Once done, open any preferred browser and browse to Piwigo site.
http://[IP Address]/piwigo
15. You will need to perform initial configurations of piwigo, enter all the relevant information as required. This includes the Database Name and Credentials, also you will need to create an administrator user (to manage the Piwigo) which are not "Root".
16. Once everything are successfully configured, you will be able to login to the Piwigo site and you can start to create your first album and start uploading photos.
Note : It is recommended to install a Plugin called "Community" which allows your "Users" to create their own albums and upload photos.