WebSavers.co.uk – Hosting provider for WordPress and VPS

WebSavers.co.uk is a renowned hosting provider that stands out in the competitive landscape of web hosting services. With a commitment to excellence and customer satisfaction, WebSaver.co.uk has earned a reputation for reliability, performance, and affordability.

One of the key factors that sets https://websavers.co.uk apart is its robust infrastructure. They utilize state-of-the-art servers and networking equipment housed in top-tier data centers, ensuring optimal performance and uptime for their clients’ websites. This reliability is further bolstered by redundant systems and proactive monitoring, minimizing the risk of downtime and ensuring uninterrupted service.

In addition to reliability, https://websavers.co.uk also excels in providing excellent customer support. Their team of knowledgeable and experienced professionals is available around the clock to assist clients with any issues or concerns they may have. Whether it’s technical support, account management, or billing inquiries, customers can rely on WebSaver.co.uk to provide prompt and helpful assistance.

Furthermore, https://websavers.co.uk offers a wide range of hosting solutions to cater to the diverse needs of their clients. From shared hosting for small businesses and individuals to dedicated servers for larger enterprises, they have the resources and expertise to accommodate websites of all sizes and complexities. Their hosting plans are also competitively priced, making them an attractive option for budget-conscious users without sacrificing quality or performance.

Overall, https://websavers.co.uk stands out as a top-tier hosting provider thanks to its reliable infrastructure, excellent customer support, and diverse range of hosting solutions. Whether you’re launching a personal blog, an e-commerce site, or a corporate portal, you can trust https://websavers.co.uk to provide the hosting services you need to succeed online.

Setting Pa11y on Docker

Use node image

Install dependencies

Clone dashboard project

Make sure that the following depedencies are installed on your image

#!/bin/bash

apt-get -y install libasound2 libatk1.0-0 libatk-bridge2.0-0 libcairo2 libcups2 \
libdbus-1-3 libdrm-dev libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 \
libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \
libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \
libxdamage1 libxext6 libxfixes3 libxi6 libxkbcommon-dev libxrandr2 \
libxrender1 libxshmfence-dev libxss1 libxtst6

Your production.json config

{

    “port”: 80,

    “noindex”: true,

    “readonly”: false,

    “siteMessage”: “Pa11y Service”,

    “webservice”: {

        “database”: “mongodb://mongo/pa11y-webservice”,

        “host”: “0.0.0.0”,

        “port”: 3000,

        “cron”: “0 30 0 * * *”,

        “chromeLaunchConfig”: {

           “args”: [“–no-sandbox”]

        }

    }

}

Mongo Setup

Just don’t put any login/password as mentioned by official docker mongdb image.

WP Import Pro Gateway 504 error

You may have that issue when trying to use this WordPress plugin or simply going into “import setting” of the plugin. This happens because you need to increase timeout in ngxin/proxy.

Recommend settings can be found here: https://www.wpallimport.com/documentation/troubleshooting/server-configuration/

In my experience when using this plugin with Nginx + Fastcgi. I need to increase this limit below for it work. fastcgi_read_timeout 300;

location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass php-fpm:3000;

            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_read_timeout 300;
            # Enable HTTPS to avoid mixed content over https
            fastcgi_param HTTPS $fastcgi_param_https_variable if_not_empty;

    }

You can also increase this limits temporary.

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

Please remember that increasing the limits is always the best practices but sometimes necessity. You are allowing your server run process request for much longer so if you got any issues on the website which can be exploited it may decrease your server performance if the request with issues run for a longer time taking resources.

Normal user won’t long 1-2minutes for page to load. It is just an example 🙂

Setting up Swarmpit with Traefik on non standard port

The following configuration will work. This will create an extra entry point on 8843

So your site will be accessible on https://yoursite.com:8443

Your swarmpit.yml file

traefik.http.routers.swarmpit-https.rule=Host(${DOMAIN_SWARMPIT?Variable not set},${DOMAIN_SWARMPIT_FAILOVER})
#- traefik.http.routers.swarmpit-https.rule=Host(${DOMAIN_SWARMPIT?Variable not set})
– traefik.http.routers.swarmpit-https.entrypoints=websecureextra
– traefik.http.routers.swarmpit-https.tls=true
– traefik.http.routers.swarmpit-https.tls.certresolver=le
– traefik.http.services.swarmpit-https.loadbalancer.server.port=8080

Your traefik.yml configuration file

–entrypoints.websecureextra.address=:8443

–entrypoints.websecureextra.http.tls=true

CISCO 7940 enable to provion on PBX looking for SEP config files

