How to fix Internal Error after migrating bitnami to a new stack/version while trying to upload any file

The issue may occur if you are migration from one version to another version using default bitnami virtual image.

In the process of migration you need to copy the “files” folder to a new stack and this may overwrite permissions.

In this case in the previous version bitnami guys have used bitnami:bitnami while in the new version it has changed to bitnami:deamon and the group did not have write permission to folders hence it was displaying Internal Error while trying to upload any file.

sudo chown -R bitnami:deamon /opt/bitnami/apps/redmine/htdocs/files

sudo chmod  -R 771 n /opt/bitnami/apps/redmine/htdocs/files


How to use Editable in Yii2 on DetailView

Follow to get in your Yii2 project

Add on the top of your page in yii2 view.

use kartik\editable\Editable;
// create a similar in your code replace ‘name’ with you correct attribute
‘model’=> $model,
‘displayValueConfig’=> $model->name,
‘data’=>$model->name, // any list of values
// in your controller for that model add the following code
// Check if there is an Editable ajax request
if (isset($_POST[‘hasEditable’])) {
// use Yii’s response format to encode output as JSON
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
// read your posted model attributes
if ($model->load($_POST)) {
$redirectFlag = false;
$output = ”;
$posted = $_POST[‘Projects’]; // <———– This is your Model NAME
if( isset($posted[‘name’]) AND!empty($posted[‘name’]) ){
$model->name = $posted[‘name’];
$redirectFlag = true; //set to true to reload the page to update non ajax content
if($redirectFlag){return$this->redirect([‘view’, ‘id’=> $model->project_id]);
}else{return [‘output’=>$output, ‘message’=>”]; }
}else{return [‘output’=>”, ‘message’=>’Validation error’]; }
}else {return [‘output’=>”, ‘message’=>”];}

How to provide web client with diagnostic information

You can see the following script. The customer will then be able to provide it for you.

This will provide information such a current page/time date/ agent ip of the customer.

This will enable to easily find  information in your logs w.g WAF logs.

        <p>Diagnostic Information:</p>              
         <div id="systeminfo" align="left"></div>
         <div id="ipaddress" align="left"></div>

    document.getElementById("time").innerHTML = Date(); 
    document.getElementById("baseURI").innerHTML = document.baseURI;
    document.getElementById("referrer").innerHTML = document.referrer;

    function getIP(json) {
     document.getElementById("ipaddress").innerHTML ="IP Address: "+ json.ip;


    var txt = "";   
    txt += "Date: " + Date() + "<br>";
    txt += "Page Url: " + document.baseURI + "<br>";
    txt += "User-agent header: " + navigator.userAgent + "<br>";
    txt += "Cookies Enabled: " + navigator.cookieEnabled + "<br>";
    txt += "Browser Online: " + navigator.onLine + "<br>";
    txt += "Platform: " + navigator.platform + "<br>";
    txt += "Referrer (Previous Page): " + document.referrer; + "<br>";
    document.getElementById("systeminfo").innerHTML = txt;

Cannot expand public folder in Outlook 2016

Public folder in the exchange 2016/2013 is a type of shared mailbox. If it can be accessed by the one person within the organization then I would imagine it’s going to be always a client side issue and not the Exchange.

If your user is unable to open up Public Folders within then Outlook and getting message that public folders cannot be expanded, please contact your exchange administrator then you may try the below fix.

Navigate to Control Panel -> Mail -> Show profiles

Do NOT remove the old profile! 

Create a new profile

Tick the box for -> Prompt for the exchange profile.

Close/Reopen Outlook it will ask you to choose the profile.

Select a new one.

Once Outlook is started it will start download the emails to a new .pst file.

Checked if you can expand the public folders now.

If you can then it seems that the old profile become corrupted.

Link old the archive .pst files to new a profile.

Any bespoke configuration may need to export/import from the old profile.


Many Thanks



How to force Diffie–Hellman key exchange to be 2048

This seems to be a default setting on Windows 2016. For Windows 2012 your sslabs score can be capped to B if you use 1024 bit cipher.

You need to add the following entry to your registry.


Access the following registry location:

Vlid key values are decimal: 1024, 2048, 3072 and 4096.
Add the following DWORD-32bit value in decimal:
“ServerMinKeyBitLength”=2048 or 00000800(in hex)

Please remember always test it before using in production as some browser may stop displaying your website if you dont support right ciphers.

More info can be found her