Software

Adobe

Cannot print a PDF from within Adobe Reader

  1. Go to Edit → Preferences → Documents and set PDF/A mode to Never
  2. Then go to Edit → Preferences → Security (enhanced) and deselect Enable protected mode at startup


Apache

On debian 9, sudden exits

Add to /etc/apache2/apache2.conf:

Mutex posixsem

htaccess

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.schau.dk/$1 [R,L]

Authentication

In virtual section

DirectoryIndex index.html index.php
AllowOverride AuthConfig
AuthType basic
AuthName "Restricted Content"
AuthUserFile /path/to/password-file
AuthGroupFile /path/to/group-file
Require group prv
Satisfy all

Password-file

bs:$apr1$base64encodedstuff

Webgroup-file

prv: bs

Small Tinyurl Redirect

Add to .conf file:

RewriteEngine on
RewriteMap shortlinks txt:/path/to/shortlinks-map.txt
RewriteRule ^/(.+)$ ${shortlinks:$1} [R=temp,L]

Create the shortlinks-map.txt file, such as:

0 https://www.schau.dk/

First argument (0) is the shortlink (such as http://url/0). The rest of the line is the link which is redirected to.


Cups

If remote printing doesn't work, try setting the print queue on the print-server to raw. Log on to the print-server and as root:

lpadmin -p PRINTER_NAME -m raw

... substitute PRINTER_NAME with the real printer name.


Ghostscript

Missing Font on Windows

If you get the following error during conversion:

Can't find CID font "Arial".

... then the cure is easy:

  1. Launch the built-in fontviewer in Windows 10 (click the windows flag, type font and navigate from there).
  2. Find the desired font (install it if necessary) and look up the installation path.
  3. Then add to the Substitutions section in cidfmap in \lib in the Ghostscript installation folder:
    /Arial << /CSI [(Identity) 3] /Path (C:/Windows/Fonts/Arial.ttf) /SubfontID 0 /FileType /TrueType >>;
    

    ... obviously substituting the Arial name with your font. Also note the use of forward slash ('/') as path delimiter.


MongoDB

Installation, Ubuntu 16.04

Install directly from source. If a version of mongodb already exists on the system remove it using:

apt remove mongodb

... before proceeding with these instructions.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt update
sudo apt install mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod

Create admin user

Run this on a freshly installed MongoDB:

mongo
use admin
db.createUser({user: "admin-user-name",pwd: "admin-password", roles: [ { role: "userAdminAnyDatabase", db: "admin" }]})

Enable authentication

Open /etc/mongod.conf and uncomment the security property and add authentication:

security:
	authorization: "enabled"

... then restart MongoDB: sudo systemctl restart mongod

Logon as authenticated user

mongo -u admin-user-name -p --authenticationDatabase admin

... and enter password when prompted.


RDP

Disappearing cursor

The mouse pointer often-times disappears when you move it over a text-field on the remote host. The cure:

  1. Open the Control Panel and select the Mouse applet.
  2. Go to the Pointers tab, select the Text Select item and click Browse...
  3. Select the beam_r.cur item, click Apply and OK.

Export printer to RDP server host

The printer on the client needs to be marked as shared and in your RDP you need to enable printer sharing.

On client

  1. Open RegEdit.
  2. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers (assuming 64 bits systems here)
  3. Lookup the InfPath for the printer in Version-3 or Version-4
  4. Copy all files (and .inf file) to a folder somewhere on your RDP server host, ex. c:\PrinterDrivers\MyPrinter.

On RDP server host

  1. Run printui /s /t 2
  2. Click Add→Have Disk, browse to c:\PrinterDrivers\MyPrinter (as step 4 above)
  3. Install drivers

The next time you connect to the RDP server host you should be able to print to your local printer from the RDP server host.


Subsonic

Enable HTTPS

Create pkcs12:

cat myserver.key myserver.crt intermediate.cer > subsonic.crt
openssl pkcs12 -in subsonic.crt -export -out subsonic.pkcs12
# Remember your password, you will need it below!
cp subsonic.pkcs12 /etc/ssl
chmod 644 /etc/ssl/subsonic.pkcs12
rm -f subsonic.crt

Update /etc/default/subsonic to contain:

SUBSONIC_ARGS="--https-port=4443 --port=4040 {Other Args, such as --max-memory}"

Update /usr/share/subsonic/subsonic.sh around line 131, insert:

-Dsubsonic.ssl.keystore=/etc/ssl/subsonic.pkcs12 
-Dsubsonic.ssl.password=...password-from-above...

Restart Subsonic and log on to http://your-server:4040/ - you should be redirected to https://your-server:4443/