Add languages to PHP Docker Container

Recently I have noticed that the output of the following code shows the month in the wrong language (English instead of German):

This can be solved by installing the required language in the docker container. Unfortunately there is a bug which prevents that the languages can be easy activated by locale-gen <lang-code>. So you have to enable them in /etc/locale.gen first and then generate them with locale-gen. This code solves the problem:

Or you could install all available languages:

If you perform a dry run in the container, you must restart Apache for see the changes.

Preparing a Root-Server and install Docker-CE

This is my personal note list for preparing a root server. The list is not complete and may contain errors.

Network setup

  • Install OS as usual or use image from Control Panel

Network setup

  • Set/check fixed ip
  • Set the “Reverse DNS” entry in Control Panel
  • Add local user
    useradd <username>
    usermod -aG sudo <username>
  • Set hostname
    sudo hostnamectl set-hostname <hostname>
  • Edit the /etc/hosts file
  • Edit the /etc/cloud/cloud.cfg file if exists (preserve_hostname: false to true)

SSH

  • Add pubkey to ~/.ssh/authorized_keys
  • Disable SSH login with password and permit root login in /etc/ssh/sshd_config file

  • Restart SSH Daemon
    service sshd restart

VIM

  • VIM Color open ~/.vimrc and add
    colo desert
    syntax on

Docker

  • Install docker-cd here
  • Install docker-compose here
  • Install docker-compose command completion here
  • add username to docker group (source)
    sudo usermod -aG docker $USER

Traefik

  • TBD

fail2ban

  • Update repos and upgrade system
    sudo apt-get update
    sudo apt-get upgrade
  • Install fail2ban with sudo apt-get install fail2ban
  • Create config file /etc/fail2ban/jail.local and add a jail for the SSH Deamon

Can’t import SVG’s to Fritzing Part Editor created with Adobe Illustrator

When I tried Fritzing for the first time today, I unfortunately had to notice that two parts are missing. A NodeMCU has already created and released squix78, thanks for that. But unfortunately I could not find a RS232-TTL converter (MAX3232). No problem, then I just create an own part. With this manual this is relatively easy. Unfortunately the part editor did not accept the SVG’s I created with Adobe Illustrator. After a long time of trying I found out that the following export settings are necessary. Important is the number of decimal places:

The final part:

You could download my MAX3232 RS232-to-TTL-Converter Breakout Board here. To use it, drag and drop it into you sketch.

 

Download Fritzing for free (with out donation)

I just wanted to test Fritzing today, but it is not so easy to download the program. On the website it is only possible to download it after a PayPal donation. Unfortunately the binaries are not available on github. Please don’t get me wrong, I don’t have anything against donating for free software, but I don’t like to force this on everyone. At the end, I found something after all:

TL;DR: Sign up for an acccount (or use bugmenot.com) and then you can select “I already paid” and download the binary for you platform. If you like Fritzing, please donate.

How to easily clone a (encrypted hard) disk over network (with dd and netcat)

The task was simple: two computers (notebooks). One – we call it A – with a working operating system (Xubuntu) and a new one – we call it B – without operating system. This is how I proceeded:

  1. Create bootable flash drive with in my case Arch-Linux
  2. In the Arch-Linux boot loader, press [TAB] and add “copytoram” to the boot command to load the squashfs image into ram. I needed this because in this case I only had a flash drive at hand. If you have two, you don’t need this.
  3. List network devices:
  4. Assign a IP adress to computer A with:

  5. To identify source disk, list all block devices with:

  6. Prepare the copy operation (do not execute yet!) with

  7. Boot machine B from the same or different flash drive
  8. Assign different IP adress
  9. Identify target device
  10. Prepare the receiving copy operation with

  11. Execute the command on Machine B
  12. Then execute the command on Machine A
  13. Wait until the copying process is completed.
  14. Use at least the Sync command to synchronize corresponding file data in volatile storage and permanent storage
  15. Restart the machine, you are done

How it works/remarks
dd reads the source drive bit by bit into the normal output stream. The output stream is piped to netcat, which sends it over the network to a receiving netcat process (server with -l). Therefore the server must be started first. The server receives the bits and piped them back to dd, which writes them to the target on machine B.

Maybe this is not the best and/or most efficient way, but transfer speed in my case of 75MB/s (poor performance on screenshots is from a setup with two vm’s) is in IHMO very good for this simple setup.

Thanks to pmenke for his support.