This was caused because the phone was connected to a POE switch and could not upgrade to firmware to the one provided by PBX server. Once connected the phone with power adapter instead it has upgrade the firmware and was looking for correct SIPxxxxxxxxxxxx.cnf files from FreePBX system.

Enjoy 🙂

Azure Command To Get Started

Set-ExecutionPolicy RemoteSigned – Set exuctcion policy before installing Az Module

Update-Module -Name Az – Updated already installed module

Import-Module Az – Import Module in powershell to use its command

Connect-Azccount – connect to your Azure Subscriptions

Get-AzContext – list your Azure subscriptions (You can only use one at at time)

Select-AzSubscription -SubscriptionId ’53dde41e-916f-49f8-8108-558036f826ae’ – use this subscripion id

Get-AzResourceGroup – to display your resource groups (az group list) use | Format-Table or for az cli –output table

VM Specific commands

New-AzVmCreates VM in Azure
Remove-AzVMDeletes an Azure VM.
Start-AzVMStart a stopped VM.
Stop-AzVMStop a running VM.
Restart-AzVMRestart a VM.
Update-AzVMUpdates the configuration for a VM.

Azure Scripts Commands Examples

Creating Azure VM using Powershell

New-AzVm `
    -ResourceGroupName "TestResourceGroup" `
    -Name "test-wp1-eus-vm" `
    -Location "East US" `
    -VirtualNetworkName "test-wp1-eus-network" `
    -SubnetName "default" `
    -SecurityGroupName "test-wp1-eus-nsg" `
    -PublicIpAddressName "test-wp1-eus-pubip" `
    -OpenPorts 80,3389

Azure CLI – does not need powershell to function

az vm create \
    --resource-group TestResourceGroup \
    --name test-wp1-eus-vm \
    --image win2016datacenter \
    --admin-username jonc \
    --admin-password aReallyGoodPasswordHere

Update VM specs using script

$ResourceGroupName = "ExerciseResources"
$vm = Get-AzVM  -Name MyVM -ResourceGroupName $ResourceGroupName
$vm.HardwareProfile.vmSize = "Standard_DS3_v2"

Update-AzVM -ResourceGroupName $ResourceGroupName  -VM $vm

Create VM

New-AzVm -ResourceGroupName learn-3b4e02e1-59e6-4dc6-8318-5d32fd9da09c -Name "testvm-eus-01" -Credential (Get-Credential) -Location "East US" -Image UbuntuLTS -OpenPorts 22

Assign VM to variable

$vm = (Get-AzVM -Name "testvm-eus-01" -ResourceGroupName learn-3b4e02e1-59e6-4dc6-8318-5d32fd9da09c)

then you can use these command to manage or get some info about it.

$vm | Get-AzPublicIpAddress
$vm.StorageProfile.OsDisk
$vm.HardwareProfile
Stop VM
Stop-AzVM -Name $vm.Name -ResourceGroup $vm.ResourceGroupName
Delete
Remove-AzVM -Name $vm.Name -ResourceGroup $vm.ResourceGroupName
List Resources
Get-AzResource -ResourceGroupName $vm.ResourceGroupName | ft
Delete NetworkInterface
$vm | Remove-AzNetworkInterface –Force
Delete Os disk and storage
Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDisk -Force
Delete Network SecurityGroup
Get-AzVirtualNetwork -ResourceGroup $vm.ResourceGroupName | Remove-AzVirtualNetwork -Force
Delete Public IP
Get-AzPublicIpAddress -ResourceGroup $vm.ResourceGroupName | Remove-AzPublicIpAddress -Force

Example of PowerShell Script

param([string]$resourceGroup)

$adminCredential = Get-Credential -Message "Enter a username and password for the VM administrator."

For ($i = 1; $i -le 3; $i++)
{
    $vmName = "ConferenceDemo" + $i
    Write-Host "Creating VM: " $vmName
    New-AzVm -ResourceGroupName $resourceGroup -Name $vmName -Credential $adminCredential -Image UbuntuLTS
}

Get-AzResource -ResourceType Microsoft.Compute/virtualMachines

How to disable SSL verification on Yii2 Swift mailer

This is not a good practice but if you are using wildcard certificate then the name can't be authenticated correctly.
You need to use the following configuration on web.phph in Yii2 to make it works.

'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' =>  false, // change to false to send emails externally.
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'x.x.x',
                'username' => 'x-x',
                'password' => 'xx',
                'port' => '587',
                'encryption' => 'tls',
                'streamOptions' => [ 
                    'ssl' => [ 
                        'allow_self_signed' => true,
                        'verify_peer' => false,
                        'verify_peer_name' => false,
                    ],
                ]
            ],
         ],