IPsec VPN between Sophos UTM and AVM Fritz!Box (LTE) with a dynamic IP-Adresss

Use the following settings to configure a Fritz!Box – also a LTE version – to connect to a Sophos UTM (v9.7)

  • Sophos UTM Settings
  • Fritz!Box VPN VPN-Configfile

 

Could not find any disk on this device. PRTG error code: PE188

I got this error when I tried to add a SNMP HP ProLiant Physical Disk Sensor for HP Proliant DL 380 G7 with Windows 2012 R2 in our monitoring solution from Paessler (PRTG). The SNMP HP ProLiant System Health, Network and Storage Controller Sensor works fine.

HPE Insight Management Agents and HPE Insight Management WBEM Providers for Windows are installed.

An SNMP walk against OID 1.3.6.1.4.1.232.3.2.5 (used by Paessler for this sensor) works without errors but also without result.

I found some guys with the same probleme and a solution: The problem was the disk (controller) driver. Installed was v8.0.4.0, which seems to be a standard Microsoft driver. With the original HPE controller driver (for us 62.28.0.64) it works.

 

How to easily migrate a Synology EXT4 volume to Btrfs without data loss

Today I switched from a Synology DS215play to a DS918+. Perfect time to change the file system – the DS215play didn’t support Btrfs. The migration also works with only one device. So I wrote down both ways.

Steps if you haven’t changed your DiskStation:

  1. Backup your data! If you switch to a device with new drives like me, you still have a copy of your data, but if you migrate without new drives, you don’t have a copy! In germany we say: No backup – no pity.
  2. Shut down the DS, remove drive 2. Format drive 2 with your computer.
  3. Turn the DS back on and DO NOT repair the fault volume.
  4. Create a new volume (SHA and Btrfs) in the Storage Manager on drive 2.
  5. For each shared folder, change the location to the new volume. You can only do this for one shared folder at a time and the move may need several hours depending on the size of your shared folders.
  6. When you have moved all the shared folders, shut down your DS and remove drive 1.
  7. Format drive 1 with your computer.
  8. Turn on your DS and go to the Package Center. Repair all apps.
  9. Expand your new volume to drive 1 and wait until RAID Resync is complete. You’re done.

Steps if you are switching to a new DiskStation with new drives (my situation):

  1. Turn off your old DS, remove drive 2.
  2. In the new DS, place the new drives in slot 1 and 2. Place the (old) drive 2 in slot 3.
  3. Turn on the new DS. Open your browser and navigate to the new DiskStation. In my case, the DS got a new IP address. I looked them up in my router DHCP table.
  4. Follow the Migration Wizard and wait until the DS restarts.
  5. Create a new volume (SHA and Btrfs) in the Storage Manager on drive 1 and 2. It is now recommended to change the RAID Resync speed to Fast and wait until RAID synchronization is complete.
  6. Now for each shared folder, change the location to the new volume. You can only do this for one shared folder at a time and may need several hours depending on the size of your shared folders.
  7. When you have moved all shared folders, shut down your DS and remove drive 3.
  8. Turn on your DS and go to the Package Center. Repair all apps. You’re Done.

SSO no longer works with VMware vSphere Client (SEC_ERROR_INADEQUATE_KEY_USAGE)

Last week I noticed that the Single Sign-On (SSO) for the vSphere Client (Flex and HTML5) no longer works in my Firefox. Normally, the VMware Enhanced Authentication Plugin toolbar disappears at the bottom and you can enable the “Using Windows Session Authentication” option, but the checkbox remains unchecked. Reinstalling the VMware Enhanced Authentication plugin, updating the vCenter Server and reinstalling the plugin does not work.

Then I open a ticket at Vmware Support. Hours and some technology later, we had no idea what was going on. But, we find out that the local web server at https://vmware-plugin:8094/ (used by the SSO) displays the following error message in Firefox:

SEC_ERROR_INADEQUATE_KEY_USE

It looks like a problem with the Enhanced Authentication Plugin certificate. This is provided by the plugin. It creates a local web server to communicate with the web page. The VMware support team then created the certificate manually, but the error still occurred – even with IE and Edge.

Then I tried it with a fresh portable Firefox and it worked. In my installed Firefox I removed certificate exceptions for the normal host from the vCenter and vmware-plugin. I also – and most importantly – remove the certificate from the vCenter host and the vmware plugin from the certification authorities in Firefox. Reload the page and it’s working again.