Install ISPConfig on CentOS 8 with Apache, PHP, Postfix, Dovecot, Pure-FTPD, BIND


This article covers how to install and configure ISPConfig on a CentOS 8 server. In fact, with ISPConfig installed, you can manage a variety of services, administer multiple servers, and designate different authorization levels for server administrators, all from the familiarity and comfort of any modern browser.

Create your first deployment on a Kubernetes Cluster using Nginx - Step by step guide ?


This article covers the complete steps to create your first NginX Deployment on Kubernetes. In fact, Deployments are managed by the Kubernetes Deployment controller. Deployments use a Pod template, which contains a specification for its Pods. The Pod specification determines how each Pod should look like: what applications should run inside its containers, which volumes the Pods should mount, its labels, and more. When a Deployment's Pod template is changed, new Pods are automatically created one at a time.

Install OpenProject on Debian 11 - Step by step guide ?


This article covers how to install and configure OpenProject on Debian 11. In fact, OpenProject provides a simple and easy-to-use web interface that allows you to collaborate on projects using features such as a WYSIWYG text editor, intelligent workflows, conditional formatting, team collaboration, Kanban, Agile & Scrum, project planning and scheduling, time tracking, product roadmaps, and release planning.

Install Wireshark Network Packet Analyzer on Ubuntu 20.04 - Step by step guide ?


This article covers how to Install Wireshark on Ubuntu 20.04 LTS. In fact, Wireshark is a free & open source network packet analyzer tool. It helps to capture all packet getting in or out of a network interface and shows. It supports all platform such as Linux, Windows and Mac OS.


How to install wireshark on ubuntu ?

1. Update the System with the below command:

$ apt-get update

2. Install the wireshark on system with the below command:

$ apt-get install wireshark

Next, you will be prompted to configure Wireshark.

Select the Yes option.

3. Add user to the WireShark group with the below command:

$ usermod -aG wireshark $(whoami)

4. Reboot the system:

$ reboot

5. Finally, to start Wireshark from Terminal using command:

$ wireshark

Create a DynamoDB Table in AWS - Step by step guide ?


This article covers how to create a DynamoDB table, add items to the table, and then queried the table to find the item we want. In fact, We can use DynamoDB to build powerful web applications that automatically scale up and down, build interactive mobile and web apps with real-time updates.

Also, you will learn how to manage our DynamoDB tables and items through the AWS Management Console and delete it.

Install and Configure WildFly (JBoss) on Debian 11 - Step by step guide ?


This article covers how to install and configure Wildfly with Nginx as a reverse proxy on Debian 11. In fact, WildFly implements the Java Enterprise Edition (Java EE). It is among the most common source Java server applications. It offers you an administration dashboard to manage single or multiple domains efficiently.

Install LibreNMS Monitoring Tool on Debian 11 - Step by step guide ?


This article covers the complete procedure for installing the latest version of LibreNMS network monitoring system on Debian 11 Bullseye. In fact, LibreNMS is an auto discovering PHP/MySQL-based network monitoring system that includes support for a wide range of network hardware and operating systems including Cisco, Linux, FreeBSD, Juniper, Brocade, HP, and many more.

Migrate Centos 8 to AlmaLinux 8.3 - Step by step guide ?


This article covers the complete procedure for upgrading your CentOS 8 to AlmaLinux 8. In fact, AlmaLinux OS is an open-source, community-driven project that intends to fill the gap left by the demise of the CentOS stable release. With this system, You can rely on AlmaLinux OS to run you and your client's critical workloads.

ASN Lookup Tools, Strategies and Techniques


This article covers the concept of ASN, the different types of ASN, and we were able to test some of the best ASN lookup tools in existence.

Basically, ASN information is another piece of the great networking puzzle that surrounds us, a point in the great Internet ocean that will be overlooked by most of its current users. 

Autonomous System Numbers (ASNs) is an IP prefix is a list of IP addresses that can be reached from that ISP's network. 

The network operators must have an ASN to control routing within their networks and to exchange routing information with other ISPs.


What is ASN Whois Lookup Tool ?

It searches the entered ASN number in ARIN Whois Database and pulls out the company details who originally registered and is using the specified ASN number.

ASN stands for an autonomous system number, and these numbers represent an entire organization or ISP.

APT Security: What Are Advanced Persistent Threats?


This article covers an overview about APTs. An advanced persistent threat (APT) is among the most dangerous cyber threats a company can face.

These attacks are hard to detect and allow an intruder to hide within a network for months. While hackers stay in the system, a company suffers regular data losses and outages without knowing the cause of problems.

While advanced persistent threats were once considered specifically dangerous to government institutions and large enterprises, the threat landscape is constantly shifting. Now, no organization is safe from these types of attacks. 

Because they are difficult to detect, and remain in systems for long periods of time and cause devastating losses to their targets, it's important to educate ourselves.

Knowing what APTs are, how to recognize common signs of their presence in a network, and of course, staying diligent and having a good detection and response plan are essential in protecting any organization from this silent threat. 


What is difference between APTs and malware?

Most malware executes a quick damaging attack, but APTs take a different, more strategic and stealthy approach. 

The attackers come in through traditional malware like Trojans or phishing, but then they cover their tracks as they secretly move around and plant their attack software throughout the network.


Phases of APT attack:

A successful APT attack can be broken down into three stages: 

1. Network infiltration.

2. The expansion of the attacker's presence.

3. The extraction of amassed data—all without being detected.

8 Methods to prevent DNS attacks


This article covers a few tips to prevent DNS attacks.

Hackers will always try to target your public company services, researching to find weaknesses inside your Domain Name System.

Having a solid DNS hardening policy will help to mitigate most of the attacks described in this guide.

Therefore, Start auditing your DNS zones today in order to secure your DNS servers, collect information, and try to reduce your DNS public information as much as possible.


How to prevent DNS poisoning?

Thankfully, there is an antidote: DNS Security Protocol (DNSSEC).


Methods to protect DNS servers:

1. Use DNS forwarders.

2. Use caching-only DNS servers.

3. Use DNS advertisers.

4. Use DNS resolvers.

5. Protect DNS from cache pollution.

6. Enable DDNS for secure connections only.

7. Disable zone transfers.

8. Use firewalls to control DNS access.

Windows Error 0x80071AC3 Volume is dirty error message CHKDSK


This article will guide you on steps to fix #Windows #Error #0x80071AC3, Volume is dirty error message – #CHKDSK which occurs as a result of data #corruption, corrupted system files, #malware #infection, as well as improper #installation of #application, and so on.

Windows Error 0x80070079: The semaphore timeout period has expired


This article will guide you on the steps to resolve #Windows #Error #0x80070079: The semaphore timeout period has expired which can be fixed by simply #updating or #reinstalling the #network #adapter #drivers.

Windows error WslRegisterDistribution failed with error 0x8007019e and 0x8000000d


This article will guide you on the methods to resolve #Windows error #WslRegisterDistribution failed with error #0x8007019e and #0x8000000d which occurs due to the absence of supporting Windows 10 features since the error does not even let one use the WSL-based command line.

Sandbox failed to start with error 0xc030106 in Windows 10


This article will guide you on the different methods to resolve Windows error "Sandbox failed to start with error 0xc030106". Methods to fix Windows Sandbox #error 0xc0370106 includes; 1. Run #Windows Sandbox as Administrator. 2. Re-enable some of the supporting processes. 3. #Install pending Windows Updates. 4. #Disable and Enable Windows #Sandbox. 5. #Uninstall Recent Windows 10 Cumulative #Updates. 6. #System File Checker #Utility. 7. Run #DISM #command.

Tips to resolve Taskbar not visible in Remote Desktop on Windows 10


This article will guide you on how to fix the #taskbar is not visible in #Windows. How do I get my taskbar back on #Remote #Desktop? 1. Go to: 'Start' > 'Programs' > 'Communication' > 'Remote Desktop Connection'. 2. Click on the 'Options >>' button. 3. Click on the 'Display' tab. Check (or uncheck) "Display the connection bar when I use the full screen" (for Windows CE6 Operating System) or "Display the connection bar" (for Windows CE5 Operating System).

Configuring Postfix to Use Gmail as SMTP server on Ubuntu 18.04


This article will guide you on the step by step process you need to follow to Set up #postfix to use #gmail as #smtp server on #Ubuntu 18.04

Setting Up an Icecast Audio Streaming Server


This article will guide you through the steps on setting up an HTTPS audio stream over #Icecast on #Linux. The guide will assume that you are running #Ubuntu 18.04.

Extend LVM disk in VMware


This article will guide you on the process to Increase A VMware #Disk Size (VMDK) Formatted As #Linux #LVM without rebooting in #VMWARE.

Install Docker On Ubuntu 18.04


This article will guide you on the process to successfully install the latest version of the #Docker engine and #Docker-Compose on an #Ubuntu server (version 18 and up).

Migrating Zabbix from one Linux server to another


This article will help you to migrate Zabbix from one Linux server to another (Centos to Debian).

Msvcr120.dll_clr0400.dll Missing Error in Windows 10


This article will guide you on the right steps to take to enable you fix Windows error "Msvcr120.dll_clr0400.dll is missing".

Windows Sandbox failed to start, Error 0x80070015, The device is not ready in Windows 10


This article will guide you on the right steps to go about fixing Windows Sandbox failed to start, Error 0x80070015, The device is not ready in Windows 10 error.

Windows Sandbox failed to start, Error 0x80070057, The parameter is incorrect


This article will guide you on the steps to fix Windows Sandbox failed to start, Error 0x80070057, The parameter is incorrect error by installing any pending updates in your Windows 10 computer, as well as make sure that all the services related to Windows Sandbox are enabled.

How to fix Windows when Sandbox item is greyed out


This article will guide you on the steps to take when Windows Sandbox item is greyed out in Windows 10. To enable Windows Sandbox in Windows 10, you are required to go to the search bar, type Turn Windows features on or off and click the search result to enter the Windows Features interface. Then, check the Windows Sandbox item.

Deleting files and folders using Command Prompt in Windows 10


This article will guide you on the steps to delete files and folders via the command prompt. Also you can use this method to clean out your computer for any junk or corrupted files as well as eliminate any unwanted files from your system.

Install APCu in cPanel server


This article will guide you on the steps to follow to install APCu in cPanel server.

Install And Configure A Squid Proxy ?


This guide will put your through the steps to install and configure a proxy server is using Squid proxy.

Install Zabbix agent on CentOS


This guide will show you the steps to install zabbix agent on your CentOS server.

Windows Sandbox failed to start, Error 0x80070057, The parameter is incorrect


This article will guide you on the different methods to fix Windows error "Windows Sandbox failed to start, Error 0x80070057, The parameter is incorrect" by installing any pending updates in your Windows 10 computer.

Windows 10 error 0x800703EE when copying files to external storage


This tutorial will help you to resolve Windows 10 error 0x800703EE when copying files to external storage which occurs due to corrupted or outdated USB drivers or it could be caused be a disabled Windows Backup and Volume Shadow copy service.

Windows Error "The task image is corrupt or has been tampered with (0x80041321)"


This article will guide you on the steps to fix Windows Error "The task image is corrupt or has been tampered with (0x80041321)" which is generally triggered by a wrongly set value in the registry, usually left behind by third-party back-up software.

Solution to Calculator Application not working in Windows 10


This article will guide you on how to quickly fix the problem with the Calculator app on your Windows 10 computer.

Windows error Installation ended prematurely because of an error


This article will guide you on the steps to fix Windows error "Fatal error, Installation ended prematurely because of an error" which occurs when performing any software reinstallation or installation.

Boot Device Not Found Error in Windows 10


This article will guide you on the different methods to fix Windows “Boot Device Not Found” error which occurs when the UEFI or the BIOS was not able to locate the drive where it can boot.

Windows 10 Hello Errors 0x801c004d or 0x80070490


This article will guide you on the steps to resolve Windows 10 Hello Errors 0x801c004d or 0x80070490.

Windows Error 0x8004230F


This article will guide you on the steps to fix Windows Error 0x8004230F when creating System Restore point in Windows 10.

Steps to fix Windows error "There is insufficient disk space to complete operation"


This article will guide you on the different methods to fix Windows error “There is insufficient disk space to complete operation” which could be triggered as a result of lack of disk space or corrupted disk.

Steps to solve Remote Access Connection Manager Service not working, Error 0xc0000005 in Windows 10?


This article will guide you on the steps to fix Windows error 0xc0000005 the problem with the Remote Access Connection Manager Service.

Complete guide to fix Windows Upgrade Error 0x800F081E – 0x20003 in Windows 10


This article will guide you through the steps to quickly fix Windows error 0x800F081E – 0x20003 which occurs when some of the update requirements are missing or the files that are installed are already of a higher version compared to the ones that are still pending.

What to do if the Copy and Paste feature is not working in Windows 10


This guide will give you different tips and step by step process to fix Copy and Paste feature if it is not working in Windows 10.

How to fix "NVIDIA GameStream is not working" in Windows 10


This tutorial will guide you on the different tips to fix the issue with the NVIDIA GameStream service when the service fails to work in Windows Systems.

Tips to fix "Error 633: The modem or other connecting device is already in use" in Windows 10?


This article will guide you on the different methods to resolve VPN Error 633 in your Windows 10 computer which occurs while trying to connect to the internet.

Methods to change the Left & Right mouse buttons in Windows 10


This article will guide you on the steps to perform changing the Left & Right mouse buttons in Windows 10.

Windows Error 0xc0000142


This article will help you to fix Windows Error 0xc0000142 which occurs when an application fails to properly initialize.

Steps to fix Chrome error 103 connection aborted error


This article will guide you on the steps to fix Chrome error 103 connection aborted error which occurs as a result of issues in your Google Chrome browser or system issues.

Fix Error 103 in Google Chrome


This tutorial will help you with the complete steps to follow to fix Google Chrome error 103.

Changing PuTTY window title to the name of the loaded session


This article will guide you on the different methods to modify the PuTTY SSH session window title.

Pluggable.php File Errors in WordPress – Fix it Now ?


This article covers methods to fix Pluggable.php File Errors in WordPress. Basically, this WordPress error triggers when we add a code snippet on our site or activate a new plugin.

This means that Pluggable.php file errors takes place as a result of a poorly coded theme or plugin. It could also be a result of code errors in your WP files. 


The first option when troubleshooting the Warning: cannot modify header information pluggable.php error is to manually edit the faulty file. You are already supplied with the necessary information to locate the problem in the error message (remember, it's the first file in the message). 

All you need to do is open up this file, either through an FTP client like FileZilla, or through File Manager.

Make sure to pay special attention to the starting and ending PHP tags. 

There should not be spaces before or after the <?php tag, as well as the ?> tag. 

Also, the last line of code should not be followed with a blank line or extra space.

cPanel reported error number 1 when it ended - Fix it Now ?


This article covers methods to resolve cPanel reported error number 1 when it ended. This error makes cPanel copy action on an account from another server to fail.

The error means that the destination server isn't able to login into the source server to fetch files .


To fix this error, do the following:

1) Recheck your username and password used along with the IP too.

2) Firewall, the source firewall is blocking your destination server IP. 

You would need to login into the WHM of the source server and goto "ConfigServer Security & Firewall".

Retry you transfer and it should be working.

Import Nagios Log Server Into Microsoft Hyper-V - How to Do it?


This article covers how to easily Import Nagios Log Server Into Microsoft Hyper-V. Basically, to Import Nagios Log Server Into Microsoft Hyper-V we need to follow a series of steps outlined in this guide. 

cPanel Error Iproute Conflicts With Kernel - Fix it Now ?


This article covers method to fix cPanel Error Iproute Conflicts With Kernel. Basically, this error happens when we have an outdated kernel on the server. 


Instead of deleting conflicting kernels, you can also add the iproute package to the excludes of yum in /etc/yum.conf file, then the iproute package won't be marked for the update.

It can be useful when you need to perform an update but can't reboot the server at the given moment. 

It can be excluded manually using a preferred text editor or using the following command:

$ sed -i 's/exclude=/exclude=iproute /' /etc/yum.conf

The change can be reverted using this command:

$ sed -i 's/exclude=iproute /exclude=/' /etc/yum.conf

Configure SSL / TLS in Nagios Log Server - How to do it ?


This article covers how to configure SSL/TLS in Nagios Log Server. SSL/TLS provides security between the end user's web browser and Nagios Log

Server by encrypting the traffic. This guide is intended for use by Nagios Log Server Administrators who require encrypted connections to their Nagios Log Server.

cPanel error networkmanager is installed and running


This article covers how to resolve the error, NetworkManager is installed and running. Basically, this error happens if cPanel does not support NetworkManager-enabled systems.


To fix this error, simply run the commands below and then restart the installation of cPANEL:

$ systemctl stop NetworkManager.service
$ systemctl disable NetworkManager.service

Managing Instances In Nagios Log Server


This article covers Instances in Nagios Log Server and how we can manage them. 

Nagios Log Server is a clustered application, it consists of one or more instances of Nagios Log Server. An

instance is an installation of Nagios Log Server, it participates in the cluster and acts as a location for the

received log data to reside. The log data is spread across the instances using the Elasticsearch database, a

special database used by Nagios Log Server.

Install Wazuh Server on CentOS 7 - Step by Step Process ?


This article covers the installation procedure of Wazuh Server on CentOS Linux System. Basically, Wazuh is a free, open-source and enterprise-ready security monitoring solution for threat detection, integrity monitoring, incident response and compliance. 


You can use Wazuh for the following applications:

  • Security analysis
  • Log analysis
  • Vulnerability detection
  • Container security
  • Cloud security


To Install Java on CentOS 8.

1. Run the command below to install JDK:

$ sudo dnf install java-11-openjdk-devel

2. Confirm that you have it installed

$ java -version

Alerting On Log Events With Nagios Log Server


This article covers Alerting On Log Events With Nagios Log Server. Basically, for alerting on Log Events with Nagios Log Server one needs to be familiar with the options available.

With this guide, you will learn how to create various alerts in Nagios Log Server, such as sending

them to a Nagios XI or Nagios Core monitoring server using Nagios Remote Data Processor

(NRDP), sending an email, sending SNMP traps and executing scripts.

Install Ajenti Control Panel on Debian 10 / Debian 9 - Step by Step Process ?


This article covers how to install Ajenti Control Panel on Debian system. Basically, Ajenti is a simple tool to manage your websites, Firewall, DNS, Cron, Logs, Files, Mail hosting services and so on.

Analyzing Logs With Nagios Log Server


This article covers how to analyze  logs with Nagios Log Server.  Basically, in order to analyze logs with Nagios Log Server one needs to be familiar with the options in the Dashboards menu. This guide is very essential to Nagios Log Server administrators and users looking for information on querying, filtering and drilling down the data in Nagios Log Server.

You can audit your IT infrastructure, maintain historical records of usage of IT infrastructure, create reports, and analyze logs using the Nagios Log Server.

Hardening Windows Using Microsoft Security Baseline


This article covers Hardening Windows Using Microsoft Security Baseline.

Every organization faces security threats. However, the types of security threats that are of most concern to one organization can be completely different from another organization. For example, an e-commerce company may focus on protecting its Internet-facing web apps, while a hospital may focus on protecting confidential patient information.

The one thing that all organizations have in common is a need to keep their apps and devices secure. These devices must be compliant with the security standards (or security baselines) defined by the organization.

A security baseline is a group of Microsoft-recommended configuration settings that explains their security impact. These settings are based on feedback from Microsoft security engineering teams, product groups, partners, and customers.


How can you use security baselines?

You can use security baselines to:

1. Ensure that user and device configuration settings are compliant with the baseline.

2. Set configuration settings. For example, you can use Group Policy, Microsoft Endpoint Configuration Manager, or Microsoft Intune to configure a device with the setting values specified in the baseline.

Access denied to VNC Server - How to fix this error ?


This article covers methods to fix the error, Access denied to VNC Server. Basically, this error occurs while trying to connect to a VNC server using a cloud connection. This message means that your RealVNC account has been signed out of VNC Viewer.

This will happen if you have recently changed the password for your RealVNC account, for example.


To resolve this VNC connection issue, click Sign in again and enter your RealVNC account credentials.

Once you see a green tick/check mark in the top right next to your name, try connecting to the VNC Server again.

Install Docker CE on AlmaLinux 8 - Step by Step Process ?


This article covers the process of installing Docker CE on AlmaLinux. Docker is a popular virtualization platform for running applications in Containers.

It allows us to build and communicate containers with one on another.


To install Docker CE on AlmaLinux 8:

1. Add official Docker CE repository on your AlmaLinux 8, so that we can install it without downloading its packages manually.

$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

2. To let the system recognize the added Docker repository and the packages available in the same, run the system update that will force AlmaLinux to rebuild the system repo cache.

$ sudo dnf update

3. You can check the added repo including others of your system using the command.

$ sudo dnf repolist -v

4. Run the Command to Install Docker CE Engine.

$ sudo dnf install docker-ce docker-ce-cli containerd.io

5. Once the installation is completed, start the Docker service on your AlmaLinux and also enable it to run automatically with system boot.

$ sudo systemctl enable docker
$ sudo systemctl start docker

6. Check the Status of the Service to know it is working properly.

$ systemctl status docker

SNMP Trap Hardening in Nagios - How it Works ?


This article covers how to go about SNMP Trap Hardening in Nagios.


When using the vi editor:

1. To make changes press i on the keyboard first to enter insert mode

2. Press Esc to exit insert mode

3. When you have finished, save the changes in vi by typing :wq and press Enter

 

How to Send Test Trap ?

When working through this documentation you may want to test the changes by sending a test trap. The following KB article provides examples on how to send a test trap, which can be very helpful:


How To Send A SNMP Test Trap ?

When a test trap is received on the Nagios XI server it should be logged in the /var/log/snmptt/snmpttunknown.log file.

The default SNMP Trap configuration is stored in the /etc/snmp/snmptrapd.conf file and contains just two lines:

disableAuthorization yes
traphandle default /usr/sbin/snmptthandler

NRPE Command Plugin Not Defined - How to fix it ?


This article covers methods to resolve 'NRPE Command Plugin Not Defined' for our customers.

This error is very straight forward. Usually this is caused by a mismatch between the command name declared in Nagios XI to be check through NRPE and the actual command name of the command directive in the remote host's nrpe.cfg file.

This problem will occur in versions of check_nrpe before v3. 

What is happening here is that the initial -c check_users is being overwritten by the -a -w 5 -c 10, as check_nrpe thinks the -c 10 argument is the command argument, not one of the -a arguments.

SNMP Trap v3 Configuration in Nagios - How to get it done ?


This article covers How to configure SNMP Trap v3 on the Nagios XI server.

The main difference between v2 and v3 traps is the authentication mechanisms. v2 is much simpler by design whereas v3 has multiple layers of authentication to strengthen it. Probably the biggest difference is that the SNMP Trap Daemon (snmptrapd) is configured by default to accept v2 traps from any device regardless of what SNMP community is provided. 

However snmptrapd cannot be configured to accept traps v3 from any device, it must be configured before it can receive an SNMP v3 trap.


The default SNMP Trap configuration is stored in the /etc/snmp/snmptrapd.conf file and contains just two lines:

disableAuthorization yes
traphandle default /usr/sbin/snmptthandler

 

The disableAuthorization directive allows SNMP v2 traps from any device to be sent to Nagios XI. 

Even if this line exists the Nagios XI server will not be able to receive SNMP v3 traps unless the server has been specifically configured for SNMP v3 traps.

Install PHP 8 on CentOS 7 / CentOS 8 - Step by Step Process ?


This article covers how to install PHP 8.0 on CentOS 8/7 and RHEL 8/7.

PHP is the most used scripting language for web development, both websites and web applications.

This guide will show you how to install PHP 8.0 on CentOS 8 | CentOS 7. 

Please note the GA release is fit for running in Production if the application already supports it.


To install any additional PHP package use command syntax:

$ sudo yum install php-xxx

To Check PHP version:

$ php --version

Install PHP 8 on Ubuntu 20.04 or 18.04 - Step by Step Process ?


This article covers steps to install PHP 8 on Ubuntu. PHP is arguably one of the most widely used server-side programming languages. It's the language of choice when developing dynamic and responsive websites. Basically, popular CM platforms such as WordPress, Drupal, and Magento are based on PHP.


To Install PHP as Apache Module

Run the commands:

$ sudo apt update
$ sudo apt install php8.0 libapache2-mod-php8.0

Once the packages are installed, restart Apache for the PHP module to get loaded:

$ sudo systemctl restart apache2


To Configure Apache with PHP-FPM

Php-FPM is a FastCGI process manager for PHP. 

1. Run the following command to install the necessary packages:

$ sudo apt update
$ sudo apt install php8.0-fpm libapache2-mod-fcgid

2. By default PHP-FPM is not enabled in Apache. 

To enable it, run:

$ sudo a2enmod proxy_fcgi setenvif
$ sudo a2enconf php8.0-fpm

3. To activate the changes, restart Apache:

$ systemctl restart apache2 


To install PHP 8.0 with Nginx

Nginx doesn't have built-in support for processing PHP files. We'll use PHP-FPM ("fastCGI process manager") to handle the PHP files.

Run the following commands to install PHP and PHP FPM packages:

$ sudo apt update
$ sudo apt install php8.0-fpm

Once the installation is completed, the FPM service will start automatically. 

To check the status of the service, run

$ systemctl status php8.0-fpm

Do not forget to restart the Nginx service so that the new configuration takes effect:

$ sudo systemctl restart nginx

Configure RDS User Profile Disks on Windows


This article covers method to configure and use User Profile Disks on a server with Remote Desktop Services role running on Windows Server 2012 / 2012 R2 / 2016.

In a single RDS collection, there can exist only one VHDX profile file for one user. If a user connects to the resources from two different collections, a separate profile disk should be created for each of them.

Also note that the UPD drive is bound to the RDS server Windows OS version. You can’t transfer (use) an UPD user profile from an RDS server from one version of Windows Server to another.


To Setup & Enable RDS User Profile Disks:

1. Create a shared network location for the disks.

2. Launch SERVER MANAGER.

3. Expand REMOTE DESKTOP SERVICES > COLLECTIONS.

4. Click on your Collection.

5. Click TASKS > EDIT PROPERTIES (top right corner).

6. Click USER PROFILE DISKS (bottom of the menu on the left).

7. Click ENABLE USER PROFILE DISKS.

8. Set the location to what you created in step 1

i.e. \\YourServerNameHere\UserProfileDisks$

9. Set the maximum size of those disks.

10. Scroll down and set what you want to have stored on those VHD's.


How to Resize User Profile Disks Using PowerShell ?

You can extend the virtual vhdx drive with the user's UPD profile using the PowerShell cmdlet Resize-VirtualDisk from the Hyper-V module:

Net use U: \\rdvh1\DemoLabOficeApps
Resize-VHD -Path u:\UVHD-<SID>.vhdx -SizeBytes 40GB
Net use U: /delete

If you want to run the Resize-VHD cmdlet from a desktop with Windows 10, you must install the feature Hyper-V -> Hyper-V Platform -> Hyper-V Services.

Send test SNMP trap in Nagios - How does this work ?


This article covers how to send a trap to Nagios server to test SNMP Trap functionality.

Basically, when troubleshooting an SNMP Trap issue, it can be very helpful to remove the actual device that could be causing problems and use the snmptrap command instead.

So in this guide, you will learn all the methods of sending a trap to your Nagios server to test SNMP Trap functionality.


SNMP Trap Definition

The following trap definition can be placed in /etc/snmp/snmptt.conf which will allow the test traps sent above to be passed through to Nagios:

EVENT netSnmpExampleHeartbeatRate .1.3.6.1.4.1.8072.2.3.0.1 "netSnmpExampleHeartbeatRate" Normal
FORMAT SNMP netSnmpExampleHeartbeatRate
EXEC /usr/local/bin/snmptraphandling.py "$r" "SNMP Traps" "$s" "$@" "" "netSnmpExampleHeartbeatRate"


The default SNMP Trap configuration is stored in the /etc/snmp/snmptrapd.conf file and contains just two lines:

disableAuthorization yes
traphandle default /usr/sbin/snmptthandler

SMTP error no route to host - Fix it Now ?


This article covers methods to resolve SMTP error no route to host.

This error happens when the port is blocked at the hosting end or ISP.

In this guide we have outlined different methods to fix this SMTP error.

Install PHP 8 on Debian 10 / Debian 9 - Step by Step Process ?


This article covers how to install PHP 8 on any Linux distribution.


To install Apache with PHP 8 module:

$ sudo apt install apache2 libapache2-mod-php8.0 

After successful installation, restart Apache service to reload newly installed modules:

$ sudo systemctl restart apache2 


To check loaded PHP modules use the command:

$ php -m

PHPMailer SMTP error password command failed - Fix it Now ?


This article covers methods to resolve PHPMailer SMTP error password command failed. 


To fix this SMTP issue, you need to:

1) Login to your Gmail account using the web browser.

2) Click on this link to enable applications to access your account: https://accounts.google.com/b/0/DisplayUnlockCaptcha

3) Click on Continue button to complete the step.

4) Now try again to send the email from your PHP script. It should work.

Set-ADUser Modify Active Directory Users with PowerShell - Do it now ?


This article covers how to use Set-ADUser Modify Active Directory Users with PowerShell.

Basically, the Set-ADUser cmdlet is part of the Active Directory module for Windows PowerShell.


The Identity parameter specifies the Active Directory user to modify. 

You can identify a user by its distinguished name, GUID, security identifier (SID), or Security Account Manager (SAM) account name. 

You can also set the Identity parameter to an object variable such as $<localUserObject>, or you can pass an object through the pipeline to the Identity parameter.

Install Docker CE on AlmaLinux 8 - Step by Step Process ?


This article covers step by Step process to install Docker CE on AlmaLinux.

Docker is a tool that is used to run software in a container.

It's a great way for developers and users to worry less about compatibility with an operating system and dependencies because the contained software should run identically on any system.


To Install Docker on AlmaLinux:

1. We can add the Docker repository to our system with the following command.

$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2. Before we begin installing Docker, we need to remove the podman and buildah packages from our system, as they conflict with Docker and will inhibit it from being installed.

$ sudo dnf remove podman buildah

3. Finally, we can install the three Docker packages we'll need by executing the following command.

$ sudo dnf install docker-ce docker-ce-cli containerd.io

4. Once installation is completed, start the Docker service and, optionally, enable it to run whenever the system is rebooted:

$ sudo systemctl start docker.service
$ sudo systemctl enable docker.service

5. You can verify that Docker is installed and gather some information about the current version by entering this command:

$ sudo docker version

WordPress error "Failed to open stream" - Fix it Now ?


This article covers methods to resolve WordPress error "Failed to open stream".

Basically, this WordPress error triggers when WordPress is unable to load a file mentioned in website code.


To fix this WordPress error:

1. First of all Login to the Dashboard of the site. At left bar of the page users can see Settings Button. Click on the button Settings. Finally click on the button Permalinks.

2. Make all the corrections to make it 'Failed to Open Stream Error' free. After making the changes Click on the button Save Changes.

WordPress error "Destination Folder Already Exists" – Fix it Now ?


This article covers methods to fix WordPress error "Destination Folder Already Exists".

Basically, this WordPress error triggers when a folder with the same name as that of the plugin or theme already exists. 


To resolve WordPress "Destination folder already exists" error:

Since the error is caused by a plugin or theme folder that already exists, the easiest way to solve the error is by deleting the folder. 

The process of deleting a theme via FTP is the same one you use for deleting a plugin. 

The only exception is that you need to navigate to wp-content/themes instead of wp-content/plugins. 

1. To delete the plugin folder, connect to your server using your FTP credentials and navigate to your root WordPress directory, often called public_html.

2. Then, go to the wp-content/plugins directory.

3. Within the plugins directory, find the plugin folder mentioned in the error message.

4. When you've located the folder you need, right-click on it and press the Delete option from the menu that appears.

5. After that, you will be prompted to confirm your choice. Press the Yes button to proceed.

6. Then, you will have to wait a bit until the plugin folder, as well as all directories and files within it, are deleted. 

Install CloudPanel on Ubuntu 20.04 - Step by Step Process ?


This article covers the Installation procedure of CloudPanel on Ubuntu 20.04. Basically, CloudPanel, an open source, PHP-based host control software built for the cloud helps to manage hosted services.

CloudPanel is a server management control panel designed to be fast, easy to use and customizable. This piece of software supports management of Domains, Linux services, Cron jobs, FTP services, System security through IP and Bots blocking, User management, Cloud platforms support, among many others.


Main features of CloudPanel Includes:

1. Free to use and open source

2. Provides powerful intuitive interface for management

3. Designed for high Performance with minimal resource usage

4. It is secure – provision of free SSL/TLS certificates

5. It supports all major clouds – AWS, Digital Ocean, GCP, e.t.c

6. CloudPanel is available in more than ten languages, making it easy to install in any region

7. One-Click Let's Encrypt Certificates

8. NGINX Support

9. Multiple PHP Versions


To fix failed CloudPanel installation:

$ sudo apt -f install

Plesk error FPM initialization failed - Fix it Now ?


This article covers methods to fix Plesk error, FPM initialization failed.

Basically, the error "FPM initialization failed" triggers in Plesk mainly in different formats. The is as a result of Incorrect PHP configuration file was generated during subdomain creation via XML API.


To fix this Plesk error:

i. Log in to Plesk server via SSH.

ii. Remove the excessive configuration file:

rm -f  /etc/php-fpm.d/subdomain.example.com.conf

DirectAdmin PhpMyAdmin error 500 - Fix it Now ?


This article covers methods to resolve DirectAdmin PhpMyAdmin error 500. This error happens as a result of a number of reasons that include PHP settings, modsecurity rules and so on.


To resolve this error, In the library is /usr/share/phpmyadmin/libraries/sql.lib.php,

You need to modify the file:

From && ($analyzed_sql_results['select_expr'][0] == '*')))

to && ($analyzed_sql_results['select_expr'][0] == '*'))

The plesk-php7x-fpm service crashes during the reload after domain name change - Fix it Now ?


This article covers how to resolve Plesk error, The plesk-php7x-fpm service crashes during the reload after domain name change. 


To fix this error, you need to update Plesk via a command-line interface:

1. Connect to a Plesk server via SSH (Linux) / RDP (Windows Server).

2. Run Plesk Installer Update (on Windows Server, start a command prompt as an Administrator):

plesk installer update

Drupal SMTP error "could not connect to smtp host" - Fix it Now ?


This article covers methods to resolve Drupal SMTP error "could not connect to smtp host".

Basically, this error happens as a result of improper Drupal SMTP settings such as wrong SMTP server name, wrong port settings, and so on. 


To resolve this SMTP error, follow the steps given below:

1. Login into myaccount.google.com.

2. Click on the link connected apps & sites.

3. Allow less secure apps" to "ON" (near the bottom of the page).


Also, you can try the following to fix this SMTP error,

1. System access configuration

Need to allow access for firewall or network to send mail for linux, windows and mac.

Following command set permission for linux.

i.  iptables -I OUTPUT -p tcp --dport 465 -j ACCEPT

ii.  iptables -I OUTPUT -p tcp --dport 587 -j ACCEPT


2.  SMTP Authentication Support

Set your gmail and google app information.

If you want to use Gmail as SMTP server,

SMTP server: smtp.gmail.com

SMTP port: 465

Use encrypted protocol: Use SSL 

SMTP Authentication

Username : youremail@gmail.com or ouremail@yourGoogleAppsDomainName.com(google app)

Password : yourpassword

Note : Remove leading and trailing space from "SMTP Authenitcation Username" if is there otherwise it's not authenticate your request to gmail.

Plesk error Unable to import the dump - Fix it Now ?


This article covers methods to fix database error in Plesk. 


To fix this Plesk database issue:

1. Start by Checking the version of your SQL server with:

# plesk db -Ne "select version()"

2. Make sure that collation mentioned in the error message is not available in MySQL server:

# plesk db -e "show collation" | grep uft8_general_ci

3. So you have to upgrade MariaDB to version 10.1 or 10.2 on the destination server.


How to upgrade Plesk MySQL 5.5 to 5.6/5.7 or MariaDB 5.5 to 10.X on Linux?

By default, Ubuntu 20.04 is shipped with MariaDB 10.3.

1. For security reasons, create a database dump of all databases with the following command:

MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /tmp/all-databases.sql

2. Stop MariaDB:

$ service mariadb stop

3. Install repositories from Setting up MariaDB Repositories page:

# apt-get install software-properties-common
# apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
# add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.truenetwork.ru/mariadb/repo/10.4/ubuntu focal main'

4. Create a backup of all MySQL data:

$ cp -v -a /var/lib/mysql/ /var/lib/mysql_backup

5. Start an upgrade with the following command. Leave all fields empty when asked for a 'root' user password:

$ apt-get update
$ apt-get install mariadb-server

6. Start the MariaDB service:

# service mariadb start

7. Upgrade MySQL databases:

MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

8. Restart mysql service:

$ service mariadb restart

9. Execute the following commands to update package version inside Plesk:

# plesk bin service_node --update local
# plesk sbin packagemng -sdf

Enable EPEL repository on AlmaLinux 8 - Step by Step Process ?


This article covers how to enable EPEL repository on AlmaLinux 8.

Extra Packages for Enterprise Linux (EPEL) is repository with a high quality set of additional packages for Enterprise Linux operating systems such as Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL), AlmaLinux and any other Linux distribution from the RHEL family.


Run the command below to install EPEL Repository on AlmaLinux OS 8:

# sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Accept installation using the y key.

Install WHM Cpanel on AlmaLinux 8 Server - Step by Step Process ?


This article covers the complete steps to install WHM Cpanel on AlmaLinux 8 Server.

To manage Linux servers for hosting purposes most of the services are using WHM's Cpanel.

Although there are many hosting manager software, because of its easy-to-use interface and features, it is one of the best control panels for Web hosting services. 


cPanel, Control Panel, is a control panel developed in 1997 that offers us high-quality web hosting with excellent features that, thanks to WHM (Web Host Manager), can be managed from a graphics console, with everyone doing their job.

Cloudflare sec_error_unknown_issuer - Fix it Now ?


This article covers methods to fix Cloudflare error "sec_error_unknown_issuer".

Basically, Cloudflare sec_error_unknown_issuer happens mainly due to issues with the SSL certificate and DNS settings at the Cloudflare end. 

WordPress RSS Feed Errors - Fix it Now ?


This article covers how to resolve WordPress RSS feed errors. RSS feed errors in WordPress all generally come back to your code in one way or another. Fortunately, you don't necessarily have to have any experience with XML to fix the problem.

Over time, the RSS Feed may develop some issues. These issues may be primarily due to poor formatting.

However, there are other causes such as theme problems, copy and paste codes, and bad plugins.

To resolve these issues, you can either opt for manual fixing or use plugins.


To troubleshoot a WordPress RSS feed error:

1. Manually check for errors in functions.php.

2. Switch to a default theme.

3. Test for plugin conflicts.

iisnode encountered an error when processing the request - Fix it Now ?


This article covers methods to resolve "iisnode encountered an error when processing the request" error.

Basically, this iisnode error triggers when the application pool doesn't have enough permissions to write to the current folder. 

Therefore, you need to Allow, 'Full Control', for user 'IIS_IUSRS', from 'Advanced Security' upon right clicking your application root directory.


This error simply denotes that Your application pool doesn't seem to have enough permissions to write to the current folder.

1. You can either edit the permissions to give the IIS_IUSRS group write permissions to that folder

2. Go into the advanced settings menu and under Process Model -> Identity change the user account to a user that already has write permissions.

Install CloudPanel Control Panel on Debian 10 - Step by Step Process ?


This article covers how to Install CloudPanel Control Panel on Debian 10. With Cloud panel, you can manage MySQL, NGINX, PHP-FPM, Redis, Domain, FTP, User management, and many more from the web-based interface. 

It supports all major cloud providers including, AWS, Google, Digital Ocean, and specially designed for high performance with minimal resource usage.

It also offers a CLI tool that helps you to perform several operations including, database backup, password reset, permissions, and more.


To Install CloudPanel on Debian Linux:

1. You can download it with the following command:

# curl -sSL https://installer.cloudpanel.io/ce/v1/install.sh -o cloudpanel_installer.sh

2. Once the script is downloaded, set proper permission to the downloaded script with the following command:

# chmod +x cloudpanel_installer.sh

3. Next, run the script using the following command:

$ ./cloudpanel_installer.sh


Main Features of CloudPanel as listed in the official project website are:

1. It is open source and free to use

2. It provides a powerful intuitive interface for management

3. It is secure – provision of free SSL/TLS certificates

4. Designed for high Performance with minimal resource usage

5. It supports all major clouds – AWS, Digital Ocean, GCP, e.t.c

6. CloudPanel is available in more than ten languages, making it easy to install in any region

Graphs not recording for ICMP and ping checks - Fix it Now ?


This article covers method to fix Nagios error, Graphs not recording for ICMP and ping checks.

This problem happens after upgrading to Nagios XI 2014.


Solution to Nagios XI ICMP and Ping Checks Stopped Graphing:

1. First a Perl package needs to be installed using one of the commands below:

$ apt-get install -y librrd-simple-perl

2. Download and unzip the required files:

cd /tmp
wget https://assets.nagios.com/downloads/nagiosxi/scripts/rrd_ds_fix.zip
unzip rrd_ds_fix.zip

3. To run the script with RRD backups:

./fix_ds_quantity.sh -d /usr/local/nagios/share/perfdata/

Cloudflare err_ssl_protocol_error - Fix it Now ?


This article covers methods to resolve Cloudflare ERR_SSL_PROTOCOL_ERROR. Basically, this error happens as a result of a number of reasons that include wrong DNS settings, SSL mode, TLS version or issues with SSL certificate. 


To fix this error,

1. If you are not the site owner, contact the site owner and let them know you are having issues accessing their site.

2. The domain name has not fully been set to use Cloudflare yet. Check to see if there are non-Cloudflare nameservers that are conflicting with the assigned Cloudflare name servers.

3. You are signed up for Cloudflare, but you have set a DNS record to :grey:. If you have a subdomain or hostname and that serves HTTP/HTTPS traffic, we would advise that you :orange: this DNS record to take advantage of Cloudflare’s security and performance features. See What subdomains are appropriate for :orange:/:grey: clouds? 69

4. The Free Universal SSL certificate hasn’t yet been deployed, :grey: (deactivate) Cloudflare so that your website can continue to use your origin’s SSL certificate. Wait 24 hours and :orange: (activate) Cloudflare again to see if your SSL certificate has been successfully deployed.

5. You have some conflict with TLS 1.3, disable it and see if you still encounter the error.

6. You have selected Full SSL (strict) under your SSL/TLS app, but your origin does not have a valid certificate (i.e., it is expired, self-signed, or not issued by a trusted CA). Temporarily select another SSL option until you have a valid origin certificate in place.

7. Try to look at developer web console (firefox Ctrl+Shift+K) - anything interesting under Security tab.

8. Also, Try to run the command curl -vk on the affected domain.

Nginx error while loading shared libraries - Fix it Now ?


This article covers methods to resolve error, Nginx error while loading shared libraries for our customers. 

This error happens when Nginx is looking for a file libpcre.so.1 which comes under the PCRE library and cannot find it because it is not available in the system.

To install PCRE with the below command:

$ yum install pcre

If you don't have root privilege, then you may ask the system administrator to install it.

Clean Up and Compress WinSxS Folder on Windows Server / Windows 10 - Do it Now ?


This article covers methods to Clean Up and Compress WinSxS Folder on Windows Server/Windows 10. 

WinSxS folder in Windows is the reasons of its constant growth and ways to clean up it. 

The C:\Windows\WinSxS directory is the repository of Windows components. This directory contains DLLs, binary and XML files necessary for installation and operation of various Windows roles or features.

When installing the Windows updates (usually this happens every month), the new version of the updated component is installed on the system, while the old one is saved to the WinSxS folder (it is necessary to provide compatibility and make it possible to rollback to the previous versions of the components when you uninstall the Windows update).


To clean up the WinSxS folder on Windows 10 and Windows Server 2016/2019:

1. Optimize the component store and remove old versions of Windows component files left after installing Windows updates;

2. Features on Demand – allows you to remove unused Windows components from the disk;

3. Enable NTFS compression on the WinSxS folder – a way to reduce the size of the WinSxS directory using the built-in compression of the NTFS file system.


How to Check the Actual Size of WinSxS Folder on Windows 10?

The easiest way to get the current size of the WinSxS folder on Windows is to open the properties of the %windir%\WinSxS folder in File Explorer (or use a PowerShell script). 

You can find out the real size of the WinSxS folder on disk using the du tool from Sysinternals:

du -v c:\windows\winSXS

Install Ajenti Control Panel on Ubuntu 20.04 - Step by Step Process ?


This article covers step by step procedure to install Ajenti Control Panel on Ubuntu 20.04 for our customers.

Ajenti is a free to use and open source Server management and configuration Panel written in Python, JavaScript, and AngularJS. It provides a web dashboard for administration as opposed to command line management.

With this tool you can manage websites, DNS, Cron, Firewall, Files, Logs, Mail hosting services and so on.


The Ajenti Project consists of Ajenti Core and set of stock plugins forming the Ajenti Panel.

1. Ajenti Core: Web interface development framework which includes a web server, IoC container, a simplistic web framework and set of core components aiding in client-server communications.

2. Ajenti Panel: Consists of plugins developed for the Ajenti Core and a startup script, together providing a server administration panel experience.


To Install Ajenti Control Panel on Ubuntu 20.04:

1. Update and upgrade your Ubuntu machine.

$ sudo apt update
$ sudo apt dist-upgrade

2. If the upgrade is completed reboot the system before initiating installation of Ajenti on Ubuntu 20.04.

$ sudo systemctl reboot

3. There is a script provided for the installation of Ajenti control panel on Ubuntu 20.04. First download the script with curl.

$ curl -O https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install.sh

4. Run the installer script with sudo command.

$ sudo bash ./install.sh

PrestaShop back office error 500 or blank page - Fix it Now ?


This article covers methods to resolve PrestaShop back office error 500.

The error happens when the Back-office is accessed only from Debug mode activated or in production mode activated. The characteristic of this error is that it only occurs in one of the modes and not in both.

Also, this is an error that is occurring ONLY IN PRESTASHOP STORES VERSION 1.7, and that makes it impossible for us to enter the Back-office, showing an error 500 or the page goes blank. 

That's why we call it a critical mistake, for leaving the store inoperative.


To fix a HTTP 500 error on PrestaShop online store website:

You can activate your web host's FTP or CPanel error reports in your PrestaShop shop.

1.  From PrestaShop v1.4 to v1.5.2

i. Open config/config.inc.php

ii. On line 29, you will find this line: @ini_set('display_errors','off');

iii. Replace it with: @ini_set('display_errors','on');


2. PrestaShop v1.5.3 and later versions (including 1.6 and 1.7)

i. Open config/defines.inc.php

ii. On line 28, you will find this line: define('_PS_MODE_DEV_', false);

iii. Replace it with: define('_PS_MODE_DEV_', true);

Once error reports from the FTP or CPanel are activated, you can browse your store's front or back office to find out what the problem is.


More about Server error 500:

Error 500 means Internal server Error. Whenever a 500 error occurs, the task to return information by the server to the web browser will stop. 

Therefore, as we mentioned above, this is a critical error that would leave the website inoperative.

The 500 errors, as we noted above, are internal server errors and their origin may be in a programming code error on any item that is included and related to the request for information returned by the server to the web browser. 

Therefore, not all 500 errors come from the same source.

WordPress error "Your Connection Is Not Private" - Fix it Now ?


As a result of the SSL connection, sensitive information is protected from being stolen while being transferred between the server and the browser, which is one step in hardening your WordPress security

"Your Connection Is Not Private Error" message means that Google Chrome is preventing you from visiting your site because it is untrusted.

Ultimately, the chrome browser prevents you from gaining access to your website because the SSL certificates cannot be validated.

Typically, the "connection is not private" error in google chrome originates from issues from the side of the client, or from problems with the site's certificate.


To Fix Your Connection Is Not Private WordPress Error:

1. Reload the page

2. Check your network connection

3. Set time and date on your computer

4. Try browser's incognito mode

5. Clear your Browser Cookies, Cache, and History 

6. Disable Antivirus Temporarily

7. Update your Operating System

8. Restart your Computer

Rebooting your device will help clear out the temporary cache. 

This could surely very well fix your issue.

Prestashop parse error – How to fix the syntax error ?


This article covers ways to resolve Prestashop parse error.

Basically, Prestashop parse error happens when we install Prestashop 1.7 or above or accessing the admin panel of the store.


To fix this error:

1. You can start with emptying your cache by deleting the /var/cache directory.

If that doesn't work copy lines 28-30 from another shop and save it.

2. Also you can try to remove the following:

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php72” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

From end of .htaccess. 

Just to be sure if that is not source of issues.

Move Exchange Mailboxes to Another Database – How to perform it ?


This article covers how to move Exchange Mailboxes to Another Database.

Exchange administrator can move user mailboxes in the Active Directory forest from one database to another between Exchange servers, or between mailbox databases on the same server through the Exchange Admin Center web interface or PowerShell CLI.

To move the user or resource mailbox from one database to another, you need to create a move request (if migration occurs within the same Active Directory forest, this is called a local move request; if you want to move a mailbox between AD forests — this is a remote move request). 

To move the user mailbox the New-MoveRequest cmdlet is used.


The following two services process your move request to move mailboxes:

1. Exchange Mailbox Replication service (MRS)

2. Exchange Mailbox Replication Proxy


How to Create local move requests ?

You can create local move requests for:

1. A single mailbox.

2. Multiple mailboxes (also known as a batch move request).

3. Multiple mailboxes that you specify in a comma-separated value (CSV) file (also known as a migration batch).

Cloudflare 502 error - Fix it Now ?


This article covers methods to resolve Cloudflare 502 error. Basically, the Cloudflare 502 error triggers when the origin web server responds with a standard HTTP 502 bad gateway or 504 gateway timeout error. 

This happens due to firewall restrictions and server resource issues.


Cause of 502 Bad Gateway Errors:

1. Domain name not resolvable

The domain name is not pointing to the correct IP or it does not point to any IP this problem may happen. Also, DNS propagation could take some time to make changes in DNS setting. It may take 24 to 48 hours to make reflect which is dependent upon the TTL defined per record on the DNS.

2. server down

The origin server is not reachable, this may due to the server is down for some reason or there is no communication to the server given.

3. Firewall blocks

A firewall interrupts the communication between the edge servers and the origin server. This may be caused by security plugins of your CMS.

As a part of DDOS protection and mitigation process or due to some strict firewall rules servers can be blocked from accessing the original server.

Nginx upstream timed out error - Fix it Now ?


This article covers methods to resolve Nginx upstream timed out error. Basically, this error happens as a result of server resource usage and software timeouts.

A possible issue here could be that PHP is using too much RAM and the PHP FPM process gets killed. 


Therefore, do the following to fix this nginx error:

1. Make sure that there is enough RAM on the server, to check that you could use the top, htop or free -m commands.

2. Make sure that the PHP memory limit is not too high compared to the actual available memory on the Droplet. 

For example if you have 1GB of RAM available your PHP memory limit should not be more than 64MB otherwise only a few processes could consume all of your memory.

3. Optimize your website by installing a good caching plugin, that way you would reduce the overall resource usage on the server.

4. Delete any plugins that are not being used. Generally speaking, it is always recommended to try and keep the number of your plugins as low as possible.

5. Consider using a CDN like Cloudflare, that way it would offload some of the heavy liftings from your Droplet. 

WordPress error "Installation failed, could not create directory" - Fix it Now ?


This article covers methods to fix WordPress error "Installation failed, could not create directory". Basically, this WordPress error happens when there exist insufficient disk space, incorrect folder permission and so on. 

Your WordPress site's plugins and themes provide important functionality for you and your users.

Encountering an error when attempting to install or update one can throw a wrench in your plans and slow down your progress.

To determine if a file permissions issue is causing a plugin or theme installation error on your site, you can use the Site Health tool or check out your server's error log. 

After that, resetting your permissions using FTP should only take a few minutes.

Nagios error Unable To Login Using Two Factor Authentication


This article covers how to resolve Two Factor Authentication error in Nagios. 


To Reset nagiosadmin account Password:

1. Open an SSH or direct console session to your Nagios XI host and execute the following command:

/usr/local/nagiosxi/scripts/reset_nagiosadmin_password.php --password=newpassword

Note: If you would like to use special characters in your password, you should escape them with "\".

For example, if you want to set your new password to be "$new password#", then you can run:

/usr/local/nagiosxi/scripts/reset_nagiosadmin_password.php --password=\$new\ password\#

WordPress error "Sorry this file type is not permitted for security reasons" - Fix it Now ?


This article covers methods to resolve WordPress error "Sorry this file type is not permitted for security reasons". Basically, "Sorry this file type is not permitted for security reasons" in WordPress occurs when we try to upload a document to the WordPress library.

As we explained above, WordPress default configuration limits the types of files that you can upload to your site for security reasons.


To Fix "Sorry, This File Type Is Not Permitted for Security Reasons" Error in WordPress, Try to Use the Free WP Extra File Types Plugin:

1. If you'd prefer not to edit your wp-config.php file and/or you want more control over exactly which file types can be uploaded to your site, you can use the free WP Extra File Types plugin at WordPress.org

2. Once you install and activate the plugin, go to Settings → Extra File Types in your WordPress dashboard.

3. There, you'll see a lengthy list of file types. Check the box next to the file type(s) that you want to be able to upload and then click Save Changes at the bottom.

4. If you don't see the file type that you'd like to upload on the list, you can also add your own custom file types at the bottom of the plugin's settings list.

SNMP MIB Upload Problems in Nagios – Fix it Now ?


This article covers Nagios SNMP MIB Upload Problems.

This issue happens while uploading SNMP MIB files and it could be as a result of insufficient permissions on the SNMP MIB files.


Execute the following commands to reset the permissions and ownership on the Nagios SNMP MIB files:

# chmod -R ug+rw /usr/share/snmp/mibs
# chown -R root:nagios /usr/share/snmp/mibs

After executing those commands you should be able to upload the MIB file that previously did not work.

SNMPTT Service generates Cannot find module errors in Nagios


This article covers methods to fix "Cannot find module" errors in Nagios.

Basically, SNMPTT Service generates "Cannot find module" errors in Nagios when a MIB file contains spaces in the filename. 

The MIB files are located in the /usr/share/snmp/mibs/ folder.

This was identified as an issue and resolved in Nagios XI 5.4.0. As of version 5.4.0, when you upload MIBs via the Manage MIBs page the filename will have any spaces replaced with an underscore.

Reset Upgrade Status In Nagios Web Interface - How to Perform it ?


This article covers how to Reset Upgrade Status In Nagios Web Interface.

When upgrading Nagios XI using the web interface the upgrade progress may stall with the message "Upgrade in progress". 

Sometimes you will need to clear this message manually due to unforeseen circumstances, this guide explains how to clear the message.


To Reset Upgrade Status in Nagios:

The following command will reset the upgrade status on Nagios XI (using the default username and password listed above):

For MySQL/MariaDB:

mysql -u'nagiosxi' -p'n@gweb' nagiosxi -e "update xi_commands set status_code = '2' where command = '1120';"

WordPress error "The site is experiencing technical difficulties" - Fix it Now ?


This article covers methods to fix WordPress error "The site is experiencing technical difficulties". 

Most of the time, this error is the result of a plugin or theme conflict. Due to WordPress open-source nature, many different developers with various coding backgrounds and styles create extensions that users can add on to the platform.

Unfortunately, this means that sometimes plugins and themes from different developers don’t play nicely with one another. When two tools with conflicting code are both installed on a WordPress site, it can lead to a wide range of issues.


To fix this WordPress error,

1. Troubleshoot for a Plugin or Theme Conflict

It's important to note that, while you're working in recovery mode, the fatal error will persist for other users and your site's visitors. Only the user who logged in via the recovery mode link will be able to access the website normally.

2. Ensure That You're Running a Supported Version of PHP

If you're running an outdated version of PHP, you'll need to update it.

3. Enable WordPress Debug Mode

To enable this feature, you'll need to access your wp-config.php file via FTP, and add the following line of code right before "That's all, stop editing! Happy publishing.":

define( 'WP_DEBUG', true );

Host Still Visible After Deletion in Nagios - How to resolve ?


This article covers steps to resolve Host Still Visible After Deletion (Ghost Hosts). Basically, by following this guide, you can easily resolve the error, Host Still Visible After Deletion in Nagios.

It is possible that you have multiple instances of nagios running or you have so called "ghost" hosts or services.

In order to check for multiple instances of nagios, run the following command from the command line:

$ ps -ef | head -1 && ps -ef | grep bin/nagios

Problems Using Nagios With Proxies - Fix it Now ?


This article covers how to resolve Problems Using Nagios With Proxies which arises if we do not configure proxies correctly while using Nagios.

Note that the Nagios XI code makes several internal HTTP calls to the local Nagios XI server to import configuration data, apply configuration changes, process AJAX requests, etc. 

These functions may not work properly when you deploy a proxy if it is not configured properly, which could result in a non-functional Nagios XI installation.

Migrate Performance Data in Nagios - Step by Step Process ?


This article covers how to perform Migrate Performance Data in Nagios.

Basically, to migrate, we have to convert the data to XML and import it into RRD’s on the new machine.

Historical performance data that is used to generate graphs are stored in Round Robin Database (RRD) files.

RRD performance data files are compiled binaries, so for a simple file transfer a user would have to have the architecture match on both machines.

Nagios mysql_error out of range value for column - Fix it now ?


This article covers Nagios error, mysql_error out of range value for column which is evident in the /var/log/messages file on the Nagios XI server.

To resolve this issue you will need to define the SQL Mode in the MySQL / MariaDB my.cnf configuration file:

1. Locate the [mysqld] section and check to see if there is an sql_mode already defined:

[mysqld]
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

2. If the sql_mode= line already exists you will need to replace it with the following. 

If the line does not exist you will need to add the following line:

[mysqld]
sql_mode=""

Prestashop error "an error occurred while sending the message" - Fix it Now ?


This article covers methods to fix Prestashop error "an error occurred while sending the message".

This error happens when the theme that we use does not adapt to the latest version of Prestashop.

To resolve this error, you can try modifying the contact form file.

Add this before the submit button :

<style>
input[name=url] {
display: none !important;
}
</style>
<input type="text" name="url" value=""/>
<input type="hidden" name="token" value="{$token}" />

Can't connect to mysql error 111 - Fix this error now ?


This article covers methods to fix mysql error, 'Can't connect to mysql error 111' on Linux machine for our customers.
This can happen when there was a host IP change. 

This issue can prevent connection to the database.
As it turned out if you do come accross this look in /etc/my.cnf, there is a line:

bind-address = ip.add.ress

This may be the old address for the server and this will stop connections, change this to your new address and restart MySQL/MariaDB and you should be good again.

WordPress error "Could Not Save Password Reset Key To Database" - Fix it Now ?


This article covers methods to resolve WordPress error "Could Not Save Password Reset Key To Database" which usually occurs when we try to login into our WordPress site.

As the database is part of the hosting space, you'll get that database error when you fill-up the entire available disk space of your account.
That can happen if you created several staging sites or uploaded too many large files like big images on your website.

A more common reason for this WordPress issue can be substantial backup files created by your backup plugin.

Backup files need a lot of space on your system, which can quickly fill up the entire available webspace.
1. So to fix this WordPress error, immediately log in to your website using an FTP client like the Filezilla program or the File Manager in your cPanel hosting dashboard.
2. Then go to the media folder wp-content/uploads and check there for large files which you can delete, for instance, backup files with the ending .*zip or large media files with the file extension *.tiff, *.png, or *.png.
3. You should never use the *.tiff format, though. This one uses a lot of disk space, so it's better to use *.jpg instead of that.
4. After, open your WordPress website, log in, or use the password reset function again.

To fix this WordPress error in cPanel:

1. You'll need to free up space on your server.
2. Log into the HostPapa Dashboard and click My cPanel.
3. Then select Files > cPanel File Manager.
4. Navigate to your WordPress root folder and select wp-content/uploads.
5. Search through your upload files to locate and delete large files that you may no longer need.
6. Click the Size link to sort the list by file size.
7. Take a look elsewhere on the server for files and folders you are happy to delete.
8. Once you've created some space on your server, you can attempt to log into WordPress once again.

Plesk Webmail Server Not Found - Fix it Now ?


This article covers methods to resolve the Plesk error "Webmail Server Not Found" which can happen while opening webmail/domain in a browser or when we issue Let's Encrypt on the domain. The main reason for this error is that the Webmail / domain does not resolve correctly in global DNS system because Plesk server is not set up to manage DNS.

To use DNS with a Plesk server:
1. DNS Server should be installed in Plesk Installer.
2. Log into Plesk and find your Name Servers in Plesk > Domains > example.com > DNS Settings, take the "value" for the record type "NS".
3. Then, it is required to change Name Server for your domain at your domain registrar's account.

503 bad sequence of commands - Fix it now ?


This article covers methods to fix the email error, "503 bad sequence of commands" which happens as a result of a number of reasons.

To resolve SMTP response: 503 Bad sequence of commands, consider the following and also read the complete guide here.
The IP that should be 10.0.0.0 - whatever that is, look at that box, this is where the problem is likely to be.
Your internal domain is domain.com or domain.net etc.
You may also add a test email account and check if it works as expected. If this works, then this could be an issue with the email account or with the service provider.

Mapped Network Drives Not Showing in Elevated Programs


This article covers methods to fix 'Mapped Network Drives Not Showing in Elevated Programs' issue for our customers.
When UAC is enabled, the system creates two logon sessions at user logon. Both logon sessions are linked to one another.
One session represents the user during an elevated session, and the other session where you run under least user rights.
When drive mappings are created, the system creates symbolic link objects (DosDevices) that associate the drive letters to the UNC paths.
These objects are specific for a logon session and are not shared between logon sessions.
When the UAC policy is configured to Prompt for credentials, a new logon session is created in addition to the existing two linked logon sessions.

To resolve this Windows issue:

1. In Local Group Policy Editor, locate the following Group Policy path:

Local Computer Policy\Windows Settings\Security Settings\Local Policies\Security Options

2. Configure the following policy to Prompt for consent: User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode


Note:
The EnableLinkedConnections registry entry forces the symbolic links to be written to both linked logon sessions that are created, when UAC is enabled.

Shrink VMDK Virtual Disk Size on VMWare ESXi - Do it Now ?


This article covers how to shrink VMDK Virtual Disk Size on VMWare ESXi.
By default, VMware creates "growable" disks that grow larger in size as you add data.

Unfortunately, they don't automatically shrink when you remove data.
You'll need to clean up or compact your disks to actually free up space on your hard drive.

VMware Workstation also allows you to create snapshots, which contain a complete "snapshot" of a virtual machine's state at the point in time you created them.
These can take a lot of space if the virtual machine has changed significantly since then.
You can free up additional space by deleting snapshots you no longer need.

1. To view the snapshots for a virtual machine, select the virtual machine in VMware Workstation and click VM > Snapshot > Snapshot Manager.
2. To delete a snapshot you no longer need, right-click it in the Snapshot Manager window and select "Delete". It will be removed from your computer.
3. You won't be able to restore your virtual machine to that previous point in time after deleting the snapshot, of course.

Before we try to shrink the virtual disk files, we should try to remove any unneeded files from the virtual machine to free space.

For example, on Debian-based VMs, you can run:

$ apt-get clean

To clear out the local repository of retrieved package files.
Next, run the command below to fill the unused space with zeros:

cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill


Free Disk Space In VMware Workstation

In VMware Workstation, first power off the virtual machine you want to compact. You can't complete this process if it's powered on or suspended.
1. Select the virtual machine you want to compact in the main window and click VM > Manage > Clean Up Disks.
2. The tool will analyze the selected virtual machine's disk and show you how much space you can reclaim.
To reclaim the space, click "Clean up now".
If no space can be freed, you'll see a "Cleanup is not necessary" message here instead.

Can't move the folder because there is a folder in the same location that can't be redirected


This article covers Steps to resolve Windows error, Can't move the folder because there is a folder in the same location that can't be redirected.


To resolve this error, try the following:

1. Open Registry Editor by pressing Windows logo+R then type "regedit". Press Enter.
2. Now head to this address:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

3. Locate a personal folder at the right panel that is displaying the error and double-click on it.
4. Replace the current value data with the corresponding Default Value in the below list:

Desktop - %USERPROFILE%\Desktop 
Favorites - %USERPROFILE%\Favorites 
Music - %USERPROFILE%\Music 
Pictures - %USERPROFILE%\Pictures 
Videos - %USERPROFILE%\Videos 
Documents - %USERPROFILE%\Documents 
Downloads - %USERPROFILE%\Downloads

Note the Corresponding registry key for the Downloads folder.
5. Click Ok to save the changes, close Registry Editor and restart the computer.


PiP is not recognized as an internal or external command - Fix it Now ?


This article covers different methods to resolve PiP is not recognized as an internal or external command.

Basically, the error, "PiP is not recognized as an internal or external command" happens when we try to install Python packages via a Command Prompt window.
PiP is a recursive acronym for "Pip Installs Packages".

It's essentially a package management system used to install and manage software packages written in Python. Most users make use of PiP to install and manage Python packages found in the Python Package Index.

To add PIP to the PATH environment variable using the Windows GUI:

1. Press Windows key + R to open up a Run dialog box. Then, type "sysdm.cpl" and press Enter to open up the System Properties screen.
2. Inside the System Properties screen, go to the Advanced tab, then click on Environment Variables.
3. In the Environment Variables screen, go to System variables and click on Path to select it. Then with the Path selected, click the Edit… button.
4. In the Edit environment variable screen, click on New and add the path where the PiP installation is located. For Python 3.4, the default location is C:\Python34\Scripts.
5. Once the path is added, open a fresh CMD window and try to install a python package that comes with PiP.

You should no longer see the "pip is not recognized as an internal or external command" error.

WordPress issue "Add Media button not working" - Fix it Now ?


This article covers how to Fix WordPress Add Media Button Not Working.
The main reason behind this error is usually custom scripts not working correctly, plugins, or themes.
You can pinpoint the cause of your woes using your browser's Inspect -> Console.
The console tool highlights script errors that can help you to identify where the problem lies.

To fix this WordPress error:

1. That aside, start by deactivating all of your plugins.
2. Then check if the Add Media button is working.
3. If the button is working, then it is obvious one of your plugin is causing the script conflict.
4. Next, reactivate the plugins one by one, and check the Add Media button after each activation.
5. When you find the responsible plugin, contact the developer for help or find a replacement.
6. If the problem persists after deactivating all plugins, you need to ensure you've cleared your caches first and then test if your theme is the cause of the WordPress Add Media button not working.
7. Just activate a default WordPress theme such as Twenty Seventeen and then check if the problem is gone.
If the button works, the issue here is your theme.

Undefined index notice in Joomla - Fix it now ?


This article covers how to resolve Undefined index notice in Joomla. A notice, in PHP terms (PHP is the scripting language that powers Joomla), is more or less a complaint. For example, if you're using a deprecated function such as ereg_replace (by the way, we have had quite a few sites with the ereg_replace() is deprecated notice that we needed to fix) then PHP will complain with a notice.
A notice may also be displayed if you're trying to use questionable casting that PHP thinks will not return the result that you want (for example, if you try to forcefully cast an array into a string).

To fix this Joomla warning:

Change PHP's error reporting in the .htaccess file to hide all errors.
You can do that by adding the following code to your .htaccess file:

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on

The above code will ensure that no error whatsoever will be displayed on your website.

Note that if you have an Error Reporting setting in your configuration settings other than "Default", then this setting will override the error reporting defined in your .htaccess.
For example, if your Error Reporting is set to "Maximum", then the above code in your .htaccess file has no effect.


Outlook error "We Couldn't Create The Outlook Data File" - Fix it Now ?


This article covers different methods to fix the Outlook error 'We Couldn't Create The Outlook Data File'.

Main Causes of 'We couldn't create Outlook Data File' error:

This error is fairly well known among Outlook users, so people have found possible causes that led to this error happening.
1. Gmail account: The error seems to only occur when you’re trying to add a Gmail account to Outlook. The exact cause of this is unknown, however, it might have something to do with Gmail’s security options.
2. Outlook bug: A common cause of this issue is a bug within Outlook itself. The bug prevents you from adding an email account via the Add account option.
3. Simplified Account Creation Wizard: This is a relatively new Outlook feature. Generally, whenever a new feature is added to an application, it's bound to cause errors and bugs.

How to Remove Outlook Write Protection from a Hard Disk ?

One of the easiest ways of removing write protection from a disk is by using the Diskpart utility:
1. Hold the Windows and R keys down on your keyboard at the same time.
2. Type in diskpart and press OK.
3. Type in the following command and press Enter after each one:
i. list disk
ii. select disk (number)
iii. For example, if your Drive 1 is protected, you're going to type in select disk 1.
    attributes disk clear read-only
4. Once the Diskpart utility finished clearing the Read-only protection, you can type in exit and hit Enter to close the command prompt.

WordPress error "This site ahead contains harmful programs" - Fix it Now ?


This article covers WordPress error "This site ahead contains harmful programs".

Basically, the error, This site ahead contains harmful programs happens when Google finds any suspicious code.


It's risky for Google users to visit hacked websites because they could become targets of the hacker:
1. Hackers could steal their data or redirect them to phishing sites.
2. Hackers could trick them into downloading malware onto their devices.
3. Visitors may be subjected to viewing inappropriate malicious content and ads.

Search engines like Google constantly crawl the web for new sites and new content to index.
They use bots and algorithms to check a website's content is original and relevant.
They can also check which websites are using deceitful tactics such as keyword stuffing.


During this process, they can also detect if there's malicious code on your website.
If they do, they proceed to:

1. Blacklist your website immediately.
2. Display "Site Ahead Contains Harmful Programs" or "This site contains malware" warnings to visitors.
3. Depending on the risk posed by your site, it gives users an option to bypass their security warning and proceed to your site by clicking on 'details'.
Or they can choose to leave the site and go 'back to safety'.

DISM Error 0x800f0906 "The source file could not be downloaded"


This article covers methods to fix DISM Error 0x800f0906. Basically, the failure of the DISM command-line utility will lead us to the DISM Error 0x800f0906.
The DISM (Deployment Image Servicing and Management) command-line utility is an incredibly nifty little tool that can be used to service and repair a Windows installation.
The DISM.exe command failing can be a pretty significant issue, especially if this happens when you desperately need the utility to work its magic.
When the DISM command-line tool fails with error code 0x800f0906, the accompanying error message either states that the source files could not be downloaded or that the files required to repair the store could not be found.

To resolve DISM Error 0x800f0906:

Uninstall the KB3022345 Update
1. Press the Windows key on your keyboard to open the Start menu, and either click Control Panel, or type in Control Panel and open the result, depending on which version of Windows you’re using.
2. Switch to Icons view, in the top right corner of Control Panel, and open Programs and Features from the list.
3. On the left side, click on the View installed updates
4. You will see a search box in the top right corner, type KB3022345 to find the update with less effort.
5. When you've found it, right-click it, and choose
6. Once everything is done, reboot your device.

Can't read from the source file or disk - Fix it Now ?


This article covers how to fix "can't read from the source file or disk" error.
Basically, this error triggers when trying to copy certain files to or from an external hard disk.
Many users have reported that they got "Can't read from the source file or disk" error message while copying, deleting or moving files from one location to another.

To fix Error Message: Can't read from the source file or disk:
1. Restart the PC
If you can't read from the source file or disk while copying in Windows 10, and this happens for the first time, try restarting the computer (do not turn off and on, just restart).
Rebooting helps the computer deal with such errors on its own and returns it to an adequate working state.
2. Check the file name
Changing the file name is justified when the file was created in one OS, and its use occurs in another. You may not be able to read from the source file or disk while deleting after using this file on the command line. If this is your situation, be sure to rename the file properly and restart the computer after that.
3. Try to open the file on another PC
Try to do the same as in method 2, but on another PC. Better yet, if it will be a completely different OS (for example, you have Windows installed, then look for a computer with a Mac, etc.).
This will help get rid of any conflicts between the file and the computer, which can happen quite often.
4. Use chkdsk to fix bad sectors
The free chkdsk utility usually handles such errors with ease.

SQL Server divide by zero error encountered - Fix it Now ?


This article covers methods to resolve resolve error 'SQL Server divide by zero error encountered'. This error is caused by performing a division operation wherein the denominator or the divisor is 0. This error is not encountered when the denominator or divisor is NULL because this will result to a NULL value.


Many client applications or drivers provide a default value of ARITHABORT is OFF.
The different values might force SQL Server to produces a different execution plan, and it might create performance issues.
You should also match the setting similar to a client application while troubleshooting the performance issues.

The source file names are larger than is supported by the file system


This article covers methods to resolve Windows error "The source file names are larger than is supported by the file system". Most Windows users encounter this issue when trying to copy or delete a file on the computer and they may receive an error message saying Source Path Too Long with the explanation of the source file name(s) are larger than is supported by the file system.


This Windows error error happens mainly because one or more files that are kept in a series of subfolders that have long names, but Windows only allows 258 characters at most in the folder path subfolder.
This will prevent you from moving the files or folders that are saved in this folder.

To fix this windows error, try the following:

Delete the File/Folder by Bypassing the Recycle Bin
You know that when you delete files from your computer, these files will be first moved to the Recycle Bin and they will stay there until you delete them permanently.
i. Click on the file or folder that is bothered by the Source Path Too Long error.
ii. Press the SHIFT and Delete buttons at the same time to permanently delete the file or folder.

Drupal 406 error - Fix it Now ?


This article covers methods to resolve Drupal 406 error.

There are many errors that you may see as you visit different websites across the web.

One of the more common ones is the 406 – Not Acceptable error.

Cause for Drupal 406 error:

In regards to a site on your hosting account, the cause of the 406 error is usually due to a mod_security rule on the server.
Mod_security is a security module in the Apache web server that is enabled by default on all hosting accounts.
If a site, page, or function violates one of these rules, server may send the 406 Not Acceptable error.

To prevent Drupal 406 Not acceptable error:

Mod_security can be turned off. You can also disable specific ModSecurity rules or disable ModSecurity for each domain individually.
If you would like mod_security disabled you can disable mod_security via our Modsec manager plugin in cPanel.

Disk full due to large System Volume Information Folder on Windows


This article covers how to access System Volume Information Folder and clear up the disk space.
Basically, the disk full warning in windows can also happen due to the large System Volume Information Folder.

What is System Volume Information Folder in Windows?

1. WindowsImageBackup —system restore points on desktop Windows versions or System State backups made using Windows Server Backup (wbadmin) in server OSs;
2. The contents of Indexing Service database used for fast file search (including Outlook search);
3. Distributed Link Tracking Service database;
4. Disk snapshots made by Volume Shadow Copy, which can be used to recover older versions of files. For each snapshot, a separate file is created with a long ID as a name;shadow copy files on system volume information folder
5. NTFS disk quota settings;
6. Base and chunks of the Data Deduplication service;
7. DFS Replication database (dfsr.db);
8. WPSettings.dat file – created by the storage service (StorSvc);
9. The USB drives will also store an IndexerVolumeGuid file that defines the unique disk label used by the Windows Search service;
10. AppxProgramDataStaging, AppxStaging – Windows UWP app backups (it can be used for recovery after removal).

Make Sure the File is an NTFS Volume and isn't in a Compressed Folder or Volume


This article covers methods to resolve Windows error "Make Sure the File is an NTFS Volume and isn't in a Compressed Folder or Volume" for our customers.
The first thing you should do to isolate the error is to change the path of the downloaded ISO file.
Sometimes, the error is triggered by the address of the ISO file for some reason in which case moving the file to another drive solves the problem.
Therefore, try changing the volume in which the ISO file is stored to fix your error.

Causes of this Windows error:

This error is not something new, however, there was a certain thing that made it trigger the most.

Following are the factors that usually cause it —


1. Windows 10 security update.

For most of the users, the error came into being after the release of KB4019472 Windows 10 update which happened to be a security update. This update made the error emerge for most of the users.


2. Location of ISO file.

In some cases, the error can be due to the location or path of the downloaded ISO file. In such a scenario, you will have to change the location.

Windows error "The volume does not contain a recognized file system" - Fix it Now ?


This article covers methods to fix 'The volume does not contain a recognized file system' the Windows error for our customers.

What Caused The Volume Does Not Contain the Recognized File System Error ?

Here are some of the reasons that can cause the error occurs on devices:
1. System re-installation
2. Presence of virus or malware
3. Unsafe system shut down.
4. Failure of file system conversion
5. Deletion of essential system files by mistake
6. Presence of bad sectors
7. Users misapplication
8. Virus/Trojan infection
9. Insufficient power supply

To fix this Windows error:

1. Proceed to Start and click on My Computer or This PC.
2. Select that drive that is not accessible and then choose Properties by right-clicking it.
3. From the Properties window, select the Tool tab and click on the Check button from the Error checking.
4. Select the Scan Drive option.
Once the scanning process is complete, please go back to This PC or My Computer to check whether the drive is fixed or not.

Unable to connect to VNC Server using your chosen security setting - How to fix it ?


This article covers method to resolve Unable to connect to VNC Server using your chosen security setting.
Basically, the unable to connect error could trigger due to incompatible encryption settings or due to the version of the VNC running in the remote server.

To fix this VNC error, simply apply the following:

1. On the remote computer, change the VNC Server Encryption parameter to something other than AlwaysOff.
2. Change the VNC Viewer Encryption parameter to Server, PreferOn or PreferOff.

Shopify error 429 too many requests - Fix it Now ?


This article covers Shopify error 429 too many requests. Basically, 429 too many requests can trigger due to increased number of API requests.
Calls to the REST Admin API are governed by request-based limits, which means you should consider the total number of API calls your app makes.

In addition, there are resource-based rate limits and throttles.

To avoid rate limit errors in Shopify:

Designing your app with best practices in mind is the best way to avoid throttling errors.
1. Optimize your code to only get the data that your app requires.
2. Use caching for data that your app uses often.
3. Regulate the rate of your requests for smoother distribution.
4. Include code that catches errors. If you ignore these errors and keep trying to make requests, then your app won’t be able to gracefully recover.
5. Use metadata about your app's API usage, included with all API responses, to manage your app’s behavior dynamically.
6. Your code should stop making additional API requests until enough time has passed to retry.

The recommended backoff time is 1 second.

VNC Server is not currently listening for cloud connections - Fix it Now ?


This article covers methods to fix VNC 'Timed out waiting for the response from the host computer' error for our customers.

If you see this message when trying to connect from VNC Viewer, please check the following:
1. Check that the remote computer is connected to the Internet. If it isn't, you won't be able to connect.
2. It may be that the remote computer is asleep. It is advisable to prevent a remote computer sleeping or hibernating while remote access is required:
Windows: In Control Panel > Power Options > Change when the computer sleeps, make sure Put the computer to sleep when plugged in is Never.
Mac: In System Preferences > Energy Saver, make sure Prevent computer from sleeping automatically when the display is off is selected.
3. If you have disabled cloud connections in VNC Server's Options dialog, under the Connections heading. Make sure this is checked.
4. You may have the wrong team selected in VNC Viewer. Please ensure you have selected the correct team for the computer to which you want to connect.
5. If you have purchased a subscription but did not subscribe from within your trial team, you will need to join your computer(s) to the new, paid-for team.

Windows Server error, You don't currently have permission to access this folder - Fix it now ?


This article covers methods to fix the 'You Don't Currently Have Permission to Access This Folder' issue for our customers.
If you happen to meet "You don't currently have permission to access this folder" issue when you are opening a folder, do not worry. You can fix the problem with the  effective tips here.

To remove the folder access error:

1. Gain Access by Allowing Everyone
i. Right-click on the folder that you're unable to access and select "Properties".
ii. Click on "Security" tab and under Group or user names click on "Edit".
iii. Click on "Add" and type everyone. Click on "Check names" and then click "OK".
iv. Select "Everyone". Under "Allow", select "Full control" and click on "Apply" and click "Ok".

2. Change the Ownership of the File/Folder
You can also try to change the ownership of the file or folder to troubleshoot "You Don't Currently Have Permission to Access This Folder" issue on Windows 10/8/7.
i. Right-click on the folder to navigate to "Properties".
ii. Go to the "group or username" section on the "Security" tab.
iii. Click on "Advanced", and then "Change".
iv. Type your account name. Click on "Check names" > "OK".
v. Check "Replace owner on sub containers and objects" > "OK".

How to Manage Indices in Nagios Log Server - Do this now ?


This article covers how to manage indices in Nagios log server. An index in Nagios Log Server is how the Elasticsearch database stores log data. Nagios Log Server creates and index for every day of the year, this makes it easy to age out old data when no longer required.
Nagios Log Server is a clustered application, it consists of one or more instances of Nagios Log Server. An instance is an installation of Nagios Log Server, it participates in the cluster and acts as a location for the received log data to reside. The log data is spread across the instances using the Elasticsearch database, a special database used by Nagios Log Server.

Enable CDN in Prestashop and Resolve related issues - How to do it ?


This article covers how to enable CDN on PrestaShop for our customers.
You can Speed up your website with the PrestaShop CDN addon.
Faster loading leads immediately to happier users and higher conversions.
Making your pages load faster will also improve your SEO.
Google ranks faster websites higher, so you'll soon receive more visitors from search engines.

To How to Enable CDN for Prestashop:

1. Make sure Prestashop is installed and work normally.
2. Login to Prestashop admin panel (e.g. http://prestashop.testing.com.my/admin1234/)
3. Navigate to Advanced Parameters > Performance.
4. Scroll down the page to Media servers and fill in the CDN hostname.
5. Click Save at the top right corner to save the setting.

Error: Function lookup() did not find a value for the name DEFAULT_EXEC_TIMEOUT


This article covers how to fix this issue found while installing OpenStack with packstack.
In the case you installed packstack with epel repo enabled, you need to uninstall it and all the dependences, and re-install it after disabling epel, so all the proper versions of dependencies are installed correctly.
1. To begin, ensure that epel repo is disabled and try again.
2. Run the following commands:

# yum autoremove epel-release
# yum autoremove openstack-packstack
# yum clean all
# yum install -y openstack-packstack

VNC error 'Timed out waiting for the response from the host computer' - Fix it Now ?


This article covers methods to fix VNC 'Timed out waiting for the response from the host computer' error for our customers.


1. You can try adding a firewall rule:

$ sudo /sbin/iptables -I INPUT 1 -p TCP --dport 5901:5910 -j ACCEPT

2. Or directly modify the file /etc/sysconfig/iptables file and add a line:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5901:5910 -j ACCEPT

3. Restart the iptables service:

$ service iptables restart

4. If there is no iptables.service file, use yum to install it:

$ yum install iptables-services

5. Then Run the command,

$ sudo /sbin/iptables -I INPUT 1 -p TCP --dport 5901:5910 -j ACCEPT

The firewall does not need to be restarted, nor does it execute flush privileges, and then connect with the VNC client and find that the connection is up.

"Are you sure you want to do this" error in WordPress - Fix it Now ?


This article covers methods to fix 'Are you sure you want to do this' error in WordPress for our customers.

One of the most common solutions is to revert your website to an older backup before the error occurred. If you update your backup regularly, it is one of the most powerful tools to use against errors.
If you do not update regularly, the backup is close to worthless because it is missing your regular content updates and website changes.

To fix "Are You Sure You Want to Do This" Error in WordPress:

1. You will not need any additional plugins to solve this issue and in fact, a plugin is likely causing the issue. The error is very simple to track but can become quite tedious if you have a lot of plugins and themes installed. The process includes disabling your themes and plugins while checking to see if the error is fixed. If you have a lot of plugins, this process may take a while. Deactivating the plugins will not be enough because they can still cause a problem. This is why it is recommended to uninstall a plugin if you are not using it.
2. Log into the cPanel and click on the File Manager. Click on the public-html directory and locate the wp-content folder. This folder contains all of the content on your website. Locate the plugins folder and right-click it.
Select the Rename option and rename it to "plugins off" or something similar.

Empty Screen in Nagios XI for Wizard - Fix it Now ?


This article covers ways to fix 'Empty Screen in Nagios XI' for our customers. In some pages of XI you may come across empty screens, such as no configuration wizards appearing under the Configure menu.
When plugins, components or wizards are not installed through the proper menus, this creates problems in Nagios XI, such as "wiping out" all wizards, so they can not be viewed in the Web interface, blank pages in the Web browser and other weird behaviors.

To fix this Nagios error:

Remove the problematic component/wizard by running in terminal as a root:

$ rm -rf /usr/local/nagiosxi/html/includes/components/somedashlet
$ rm -rf /usr/local/nagiosxi/html/includes/components/somecomponent
$ rm -rf /usr/local/nagiosxi/html/includes/configwizards/somewizard

Improve phone support efficiency - Facts you need to know ?


This article covers some key points to improve phone support efficiency.
In the contact centre environment, becoming more efficient involves reviewing internal processes, eliminating unnecessary steps and duplicate handling, and often implementing new processes. 

The main aims are to reduce call handling times and improve first call resolution.

Methods to Boost Contact Centre Efficiency:
1. Migrate to a cloud hosted solution
Cloud hosted technology solutions don't rely on equipment infrastructure, and therefore scale from five agents to one thousand and back again without incurring any downtime.
2. Improve your self-service options
Customers want choice.  They want to be able to take care of routine and straightforward interactions themselves.
3. Implement automatic call distribution
Poor call traffic distribution results in customers being sent to the wrong department, which ties up personnel and delays them in getting on with helping the right people.
4. Improve your verification process
The average time to verify the identity of a user using Personal Verifiable Questions (PVQs) is 45-90 seconds.
5. Offer a call back service
A cost-effective way to improve team efficiency, and the customer experience, is to use call-backs to defer calls until a later time. 

There are two options for call backs.

i. Virtual queuing – whereby the customer's place in the queue is held and called when her turn arrives
ii. A timed call-back, where customers are offered a selection of time slots for their call-back. This option allows you to schedule the call back to take place during a "trough" period, and so keeps staff productive during quieter periods.

Activate python virtualenv in Dockerfile - How to perform it ?


This article covers how to Activate python virtualenv in Dockerfile.

Basically, to package Python application in a Docker image, we often use virtualenv. However, to use virtualenv, we need to activate it.
Therefore, there is no point in using virtualenv inside a Docker Container unless you are running multiple apps in the same container, if that's the case I'd say that you're doing something wrong and the solution would be to architect your app in a better way and split them up in multiple containers.

There are perfectly valid reasons for using a virtualenv within a container.
You don't necessarily need to activate the virtualenv to install software or use it.
Try invoking the executables directly from the virtualenv's bin directory instead:

FROM python:2.7
RUN virtualenv /ve
RUN /ve/bin/pip install somepackage
CMD ["/ve/bin/python", "yourcode.py"]


One solution is to explicitly use the path to the binaries in the virtualenv.

In this case we only have two repetitions, but in more complex situations you’ll need to do it over and over again.
Besides the lack of readability, repetition is a source of error.
As you add more calls to Python programs, it's easy to forget to add the magic /opt/venv/bin/ prefix.
It will (mostly) work though:
FROM python:3.8-slim-buster
RUN python3 -m venv /opt/venv
# Install dependencies:
COPY requirements.txt .
RUN /opt/venv/bin/pip install -r requirements.txt
# Run the application:
COPY myapp.py .
CMD ["/opt/venv/bin/python", "myapp.py"]
The only caveat is that if any Python process launches a sub-process, that sub-process will not run in the virtualenv.

WordPress error 'Another update currently in process' – Fix it Now ?


This article covers how to resolve WordPress error 'Another update currently in process'.
Basically, this issue usually occurs when a WordPress user, or multiple users, are simultaneously trying to perform a WordPress update while a WordPress core update is running.
During a core update, an additional row called core_updater.lock is placed within the wp_options table of the website’s database. It serves to prevent any other updates from being run while the core update is in progress.
After the WordPress core has been updated, the core_updater.lock row will be deleted, which will allow users to perform any other updates.
The error message will disappear then, or it will be gone automatically after 15 minutes.

To fix this WordPress error:

1. Log into the WordPress administration dashboard and select Plugins > Add New. Search for Fix Another Update, then install and activate the plugin.
2. Navigate to Settings > Fix Another Update In Progress and the database lock will be removed.
3. If you wish to remove the lock directly in the database, Select Databases > phpMyAdmin from the cPanel menu.
4. Select your WordPress database from the sidebar, then click the Browse button next to the wp_options database table (your database prefix may be different).
5. In the database rows that appear, look for an entry called ‘core_updater.lock’ and select the Delete button to remove. You can now proceed with your outstanding updates.

Securing Web Servers from DoS attacks - Best Practices ?


This article covers Tactics To Prevent DDoS Attacks & Keep Your Website Safe.
Basically, it is impossible to prevent DoS and DDoS attacks entirely. But we can limit them to a certain extend by implementing security actions mentioned in this guide.
Denial of service attacks are here to stay, and no business can afford to be unprotected.

Facts about DDoS Attacks:
1. DDoS stands for Distributed Denial of Service.
2. It is a form of cyber attack that targets critical systems to disrupt network service or connectivity that causes a denial of service for users of the targeted resource.
3. A DDoS attack employs the processing power of multiple malware-infected computers to target a single system.

Best Practices for Preventing DDoS attacks:

1. Develop a Denial of Service Response Plan
Develop a DDoS prevention plan based on a thorough security assessment. Unlike smaller companies, larger businesses may require complex infrastructure and involving multiple teams in DDoS planning.
2. Secure Your Network Infrastructure
Mitigating network security threats can only be achieved with multi-level protection strategies in place.
This includes advanced intrusion prevention and threat management systems, which combine firewalls, VPN, anti-spam, content filtering, load balancing, and other layers of DDoS defense techniques.
3. Practice Basic Network Security
The most basic countermeasure to preventing DDoS attacks is to allow as little user error as possible.
Engaging in strong security practices can keep business networks from being compromised.
4. Maintain Strong Network Architecture
Focusing on a secure network architecture is vital to security. Business should create redundant network resources; if one server is attacked, the others can handle the extra network traffic.
5. Leverage the Cloud
Outsourcing DDoS prevention to cloud-based service providers offers several advantages. First, the cloud has far more bandwidth, and resources than a private network likely does. With the increased magnitude of DDoS attacks, relying solely on on-premises hardware is likely to fail.

Install Bcrypt in Docker and resolve related errors


This article covers how to install Bcrypt in Docker and fix relating Docker errors.

To fix bcrypt error on Docker:

The error looks like this,

internal/modules/cjs/loader.js:807
app_1 | return process.dlopen(module, path.toNamespacedPath(filename));

To resolve, simply Add the following lines of code to the start.sh file,

#!/usr/bin/env bash

# install new dependencies if any
npm install
# uninstall the current bcrypt modules
npm uninstall bcrypt
# install the bcrypt modules for the machine
npm install bcrypt
echo "Starting API server"
npm start

Here,

i. npm uninstall bcrypt would remove bcrypt modules for the other operating system.
ii. npm install bcrypt would install for the current machine that the app would be running on.

WordPress error Failed to Load Resource - Fix it Now ?


This article covers how to resolve the WordPress error Failed to load resource in WordPress as a result of issues in WordPress URL settings.

To fix this WordPress error:

1. Replace The Missing Resource

The missing resource is an image in one of your blog posts or page, then try to look for it in the media library.

If you are able to see the media library, then try to add again by editing the post or page.

2. Replace theme or plugin files

In case, if the failed resource is a WordPress plugin or theme file, then the easiest way to replace it is by reinstalling the plugin or theme.

First, you need to deactivate your current WordPress theme.

All you have to do is visit the Appearance » Themes page.

NRPE: No Output Returned From Plugin - How to fix this Nagios error ?


This article covers how to resolve Nagios error, NRPE: No Output Returned From Plugin. This error happens as a result of Permissions or Missing plugin.

To fix this Nagios error:

1. The most common solution is to check the permissions on the check_nrpe binary on the Nagios XI server:

ls -la /usr/local/nagios/libexec/check_nrpe

The expected permissions should resemble:

-rwxrwxr-x. 1 nagios nagios  75444 Nov 21 01:38 check_nrpe

2. If not, change ownership to user/group "nagios" and fix up the permissions:

$ chown nagios:nagios /usr/local/nagios/libexec/check_nrpe
$ chmod u+rwx /usr/local/nagios/libexec/check_nrpe
$ chmod u+rx /usr/local/nagios/libexec/check_nrpe

Googlebot cannot access CSS and JS files – Resolve crawl errors ?


This guide covers website crawl errors, Googlebot cannot access CSS and JS files. Google bot and other search spiders will visit the robots.txt file of your website immediately after they hit the htaccess file.

Htaccess has rules to block ip addresses, redirect URLs, enable gzip compression, etc. The robots.txt will have a set of rules for the search engines too. 

They are the reason you received "Googlebot Cannot Access CSS and JS files". 

Robots.txt has few lines that will either block or allow crawling of files and directories. Google has started penalizing websites that block the crawling of js and css files.

The JavaScript and cascading style sheets are responsible for rendering your website and they handle forms, fire events, and so on.

If the JS is blocked, Google bot will not be able to crawl the code and it will consider the code as a spam or violation of link schemes. 

The same logic applies for the CSS files.


To resolve "Googlebot Cannot Access CSS And JS Files" Warning:

1. You need to remove following line: Disallow: /wp-includes/

Depending upon how you have configured your robots.txt file, it will fix most of the warnings. 

You will most likely see that your site has disallowed access to some WordPress directories like this:

User-agent: *

Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/

2. You can override this in robots.txt by allowing access to blocked folders:

User-agent: *
Allow: /wp-includes/js/

Cloud SQL Proxy error – An attempt was made to access a socket


This article covers methods to resolve Cloud SQL Proxy error. 

The Cloud SQL Proxy error looks like this:

An attempt was made to access a socket in a way forbidden by its access permissions


Therefore you cannot bind to it while it's running:

The SQL Server engages the 3306 port locally. 

1. Stop the SQL Server to bind the CloudSQL Proxy to it.

2. Incase of Windows 10: Go to Task Manager -> Services -> MySQL57

3. Right click and stop that task. 

4. Once you have done that try running the same command again. 

It'll work and show as output:

Listening on 127.0.0.1:3306 for <instance-name>


Requirements for using the Cloud SQL Auth proxy.

To use the Cloud SQL Auth proxy, you must meet the following requirements:

1. The Cloud SQL Admin API must be enabled.

2. You must provide the Cloud SQL Auth proxy with Google Cloud authentication credentials.

3. You must provide the Cloud SQL Auth proxy with a valid database user account and password.

4. The instance must either have a public IPv4 address, or be configured to use private IP.

The public IP address does not need to be accessible to any external address (it does not need to be added as an authorized network address).

Plesk error Access to the path is denied - Fix it Now


This article covers Plesk Access to the path is denied error. For instance, while trying to access http://example.com/testfolder/test.aspx, it produces the error:

Access to the path %plesk_vhosts%example.com\httpdocs\testfolder is denied

This signifies that the Required system user and/or permissions are not configured properly for the directory %plesk_vhosts%example.com\httpdocs\testfolder in Plesk.


To fix this Plesk error:

1. Connect to the server via RDP.

2. When default permissions on the domain folder are lost, the following actions can be performed to restore them:

i. For Plesk 12.5, Onyx and Obsidian:

"%plesk_cli%\repair.exe" --repair-webspace-security -webspace-name example.com

If it is necessary to repair permissions for all domains, the following command should be used:

"%plesk_cli%\repair.exe" --repair-all-webspaces-security

Also, Plesk Reconfigurator could be used: in the Windows Start menu, select All Programs > Plesk > Plesk Reconfigurator and select Repair Plesk installation > Plesk Virtual Hosts Security > Check .

ii. For Plesk before 12.5:

Go to the Domains page, mark the required domains, and click on the Check permissions button.

Then uncheck the Check-only mode checkbox and click OK .

Plesk error PHP has encountered an Access Violation - Fix it now


This article covers how to fix PHP has encountered an Access Violation which occurs in the Windows server with the Plesk control panel. 

Do a copy libmysql.dll from C:\Program Files (x86)\SWsoft\Plesk\Additional\PleskPHP5 to C:\WINDOWS\system32

Wait for few minutes and it should fix the issue.


To fix PHP has encountered an Access Violation at XXXXX in Plesk:

1. Connect to the server via SSH.

2. Create a backup of the psa database:

plesk db dump psa > /root/psa_backup.sql

3. Download the attached script:

$ wget https://plesk.zendesk.com/hc/article_attachments/115001860533/script_kb213376309

4. Make the script executable:

$ chmod +x script_kb213376309

5. Launch the script for the affected subscription:

Note: change the "example.com" website in the command below to the correct one.

$ ./script_kb213376309 example.com

6. If an error like below appears:

ERROR 1062 (23000) at line 5: Duplicate entry '123-789' for key 'PRIMARY' exit status 1

find the duplicate record in the database:

Note: change the "123" ipCollectionId in the command below to the correct one based on the error message regarding the duplicate entry.

plesk db "select * from IpAddressesCollections where ipCollectionId=123;"

7. Remove the duplicate record from the database:

Note: change the "123" ipCollectionId in the command below to the correct one based on the error message regarding the duplicate entry

Change the "456" ipAddressId in the command below to the correct one based on the output from the previous step.

$ plesk db "delete from IpAddressesCollections where ipCollectionId=123 and ipAddressId=456;"

Nagios error Service check timed out after n Seconds


This article covers how to resolve 'Service check timed out after n Seconds' error for our customers.

You can increase the timeout on the check, though you will have to alter the check in XI and the plugin timeout in the ncpa.cfg file on the remote host.


If it is related to Nagios XI check_xi_ncpa Timeout:

This timeout is how long the check_xi_ncpa command on the Nagios XI server will wait for a response from the NCPA agent. 

By default the timeout is not set, thereby defaulting to the plugin timeout or the global timeout.

1. In the Nagios XI web interface navigate to Configure > Core Config Manager > Commands. 

2. This brings up the Commands page, use the Search field to search for ncpa and click Search.

3. Click the check_xi_ncpa command.

4. You can change the timeout in Nagios XI with the switch -T in the check_xi_ncpa command.

5. In the Command Line, add -T <time value in seconds> after $HOSTADDRESS$. Ex. -T 120

6. Save your changes and then click the Apply Configuration button.

Nagios NDOUtils Message Queue Exceeded – Fix it Now


This article covers how to resolve the Nagios error, NDOUtils: Message Queue Exceeded error occurs when the amount of messages increases.

NDOUtils uses the operating system kernel message queue. As the amount of messages increases the kernel settings need to be tuned to allow more messages to be queued and processed.

A flood of messages in the /var/log/messages related to ndo2db like:

ndo2db: Error: max retries exceeded sending message to queue. Kernel queue parameters may neeed to be tuned. See README.
ndo2db: Warning: queue send error, retrying... 


Nature of this Nagios error:

In Nagios you experience the following symptoms:

1. Missing hosts or services or status data

2. Takes a very long time to restart the Nagios process

3. Unusually high CPU load



How to fix Nagios error, NDOUtils: Message Queue Exceeded ?

The following commands are for the msgmni option. 

For the grep command you executed previously:

i. If it did not return output, this command will add the setting to the /etc/sysctl.conf file:

$ echo 'kernel.msgmni = 512000' >> /etc/sysctl.conf

2. If it did return output, this command will update the setting in the /etc/sysctl.conf file:

$ sed -i 's/^kernel\.msgmni.*/kernel\.msgmni = 512000/g' /etc/sysctl.conf

3. After making those changes, execute the following command:

$ sysctl -p

4. You need to restart services using the commands below:

$ systemctl stop nagios.service
$ systemctl restart ndo2db.service
$ systemctl start nagios.service

Manage Transaction Log File during Data Load - Do it Now


This article covers how to manage transaction log files in SQL Server for our customers. A transaction log is a file – integral part of every SQL Server database. It contains log records produced during the logging process in a SQL Server database.

The transaction log is the most important component of a SQL Server database when it comes to the disaster recovery – however, it must be uncorrupted.

The only way to truncate the log, so the space can be reused, is to perform a SQL transaction log backup. Therefore the most common reason for a transaction log file to have grown extremely large is because the database is in the FULL recovery model and LOG backups haven't been taken for a long time.


How do I stop a transaction log from filling up?

1. To keep the log from filling up again, schedule log backups frequently. 

2. When the recovery mode for a database is set to Full, then a transaction log backup job must be created in addition to backing up the database itself.


To fix a transaction log for a database is full:

1. Backing up the log.

2. Freeing disk space so that the log can automatically grow.

3. Moving the log file to a disk drive with sufficient space.

4. Increasing the size of a log file.

5. Adding a log file on a different disk.

Set Up Amazon WorkSpaces - Step by Step Process


This article covers how to set up Amazon WorkSpaces for our customers. Amazon WorkSpaces is a managed, secure Desktop-as-a-Service (DaaS) solution. With Amazon WorkSpaces, your users get a fast, responsive desktop of their choice that they can access anywhere, anytime, from any supported device.

With Amazon WorkSpaces, you can provision virtual, cloud-based Microsoft Windows or Amazon Linux desktops for your users, known as WorkSpaces.

Generally, Workspaces are meant to reduce clutter and make the desktop easier to navigate. Workspaces can be used to organize your work. For example, you could have all your communication windows, such as e-mail and your chat program, on one workspace, and the work you are doing on a different workspace.

The Amazon WorkSpaces Free Tier provides two Standard bundle WorkSpaces with 80 GB Root and 50 GB User volumes, running in AutoStop mode, for up to 40 hours of combined use per month, for two calendar months, from the time you create your first WorkSpace.


Key Features of Amazon WorkSpaces:

1. The end-users can access the documents, applications, and resources using devices of their choice such as laptops, iPad, Kindle.

2. Network Health Check-Up verifies if the network and Internet connections are working. Also, checks if  WorkSpaces and their associated registration services are accessible, and checks if port 4172 is open for UDP and TCP access or not.

3. Client Reconnect feature allows the users to access their WorkSpace without entering their credentials every time when they disconnect.

4. Auto Resume Session feature allows the client to resume a session that gets disconnected due to any reason in network connectivity within 20 minutes by default. This can be extended for 4 hours. However, the users can disable this feature any time in the group policy section.

5. Console Search feature allows Administrators to search for WorkSpaces by their user name, bundle type, or directory.


Some AWS Limitations:

1. AWS service limits. AWS service limits are set by the platform.

2. Technology limitations. An exceptional characteristic of this limiting factor is that it can be applied to all Cloud services, not just on AWS.

3. Lack of relevant knowledge by your team.

4. Technical support fee.

5. General Cloud Computing issues.

Setup and Configure tmpmail - Step by Step Process


This article covers method to Setup and Configure tmpmail.

Basically, tmpmail is a handy utility for CLI warriors within the command line. 

By default, email addresses are created at random unless a specific email address follows the --generate flag.

Currently, w3m renders the emails in an HTML format within the terminal. If preferred, a user can use a GUI or text-based browser to view the email by passing the --browser flag followed by the command needed to launch the web browser of your choice.

TEMP-MAIL does not store your IP-address. This means you are reliably protected from all unauthorized actions that may endanger your information and compromise your privacy. All emails and data temporarily stored on our service are permanently deleted after the time expired.


How to install tmpmail ?

1. To install tmpmail, we can use the wget command or curl command to download the script from GitHub. 

Next, open a terminal and then copy or type in the following command:

# wget https://raw.githubusercontent.com/sdushantha/tmpmail/master/tmpmail

2. Now, run the chmod command against the script to modify the permissions, so the file is executable.

[root@host2 ~]# chmod -v +x tmpmail

3. Next, we will move the file to a location somewhere in our $PATH. Use the following command to accomplish this.

# mv tmpmail /bin/
# which tmpmail
/usr/bin/tmpmail


To Generate a New tmpmail Address:

To create a new temporary email address, run the following command.

# tmpmail --generate

WDS deployment in Virtual machines – Few test cases


This article covers some methods to test Windows deployment in virtual machines. Windows Deployment Services (WDS) enables you to deploy Windows operating systems over the network, which means that you do not have to install each operating system directly from a CD or DVD.


To install Windows Deployment Services:

Windows Deployment Services ships as an innate role of Windows Server. I will be demonstrating on WS2016. All currently-supported versions provide it and you follow nearly the same process on each of them.

1. Start in Server Manager. Use the Add roles and features link on the main page (Dashboard) or on the Manage drop-down.

2. Click Next on the introductory page.

3. Choose Role-based or feature-based installation.

4. On the assumption that you're running locally, you'll only have a single server to choose from. If you've added others, choose accordingly.

5. Check Windows Deployment Services.

6. Immediately upon selecting Windows Deployment Services, you’ll be asked if you’d like to include the management tools. Unless you will always manage from another server, leave the box checked and click Add Features.

7. Click Next on the Select server roles page and then click Next on the Select server features page (unless you wish to pick other things; no others are needed for this walkthrough).

8. You'll receive another informational screen explaining that WDS requires further configuration for successful operation. Read through for your own edification. You can use the mentioned command line tools if you like, but that won't be necessary.

9. You will be asked to select the components to install. Leave both Deployment Server and Transport Server checked.

10. Click Install on the final screen and wait for the installation to finish.


To create WDS Boot Images:

When a system starts up and PXE directs it to the WDS server, it first receives a boot image. The boot image should match the operating system it will deploy.

You can obtain one easily.

1. Find the DVD or ISO for the operating system that you want to install. Look in its Sources folder for a file named boot.wim. 

2. On your WDS server, right-click the Boot Images node and click Add Boot Image.

3. On the first page of the wizard, browse to the image file. You can load it right off the DVD as it will be copied to the local storage that you picked when you configured WDS.

4. You’re given an opportunity to change the boot image’s name and description. I would take that opportunity, because the default Microsoft Windows Setup (x##) won’t tell you much when you have multiples.

5. You will then be presented with a confirmation screen. Clicking Next starts the file copy to the local source directory. After that completes, just click Finish.

Disable NetBIOS and LLMNR Protocols in Windows Using GPO - How to do it


This article covers how to disable NetBIOS and LLMNR Protocols for our customers. The broadcast protocols NetBIOS over TCP/IP and LLMNR are used in most modern networks only for compatibility with legacy Windows versions. Both protocols are susceptible to spoofing and MITM attacks. 

In the Metasploit there are ready-made modules that allow you to easily exploit vulnerabilities in the broadcasting NetBIOS and LLMNR protocols to intercept user credentials in the local network (including NTLMv2 hashes). 

To improve your network security, you need to disable these protocols on the domain network. 


In the domain environment, LLMNR broadcasts can be disabled on computers and servers using Group Policy. 

To do it:

1. Open the gpmc.msc, create a new GPO or edit an existing one that is applied to all workstations and servers;

2. Go to Computer Configuration -> Administrative Templates -> Network -> DNS Client;

3. Enable Turn off smart multi-homed name resolution policy by changing its value to Enabled;

4. Wait while the GPO settings on clients are updated, or manually update them using the command: gpupdate /force.


To manually disable NetBIOS on Windows as follows:

1. Open network connection properties

2. Select TCP/IPv4 and open its properties

3. Click Advanced, then go to WINS tab and select Disable NetBIOS over TCP

4. Save the changes.

SQL Server Error 9002 - Fix it now


This article covers methods to resolve SQL Server Error 9002 for our customers. SQL Server Error 9002 happens when the SQL Transaction Log file becomes full or indicated the database is running out of space. A transaction log file increases until the log file utilizes all the available space in disk. A quick fix is to create more space for log file.


To Fix SQL Server Error 9002:


1. Backup Transaction Log File

Incase, SQL database that you are using is full or out of space, you should free the space. For this purpose, it is needed to create a backup of transaction log file immediately. Once the backup is created, the transaction log is truncated. If you do not take back up of log files, you can also use full or Bulk-Logged Recovery model to simple recovery model.


2. Free Disk Space

Generally, the transaction Log file is saved on the disk drive. So, you can free the disk space which contains Log file by deleting or moving other files on order to create some new space in the drive. The free space on disk will allow users to perform other task and resolve SQL Error Log 9002 The Transaction Log for Database is Full.


3. Move Log File to a Different Disk

If you are not able to free the space on a disk drive, then another option is to transfer the log file into a different disk. Make sure another disk in which you are going to transfer your log file, has enough space.

i. Execute sp_detach_db command to detach the database.

ii. Transfer the transaction log files to another disk.

iii. Now, attach the SQL database by running sp_attach_db command.


4. Enlarge Log File

If the sufficient space is available on the disk then you should increase the size of your log file. Because, the maximum size for a log file is considered as 2 TB per .ldf file.


To enlarge log file, there is an Autogrow option but if it is disabled, then you need to manually increase the log file size.

i. To increase log file size, you need to use the MODIFY FILE clause in ALTER DATABASE statement. Then define the particular SIZE and MAXSIZE.

ii. You can also add the log file to the specific SQL database. For this, use ADD FILE clause in ALTER DATABASE statement.

Then, add an additional .ldf file which allows to increase the log file.

DirectAdmin Email page failed to load - Fix it Now


This article covers how to fix the issue regarding the email page not loading in the DirectAdmin panel.


To fix this DirectAdmin error:

1. Edit DirectAdmin.conf

$ vi /usr/local/directadmin/conf/directadmin.conf

2. Add below line into the file to enable disk usage cache:

pop_disk_usage_cache=1

3. Edit /etc/cron.d/directadmin_cron

$ vi /etc/cron.d/directadmin_cron

and add below line

*/15 * * * * root echo "action=cache&type=popquota" >> /usr/local/directadmin/data/task.queue

4. Restart crond service

$ service crond restart

Nagios Network Analyzer - My New Source Wont Start - Best Fix


This article covers method to resolve Source Not Starting in Nagios for our customers. Generally, it happens when you added a new source, but it did not automatically start.

When creating a new Source in Network Analyzer it creates the directory structure - the folders where it will store flow data, the RRD data file, and the processes pid file. It also starts the Source (nfcapd or sfcapd) automatically once it's finished creating the new directories. Here's a couple reasons why it may not be starting.


This problem can be resolved by installing the rrdtool-python module the following command:

$ yum install -y rrdtool-python

Once installed restart the nagiosna service:

$ systemctl restart nagiosna

The Source should now start

SQL Error 17051 – Server Evaluation Edition to Enterprise Edition


This article covers method to resolve SQL Error 17051.

This SQL error  sometimes happens when the SQL Server Evaluation period has expired.

To fix Microsoft SQL Server Management Studio error:
1. Now as per the error message you open the Event Viewer and see that the Event with ID 17051, which shows SQL Server Evaluation period has expired under Details section.
2. Now, you recall that the Instance that you had installed was under Evaluation of 180 days, because you didn’t applied any Product Key. So, now how can you make it live again? All you need is a Product key of SQL Server and some clicks.
3. Open the SQL Server Installation Center and click on Maintenance link, and then click on Edition Upgrade.
4. Now on the Upgrade window Click Next and you will reach the Product Key page, apply the Key and click Next.
5. On the Select Instance page, select the SQL Instance that you want to fix and Click next. It will take some time and finally you will see a final window and click Upgrade.
6. Finally you will see the successful window, click on Close button.

Also, you can use following command line installation option to skip this specific rule to allow the upgrade process to complete successfully:
a) Open Command Prompt (CMD)
b) Go to the folder where SQL Server Setup, setup.exe file is located (like C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\SQLServer2012\)
c) Apply following command:

setup.exe /q /ACTION=editionupgrade /InstanceName=MSSQLSERVER /PID=<appropriatePid> /SkipRules= Engine_SqlEngineHealthCheck

The <appropriatePid> should be the 25 digit Key.
The above command line runs SQL Server setup in silent mode.
Now Restart the SQL Server Service for this Instance, and you will see it running fine.
Finally, go back to SSMS and now you can connect to the SQL Instance.

Unable to find the User entry – Fix Apache Web Agent Installation Error


This article covers how to fix Unable to find the User entry Apache Web Agent Installation Error.

This arror happens when we fail to set the user and group in the Apache httpd.conf file. Also, You will see "Unable to find the "User" entry in the httpd.conf file, will try APACHE_RUN_USER environment variable" and/or "Unable to find the "Group" entry in the httpd.conf file, will try APACHE_RUN_GROUP environment variable" errors.

To resolve this Apache error:
1. Check whether the user and group are set; you can do this via the httpd.conf file or equivalent file (such as envvars). For example:
a. Review the httpd.conf file and check whether the user and group are set. By default, they are set to apache, for example:

$ cat httpd.conf | grep 'User\|Group'
...
User apache
Group apache
..

If they are not set, you should set them; you can set them to apache or nobody.
b. Review the envvars file to ensure the user and group are set in the APACHE_RUN_USER and APACHE_RUN_GROUP environment variables. For example:

$ cat envvars | grep 'APACHE_RUN_USER\|APACHE_RUN_GROUP'
export APACHE_RUN_USER=apache
export APACHE_RUN_GROUP=apacheIf they are not set, you should set them; you can set them to apache or nobody.

2.     Review the passwd and group files to check whether the user and group match what is set in your httpd.conf file or equivalent. For example:

$ cat /etc/passwd | grep apache
apache:x:48:48:apache:/usr/share/httpd:/sbin/nologin
$ cat /etc/group | grep apache
apache:x:48:


If they are not set, you should set them to match what is in the httpd.conf file or equivalent.

Microsoft SQL Server Error 916 - Fix it now


This article covers method to resolve Microsoft SQL Server Error 916 for our customers.

The main problem is due to bugs present in SQL Server Management Studio that prevents the user to connect to the database and refuses to display the database list.

How to solve Microsoft SQL server error 916:
If you receive the following error while using Microsoft SQL Server Management Studio 2008:
The server principal "username" is not able to access the database "dbname" under the current security context. (Microsoft SQL Server, Error: 916).

Causes of SQL Server Error 916:
1. The user is not permitted to view the data of selected column within the database.
2. The database is currently not available.
3. There are multiple columns such as Size, Space available, Data Space Used, Default file group, Index Space Used, Mail host, Primary file path and user has added at least one of them to the list of Object Explorer Details.
4. If the Auto Close option for the database is enabled, then Collation column cannot be retrieved by SQL Server Management Studio (SSMS).
5. For a database, Collation column contains NULL.

In order to view the granted permissions for the guest-user, the following command is helpful if run by a member of a Sysadmin fixed server.
The query is as follows:

USE msdb;
 SELECT prins.name AS grantee_name, perms.*
 FROM sys.database_permissions AS perms
 JOIN sys.database_principals AS prins
 ON perms.grantee_principal_id = prins.principal_id
 WHERE prins.name = ‘guest’ AND perms.permission_name = ‘CONNECT’;
 GO

On running the above command, a table is presented to the user containing all the attributes of guest user.
However, an empty result shows that guest user is disabled in the database and again the SQL Server error 916 will be displayed.
To overcome the error you may perform the following available solutions.

To fix this SQL server error 916:
1. In Object Explorer, click databases.
2. Display "Object Explorer Details" (F7) or "View –> Object Explorer Details".
3. Right-click the column headers and deselect "collation".
4. Refresh the databases.

Nagios Failed to Parse Date Error - Fix it now


This article covers Nagios Failed to Parse Date Error.

Basically, the logs coming in on the same input need to use the same formatting.
To fix this Nagios error,  make sure that all devices use the same date format or configure another input for these devices.
For example:

syslog {
    port => xxxx
    type => 'alternative-syslog'
    tags => 'alternative Linux-Max'
}

GUI testing for Web Applications and Smart devices – An overview


This article covers GUI testing which refers to testing the functions of an application that are visible to a user. In the example of a calculator application, this would include verifying that the application responds correctly to events such as clicking on the number and function buttons.
Basically, the web UI testing revolves around the graphical user interface (GUI) testing that includes testing of both the functionality and usability of the website or the web app. By specifically using web UI testing, it refers to testing GUI elements like fonts, layouts, buttons, checkboxes, images, colours, and so on.

What we check in GUI Testing?
1. Testing the size, position, height, width of the visual elements.
2. Verifying and testing the error messages are displayed or not.
3. Testing different sections of the display screen.
4. Verifying the usability of carousel arrows.
5. Checking the navigation elements at the top of the page.

GUI Testing is a software testing type that checks the Graphical User Interface of the Software.

The purpose of Graphical User Interface (GUI) Testing is to ensure the functionalities of software application work as per specifications by checking screens and controls like menus, buttons, icons, and so on.

Benefits of GUI Testing:
1. Tests the user interface from the users perspective.
2. Efficiently reduces the number of risks towards the end of development life cycle.
3. Offers developers and testers ease of use and learning.
4. Helps validate the compliance of various icons and elements with their design specifications.

Attributes do not match - Fix this SQL Server Installation Error


This article covers how to resolve the error, SQL Attributes do not match. Basically, the error, Attributes do not match occurs during SQL Server installation or during SQL Server patching activity.
Once you get this issue, you can check all drives available on your database server whether they are compressed or not. If any drive is compressed and SQL Server is using that drive during installation then that might be the reason for getting issue Attributes do not match.
You need to uncompress all such drives and then start the installation.

To uncompress the drive we need to launch property window of that drive:
1. We just need to right click on the identified drive and choose Properties to see the status of compression.
2. You can see compress this drive to save disk space option is ticked.
3. Uncheck this option and click on OK button to apply the change.
4. Once you validated all drives that none of the drives are compressed then you can start SQL Server installation and this time SQL Server installation will be successful.

When installing SQL server and running into an error "Attributes do not match.
Present attributes (Directory, Compressed) , included attributes (0), excluded attributes (Compressed, Encrypted)".
This is because you are trying to install SQL into a folder that is compressed which is not supported.
To fix this;
1. Navigate to C:\Program Files\Microsoft SQL server folder
2. Right click on properties on SQL Server folder.  
3. Under advanced option in general tab, look for compress contents to save disk space, uncheck it.
4. Also, uncheck "encrypt contents to secure data"
5. Re-run the SQL install

Nagios No lock file found - Fix this error now


This article covers different methods to resolve the error, Nagios: No lock file found.  Basically, "No lock file found in /usr/local/nagios/var/nagios.lock" means that the service isn't running.

To fix this Nagios error:
Execute the command:

$ /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

Running the command above simply starts the nagios daemon and points it to a specific config file.
The advantage to running this command manually over systemd is that when you run "service nagios start" this typically calls the /etc/rc.d/init.d/nagios script which contains a line with parametrized environment variables:

$NagiosBin -d $NagiosCfgFile

Because every system is different, not specifying either the bin nor config directories could lead to nagios breaking (stopping) when it tries to start using the default installation directory paths

Administration Page Fails To Display in Nagios Log Server


This article covers how to resolve the 'Administration Page Fails To Display' in the Nagios Log Server issue for our customers.


To fix this Nagios error, all you need to do is to:
1. Increase the PHP  memory_limit in php.ini file.
You can execute the following command:

$ find /etc -name php.ini

2. Then make the necessary changes.
3. After which you should restart Apache for the changes to take effect using one of the commands below:

$ systemctl restart apache2.service

4. Once the service has restarted, the Administration page will be accessible.

If the problem persists, please increase the value again.


When using the vi editor in Linux:
1. To make changes press i on the keyboard first to enter insert mode
2. Press Esc to exit insert mode
3. When you have finished, save the changes in vi by typing :wq and press Enter

No SSL library support - How to fix this Web Agent installation error


This article covers methods of resolving No SSL/library support: Web Agent installation error. This issue arises when you are trying to install a 32bit version of the agent on a 64bit system; the 32bit version of the agentadmin tool cannot open the 64bit SSL libraries.
Therefore, If your operating system does not include native openssl packages, you must install OpenSSL.

To fix this Web Agent installation error on Linux:
1. Ensure you are installing the appropriate version of the agent; if you have a 64bit operating system, you must install the 64bit agent.
2. Ensure either the operating system provides native openssl packages or OpenSSL is installed. If you are using OpenSSL, you can check that the OpenSSL libraries are in the correct location as follows and add them if they are missing:
a. Check that the LD_LIBRARY_PATH environment variable is set. For example: $ echo $LD_LIBRARY_PATH
b. Check that the OpenSSL libraries (libcrypto.so and libssl.so) are available in the path specified in this environment variable (LD_LIBRARY_PATH).

Configure Multi-Tenancy in Nagios Log Server - How to perform it


This article covers how to configure multi-tenancy in Nagios log server.
Multi-Tenancy works by assigning which hosts a user is allowed to see in the Nagios Log Server interface.
Hosts can also be placed in a host list and then applied to the users who will be allowed access.
NOTE: API users and administrators will be able to work around any restrictions placed on them, this
functionality only applies for regular users.

SQL Error 50000 - Best method to fix


This article covers method to fix SQL Error 50000.

This SQL error happens in the process of installing SQL Server Management Studio on one of the client machines.
If you receive SQL Server 50000 error on a SQL Agent Job, you need to Quit the job reporting failure.

To fix this SQL error, you can try the following queries:
1. Enable the SQL Broker on the Site database:

USE master; 
GO 
ALTER DATABASE CM_PR1 SET ENABLE_BROKER 
GO

2. SET the Site Database as trustworthy:
USE master;

GO 
ALTER DATABASE CM_PR1 SET TRUSTWORTHY ON 
GO

3. SET the Database to honor the HONOR_BROKER_PRIORITY:

USE master; 
GO 
ALTER DATABASE CM_PR1 SET HONOR_BROKER_PRIORITY ON; 
GO

JFTP Bad response error in Joomla - Best Method to resolve


This article covers how to fix JFTP bad response error in Joomla for our customers.
When trying to install new extensions in Joomla, some users might come across some errors indicating a “Bad Response”, where the extensions are not successfully installed.

These errors include:

-JFTP::mkdir: Bad response
-JFTP::chmod: Bad response
-JFTP::store: Bad response

To fix this error, You could try to change the chmod permission to 777 (755 the default chmod) of your configuration.php file, and also the corresponding directory recursively.
To do this, modify the configuration.php file.
Simply search for the FTP settings within this file and input the FTP login details in the following fields:
public $ftp_host = '';
public $ftp_port = ’21’;
public $ftp_user = ”;
public $ftp_pass = ”;
public $ftp_root = ”;
public $ftp_enable = ‘1’;

SQL Server Error 5009 – Different scenarios and fixes


This article covers how to fix SQL Server Error 5009 error which occurs while adding or removing a database file or extending the database file size.
 
To fix Microsoft SQL Server Error 5009 While Adding Database File:
1. Set the Operating system permission on the mentioned .ldf file to full permission for your login account and SQL Server service account.
2. Change the location to the path where you have enough permission to create or add database files.

Manage Scheduled Tasks with PowerShell - How to do it


This article covers how to use the PowerShell features to create scheduled tasks. The Get-ScheduledTask cmdlet gets the task definition object of a scheduled task that is registered on a computer. You can use PowerShell to create and manage scheduled tasks. Managing scheduled tasks with PowerShell is made possible with the use of the ScheduledTasks module that’s built-in to Windows.
With the PowerShell Scheduled Tasks module, setting up scheduled tasks using PowerShell commands is made possible. This module provides the opportunity and means to create and deploy scheduled tasks programmatically on the local and remote computers.

Important scheduled task component:
1. Action – the action that is executed by the scheduled task. An action is typically to run a program or a script. A scheduled task can have more than one actions.
2. Trigger – controls when the scheduled task runs. Triggers can be time-based, like, setting a schedule for daily or hourly recurrence. Triggers can also be activity-based, which runs a task based on detected activities like computer startup, a user logs in, or logged events.
3. Principal – controls the security context used to run the scheduled task. Among other things, a principal includes the user account and the required privilege used by the scheduled task.
4. Settings – is a set of options and conditions that controls how the scheduled task behavior. As an example, you can customize a task to get removed after a consecutive number of days that the task is unused.

To add a Trigger for a scheduled task using PowerShell:
The cmdlet to use for creating a trigger is the New-ScheduledTaskTrigger cmdlet.
The command below creates a trigger to run daily at 3 PM.

Copy and run the code in PowerShell:

# Create a new trigger (Daily at 3 AM)
$taskTrigger = New-ScheduledTaskTrigger -Daily -At 3PM
$tasktrigger

This will Create a Trigger (Daily at 3 AM)

Enable Windows Lock Screen after Inactivity via GPO - How to do it


This article covers how to Enable Windows Lock Screen on domain computers or servers using Group Policy. Locking the computer screen when the user is inactive (idle) is an important information security element.
The user may forget to lock his desktop (with the keyboard shortcut Win + L) when he needs to leave the workplace for a short time.
If any other employee or client who is nearby can access his data. The auto-lock screen policy will fix this flaw.
After some time of inactivity (idle), the user's desktop will be automatically locked, and the user will need to re-enter their domain password to return to the session.

To enable lock screen with group policy:
1. Create a new GPO then edit it and go to:
Computer Config>Policies>Windows Settings>Security Settings>Local Policies>Security Options.
2. Find Interactive logon: Machine inactivity limit .
3. Set that to whatever time you want and it will lock the PC after it hits that timer.

To change my lock screen wallpaper using group policy:
1. Run GPEDIT. MSC.
2. Go this path "Computer Configuration\Policies\Administrative Templates\Control Panel\Personalization".
3. Enable the GP "Force a specific default lock screen image".
4. Specify the path to the image file.
5. Click OK.

To Find Windows 10's Spotlight Lock Screen Pictures:
1. Click View in File Explorer.
2. Click Options.
3. Click the View tab.
4. Select "Show hidden files, folders and drives" and click Apply.
5. Go to This PC > Local Disk (C:) > Users > [YOUR USERNAME] > AppData > Local > Packages > Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy > LocalState > Assets.

SQL error 300 - Fix it Now


This article covers tips to resolve SQL error 300. The reason of the error is related with user permission on VIEW SERVER STATE. You can upgrade SQL Server Management studio with the same version like SQL Instance or higher. 


Also, To mitigate this error, give the following GRANT and the error message will disappear:

USE master
GO
GRANT VIEW SERVER STATE TO "LoginName"

Boot an EC2 Windows instance into DSRM - How to perform this task


This article covers how to boot an EC2 Windows instance into DSRM. If an instance running Microsoft Active Directory experiences a system failure or other critical issues you can troubleshoot the instance by booting into a special version of Safe Mode called Directory Services Restore Mode (DSRM). In DSRM you can repair or recover Active Directory.


How to Configure an Instance to Boot into DSRM?

1. To boot an online instance into DSRM using the System Configuration dialog box

i. In the Run dialog box, type msconfig and press Enter.

ii. Choose the Boot tab.

iii. Under Boot options choose Safe boot.

iv. Choose Active Directory repair and then choose OK. The system prompts you to reboot the server.


2. To boot an online instance into DSRM using the command line

From a Command Prompt window, run the following command:

$ bcdedit /set safeboot dsrepair

If an instance is offline and unreachable, you must detach the root volume and attach it to another instance to enable DSRM mode.

Cannot download Docker images behind a proxy - Fix it Now


This article covers the error, Cannot download Docker images behind a proxy. 

You can fix this docker issue by doing the following:

1. In the file /etc/default/docker, add the line:

export http_proxy='http://<host>:<port>'

2. Restart Docker:

$ sudo service docker restart


Also, you can Follow the steps given below to fix this docker error:

1. Create a systemd drop-in directory for the docker service:

$ mkdir /etc/systemd/system/docker.service.d

2. Create a file called /etc/systemd/system/docker.service.d/http-proxy.conf and add the HTTP_PROXY env variable:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

3. If you have internal Docker registries that you need to contact without proxying you can specify them via the NO_PROXY environment variable:

Environment="HTTP_PROXY=http://proxy.example.com:80/"
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"

4. Flush changes:

$ sudo systemctl daemon-reload

5. Verify that the configuration has been loaded:

$ sudo systemctl show --property Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/

6. Restart Docker:

$ sudo systemctl restart docker

Using WebMatrix – Create and publish websites with ease


This article covers WebMatrix which is a simple and free development tool to create, customize, publish and maintain websites with ease. WebMatrix is basically a free, lightweight, cloud-connected web development tool that enables you to create, publish and maintain your websites with ease. You can use it to create HTML5/CSS3 compliant websites, with LESS and Sass support, and code completion for JavaScript and jQuery.

Also, You can develop using ASP.net, PHP and Node.js with context sensitive code completion.

WebMatrix lets you work seemlessly with various databases, viz. SQL CE, Sql Server and MySQL. Creation of databases and modification of schema and data are as simple as it gets. 

Also, WebMatrix provides a straightforward path to migrate databases, for example, migrating a SQL CE database to a SQL Server database.

Publishing these databases is also handled for you by the product so long as you use a WebDeploy publish profile to publish your website.

Define Global Environment Variables in Nagios - Fix it Now


This article covers how to define Global Environment Variables in Nagios. In some environments, when the plugin is executed by the monitoring engine, these environment variables are not loaded and hence the plugin does not know where to find them and fails.

Therefore, when the plugin is executed, environment variables may not load.


To Define Global Environment Variables in Nagios:

Here, you will define variables required for you plugins globally.

a. Add the path /usr/local/important_application to the PATH environment

b. Add the variable ORACLE_HOME=/usr/lib/oracle/11.2/client64

1. To do this, edit a specific file that nagios checks when it starts:

$ vi /etc/sysconfig/nagios

2. Add the following lines to the file and then save:

export PATH=$PATH:/usr/local/important_application
export ORACLE_HOME=/usr/lib/oracle/11.2/client64

3. Finally, restart Nagios:

$ systemctl restart nagios.service


If you have Mod-Gearman, 

The following is being applied:

a. Re-define the PATH environment to include /usr/local/important_application

b. Add the variable ORACLE_HOME=/usr/lib/oracle/11.2/client64

1. This is performed by editing a specific file that mod-gearman2-worker checks when the service starts:

/etc/sysconfig/mod-gearman2-worker

2. Open an SSH session to your Mod-Gearman worker.

Type:

$ vi /etc/sysconfig/mod-gearman2-worker

3. Add the following lines to the end of the file and save:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/important_application
ORACLE_HOME=/usr/lib/oracle/11.2/client64

4. Now reload the daemons and restart the Mod-Gearman worker:

$ systemctl daemon-reload
$ systemctl restart mod-gearman2-worker.service

Bad interpreter No such file or directory error in Nagios


This article covers Nagios error, 'bad interpreter no such file or directory'. Nagios bad interpreter: No such file or directory error occurs after uploading a plugin which is in a "Windows" format instead of a "Unix" format. It has to do with the line endings / carriage returns.

To fix this error, you will convert the file to a Unix format:

$ yum install -y dos2unix
$ dos2unix /usr/local/nagios/libexec/check_apc_pdu_load.sh

Nagios error Could not bind to the LDAP server - Fix it now


This article covers tips to resolve 'could not bind to the LDAP server. Nagios error. This cause secure lookup on 636 or using TLS to fail.

The check_ldap plugin makes use of OpenLDAP, the OpenLDAP package is installed as part of the NagiosXI installation because the plugins have dependencies on it but it is left in a non-configured state.

To resolve the problem on each node (wtgc-nagios-01 and wtgc-nagios-02) the following is required, firstly edit the file: /etc/openldap/ldap.conf and at the bottom of the file add the following line:

TLS_REQCERT allow

330 Content Decoding Failed - Nagios Web browser error


This article covers how to fix 330 Content Decoding Failed Nagios browser error. Basically, this error occurs when an HTTP request's headers claim that the content is gzip encoded, but it is not. 

To fix this error:

The Apache web server requires zlib.output_compression to be configured to On in the /etc/php.ini file.

Execute the following command to open the file in vi:

vi /etc/php.ini

When using the vi editor, to make changes press i on the keyboard first to enter insert mode.

Press Esc to exit insert mode.

To locate the line zlib.output_compression = type the following:

/output_compression =

This should take you directly to the line. Change the setting to On:

zlib.output_compression = On

When you have finished, save the changes in vi by typing:

:wq

and press Enter.

The last step is to restart the Apache service using one of the commands below:

RHEL 7 + | CentOS 7 + | Oracle Linux 7 +

$ systemctl restart httpd.service

 Debian | Ubuntu 16/18/20

$ systemctl restart apache2.service

After the service has restarted the problem should no longer occur.

Clear Solaris Service Maintenance Status in Nagios - Troubleshoot and Resolve


This article covers how to fix Clear Solaris Service Maintenance Status Nagios issue. Basically, When the Nagios Core service finds an invalid configuration, the core service will not start. 

To fix the problem you must fix the problem Nagios Core is complaining about.

This is normal behavior of Nagios Core, it is not specific to Solaris.

However on Solaris, after a service has failed to start several times, Solaris will put the service into what is called a Maintenance State. This state prevents a small problem from becoming a bigger problem. 

Even after fixing the problem Nagios Core is complaining about, you must also clear the maintenance state on the service before Solaris allows a service to be started again.

This means that the service is in a maintenance state, however there is not a lot of detail as to the cause of the issue except that the Start method failed repeatedly. 

It does however provide the name of a log file /var/svc/log/application-nagios:default.log.

Execute the following command to perform further troubleshooting:

tail -20 /var/svc/log/application-nagios:default.log


To Clear Maintenance State on Nagios:

1. Run the following command to clear the maintenance state:

$ svcadm clear nagios

2. Execute the following command to start Nagios:

$ svcadm enable nagios

3. Now check the state of the service:

$ svcs -xv nagios

Failed to register iobroker in Nagios - Solved


This article covers how to resolve Nagios error, Failed to register iobroker. This problem can occur when custom operating system limits restrict the max number of processes that can be executed.


Custom limits are defined in the /etc/security/limits.conf file

You will need to increase the hard and soft values to resolve the problems you are experiencing, for example:

# harden against fork-bombs
*               hard    nproc           10000
*               soft    nproc           10000
root            hard    nproc           10000
root            soft    nproc           10000

 After making the changes it is recommended to reboot the operating system to ensure the limits are applied.

If the change does not fix the problem then you should increase the values again.

Secure osTicket with Lets Encrypt SSL Certificates - Do it Now


This article covers how secure osTicket with Let’s Encrypt SSL Certificates. You can use the Certbot to request for SSL certificates from Let's Encrypt Certificate Authority. The tool is not available by default and will need to be installed manually.


To Install certbot certificate generation tool:

1. Install certbot on Ubuntu /Debian:

# Install certbot on Ubuntu /Debian

$ sudo apt update

# Apache

$ sudo apt-get install python-certbot-apache

# Nginx

$ sudo apt-get install python-certbot-nginx


2. Install certbot on CentOS 8 / CentOS 7:

On a CentOS system run either of the following commands:

# CentOS 8

## For Apache

$ sudo yum -y install python3-certbot-apache

## For Nginx

$ sudo yum -y install python3-certbot-nginx

# CentOS 7

## For Apache

$ sudo yum -y install python2-certbot-apache

## For Nginx

$ sudo yum -y install python2-certbot-nginx

Updating Windows VM Templates on VMWare with PowerShell - How to do it


This article covers how to update Windows VM Templates on VMWare. 

The update process of a VM template on VMWare consists of the following stages:

1. A template from the Content Library is converted to a virtual machine.;

2. After starting it, an administrator logs on, installs approved Windows updates using WSUS, updates the required software;

3. After the updates have been installed, the VM is restarted, then turned of and converted back to the template.

DirectAdmin error Headers and client library minor version mismatch


This article covers how to resolve DirectAdmin: Headers and client library minor version mismatch error. Basically, this error can come up even after MySQL update and PHP rebuild via custombuild.

To resolve this error:

Perform a cleanup in custombuild and rebuild PHP

$ cd /usr/local/DirectAdmin/custombuild

$ ./build clean

$ ./build php n


Alternatively you can set it like this:

cd /usr/local/directadmin/custombuild

./build set php5_ver 5.3

./build set mysql 5.1

./build update

./build clean

./build apache d

./build php d

./build mysql d


To rebuild zend:

cd /usr/local/directadmin/custombuild

./build zend

WordPress error Class wp_theme not found - Fix it now


This article covers method to resolve 'WordPress: Class wp_theme not found' error for our customers.


To perform a manual WordPress upgrade:

1. Get the latest WordPress zip (or tar.gz) file.

2. Unpack the zip file that you downloaded.

3. Deactivate plugins.

4. Delete the old wp-includes and wp-admin directories on your web host (through your FTP or shell access).

5. Using FTP or your shell access, upload the new wp-includes and wp-admin directories to your web host, overwriting old files.

6. Upload the individual files from the new wp-content folder to your existing wp-content folder, overwriting existing files. Do NOT delete your existing wp-content folder. Do NOT delete any files or folders in your existing wp-content directory (except for the one being overwritten by new files).

7. Upload all new loose files from the root directory of the new version to your existing WordPress root directory.

However, if you did not perform step 7, you would see this error message when trying to complete your upgrade:

Class WP_Theme not found in theme.php on line 106


Hence, to avoid this issue, or to fix this issue, make sure you perform step 7 and continue on the remaining steps for the manual WordPress updating process.

Virtualization Restrictions in RedHat Linux with KVM


This article covers Virtualization Restrictions in RedHat Linux which are additional support and product restrictions of the virtualization packages.


The following notes apply to all versions of Red Hat Virtualization:

1. Supported limits reflect the current state of system testing by Red Hat and its partners. Systems exceeding these supported limits may be included in the Hardware Catalog after joint testing between Red Hat and its partners. If they exceed the supported limits posted here, entries in the Hardware Catalog are fully supported. In addition to supported limits reflecting hardware capability, there may be additional limits under the Red Hat Enterprise Linux subscription terms. Supported limits are subject to change based on ongoing testing activities.


2. These limits do not apply to Red Hat Enterprise Linux (RHEL) with KVM virtualization, which offers virtualization for low-density environments.


3. Guest operating systems have different minimum memory requirements. Virtual machine memory can be allocated as small as required.

USB device passthrough to Hyper-V - How to get this done


This article covers how to perform Hyper-V USB Passthrough. A USB passthrough is referenced when a keyboard has female USB ports for other devices to be plugged into the keyboard. USB passthroughs requires more than one USB port to be used by the keyboard in order to pass the USB through to the PC, often requiring an additional connection to the host system for powered ports.


What does Hyper-V USB passthrough Mean?

Hyper-V USB passthrough functionality allows you to access the USB device from within a virtual machine. There is a way to enable USB passthrough on Hyper-V for a memory stick, but you’ll have to use Windows storage subsystem.


Known issues with Hyper-V USB device passthrough organized with native methods:

1. Platform restrictions: said methods rely upon Windows storage subsystem so using them to set up Hyper-V USB passthrough on Linux (or any other OS that’s not Windows) is out of question, sadly.

2. An extremely limited list of supported devices: for the native methods to work, your USB peripheral must be recognized as a “Mass Storage Device”. No exceptions.

3. No sharing: once your device is set in passthrough mode, you can access it only from the guest OS. That’s why using these methods to permanently connect a USB to Hyper-V is definitely not the best idea.

4. Poor choice for a cloud: with these methods, the USB device is always locked to a specific host PC while there's no way to anchor a cloud-based Hyper-V guest system or preestimate where it's going to run for your next session.


Advantages of using RDP for Hyper-V USB passthrough:

1. Works for literally any hypervisor you can name;

2. Instant access to USB devices, once RDP connection is up;

3. Group Policy feature for overall control;

4. All USB devices plugged into your host PC are accessible from a virtual machine.


To enable USB device in Hyper-V with the Enhanced Session Mode:

1. On a host computer, you go to the Hyper-V Manager, right-click the name of the host and choose Hyper-V Settings.

2. In the Setting window, you will see the Server and User sections. Select Enhanced Session Mode Policy in the Server section and allow the enhanced session mode by checking the corresponding box.

3. Now, choose "Enhanced Session Mode" in the User section and check the “Use enhanced session mode” box.

4. Click OK and the changes will be saved.


To allow Hyper-V access to attached USB devices:

1. Start the Hyper-V Manager and double-click the name of your virtual machine.

2. In the pop-up window, click “Show Options” to configure your VM’s future connections.

3. After that, go to the tab “Local resources” and click “More” in the section “Local devices and resources”.

4. Then, check the boxes “Other supported Plug and Play devices” and “Devices that I plug in later”. Hit OK.

5. If you want this configuration to be saved for all future connections, check the corresponding box in the “Display” tab. Click “Connect” to implement the changes.

Recover orphan innodb database from ibd file - How to perform this task


This article covers how to recover the orphan InnoDB database from the ibd file. 


Orphan InnoDB database incident mostly happened when:

1 – user accidentally remove ibdata1 file. (mostly in /var/lib/mysql/ibdata1).

2 – ibdata file courrupted.


To Recover Orphaned InnoDB Tables:

1. Restart the MySQL service to recreate ibdata1, then take a backup of your database folder.

2. Login to MySQL.

3. Create a dummy database with the same name. Then, create a dummy table with the same name as the corrupted one (don’t mind the table structure for now).

4. Stop the MySQL service, copy the .frm file from the backup you took to replace the .frm file.

5. Start MySQL and have a look at the structure of your table - it should now be in place! However, don’t get too happy yet.

6. Issue a SHOW CREATE TABLE statement and copy its contents, then create the table with them.

7. Stop MySQL, copy the .ibd file from the backup directory to /var/lib/database_name and replace the existing .ibd file from the dummy table.

8. Now it’s time for Percona’s tools to shine - download and install the Percona Data Recovery Tool for InnoDB , then run the following (here -o represents the full location of your ibdata1 file, -f represents the full location of your .ibd file, -d represents the database name and -t represents your table name):

ibdconnect -o /var/lib/mysql/ibdata1 -f /var/lib/mysql/database_name/table_name.ibd -d database_name -t table_name

9. Now, run a checksum check against InnoDB - make sure you get no error messages (you might need to run this tool several times):

innochecksum /var/lib/mysql/ibdata1

10. Finally, you should be good to go - simply start MySQL.

Remove Nginx on linux in Vesta control panel - Step by Step process to do it


This article covers how to remove Nginx on Linux in the Vesta control panel. 

Vesta control panel (VestaCP) is an open source hosting control panel, which can be used to manage multiple websites, create and manage email accounts, FTP accounts, and MySQL databases, manage DNS records and more.


To uninstall VestaCP on CentOS, follow the steps below:

1. Connect to your server via SSH as root

2. Stop the Vesta service with service vesta stop:

$ service vesta stop 

3. Delete Vesta packages/software repository:

# yum remove vesta*

and

# rm -f /etc/yum.repos.d/vesta.repo

4. You may also want to remove /usr/local/vesta folder:

# rm -rf vesta

5. Now we have to remove the cron jobs for the user admin.

Let's list first the cron jobs:

# crontab -u admin -l
MAILTO=admin@ibmimedia.com
CONTENT_TYPE="text/plain; charset=utf-8"
15 02 * * * sudo /usr/local/vesta/bin/v-update-sys-queue disk
10 00 * * * sudo /usr/local/vesta/bin/v-update-sys-queue traffic
30 03 * * * sudo /usr/local/vesta/bin/v-update-sys-queue webstats
*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-queue backup
10 05 * * * sudo /usr/local/vesta/bin/v-backup-users
20 00 * * * sudo /usr/local/vesta/bin/v-update-user-stats
*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-rrd
40 2 * * * sudo /usr/local/vesta/bin/v-update-sys-vesta-all
03 3 * * * sudo /usr/local/vesta/bin/v-update-letsencrypt-ssl

6. Remove the cron jobs via crontab -u admin -e:

# crontab -u admin -e

7. Save and exit:


DirectAdmin User too large delete on background - Methods to resolve this error


This article covers method to fix the error, DirectAdmin: User too large delete on background. Basically, this error occurs when the sum of the disk usage of any user exceeds a certain threshold.

To prevent time-outs in your browser when deleting excessively large accounts, DirectAdmin will execute the deletion by adding the command to the background’s task.queue, instead of performing the execution on the foreground.


To fix DirectAdmin: User too large delete on background error, you can connect to the server through SSH using root access, then go to DirectAdmin's installed directory as below:

cd /usr/local/directadmin/conf/

Then edit the directadmin.conf file in the directory by running

vi directadmin.conf

If the variable "get_background_delete_size" value exists in the directadmin.conf file, it will be set to 10 GB by default (get_background_delete_size=10240). 

If the variable cannot be found in the file, simply add it in. 

You can modify the value of 10240 to define the value that you wish to set.

Best Ubuntu APT Repository Mirror - How to get it


This article covers methods to find the best APT mirror on the Ubuntu server. 


To Find Best Ubuntu APT Repository Mirror Using Apt-smart:

Apt-smart is yet another command line tool written in Python. It helps you to find APT mirrors that provides best download rate for your location. It can smartly retrieve the mirrors by querying the Debian mirror list, Ubuntu mirror list and Linux mint mirror list and choose best mirror based on the country in which the user lives in. The discovered mirrors are ranked by bandwidth and their status (like up-to-date, 3-hours-behind, one-week-behind etc).

Another notable feature of Apt-smart is it will automatically switch to any other different mirrors when the current mirror is being updated. The new mirrors can be selected either automatically or manually by the user. Good thing is Apt-smart will backup the current sources.list before updating it with new mirrors.


To Install Apt-smart in Ubuntu:

Make sure you have installed Pip and run the following commands one by one to install Apt-smart:

$ pip3 install --user apt-smart
$ echo "export PATH=\$(python3 -c 'import site; print(site.USER_BASE + \"/bin\")'):\$PATH" >> ~/.bashrc
$ source ~/.bashrc


To List all mirrors based on rank:

To list all available ranked mirrors in the terminal, run:

$ apt-smart --list-mirrors

Or,

$ apt-smart -l


To Automatically update mirrors:

Instead of manually finding and updating the best mirror in Ubuntu, you can let Apt-smart to choose a best Apt mirror and automatically update the sources.list with new one like below:

$ apt-smart --auto-change-mirror

To get help, run:

$ apt-smart --help

Amazon Redshift - Its features and how to set it up


This article covers an effective method to set up Amazon Redshift. Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud. This enables you to use your data to acquire new insights for your business and customers. The first step to create a data warehouse is to launch a set of nodes, called an Amazon Redshift cluster.

Amazon Redshift is a relational database management system (RDBMS), so it is compatible with other RDBMS applications. Amazon Redshift and PostgreSQL have a number of very important differences that you need to take into account as you design and develop your data warehouse applications.

Amazon Redshift is based on PostgreSQL.

Amazon Redshift is specifically designed for online analytic processing (OLAP) and business intelligence (BI) applications, which require complex queries against large datasets.


What is the difference between Amazon Redshift and Amazon Redshift Spectrum and Amazon Aurora?

Amazon Simple Storage Service (Amazon S3) is a service for storing objects, and Amazon Redshift Spectrum enables you to run Amazon Redshift SQL queries against exabytes of data in Amazon S3.

Both Amazon Redshift and Amazon RDS enable you to run traditional relational databases in the cloud while offloading database administration. 

Customers use Amazon RDS databases primarily for online-transaction processing (OLTP) workload while Redshift is used primarily for reporting and analytics.

Boost performance of Websites using Cloudflare - Tips to implement it


This article covers how to improve the performance of Websites using Cloudflare. Website speed has a huge impact on user experience, SEO, and conversion rates. Improving website performance is essential for drawing traffic to a website and keeping site visitors engaged. 

Along with the caching and CDN, Cloudflare helps protect your site against brute-force attacks and threats against your website.

Cloudflare has the advantage of serving million of websites and so can identify malicious bots and users more easily than any operating system firewall.


CDNs boost the speed of websites by caching content in multiple locations around the world. CDN caching servers are typically located closer to end users than the host, or origin server. Requests for content go to a CDN server instead of all the way to the hosting server, which may be thousands of miles and across multiple autonomous networks from the user. Using a CDN can result in a massive decrease in page load times.


How to get started on optimizing website performance with Cloudfare CDN (content delivery network)?

1. Optimize images

Images comprise a large percentage of Internet traffic, and they often take the longest to load on a website since image files tend to be larger in size than HTML and CSS files. Luckily, image load time can be reduced via image optimization. Optimizing images typically involves reducing the resolution, compressing the files, and reducing their dimensions, and many image optimizers and image compressors are available for free online.

2. Minify CSS and JavaScript files

Minifying code means removing anything that a computer doesn't need in order to understand and carry out the code, including code comments, whitespace, and unnecessary semicolons. This makes CSS and JavaScript files slightly smaller so that they load faster in the browser and take up less bandwidth.

3. Reduce the number of HTTP requests if possible

Most webpages will require browsers to make multiple HTTP requests for various assets on the page, including images, scripts, and CSS files. In fact many webpages will require dozens of these requests. Each request results in a round trip to and from the server hosting the resource, which can add to the overall load time for a webpage. 

4. Use browser HTTP caching

The browser cache is a temporary storage location where browsers save copies of static files so that they can load recently visited webpages much more quickly, instead of needing to request the same content over and over. Developers can instruct browsers to cache elements of a webpage that will not change often. Instructions for browser caching go in the headers of HTTP responses from the hosting server.

5. Minimize the inclusion of external scripts

Any scripted webpage elements that are loaded from somewhere else, such as external commenting systems, CTA buttons, or lead-generation popups, need to be loaded each time a page loads.

6. Don't use redirects, if possible

A redirect is when visitors to one webpage get forwarded to a different page instead. Redirects add a few fractions of a second, or sometimes even whole seconds, to page load time

Event Data getting Stale in Nagios - Resolve it Now


This article covers methods to fix Event Data getting Stale in Nagios. Basically, you will see the causes for event data getting stale in Nagios. There is a known bug relating to event data in versions 2009R1.4B-2011R1.1.

This bug has been patched and will be available in releases later than the versions posted above, but if you're experiencing this error, and/or the nagios service is taking an excessively long time to start, you may have a corrupted mysql table that needs repair.


To fix this Nagios error:

1. Stop the following services:

$ service nagios stop
$ service ndo2db stop
$ service mysqld stop

2. Run the repair script for mysql tables:

/usr/local/nagiosxi/scripts/repairmysql.sh nagios

3. Unzip and copy the the following dbmaint file to /usr/local/nagiosxi/cron/. This will overwrite the previous version.

$ cd /tmp
$ wget http://assets.nagios.com/downloads/nagiosxi/patches/dbmaint.zip
$ unzip dbmaint.zip
$ chmod +x dbmaint.php
$ cp dbmaint.php /usr/local/nagiosxi/cron

Delete Repository And GPG Key On Ubuntu Systems


This article covers steps to delete the repository and GPG Key On Ubuntu. All packages are signed with a pair of keys consisting of a private key and a public key, by the package maintainer.

A user's private key is kept secret and the public key may be given to anyone the user wants to communicate.

Whenever you add a new repository to your system, you must also add a repository key so that the APT Package Manager trusts the newly added repository.

Once you've added the repository keys, you can make sure you get the packages from the correct source.


To remove Repository keys:

You can remove the repository key if it is no longer needed or if the repository has already been removed from the system.

It can be deleted by entering the full key with quotes as follows (which has a hex value of 40 characters):

$ sudo apt-key del "D320 D0C3 0B02 E64C 5B2B B274 3766 2239 8999 3A70"
OK

Alternatively, you can delete a key by entering only the last 8 characters:

$ sudo apt-key del 89993A70
OK

Once you have removed the repository key, run the apt command to refresh the repository index:

$ sudo apt update

You can verify that the above GPG key has been removed by running the following command:

$ sudo apt-key list

Guest unable to reach host using macvtap interface - Fix it Now


This article covers how to fix the issue with guests unable to reach the host using macvtap interface.

This issue happens when A guest virtual machine can communicate with other guests, but cannot connect to the host machine after being configured to use a macvtap (also known as type='direct') network interface.


To resolve this error (guests unable to reach the host using macvtap interface), simply create an isolated network with libvirt:

1. Add and save the following XML in the /tmp/isolated.xml file. If the 192.168.254.0/24 network is already in use elsewhere on your network, you can choose a different network.

<network>

  <name>isolated</name>

  <ip address='192.168.254.1' netmask='255.255.255.0'>

    <dhcp>

      <range start='192.168.254.2' end='192.168.254.254' />

    </dhcp>

  </ip>

</network>

2. Create the network with this command: virsh net-define /tmp/isolated.xml

3. Set the network to autostart with the virsh net-autostart isolated command.

4. Start the network with the virsh net-start isolated command.

5. Using virsh edit name_of_guest, edit the configuration of each guest that uses macvtap for its network connection and add a new <interface> in the <devices> section similar to the following (note the <model type='virtio'/> line is optional to include):

<interface type='network'>

  <source network='isolated'/>

  <model type='virtio'/>

</interface>

6. Shut down, then restart each of these guests.

Since this new network is isolated to only the host and guests, all other communication from the guests will use the macvtap interface.

Listen on Privileged Ports with Nagios Log Servers - How to set it up


This article covers how to configure Nagios Log Servers to listen on privileged ports. Now Nagios Log Server Administrators who would like configure Nagios Log Server to listen on ports below 1024 which are privileged in Linux. This can be useful if you have legacy devices that can only send on specific ports (e.g. syslog on port 514).

Ports below 1024 are privileged on Linux and only allow the root user to listen on them. 

This can be implemented via two solutions:

1. Run Logstash as root

2. Use setcap


To use Use setcap for Listening On Privileged Ports:

Here, you can use the logstash running as the nagios user but this method may be less secure in some environments as it will allow any Java process to listen on privileged ports.

i. The logstash init configuration file requires three lines to be added to the end of it, open the file with the following command:

On Debian | Ubuntu:

$ vi /etc/default/logstash

or

$ sudo /etc/default/logstash

2. Then, Add the following three lines to the end of the file:

echo $(dirname $(find /usr/lib -name libjli.so)) | awk '{print $1}'> /etc/ld.so.conf.d/java.conf

eval "$(which ldconfig)"

setcap 'cap_net_bind_service=+ep' $(readlink -f $(which java))

3. Save the file and close vi.

4. Restart Logstash Service

The logstash service needs to be restarted for these changes to apply:

$ sudo systemctl restart lagstash.service

Cannot Copy and Paste via RDP - How to fix this Windows issue


This article covers how to Allow/Prevent Copy and Paste via RDP Clipboard on Windows. Copy and paste is an essential function that should ideally work every day without fail. You can resolve this Windows issue by restarting the rdpclip.exe program in the remote computer.

Also, you can log off the remote user and then log back on on Windows.

Once the rdpclip.exe is relaunched, you should be able to copy paste using clipboard from the local computer to the remote computer. 


In order to fix the copy and paste issue in Windows, you need to end the rdpclicp.exe process and then restart it:

To do this;

1. Press Ctrl + Shift + ESC to start Task Manager.

2. Go to the "Details" tab.

3. Right-click the "rdpclip.exe" process.

4. Select "End task".

5. Go to Windows/system32 folder.

6. Look for "rdpclip.exe" and run it.

AWS Instance loses network connectivity - Fix this issue now


This article covers method to fix AWS Instance loses network connectivity error.

Basically, AWS Instance loses network connectivity if the instance has the wrong time set.


To fix Amazon EC2 Windows instance network connectivity issue:

You can create a temporary elastic network interface, and attach the network interface to the Amazon EC2 Windows instance. Then, you can  temporarily connect to the instance and fix the issue.

1. Open the Amazon EC2 console, and then choose Instances from the navigation pane.

2. Select your instance. From the Description tab, note the Subnet ID.

3. Create a new network interface in the same subnet as the instance.

Important: Be sure to select a security group that allows incoming Remote Desktop Protocol (RDP) traffic from your IP address.

4. Attach the new network interface to the instance.

Note: The network interface might take a few minutes to come online. If you connect to the instance using RDP, associate an Elastic IP address with the network interface.

5. Using the new network interface, connect to the instance using RDP.

6. Change the network connection settings in Windows to use DHCP. Or, specify the correct private IP address settings. For instructions, see Configuring a secondary private IPv4 address for your Windows instance.

7. Detach the temporary network interface.

Note: If you've associated an Elastic IP address with the network interface, and no longer need the Elastic IP address, release the Elastic IP address.

Enable WSGI module support in VestaCP - Do it Now


This article covers how to enable WSGI module support in VestaCP for our customers. WSGI is the Web Server Gateway Interface. It is a specification that describes how a web server communicates with web applications, and how web applications can be chained together to process one request. Also, it implements the web server side of the WSGI interface for running Python web applications.


To enable WSGI support on a Debian or Ubuntu on Vesta Control Panel:

1. Install wsgi apache module

$ apt-get install libapache2-mod-wsgi

$ a2enmod wsgi

2. Download wsgi template

$ cd /usr/local/vesta/data/templates/web

$ wget http://c.vestacp.com/0.9.8/ubuntu/wsgi/apache2.tar.gz

$ tar -xzvf apache2.tar.gz

$ rm -f apache2.tar.gz

3. Create new package or set wsgi as apache template in the existing package

4. Add new user and assing him package with wsgi template

5. Add new domain and check the result


Importance of WSGI ?

1. WSGI gives you flexibility. Application developers can swap out web stack components for others. For example, a developer can switch from Green Unicorn to uWSGI without modifying the application or framework that implements WSGI.

2. WSGI servers promote scaling. Serving thousands of requests for dynamic content at once is the domain of WSGI servers, not frameworks. WSGI servers handle processing requests from the web server and deciding how to communicate those requests to an application framework's process. The segregation of responsibilities is important for efficiently scaling web traffic.


Facts about WSGI:

1. what WSGI stands for (Web Server Gateway Inteface)

2. A WSGI container is a separate running process that runs on a different port than your web server

3. Your web server is configured to pass requests to the WSGI container which runs your web application, then pass the response (in the form of HTML) back to the requester.

Configure PostgreSQL on Linux in Vesta control panel - How to do it


This article covers how to install and setup PostgreSQL on Vesta Control panel running RHEL, CentOS, Debian, or Ubuntu server. PostgreSQL is an advanced version of SQL which provides support to different functions of SQL like foreign keys, subqueries, triggers, and different user-defined types and functions.


To set up PostgreSQL on a RHEL or CentOS:

1. Install PostgreSQL packages

yum install postgresql postgresql-server postgresql-contrib phpPgAdmin

* If you have remi installed then don't forget to explicitly enable it.

yum install --enablerepo=remi postgresql postgresql-server postgresql-contrib phpPgAdmin


2. Initialize database cluster

service postgresql initdb


3. Download hba configuration

wget http://c.vestacp.com/0.9.8/rhel/pg_hba.conf -O /var/lib/pgsql/data/pg_hba.conf


4.  Start the server

service postgresql start


5. Set oracle user password

su - postgres

psql -c "ALTER USER postgres WITH PASSWORD 'pgp4sw0rd'"

exit


6. Enable pgsql databases support in vesta.

open /usr/local/vesta/conf/vesta.conf and set DB_SYSTEM to 'mysql,pgsql'


7. Register pg instance in control panel

v-add-database-host pgsql localhost postgres pgp4sw0rd


8. Download phpPgAdmin configuration

wget http://c.vestacp.com/0.9.8/rhel/pga.conf -O /etc/phpPgAdmin/config.inc.php

wget http://c.vestacp.com/0.9.8/rhel/httpd-pga.conf -O /etc/httpd/conf.d/phpPgAdmin.conf


9. Restart web server

service httpd restart


To set up PostgreSQL on a Debian or Ubuntu:

1. Install PostgreSQL packages

apt-get install postgresql postgresql-contrib phppgadmin


2. Download hba configuration

wget http://c.vestacp.com/0.9.8/debian/pg_hba.conf -O /etc/postgresql/*/main/pg_hba.conf


3. Restart the server

service postgresql restart


4. Set oracle user password

su - postgres

psql -c "ALTER USER postgres WITH PASSWORD 'pgp4sw0rd'"

exit


5. Enable pgsql databases support in vesta.

open /usr/local/vesta/conf/vesta.conf and set DB_SYSTEM to 'mysql,pgsql'


6. Register pg instance in control panel

v-add-database-host pgsql localhost postgres pgp4sw0rd


7. Download phpPgAdmin configuration

wget http://c.vestacp.com/0.9.8/debian/pga.conf -O /etc/phppgadmin/config.inc.php

wget http://c.vestacp.com/0.9.8/debian/apache2-pga.conf -O /etc/apache2/conf.d/phppgadmin


8. Restart web server

service apache2 restart

Interworx vs cPanel - Which is Better


This article covers InterWorx and cPanel  and gives an idea of how to choose the best control panel for customers. Basically, many factors depends to choose the right panel like InterWorx and cPanel. 


InterWorx includes two main sections:

1.  NodeWorx (similar to WHM)

2. SiteWorx (the analog of cPanel)

NodeWorx is a system administrator interface to configuring, managing and monitoring your server. 

From the NodeWorx amin, you can securely manage multiple SiteWorx accounts.

SiteWorx is a separate control management account and website owner interface that provides access to the tools for managing your websites, email, and databases.


Differences between InterWorx and cPanel:

1. Unlike cPanel, with InterWorx, you can create multiple administrator accounts and provide them with the desired permissions. 

This is especially convenient if your clients have web developers or people who need to manage email only, for example. 

cPanel has only one administrative account, and no more additional accounts can be created.

2. InterWorx doesn't have complicated licensing options like cPanel. 

cPanel recently implemented an account-based pricing model that may have resulted in a substantial price increase. 

Whereas InterWorx lets you host multiple accounts on the server without increasing your license cost as it is licensed per server.

3. cPanel supports PostgreSQL, Mailman mailing lists, NodeJS, server-side Java, Ruby on Rails, and the DNSSEC protocol. 

InterWorx does not support those things at this time. Also, InterWorx does not support CloudLinux, only Linux and CentOS are supported.

4. InterWorx supports all of the same languages for NodeWorx as for SiteWorx. 

In addition, both NodeWorx and SiteWorx share a wide variety of supported themes. WHM only supports US English and one theme for now. cPanel has two themes.

MRTG Reports SNMP_Session Errors in Nagios - Fix it now


This article covers how to fix Nagios issue, MRTG Reports SNMP_Session Errors while using Nagios.

You can see this error when running MRTG at the command line such as:

LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok


When this Nagios error happens, you will receive error similar to this:

Subroutine SNMP_Session::pack_sockaddr_in6 redefined at /usr/local/share/perl5/Exporter.pm line 66.

at /usr/bin/../lib/mrtg2/SNMP_Session.pm line 149.

Core Configuration Manager Displaying Issues in Nagios XI


This article covers how to resolve the issue with Nagios XI that stops displaying the core configuration manager or the components inside the core configuration manager.

If this is the case, When using Core Configuration Manager (CCM), the interface does not work as expected, it does not appear to display correctly and generally it feels like there is a bug. This issues is related to the web browsers implementation of JavaScript. If possible, use a browser that more closely implements the ECMAScript Language Specification.

A quick way to see if this is the problem is to see if you experience the same issue using another web browser.


To fix this Nagios configuration Problem:

1. In the event of the the Core Config Manager not visible or components missing from the page, this generally relates to a proxy and the following steps may resolve this issue:

pear config-set http_proxy http://proxy:port

2. Make sure to change proxy:port to match your proxy server, example:

pear config-set http_proxy http://192.168.44.20:8080

3. Then execute the following:

pear install HTML_Template_IT

 After performing these steps go back to CCM and see if it works.

Enable Leech Protection in cPanel - Do it with ease


This article covers step by step process to configure Leech Protection in cPanel. Basically, Leech Protection is an easy to configure security feature by cPanel. Leech Protect is a security feature offered within cPanel that allows you to detect unusual levels of activity in password-restricted directories on your website.


Importance of Leech Protection in cPanel:

1. Leeching is when users publicly post their username and password, unauthorized visitors can use those credentials to access secure areas of your website.

2. With the Leech Protection feature in cPanel, you can limit the number of times a user can access a secure area of your website within a two-hour period. 

3. After you set the maximum number of logins within a two-hour period, the system redirects or suspends users who exceed it. 

4. This is useful, also, say someone is trying to login to restricted areas of your website by guessing combinations of usernames and passwords.


To Enable Leech Protection in cPanel:

1. Click Leech Protection under Security in cPanel.

2. Click on the name of the directory that you want to protect. You can click the folder icon next to the folder name to open the folder.

3. Under Set up Leech Protection, enter the number of logins allowed per username in a two-hour period.

4. To redirect users who exceeded the maximum number of logins within a two-hour period, enter a URL to which you wish to redirect them.

5. To receive an email alert when an account is compromised, select the Send Email Alert to option and enter the email address in the text field.

6. To disable compromised accounts, check the Disable Compromised Accounts option.

7. When ready, click Enable.

Website statistics using Google Analytics - How it works


This article covers the features to find Website statistics using Google Analytics. Basically, Google Analytics is a powerful web tracking software that tracks a website's web metrics. Google Analytics is used to track website activity such as session duration, pages per session, bounce rate etc. of individuals using the site, along with the information on the source of the traffic.

Google's official recommendation for adding the Google Analytic tracking code is place the tracking code in the HEADER SECTION ( <head>) of the website.


To see my website traffic using Google Analytics:

Google Analytics tool gives lots of useful website data such as: 

1. Number of visitors per month or per day, percentage of new users, bounce rate and length of visitor sessions. 

2. You can check your website's SEO now.


To Add the tracking code directly to your website:

1. Find the tracking code snippet for your property. Sign in to your Analytics account, and select the Admin tab.

2. Find your tracking code snippet.

3. Copy the snippet.

4. Paste your snippet (unaltered, in its entirety) into every web page that you want to track.

5. Check your setup.

Add user in VestaCP - How to do it


This article covers how to add a user in VestaCP. Vesta control panel (VestaCP) is an open source hosting control panel, which can be used to manage multiple websites, creat and manage email accounts, FTP accounts, and MySQL databases, manage DNS records and so on.


To Add / Edit User in VestaCP:

1. First, click the USER tab on top, then click the green coloured “+” to add a new user.

2. Fill in the details for the new user. Click “Add” when you’ve completed the info.

3. This message will pop up if all the info are filled in correctly.

Now, you will see 2 users to choose from. Access the newly created user by clicking on “Login as (username)”. 

Each user can manage their own web, DNS, mail and database, etc.

You can also perform edit, deletion or suspension of user accounts using the buttons shown in the red box.


To uninstall Vesta Control panel:

1. Stop vesta service. service vesta stop.

Remove vesta packages and software repository. RHEL/CentOS: yum remove vesta* rm -f /etc/yum.repos.d/vesta.repo. Debian/Ubuntu: apt-get remove vesta* rm -f /etc/apt/sources.list.d/vesta.list.

2. Delete data directory and cron.

Enable Built-in Administrator Account on Windows 10 - How to implement this


This article covers an easy way to activate the administrator account is from the command prompt with elevated privileges. Windows 10 includes a built-in Administrator account that, by default, is hidden and disabled for security reasons. Sometimes, you need to perform a bit of Windows management or troubleshooting or make changes to your account that requires administrator access.

Windows 10 administrator default password will not be required, alternatively you can enter password for local account and sign in.


To know if I have the built-in Administrator account in Windows 10:

1. Right-click the name (or icon, depending on the version Windows 10) of the current account, located at the top left part of the Start Menu, then click on Change account settings. 

2. The Settings window will pop up and under the name of the account if you see the word "Administrator" then it is an Administrator account.


To reset the built-in Administrator account in Windows 10:

1. Boot from Windows 10 bootable CD/DVD or USB.

2. When the install now screen shows up click on Repair your computer > Advanced Options >Troubleshoot > Command Prompt.

3. Once you can boot into the command prompt, type "net user administrator /active:yes".


To enable hidden administrator:

1. Go to Security Settings > Local Policies > Security Options. 

2. The policy Accounts: Administrator account status determines whether the local Administrator account is enabled or not. 

3. Check the "Security Setting" to see if it is disabled or enabled. 

4. Double-click on the policy and select "Enabled" to enable the account.

This App Has Been Blocked for Your Protection on Windows - Fix it now


This article covers methods to fix the 'This App Has Been Blocked for Your Protection on Windows' error. Windows Defender SmartScreen acts as a sort of guard dog while you use Windows 10.

It will block you from opening some apps if they come from an unknown place or are created by an unknown publisher. 

Some apps really are harmful and really will get you in a mess. Only go around the Windows 10 app block if you know for sure that the file is safe.


To unblock an app that is blocked by the administrator:

1. Locate the file, right-click it, and select "Properties" from the contextual menu. 

2. Now, find the "Security" section in the General tab and check the checkbox next to "Unblock" - this should mark the file as safe and let you install it. 

3. Click "Apply" to save the changes and try to launch the installation file again.


To Unblock Programs In Windows Defender Firewall:

1. Select the “Start” button, then type “Firewall“.

2. Select the “Windows Defender Firewall” option.

3. Choose the "Allow an app or feature through Windows Defender Firewall" option in the left pane.


To install a program that is blocked by administrator:

1. Disable Windows SmartScreen.

2. Execute the file via Command Prompt.

3. Install the app using the hidden administrator account.

4. Temporarily disable your antivirus program.

Run Scripts on Remote Computers – Implementing with PowerShell Remoting


This article covers how to Run Scripts on Remote Computers. You can run commands on one or hundreds of computers with a single PowerShell command. Windows PowerShell supports remote computing by using various technologies, including WMI, RPC, and WS-Management.

PowerShell Core supports WMI, WS-Management, and SSH remoting. In PowerShell 6, RPC is no longer supported. In PowerShell 7 and above, RPC is supported only in Windows.


Windows PowerShell Remoting

Using the WS-Management protocol, Windows PowerShell remoting lets you run any Windows PowerShell command on one or more remote computers. 

You can establish persistent connections, start interactive sessions, and run scripts on remote computers.

To use Windows PowerShell remoting, the remote computer must be configured for remote management.

Once you have configured Windows PowerShell remoting, many remoting strategies are available to you.


How to Start an Interactive Session ?

To start an interactive session with a single remote computer, use the Enter-PSSession cmdlet. 

For example, to start an interactive session with the Server01 remote computer, type:

Enter-PSSession Server01

The command prompt changes to display the name of the remote computer. 

Any commands that you type at the prompt run on the remote computer and the results are displayed on the local computer.

To end the interactive session, type:

Exit-PSSession

Automatically Log in to Windows without Password - How to get this done


This article covers methods to automatically log in to Windows without password.

Here, you can disable password login on Windows 10 and boot the computer directly to the user’s desktop. In order to temporarily disable automatic logon in Windows and manually specify the user credentials under which you need to sign in, you must hold down the Shift key while Windows is booting.


CMD is the official and tricky way to bypass Windows 10 admin password. In this process, you will need a Windows Installation disk and If you don't have the same, then you can create a bootable USB drive consisting of Windows 10. Also, you need to disable UEFI secure boot option from the BIOS settings.


To Disable Windows 10 Login Password via the User Account Settings:

1. Press Win+R;

2. In the Run dialog box, enter netplwiz or control userpasswords2 command;

3. In the next window with the list of local user accounts, uncheck the option “User must enter a username and password to use this computer” and save changes (OK);


To Automatically log in to your Windows 10 PC:

1. Open the Run command box (Start > All apps > Windows System > Run or press Windows key + R).

2. A User Accounts window will open.

3. A new window labeled Automatically sign in will pop up.

4. Your computer will now bypass the log-in page when you turn on your PC, but it will not bypass the login page when you unlock your PC.

Steps to Run Program without Admin Privileges and to Bypass UAC Prompt


This article covers how to run a program without admin privileges. The trick to bypass UAC is to create a scheduled task (with highest privileges) for each program that you want to run, and then invoke the scheduled task item manually using schtasks.exe .

UAC helps keep your computer secure. If you reflexively disable UAC when setting up a computer, you should give it another try – UAC and the Windows software ecosystem have come a long way from when UAC was introduced with Windows Vista.


To  Eliminate UAC Prompts for Specific Applications:

1. In Task Scheduler, right-click "Task Scheduler Library" and select "New Folder" Name it whatever you would like.

2. Select the new folder and click "Create Task" (not "Create Basic Task")

3. Name the task something descriptive. ...

4. Under the Actions tab, select "Start a program" in the Action dropdown if it isn't already.


To bypass UAC administrator password:

1. Right-click Start button at left lower corner of PC, select Control Panel.

2. Click User Accounts and family Safety.

3. Click User Accounts.

4. Click Change your account type.

5. Enter Admin password and click Yes to continue.

6. Select Administrator as your new account type, and click Change Account Type.

Configuration verification failed in Nagios - Fix it Now


This article covers fixes to this Nagios Configuration failed problem.

When you click the Show Errors link a message is shown that indicates the problem in the config files along with a line number for the config file. However when looking at the config file in a text editor, the line number does not appear to relate to the problem.


The Apply Configuration process is as follows:

i. New config files are temporarily written to disk

ii. Nagios verifies the config files are valid

iii. Temporary config files are made permanent

iv. Nagios service is restarted


When the verification step fails, the temporary files are discarded. Hence when you go to look at the file to look at the line number it references it is not valid as the temporary files now longer exist.


To fix Nagios Configuration Problem:

1. Open CCM

2. Tools > Config File Management

3. Click the Delete Files button

4. It will say "Successfully deleted all Host / Service Config Files"

5. Click the Write Configs Button

5. It will show an output of all the files it creates, in large deployments this step may take a long time .

6. Click the Verify Files button

7. The output should end with the error message you have experienced previously.

At this point, you can open an SSH session to your Nagios XI server and open the file in a text editor to investigate the problem.

Add Cron Job in VestaCP - How to do it


This article covers steps to add cron jobs in VestaCP. Using VestaCP, you can add mail accounts, databases, Cron jobs, and a whole lot more with just a few clicks. Cron jobs help automize certain commands that need to run regularly, this ensures everything runs smoothly. 


Vesta Control Panel (VestaCP) is an open source hosting control panel that can manage multiple websites, create and manage email accounts, create and manage FTP accounts. Also, manage MySQL database and DNS records.


How to setup a CRON job using VestaCP ?

1. Move to the “CRON” tab then mouse over the plus symbol and click on “Add Cron Job”;

2. Enter the command you would like to execute and make sure to include the necessary privileges such as sudo if your command requires it. Use the frequency generator on the right side of the options to set how often you would like the command to execute.

3. Finally, click Generate to confirm the frequency and then click Add to finish adding the Cron job.

Note: Before adding a cron job be sure to test it out first to ensure it works.

Vital Command Line commands for Linux Admins with examples


This article covers a few Vital Command Line for Linux Admins. The Linux command line is a text interface to your computer. Allows users to execute commands by manually typing at the terminal, or has the ability to automatically execute commands which were programmed in “Shell Scripts”.


Common commands in Linux:

1. su command

The su command exists on most unix-like systems. It lets you run a command as another user, provided you know that user's password. When run with no user specified, su will default to the root account. The command to run must be passed using the -c option.


2. which command

which command in Linux is a command which is used to locate the executable file associated with the given command by searching it in the path environment variable. It has 3 return status as follows: 0 : If all specified commands are found and executable.


3. Who am I command line?

whoami command is used both in Unix Operating System and as well as in Windows Operating System. It is basically the concatenation of the strings “who”,”am”,”i” as whoami. It displays the username of the current user when this command is invoked. It is similar as running the id command with the options -un.


4. What does W command do in Linux?

w is a command-line utility that displays information about currently logged in users and what each user is doing. It also gives information about how long the system has been running, the current time, and the system load average.



Facts about the demand in Linux admins?

1. The job prospects for Linux System Administrator are favorable. 

2. According to the US Bureau of Labor Statistics (BLS), there is expected to be a growth of 6 percent from 2016 to 2026. 

3. Candidates who have a firm hold on cloud computing and other latest technologies have bright chances.

Install NDOUtils in Ubuntu - Do it now


This article covers how to install NDOUtils in Ubuntu. NDOUtils is basically the Database Output for Nagios Core. 

NDOUtils stands for Nagios Data Output Utilities which is an addon that allows you to move status and event information from Nagios to a MySQL Database for later retrieval and processing.


NDOUtils consists of the following parts:

1. The NDOMOD event broker module. This module is intended to be loaded by the Nagios process at runtime. Its only role is to dump all events and data from Nagios to a TCP socket or a regular file or Unix domain socket on the local filesystem somewhere. If you want Realtime transfer of data to MySQL, dump the data to a TCP or Unix domain socket. If you want delayed transfer of data into MySQL (i.e. you need to transfer the data to another host first), dump the data to a regular file.


2. The NDO2DB daemon. This standalone daemon reads input (that was produced by the NDOMOD broker module) from a TCP or Unix domain socket, parses that data, and then dumps it into one or more MySQL databases. The daemon is capable of handling multiple client connections simultaneously, so you can have multiple instances of the NDOMOD module writing to the same TCP or Unix domain socket at the same time.


3. The FILE2SOCK utility. This simple utility reads data from a standard file and dumps it to either a TCP or a Unix domain socket. This is useful if you are having the NDOMOD module write to a standard file that you later want to send to the NDO2DB daemon. If the module and the daemon are running on different machines, you can periodically use SSH to transfer the file from the monitoring machine to the machine running the NDO2DB daemon, and then use the FILE2SOCK utility to send the contents of that file to the TCP socket or Unix domain socket that the NDO2DB daemon is reading.


4. The LOG2NDO utility. This utility is used for importing historical log archives from NetSaint and Nagios and sending them to the NDO2DB daemon. It takes a single log file as its input and can output data to either a TCP socket, a Unix domain socket or standard output.


To compile the NDO broker module, NDO2DB daemon, and additional utilities:

1. Run the commands below;

./configure

make all

2. If the configure script is unable to locate your MySQL development libraries, you may need to help it out by using the --with-mysql-lib option. 

Here's an example:

./configure --with-mysql-lib=/usr/lib/mysql


NDOUTILS Tuning Kernel Parameters includes:

NDOUTILS uses a single message queue to communicate between the broker module and the NDO2DB daemon. Depending on the operating system, there may be parameters that need to be tuned in order for this communication to work correctly.

1. kernel.msgmax is the maximum size of a single message in a message queue

2. kernel.msgmni is the maximum number of messages allowed in any one message queue

3. kernel.msgmnb is the total number of bytes allow in all messages in any one message queue


How to initialize the Database for NDOUtils installation:

Before you start using NDOUtils, you should create the database where you will be storing all Nagios related information.

Note: Only MySQL Databases are supported!

i. Create a database for storing the data (e.g. nagios)

ii. Create a username/password that has at least the following privileges for the database:

SELECT, INSERT, UPDATE, DELETE

iii. Run the DB installation script in the db/ subdirectory of the NDO distribution to create the necessary tables in the database.

cd db

./installdb

iv. Make sure the database name, prefix, and username/password you just created and setup match the variable specified in the NDO2DB config file.

Domain Password Policy in the Active Directory - How to Set it up


This article covers an effective method to configure Domain Password Policy in the Active Directory which ensures a high level of security for user accounts. 

Group policy with password policy should be assigned to domain level, not OU, you can have multiple GPO's with password policies in domain level however only one policy will be applied to all users in their priority.


Basic Password Policy Settings on Windows:

Let's consider all available Windows password settings. 

There are six password settings in GPO:

1. Enforce password history – determines the number of old passwords stored in AD, thus preventing a user from using an old password.

However, the domain admin or user who has been delegated password reset permissions in AD can manually set the old password for the account;


2. Maximum password age – sets the password expiration in days. After the password expires, Windows will ask the user to change the password. Ensures the regularity of password changes by users;

You can find out when a specific user’s password expires using the PowerShell: 

Get-ADUser -Identity j.werder -Properties msDS-UserPasswordExpiryTimeComputed | select-object @{Name="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed") }}.


3. Minimum password length – it is recommended that passwords should contain at least 8 symbols (if you specify 0 here, the password is not required);


4. Minimum password age – sets how often users can change their passwords. This setting won’t allow the user to change the password too often to get back to an old password they like by removing them from the Password History after the password has been changed several times in a row. As a rule, it is worth to set 1 day here in order users can change a password themselves if it gets compromised (otherwise an administrator will have to change it);


5. Password must meet complexity requirements – if the policy is enabled, a user cannot use the account name in a password (not more than 2 symbols of a username or Firstname in a row), also 3 types of symbols must be used in the password: numbers (0–9), uppercase letters, lowercase letters and special characters ($, #, %, etc.). Also, to prevent using weak passwords (from the password dictionary), it is recommended to regularly audit user passwords in the AD domain;


6. Store passwords using reversible encryption – user passwords are stored encrypted in the AD database, but in some cases you have to grant access to user passwords to some apps. If this policy setting is enabled, passwords are less protected (almost plain text). It is not secure (an attacker can get access to the password database if the DC is compromised; an read-only domain controllers (RODC) can be used as one of the protection measures).

Features Of SQL Server 2019 - More Insight


This article covers the main features of SQL Server 2019. SQL Server 2019 features Data virtualization and SQL Server 2019 Big Data Clusters.

With Read, write, and process big data from Transact-SQL or Spark. Easily combine and analyze high-value relational data with high-volume big data. Query external data sources. Store big data in HDFS managed by SQL Server.


The Main Features of SQL Server 2019 includes:

1. Intelligent Query Processing Enhancements.

2. Accelerated Database Recovery (ADR).

3. AlwaysEncrypted with secure enclaves.

4. Memory-optimized Tempdb metadata.

5. Query Store custom capture policies.

6. Verbose truncation warnings.

7. Resumable index build.

8. Data virtualization with Polybase.


How do I start SQL Server?

In SQL Server Configuration Manager, in the left pane, click SQL Server Services. In the results pane, right-click SQL Server (MSSQLServer) or a named instance, and then click Start, Stop, Pause, Resume, or Restart.


To uninstall SQL Server from Windows 10, Windows Server 2016, Windows Server 2019, and greater, follow these steps:

1. To begin the removal process navigate to Settings from the Start menu and then choose Apps.

2. Search for sql in the search box.

3. Select Microsoft SQL Server (Version) (Bit).

4. Select Uninstall.

Remote session disconnected because there are no remote desktop license servers


This article covers how to resolve the error 'remote session disconnected because there are no remote desktop license servers'.


If the problems tend to be associated with the following user messages:

i. The remote session was disconnected because there are no Remote Desktop client access licenses available for this computer.

ii. The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license.


Then, configure the RD Licensing service by following the steps below:

1. Open Server Manager and navigate to Remote Desktop Services.

2. On Deployment Overview, select Tasks, and then select Edit Deployment Properties.

3. Select RD Licensing, then select the appropriate licensing mode for your deployment (Per Device or Per User).

4. Enter the fully qualified domain name (FQDN) of your RD License server, and then select Add.

5. If you have more than one RD License server, repeat step 4 for each server.


If the RD License Diagnoser lists other problems, such as "The RDP protocol component X.224 detected an error in the protocol stream and has disconnected the client," there may be a problem that affects the license certificates. Such problems tend to be associated with user messages, such as the following:

Because of a security error, the client could not connect to the Terminal server. After making sure that you are signed in to the network, try connecting to the server again.

In this case, refresh the X509 Certificate registry keys by following the steps given below:

To resolve this problem, back up and then remove the X509 Certificate registry keys, restart the computer, and then reactivate the RD Licensing server.

1. Open the Registry Editory and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM.

2. On the Registry menu, select Export Registry File.

3. Enter exported- Certificate into the File name box, then select Save.

4. Right-click each of the following values, select Delete, and then select Yes to verify the deletion:

i. Certificate

ii. X509 Certificate

iii. X509 Certificate ID

iv. X509 Certificate2

5. Exit the Registry Editor and restart the RDSH server.


To fix Remote session was disconnected because there are no Remote Desktop client access licenses:

1. You need to delete the following registry key:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing.

2. If it doesn't work and you get the following error message: "The remote computer disconnected the session because of an error in the licensing protocol";

3. Then all you need to do is Right-Click on the Remote Desktop Connection icon and select "Run as Administrator".

Zabbix error Invalid entry when restarting zabbix-agent - Fix it now


This article covers how to fix Zabbix error, an invalid entry when restarting the zabbix-agent which may appear when the configuration file is placed in the wrong path.

The problem is with the configurations:

You are putting the .my.cnf file at the wrong place.

Zabix agent configuration file has prescribed format and parameters defined. 

If you may use Include option to load additional config files, be sure it follows the same format.

So, in your case the .my.cnf file fails to load when you put it under /etc/zabbix/zabbix_agentd.d.

You are missing the part to configure userparameter_mysql.conf file properly.


To resolve this Zabbix error:

1. Move the .my.cnf file from /etc/zabbix/zabbix_agentd.d directory to /etc/zabbix. 

And also remove any Include entry to refere to the .my.cnf file (if there is any). 

The content of the file may look like this:

[mysqld]

user=username

password=userpass


[mysqladmin]

user=username

password=userpass

2. Please make sure that the user listed here exists and have the necessary permissions in mysql.

3. Edit /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf file: You need to replace HOME=/var/lib/zabbix with HOME=/etc/zabbix to point to the right file (should appear three times) as mentioned in the first line of the file.

4. Finally restart the agent: $ service zabbix-agent restart

Zabbix tries to connect to the wrong database - Fix it now


This article covers how to fix Zabbix error, when Zabbix tries to connect to the wrong database.

Basically, when Zabbix tries to connect to the wrong database, we can simply resolve it by restarting the service.

Zabbix is an open-source monitoring software tool for diverse IT components, including networks, servers, virtual machines (VMs) and cloud services. Zabbix provides monitoring metrics, among others network utilization, CPU load and disk space consumption.


How do I fix Zabbix server is not running?

Zabbix server error due to problems with the firewall.

1. As a root user, we check and confirm whether the firewall is allowing connection to Zabbix Server port which is 10051. 

2. If not, then we add the following rule in the configuration file /etc/sysconfig/iptables. 

3. Finally, restart the service in order to fix the error.


How to turn off Zabbix server?

To Stop the Service:

1. Use PuTTY to log in as user robomanager to the server where Zabbix is installed.

2. Run the following command to switch to user root: su - root.

3. Run the following command to stop the Zabbix service: systemctl stop zabbix_server.service.


To monitor my zabbix port:

1. In order to test your configuration, access the Monitoring menu and click on the Latest data option. 

2. Use the filter configuration to select the desired hostname. 

3. Click on the Apply button. 

4. You should be able to see the results of your TCP port monitoring using Zabbix.


Where is zabbix config located?

The Zabbix installation process created an Apache configuration file that contains these settings. 

It is located in the directory /etc/zabbix and is loaded automatically by Apache.


How does Zabbix proxy work?

Zabbix proxy is a process that may collect monitoring data from one or more monitored devices and send the information to the Zabbix server, essentially working on behalf of the server. 

All collected data is buffered locally and then transferred to the Zabbix server the proxy belongs to.


Zabbix Server supported DATABASE ENGINE:

Zabbix Server and Proxy support five database engines:

1. IBM DB2

2. MySQL

3. Oracle

4. PostgreSQL

5. SQLite

Libvirt error Unable to resolve address name or service not known


This article covers tips to fix 'Libvirt error: Unable to resolve address: name or service not known'. 

QEMU guest migration fails and this error message appears:

# virsh migrate qemu qemu+tcp://192.168.122.12/system error: Unable to resolve address name_of_host service '49155': Name or service not known

Note that the address used for migration data cannot be automatically determined from the address used for connecting to destination libvirtd (for example, from qemu+tcp://192.168.122.12/system). 

This is because to communicate with the destination libvirtd, the source libvirtd may need to use network infrastructure different from that which virsh (possibly running on a separate machine) requires.


To fix Libvirt error: Unable to resolve address: name or service not known:

The best solution is to configure DNS correctly so that all hosts involved in migration are able to resolve all host names.

If DNS cannot be configured to do this, a list of every host used for migration can be added manually to the /etc/hosts file on each of the hosts. 

However, it is difficult to keep such lists consistent in a dynamic environment.

i. If the host names cannot be made resolvable by any means, virsh migrate supports specifying the migration host:

# virsh migrate qemu qemu+tcp://192.168.122.12/system tcp://192.168.122.12

Destination libvirtd will take the tcp://192.168.122.12 URI and append an automatically generated port number. 

ii. If this is not desirable (because of firewall configuration, for example), the port number can be specified in this command:

# virsh migrate qemu qemu+tcp://192.168.122.12/system tcp://192.168.122.12:12345

iii. Another option is to use tunnelled migration. Tunnelled migration does not create a separate connection for migration data, but instead tunnels the data through the connection used for communication with destination libvirtd (for example, qemu+tcp://192.168.122.12/system):

# virsh migrate qemu qemu+tcp://192.168.122.12/system --p2p --tunnelled

Boot a guest using PXE - Do it now


This article covers how to boot a guest using PXE. PXE booting is supported for Guest Operating Systems that are listed in the VMware Guest Operating System Compatibility list and whose operating system vendor supports PXE booting of the operating system.

The virtual machine must meet the following requirements:

1. Have a virtual disk without operating system software and with enough free disk space to store the intended system software.

2. Have a network adapter connected to the network where the PXE server resides.


A virtual machine is not complete until you install the guest operating system and VMware Tools. Installing a guest operating system in your virtual machine is essentially the same as installing it in a physical computer.


To use PXE with Virtual Machines:

You can start a virtual machine from a network device and remotely install a guest operating system using a Preboot Execution Environment (PXE). 

You do not need the operating system installation media. When you turn on the virtual machine, the virtual machine detects the PXE server.


To Install a Guest Operating System from Media:

You can install a guest operating system from a CD-ROM or from an ISO image. Installing from an ISO image is typically faster and more convenient than a CD-ROM installation. 


To Upload ISO Image Installation Media for a Guest Operating System:

You can upload an ISO image file to a datastore from your local computer. You can do this when a virtual machine, host, or cluster does not have access to a datastore or to a shared datastore that has the guest operating system installation media that you require.


How to Use a private libvirt network ?

1. Boot a guest virtual machine using libvirt with PXE booting enabled. You can use the virt-install command to create/install a new virtual machine using PXE:

virt-install --pxe --network network=default --prompt

2. Alternatively, ensure that the guest network is configured to use your private libvirt network, and that the XML guest configuration file has a <boot dev='network'/> element inside the <os> element, as shown in the following example:

<os>

   <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>

   <boot dev='network'/>

   <boot dev='hd'/>

</os>

3. Also ensure that the guest virtual machine is connected to the private network:

<interface type='network'>

   <mac address='52:54:00:66:79:14'/>

   <source network='default'/>

   <target dev='vnet0'/>

   <alias name='net0'/>

   <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</interface>

Internal error Account getPassword cannot decrypt password to be plain - Fix this Plesk error Now


This article covers how to resolve Plesk error, 'Internal error: [Account :: getPassword] cannot decrypt password to be plain'. It happens when A database user whose password is encrypted can now import and export the domain database after providing the database password.

However this issue is resolved in Plesk Obsidian.


To fix this Plesk error:

1. Updating Plesk via the Plesk interface

Make sure that port 8447 is opened in a firewall. If it is closed and cannot be opened for some reason, use the command-line instructions.

i. In Plesk, go to Tools & Settings and click Updates and Upgrades.

ii. On the Updates and Upgrades page, click Update Components.

iii. Click Continue to begin the update procedure.

2. Updating Plesk via a command-line interface

i. Connect to a Plesk server via SSH (Linux) / RDP (Windows Server).

ii. Run Plesk Installer Update (on Windows Server, start a command prompt as an Administrator):

plesk installer update


By default, Plesk installs updates automatically by means of the Plesk daily task (executed every night), if the option Automatically install Plesk updates is enabled at Tools & Settings > Update Settings.

During the update process:

1. Plesk may go offline for several minutes, if updates require a Plesk restart

2. Websites will stay online

Note: If a service component is going to be updated, its service will be restarted.


To find out what Plesk update is currently installed on the system, go to the Home page > System Overview.

Alternatively, execute the following command in a command-line interface:

plesk version

Unlock a file locked by any process or system - Do it now


This article covers how to unlock a file locked by any process or system. 

If everything goes correctly, you will fix this Windows problem without killing the process and – more importantly – without having to reboot the system.


To unlock a locked file in Windows 10?

1. Type the name of the locked file in the field, and click the Search button. 

2. Select the file from the search result. 

3. Behind the search window, in "Process Explorer," right-click the locked file, and select Close Handle to unlock it.


To Open a Locked File When Another Program Is Using It:

1. Close The Program That Is Using The Locked File.

2. Kill The Program Process Using Task Manager.

3. Turn Off The Preview Pane In File Explorer.

4. Toggle The Folder Process In File Explorer.

5. Launch & Close The Locked File.

6. Restart Your Windows Computer.

7. Use Command Prompt To Delete The File.

Apply Configuration Fails in Nagios Server - Resolve this issue now


This article covers solutions to when Apply Configuration Fails in Nagios Server. This issue happens when the Nagios XI server is unable to resolve the "localhost".

The error message will look like this:

Apply Configuration fails with the following error:

Backend login to the Core Config Manager failed.
An error occurred while attempting to apply your configuration to Nagios Core.
Monitoring engine configuration files have been rolled back to their last known good checkpoint.


To resolve this Nagios Problem:

1. Edit your /etc/hosts file and make sure there are localhost entries. For example:

127.0.0.1    localhost.localdomain    localhost.localdomain    localhost4    localhost4.localdomain4    localhost    xi-c6x-x64

::1    localhost.localdomain    localhost.localdomain    localhost6    localhost6.localdomain6    localhost    xi-c6x-x64

2. After making these changes try and "Apply Configuration" from Core Configuration Manager and your problem should be resolved.

Apply Configuration never completes in Nagios - Fix this issue now


This article covers methods to resolve the issue, Apply Configuration never completes in Nagios. The backend components in Nagios XI require high level privileges, these are accommodated for in sudoers entries.

This allows for high level commands to be executed by scripts without requiring user input. If these entries are missing then they can cause unexpected results.


Sometimes when creating a large amount of objects the apply configuration process is taking longer than expected and PHP may time out or exceed limits.

These are defined in the php.ini file, The location of the php.inifile differs depending on your operating system / version. The following command will determine the location:

find /etc -name php.ini

If there are multiple results then the one in the apache directory is the one that needs changing.

Edit /etc/php.ini and increase these values:

max_execution_time = 60

max_input_time = 60

memory_limit = 256M

 

After making these changes you'll need to restart the Apache service using one of the commands below:

RHEL 7 | CentOS 7 | Oracle Linux 7

$ systemctl restart httpd.service

Debian | Ubuntu 16/18

$ systemctl restart apache2.service

Port 113 IDENT Requests - How to Disable it on Nagios


This article covers how to disable Port 113 IDENT Requests on Nagios. 

You are seeing port 113 return requests either from your Nagios XI server (when submitting NSCA passive results) to the originating host OR you are seeing port 113 return requests when checking NRPE services).

You will see this behavior on your firewall logs as you will most likely not have a firewall rule for port 113.

This is usually because you are running an NRPE check through XINETD with USERID included on the log_on_success or log_on_failure options in your remote hosts /etc/xinetd.d/nrpe file.

OR this could be because you are submitting passive results to the XI server through NSCA (which is running under XINETD) /etc/xinetd.d/nsca with the same options as above.


To disable Port 113 IDENT Requests:

1. Then remove the USERID option from the log_on_failure AND log_on_success to stop the IDENT from occurring. The file you need to change depends on:

i. NRPE on remote host

/etc/xinetd.d/nrpe

ii. NSCA on Nagios XI server

/etc/xinetd.d/nsca

2. After making the changes you need to restart the xinetd service using one of the commands below:

RHEL 7+ | CentOS 7+ | Oracle Linux 7+ | Debian | Ubuntu 16/18/20

$ systemctl restart xinetd.service


What is filter ident port 113?

Filter IDENT(port 113) (Enabled) IDENT allows hosts to query the device, and thus discover information about the host.

On the VPN Passthrough screen, you can configure the router to transparently pass IPSec, PPPoE, and PPTP traffic from internal hosts to external resources.

Configure software RAID on Linux using MDADM - Do it now


This article covers how to Configure software RAID on Linux using MDADM.


To Install a Software Raid Management Tool:

To install mdadm, run the installation command:

1. For CentOS/Red Hat (yum/dnf is used): $ yum install mdadm

2. For Ubuntu/Debian: $ apt-get install mdadm

3. SUSE: $ sudo zypper install mdadm

4. Arch Linux: $ sudo pacman -S mdadm


Terms related to Integrity of a RAID Array:

1. Version – the metadata version

2. Creation Time – the date and time of RAID creation

3. Raid Level – the level of a RAID array

4. Array Size – the size of the RAID disk space

5. Used Dev Size – the space size used by devices

6. Raid Device – the number of disks in the RAID

7. Total Devices – is the number of disks added to the RAID

8. State – is the current state (clean — it is OK)

9. Active Devices – number of active disks in the RAID

10. Working Devises – number of working disks in the RAID

11. Failed Devices – number of failed devices in the RAID

12. Spare Devices – number of spare disks in the RAID

13. Consistency Policy – is the parameter that sets the synchronization type after a failure, rsync is a full synchronization after RAID array recovery (bitmap, journal, ppl modes are available)

14. UUID – raid array identifier


To Recovering from a Disk Failure in RAID, Disk Replacement:

If one of the disks in a RAID failed or damaged, you may replace it with another one. First of all, find out if the disc is damaged and needs to be replaced.

# cat /proc/mdstat


To Add or Remove Disks to Software RAID on Linux:

1. If you need to remove the previously created mdadm RAID device, unmount it:

# umount /backup

2. Then run this command:

# mdadm -S /dev/md0

mdadm: stopped /dev/md0

3. After destroying the RAID array, it won’t detected as a separate disk device:

# mdadm -S /dev/md0

mdadm: error opening /dev/md0: No such file or directory

4. You can scan all connected drives and re-create a previously removed (failed) RAID device according to the metadata on physical drives. Run the following command:

# mdadm --assemble —scan


About Mdmonitor: RAID State Monitoring & Email Notifications:

The mdmonitor daemon can be used to monitor the status of the RAID. 

1. First, you must create the /etc/mdadm.conf file containing the current array configuration:

# mdadm –detail –scan > /etc/mdadm.conf

The mdadm.conf file is not created automatically. You must create and update it manually.

2. Add to the end of /etc/mdadm.conf the administrator email address to which you want to send notifications in case of any RAID problems:

MAILADDR raidadmin@woshub.com

3. Then restart mdmonitor service using systemctl:

# systemctl restart mdmonitor

Then the system will notify you by e-mail if there are any mdadm errors or faulty disks.

Prometheus Distributed Monitoring System - A brief review


This article covers an overview of what Prometheus Distributed Monitoring System is and how it works.

Prometheus is an open-source systems monitoring and alerting toolkit with an active ecosystem.


Why is Prometheus used?

Prometheus is an open-source monitoring software that is very popular in the industry. Prometheus is easy to customize, and produces metrics without impacting application performance.

Along with this, Prometheus monitoring can be used to provide clarity into systems and how to run them.


What is Prometheus monitoring used for?

Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database (allowing for high dimensionality) built using a HTTP pull model, with flexible queries and real-time alerting.


What is AWS Prometheus?

Amazon Managed Service for Prometheus (AMP) is a Prometheus-compatible monitoring service that makes it easy to monitor containerized applications at scale.

AMP automatically scales as your workloads grow or shrink, and is integrated with AWS security services to enable fast and secure access to data.


What metrics does Prometheus collect?

At this moment, for Prometheus, all metrics are time-series data. The Prometheus client libraries are the ones in charge of aggregating metrics data, like count or sum. Usually, these client libraries—like the Go library from the graphic above—have four types of metrics: counter, gauge, history, and summary.


What is the difference between Grafana and Prometheus?

Grafana and Prometheus, both help us in tackling issues related to complex data in a simplified manner. 

Grafana is an open-source visualization software, which helps the users to understand the complex data with the help of data metrics.

Prometheus is an open-source event monitoring and alerting tool.


How does Prometheus monitoring work?

Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. 

It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts.

Linux vs Windows file systems - Which do you prefer


This article covers difference between Linux and Windows file system. Basically, both Windows and Linux use file systems to store data in an organized manner. 


Advantages of using Linux:

1. Linux facilitates with powerful support for networking. 

2. The client-server systems can be easily set to a Linux system. 

3. It provides various command-line tools such as ssh, ip, mail, telnet, and more for connectivity with the other systems and servers. 

4. Tasks such as network backup are much faster than others.


Disadvantages of Linux OS:

1. No single way of packaging software.

2. No standard desktop environment.

3. Poor support for games.

4. Desktop software is still rare.


Why Linux is not popular as Windows?

The main reason why Linux is not popular on the desktop is that it doesn't have “the one” OS for the desktop as does Microsoft with its Windows and Apple with its macOS. 

If Linux had only one operating system, then the scenario would be totally different today. Linux kernel has some 27.8 million lines of code.


Linux a good operating system and widely considered one of the most reliable, stable, and secure operating systems too. In fact, many software developers choose Linux as their preferred OS for their projects. 

It is important, however, to point out that the term "Linux" only really applies to the core kernel of the OS.


Most Stable Linux Distros:

1. Debian. Suitable for: Beginners.

2. Fedora. Suitable for: Software Developers, Students.

3. Linux Mint. Suitable for: Professionals, Developers, Students.

4. Manjaro. Suitable for: Beginners.

5. openSUSE. Suitable for: Beginners and advanced users.

6. Tails. Suitable for: Security and privacy.

7. Ubuntu.

8. Zorin OS.


Reasons Why Linux Is Better Than Windows:

1. Total cost of ownership. The most obvious advantage is that Linux is free whereas Windows is not.

2. Beginner friendly and easy to use. Windows OS is one of the simplest desktop OS available today.

3. Reliability. Linux is more reliable when compared to Windows.

4. Hardware.

5. Software.

6. Security.

7. Freedom.

8. Annoying crashes and reboots.


Can Linux and Windows share files?

The easiest and most reliable way to share files between a Linux and Windows computer on the same local area network is to use the Samba file sharing protocol. 

All modern versions of Windows come with Samba installed, and Samba is installed by default on most distributions of Linux.


Can Linux read NTFS drives?

Linux can read NTFS drives using the old NTFS filesystem that comes with the kernel, assuming that the person that compiled the kernel didn't choose to disable it. 

To add write access, it's more reliable to use the FUSE ntfs-3g driver, which is included in most distributions.


For typical everyday Linux use, there's absolutely nothing tricky or technical you need to learn. Running a Linux server, of course, is another matter just as running a Windows server is. 

But for typical use on the desktop, if you've already learned one operating system, Linux should not be difficult.


Is Linux a good career choice?

A Linux Administrator job can definitely be something you can start your career with. 

It is basically the first step to start working in the Linux industry. 

Literally every company nowadays works on Linux. So yes, you are good to go.

Server Hardening - What it means


This article covers techniques to prevent attacks on the server. Basically, if we manage our servers without proper precautionary actions it is easy to spoil the reputation of the server.

Hardening your server is the process of increasing security on your server through a variety of means to result in a much more secure operating environment. Server hardening is one of the most important tasks to be handled on your servers. 

The default configuration of most operating systems is not designed with security as the primary focus. 

Default server setups focus more on usability, functionality and communication.


Server Hardening Security Measures Includes:

1. Hide login password from cgi scripts.

This setting allows you to hide the REMOTE_PASSWORD variable from scripts that the cpsrvd daemon's CGI handler executes.

2. Referrer safety check.

Only permit cPanel, Webmail and WHM to execute functions when the browser-provided referrer (port and domain or IP address) exactly matches the destination URL.

3. Initial default/catch-all forwarder destination

Select Fail to automatically discard un-routable email that your servers new accounts receive. This will help protect your server from mail attacks.

4. Verify signatures of third-party cPaddons.

Enable this option to verify GPG signatures of all third-party CPaddons.

5. Prevent "nobody" from sending mail.

Enable to block email that the nobody user sent to the remote address. Nobody is the username for Apache.

6. Enable SPF on domains for newly created accounts.

7. Proxy subdomain override.

Disable this option to prevent automatically-generated proxy domains when a user creates a subdomain.

8. Proxy subdomain creation.

Disable this option to prevent the addition of cPanel, Webmail, Web Disk and WHM proxy subdomain DNS entries to new accounts.

9. Cookie IP validation.

Disable this option to allow logins regardless of the user's IP address.

Set custom php.ini in FastCGI - How to set it up


This article covers how to set custom php.ini in FastCGI. Basically, FastCGI is the best to manage resources for a high traffic site in shared servers.


To create Custom php.ini with PHP5 under FastCGI:

1. First open .htaccess for the account in question and add the following lines to the bottom of the file:

AddHandler php5-fastcgi .php

Action php5-fastcgi /cgi-bin/php5.fcgi

2. Next, you'll need to source your main server php.ini which is located in /usr/local/lib/. Also note that it needs to have the correct ownership so we'll take care of that too:

cd /home/user/public_html/cgi-bin/

cp -a /usr/local/lib/php.ini .

chown user:user php.ini

3. Next we need to create the wrapper script. Create a file in your current directory (cgi-bin) called php5.fcgi as defined above and add the following:

#!/bin/sh

export PHP_FCGI_CHILDREN=1

export PHP_FCGI_MAX_REQUESTS=10

exec /usr/local/cpanel/cgi-sys/php5

4. Finally, make sure the ownership and permissions are correct on this file:

chown user:user php5.fcgi && chmod 0755 php5.fcgi

An error occurred while reconnecting - Fix this Windows error now


This article covers methods to resolve fix 'An error occurred while reconnecting' Windows error. 


Causes for 'The Local Device Name is already in Use' Error on Windows:

1. Drive mapping has gone wrong – The process of network drive mapping can sometimes produce problems like this one when it comes to drive letters.

2. Some drive letters are unassigned – Some drives may have incorrect or even missing drive letters which causes this error to appear.

3. File and Printer Sharing is disabled – If this option is disabled in any firewall you might be using, networking becomes difficult and full of errors.

4. No space on the server – Users have reported that they had to free up at least a couple of gigabytes on the root drive of the network’s server to get rid of the problem.


To fix 'The Local Device Name is already in Use' Error on Windows:

Remap the Drive Using Command Prompt

Remapping the network drive is the official solution recommended by Microsoft for users facing this problem. However, it has worked for many users and it has become one of the most used methods for this problem. 

Check out the steps to implement this;

1. Search for “Command Prompt” either right in the Start menu or by tapping the search button right next to it. Right-click on the first result which will appear at the top and select the “Run as administrator” option.

2. Users who are using an older version of Windows can use the Windows Logo Key + R key combination in order to bring up the Run dialog box. Type in “cmd” in the box and use the Ctrl + Shift + Enter key combination in order to run Command Prompt as an administrator.

3. Copy and paste the command shown below and make sure you click the Enter key on your keyboard.

net use * /delete

4. After you see that the operation is completed successfully, run the following command:

net use Z: \\server\share /user:username password

5. Make sure you replace the username and password placeholders with the correct username and password. Check to see if the problem is resolved!

Troubleshoot server down issues - How to do it


This article covers how to troubleshoot server down issues. Basically, network issues might cause the Datacenter to go down. This can lead us into some unlucky instances. Troubleshooting server down issues is never an easy task. Whether you have a small home network, or a super connection of thousands of computers, there are meticulous steps you need to take to get your server back up running.


Steps to take when troubleshooting server down issues:

1. ANALYZE YOUR NETWORK INFRASTRUCTURE

You will have a better chance at troubleshooting network problems if you first figure out where everything is connected in the infrastructure.

2. STUDY YOUR NETWORK

If you don't have an infrastructure design to go by, you will have to learn your network’s layout when analyzing your connectivity. Several tools can help you to map out the entire network infrastructure. Tools such as IPCONFIG can aid in finding the problem.

3. CONNECTION IS DOWN

From the network troubleshooting application, find out from the OSI model if all the seven layers are working correctly. Usually, if the first layer doesn’t work the whole connection will be down. Check whether the network cable is plugged in.

4. NO IP ADDRESS

Your server could be down just because of unknown IP address settings. Anon IP address such as 0.0.0.0 or an automatic one that starts with 169.254 will typically result in server down problems. You will need to obtain a valid IP address before you can get your server back up. 

5. NO DNS SERVERS

Without DNS servers configured on your network, all communication will only be possible through an IP address. A server down issue, in this case, might be a broken a line between the router and the internet. 

6. NO DEFAULT GATEWAY

Your servers could be down because there is no default gateway IP address. This breaks the communication between the subnet and the local area network. You will still be able to work as usual on your local servers. 

7. MISCONFIGURED IP SUBNET MASK

A misconfigured subnet mask IP can impede server communication. You can manually configure this IP subnet mask or work with the DHCP server to identify the source if there is a misconfiguration.

Create custom php ini in Litespeed Webserver - How to do it


This article covers how to Create custom php.ini in Litespeed Webserver. Basically, compared to the Apache web server, the Litespeed web server configuration may feel a bit complicated. In hosting environment with cPanel servers, it is necessary to edit the PHP variables for each domain or customer and this can be done using by creating a custom php.ini for each user's home directory. So the clients can change the PHP values according to their requirements.  

There should some steps need to be done on Litespeed admin panel on cPanel/WHM to enable custom php.ini and you can follow the below steps to enable it.


To Create Custom Php.Ini In A Litespeed Webserver:

1. Login into WHM.

2. Select Litespeed Web Server

3. Litespeed Configuration > Admin Console > Configuration > Server > External App > lsphp5

4. Under Environment section >> add “PHPRC=$VH_ROOT”

5. Under “suEXEC User ” section >> add the account username for which custom php.ini has to be enabled.

6. Under “suEXEC Group ” section >> add the group name of the same account.

7. Click save and return to Main >> Litespeed Web server

8. Under Quick Configuration of PHP suEXEC settings,>> Set Enable PHP suExec to yes.

9. After that put custom php.ini in the user’s home directory and check it using a phpinfo page.

Install NDOUtils in CentOS RHEL and fix related error


This article covers how to install NDOUtils in CentOS. NDOUtils is an addon for Nagios Core that allows you to export current and historical data from one or more Nagios Core instances to a MySQL database. NDOUtils is included with Nagios XI. A source in Nagios Network Analyzer is the data collector. Outside of Nagios Network Analyzer a source is the location where data is originating from.


NDOUtils uses the kernel message queue for transferring the data from Nagios to NDOUtils. We are going to increase the default values the Kernel boots with to ensure it operates optimally.

1. Downloading NDOUtils Source

cd /tmp

wget -O ndoutils.tar.gz https://github.com/NagiosEnterprises/ndoutils/releases/download/ndoutils-2.1.3/ndoutils-2.1.3.tar.gz

tar xzf ndoutils.tar.gz

2. Compile NDOUtils

cd /tmp/ndoutils-2.1.3/

./configure

make all

3. Install Binaries

This step installs the binary files.

make install

4. Initialize Database

This prepares the database for NDOUtils.

cd db/

./installdb -u 'ndoutils' -p 'ndoutils_password' -h 'localhost' -d nagios

cd .. 

SSH Servers Clients and Keys - More about it now


This article covers important information about SSH Servers, Clients and Keys. Use SSH keys for authentication when you are connecting to your server, or even between your servers.

They can greatly simplify and increase the security of your login process. 

When keys are implemented correctly they provide a secure, fast, and easy way of accessing your cloud server.


Turn off password authentication Linux:

With SSH key authentication configured and tested, you can disable password authentication for SSH all together to prevent brute-forcing. When logged in to your cloud server.

1. Open the SSH configuration file with the following command.

$ sudo nano /etc/ssh/sshd_config

2. Set the password authentication to no to disable clear text passwords.

PasswordAuthentication no

3. Check that public key authentication is enabled, just to be safe and not get locked out from your server. If you do find yourself unable to log in with SSH, you can always use the Web terminal control panel.

PubkeyAuthentication yes

Then save and exit the editor.

4. Restart the SSH service to apply the changes by using the command below.

$ sudo systemctl restart sshd

With that done your cloud server is now another step along towards security. 

Malicious attempts to connect to your server will results in authentication rejection, as plain passwords are not allowed, and brute-forcing an RSA key is practically impossible.

Welcome to Emergency mode in Linux - Fix this boot error now


This article covers how to fix boot error, Welcome to Emergency mode in Linux. This issue happens after an emergency power outage on a server, a system crash, or similar situations.


The Emergency Mode sometime means that your file system may be corrupted.

In such cases, you will be left out with a prompt to go nowhere.

All you have to do is perform a file system check using,

fsck.ext4 /dev/sda3

where sda3 can be your partition and if you are using ext3 file system, change the command as follows:

fsck.ext3 /dev/sda3

About the partition number, Linux shows you the partition before arriving at the prompt.

This should solve the problem.


To fix  Emergency Mode On Ubuntu:

1. use Ubuntu Live USB to boot, and open terminal:

$ sudo fsck.ext4 /dev/sda3

2. Adding sudo because it needs root permission.

(Replace ext4 with ext3 if applicable to you)

3. Cycle through the SDAs by changing the last number in the sda to see which file system has problems.

Ex: sda1, sda2, sda3, sda4, and so on

4. As I encountered, the problem might be with the 'home' directory.

5. Once you run the above command, you'll be prompted to fix the issue right inside the terminal itself.

6. Keep hitting y (for yes) until the end of the fix.

(or you can use -fy for automatically response yes to all.)

7. Navigate to the home folder of your sda using your files explorer.

(This will be mounted from the HDD since you are working with a Live USB)

8. Check inside 'home' if you can see all your files. If yes, then you're ready to reboot to your system (remove the Live USB).

Your system requires smb2 or higher Windows error - Fix it now


This article covers how to fix the Windows error 'Your system requires smb2 or higher'. SMB1 protocol is vulnerable and your system will give you a warning message saying that it requires SMB2. 

Most Windows 10 users reported Your system requires SMB2 or higher error message on their PC. 

SMB stands for Server Message Block, and it's a protocol for sharing files. The protocol has two versions, the SMB1, and the SMB2, and while both can be used, the latter is the more secure one.


To enable SMB2 on Windows 10:

Check if your system can install SMB2

1. Start PowerShell as administrator. Press the Windows Key+ X and select PowerShell (Admin).

2.Type Get-SmbServerConfiguration | Select EnableSMB2Protocol in the command prompt of the Window PowerShell and press Enter.

3. If your system can run SMB2 protocol, type windows features in the Search box and select Turn Windows features on or off.

4. Once the Windows Features window opens, check SMB1/CIFS File Sharing Support option and hit OK.

5. Restart your PC and check if the problem with SMB2 is resolved.


To enable SMB2 on Windows 10 using Powershell:

1. Start PowerShell as administrator. We already showed you how to do that in our previous solution.

2. Enter Set-SmbServerConfiguration –EnableSMB2Protocol $true and press Enter.

3. Press Y to confirm.

Map Network Drives or Shared Folders with Group Policy - How to do it


This article covers how to map network drives or shared folders with Group Policy.

Mapping network drives using Group Policy preferences is flexible, provides easy control over who receives the drive mappings, and has easy-to-use user interfaces, all of which are in stark contrast with the complexities associated with scripts.


To Set up drive mappings with Group Policy preferences:

1. Group Policy preferences are a set of extensions that increase the functionality of Group Policy Objects (GPOs). 

2. Administrators can use them to deploy and manage applications on client computers with configurations targeted to specific users. 

3. The Drive Maps policy in Group Policy preferences allows an administrator to manage drive letter mappings to network shares.


To Deploy item-level targeting with Group Policy preferences:

Item-level targeting (ILT) is a feature of Group Policy preferences that allows preference settings to be applied to individual users and/or computers dynamically. ILT allows an administrator to specify a list of conditions that must be met in order for a preference setting to be applied or removed to a user or computer object.

You can configure drive mapping, only users in the Product Managers group would receive the mapping. 

1. Under the Common tab of the mapped drive properties, check the Item-level targeting option, and then click Targeting….

2. In the Targeting Editor window, click New Item and select Security Group.

3. Click the … button, and type in the name of the security group.

4. Click OK to close the Targeting Editor once you're finished adding items to the list. 

resolvconf error resolv conf must be a symlink - Fix it Now


This article covers how to fix resolv.conf error which happens when we try to restart the BIND 9 server under Ubuntu Linux.


To fix Resolvconf error "resolvconf: Error: /etc/resolv.conf must be a symlink":

Open a terminal and run the following commands:

$ sudo rm /etc/resolv.conf

$ sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf

$ sudo resolvconf -u


As of Ubuntu 12.04 resolvconf is part of the base system.

You can recreate the needed symlink by running:

$ dpkg-reconfigure resolvconf

or by doing the following in a terminal.

$ sudo ln -nsf ../run/resolvconf/resolv.conf /etc/resolv.conf

Note that as of Ubuntu 12.10 resolvconf no longer aborts if /etc/resolv.conf is not a symlink. It does print a warning message, but this can be silenced by putting the line:

REPORT_ABSENT_SYMLINK=no

in /etc/default/resolvconf.

Segmentation fault in Nagios - Fix it Now


This article covers how to fix the Segmentation fault in Nagios.

A segmentation fault (aka segfault) is a common condition that causes programs to crash; they are often associated with a file named core .

Segfaults are caused by a program trying to read or write an illegal memory location.


What does segmentation fault mean in Linux?

A segmentation fault is when your program attempts to access memory it has either not been assigned by the operating system, or is otherwise not allowed to access. "segmentation" is the concept of each process on your computer having its own distinct virtual address space.


Typical causes of a segmentation fault:

1. Attempting to access a nonexistent memory address (outside process's address space)

2. Attempting to access memory the program does not have rights to (such as kernel 3. structures in process context)

4. Attempting to write read-only memory (such as code segment)


To fix Segmentation Fault (“Core dumped”) in Ubuntu:

1. Remove the lock files present at different locations.

2. Remove repository cache.

3. Update and upgrade your repository cache.

4. Now upgrade your distribution, it will update your packages.

5. Find the broken packages and delete them forcefully.

ERROR: PleskDBException: Unable to connect to database - Fix it now


This article covers methods to resolve error: pleskdbexception: unable to connect to database which triggers as a result of various reasons that include InnoDB engine corruption, disk space full, data directory not completely restored or recovered, and so on. 

The reason of this error is due to disk full and you need to delete extra file from my linux Server.

fslint is a Linux utility to remove unwanted and problematic cruft in files and file names and thus keeps the computer clean. A large volume of unnecessary and unwanted files are called lint. fslint remove such unwanted lint from files and file names.


To Clear RAM Memory Cache, Buffer and Swap Space on Linux:

1. Clear PageCache only. # sync; echo 1 > /proc/sys/vm/drop_caches.

2. Clear dentries and inodes. # sync; echo 2 > /proc/sys/vm/drop_caches.

3. Clear PageCache, dentries and inodes. # sync; echo 3 > /proc/sys/vm/drop_caches.

4. Sync will flush the file system buffer. Command Separated by “;” run sequentially.


To find largest files including directories in Linux is as follows:

1. Open the terminal application.

2. Login as root user using the sudo -i command.

3. Type du -a /dir/ | sort -n -r | head -n 20.

4. du will estimate file space usage.

5. sort will sort out the output of du command.


To uninstall an RPM package:

1. Execute the following command to discover the name of the installed package: rpm -qa | grep Micro_Focus. This returns PackageName , the RPM name of your Micro Focus product which is used to identify the install package.

2. Execute the following command to uninstall the product: rpm -e [ PackageName ]

isc-dhcp-server Job failed to start - Resolve it now


This article covers method to resolve DHCP 'isc-dhcp-server: Job failed to start' error. Basically, 'isc-dhcp-server: Job failed to start' error can happen if there is any issues with the commands that we run.


You can try to restart the service; if it really is an issue with the service starting before the network is up restarting it once the network is up should work:

$ sudo systemctl start restart isc-dhcp-server.service


If that doesn't work then try and investigate further why it's not starting by first getting the current status of the service:

$ sudo systemctl status isc-dhcp-server.service


That should also give you a PID for which you can further investigate with journaltctl where XXXX is the PID of the service:

$ journalctl _PID=XXXXX


Also, what caused/led you to do the following? Perhaps try undoing those changes as I'm not sure if that's helping or hurting. Was the /etc/init/isc-dhcp-server.conf file already there or did you manually create it?

So add a "Sleep 30" to the /etc/init/isc-dhcp-server.conf file. Also add " up service dhcp3-server restart " to my  /etc/network/interfaces file. 

Files and Processes in SELinux on CentOS 7 - More information


This article covers Files and Processes in SELinux. Basically, managing file and process context are at the heart of a successful SELinux implementation.

With SELinux, a process or application will have only the rights it needs to function and NOTHING more. The SELinux policy for the application will determine what types of files it needs access to and what processes it can transition to. 

SELinux policies are written by app developers and shipped with the Linux distribution that supports it. A policy is basically a set of rules that maps processes and users to their rights.


SELinux enforces something we can term as “context inheritance”. What this means is that unless specified by the policy, processes and files are created with the contexts of their parents.

So if we have a process called “proc_a” spawning another process called “proc_b”, the spawned process will run in the same domain as “proc_a” unless specified otherwise by the SELinux policy.


SELinux in Action: Testing a File Context Error

1. First, let's create a directory named www under the root. We will also create a folder called html under www:

mkdir -p /www/html

 

2. If we run the ls -Z command, we will see these directories have been created with the default_t context:

ls -Z /www/

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 html


3. Next we copy the contents of the /var/www/html directory to /www/html:

cp /var/www/html/index.html /www/html/

 

The copied file will have a context of default_t. That's the context of the parent directory.


We now edit the httpd.conf file to point to this new directory as the web site's root folder. 

i. We will also have to relax the access rights for this directory.

vi /etc/httpd/conf/httpd.conf

ii. First we comment out the existing location for document root and add a new DocumentRoot directive to /www/html:

# DocumentRoot "/var/www/html"

DocumentRoot "/www/html"

iii. We also comment out the access rights section for the existing document root and add a new section:

#<Directory "/var/www">

#    AllowOverride None

    # Allow open access:

#    Require all granted

#</Directory>


<Directory "/www">

    AllowOverride None

    # Allow open access:

    Require all granted

</Directory>


We leave the location of the cgi-bin directory as it is. We are not getting into detailed Apache configuration here; we just want our site to work for SELinux purposes.


iv. Finally, restart the httpd daemon:

service httpd restart

 

Once the server has been restarted, accessing the web page will give us the same “403 Forbidden” error (or default “Testing 123” page) we saw before.

The error is happening because the index.html file's context changed during the copy operation. It needs to be changed back to its original context (httpd_sys_content_t).

restorecond Will not restore a file with more than one hard link - How to resolve this issue


This article covers Tips to fix 'restorecond: Will not restore a file with more than one hard link' error.

To fix this problem type the following commands:

# rm /etc/sysconfig/networking/profiles/default/resolv.conf

# restorecon /etc/resolv.conf

# ln /etc/resolv.conf /etc/sysconfig/networking/profiles/default/resolv.conf

dhclient to persistently look for an IP address lease - Configure it Now


This article covers how to use dhclient command. Basically, Linux dhclient command can provide an IP lease until DHCP Server/Router grants one.

With this guide, you can easily configure Linux dhclient command to continuously requests an IP lease until one is granted by DHCP Server / Router.

DHCP Client Error mv cannot move - Fix this error now


This article covers how to fix DHCP Client Error: mv cannot move. This DHCP error indicate that dhclient (Dynamic Host Configuration Protocol Client) is not able to update your name resolution configuration file /etc/resolv.conf. 


To fix this DHCP error:

1. Run dhclient as root user

Use sudo command to run dhclient, enter:

$ sudo dhclient eth0

2. Make sure /etc/resolv.conf is not write protected

Use lsattr, command to view file attributes:

$ lsattr /etc/resolv.conf

Clear i attribute, enter:

$ sudo chattr -i /etc/resolv.conf

3. Now run dhclient again to update file and to obtained new IP address.

Create CentOS Fedora RHEL VM Template on KVM - How to do it


This article covers how to create CentOS/Fedora/RHEL VM Templates on KVM. VM Templates are more useful when deploying high numbers of similar VMs that require consistency across deployments. If something goes wrong in an instance created from the Template, you can clone a fresh VM from the template with minimal effort.


To install KVM in your Linux system:

The KVM service (libvirtd) should be running and enabled to start at boot.

$ sudo systemctl start libvirtd

$ sudo systemctl enable libvirtd

Enable vhost-net kernel module on Ubuntu/Debian.

$ sudo modprobe vhost_net

# echo vhost_net | sudo tee -a /etc/modules


How to Prepare CentOS / Fedora / RHEL VM template ?

1. Update system

After you finish VM installation, login to the instance and update all system packages to the latest versions.

$ sudo yum -y update

2. Install standard basic packages missing:

$ sudo yum install -y epel-release vim bash-completion wget curl telnet net-tools unzip lvm2 

3. Install acpid and cloud-init packages.

$ sudo yum -y install acpid cloud-init cloud-utils-growpart

$ sudo sudo systemctl enable --now acpid

4. Disable the zeroconf route

$ echo "NOZEROCONF=yes" | sudo tee -a /etc/sysconfig/network

5. Configure GRUB_CMDLINE_LINUX – For Openstack usage.

If you plan on exporting template to Openstack Glance image service, edit the /etc/default/grub file and configure the GRUB_CMDLINE_LINUX option. Your line should look like below – remove rhgb quiet and add console=tty0 console=ttyS0,115200n8.

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap console=tty0 console=ttyS0,115200n8"

Generate grub configuration.

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

6. Install other packages you need on your baseline template.

7. When done, power off the virtual machine.


How to Clean VM template ?

You need virt-sysprep tool for cleaning the instance.

$ sudo virt-sysprep -d centos7

Add Compute Host to oVirt Virtualization - How to do it


This article covers oVirt Virtualization and how to add Compute Host to oVirt Virtualization. oVirt is a free and open-source distributed virtualization solution that can be used to manage your entire infrastructure.

oVirt allows you to manage virtual machines, compute, storage and networking resources from the web-based interface. It uses KVM hypervisor and built upon several other community projects, including libvirt, Gluster, PatternFly, and Ansible.


To Add Compute Host to oVirt:

1. Validate oVirt Engine installation by logging into the console.

2. Navigate to Compute > Hosts > New and fill all required information.

3. Modify other settings in the left panel as you see fit and click "OK" button to provision the node.

4. The Status should change to Installing and will finish in few minutes.


To Configure Host Networking:

1. If you want to add additional networks – extra bridges with VLANs e.t.c, this can be done once the host is added.

2. First create a Logical Network on Network > New. Give Virtual Network correct details. For VLAN ID check "Enable VLAN tagging".

3. With the Host added and active you can configure its networking under Network Interfaces > Setup Host Networks.

4. Assign the Logical network to an interface.

5. Drag Virtual Network for mapping to host interface.

6. Configure IP addressing if required.

7. Once saved and successful it should turn green.

8. You can then proceed to create virtual machines using oVirt Management interface.

Icons images and javascript files missing from frontend in Magento - Fix it now


This article covers methods to resolve Magento error related to with icons, images, and javascript files missing from frontend. Basically, icons, images, and javascript files might not appear if we use the wrong Magento update command to upgrade the version.


If you are in production mode, and are running setup:upgrade and you don't want regenerate static content because there is no need to, then you can use the following:

php bin/magento setup:upgrade --keep-generated

--keep-generated is an optional argument that does not update static view files. 

It should be used only in production mode. 

It should not be used in developer mode.


Solutions for the issue where stylesheets and images do not load after installing Magento ?

The following are possible solutions depending on the software you use and the cause of the problem:

If you are using the Apache web server, verify your server rewrites setting and your Magento server's base URL and try again. If you set up the Apache AllowOverride directive incorrectly, the static files are not served from the correct location.

If you are using the nginx web server, be sure to configure a virtual host file. The nginx virtual host file must meet the following criteria:

The include directive must point to the sample nginx configuration file in your Magento installation directory. For example:

include /var/www/html/magento2/nginx.conf.sample;

The server_name directive must match the base URL you specified when installing Magento. For example:

server_name ip_address;

If the Magento application is in production mode, try deploying static view files using the command magento setup:static-content:deploy.

WordPress 405 Method Not Allowed Error - Fix it now


This article covers different methods to troubleshoot 405 Method Not Allowed Error on WordPress.

The 405 Method Not Allowed WordPress error occurs when the web server is configured in a way that does not allow you to perform a specific action for a particular URL. 

It's an HTTP response status code that indicates that the request method is known by the server but is not supported by the target resource.


To Fix 405 Method Not Allowed Errors:

1. Comb through your website's code to find bugs.

If there's a mistake in your website's code, your web server might not be able to correctly answer requests from a content delivery network. Comb through your code to find bugs or copy your code into a development machine. 


2. Sift through your server-side logs.

There are two types of server-side logs -- applications logs and server logs. Application logs recount your website's entire history, like the web pages requested by visitors and which servers it connected to.


3. Check your server configuration files.

The last way to find out what's causing your 405 Method Not Allowed Error is by taking a look at your web server's configuration files.

PHP Handlers for your Server - Which is suitable


This article covers the pros and cons of different PHP Handlers. Basically, selecting the proper PHP handler plays a major role in the server's stability and performance. 

Apache does not natively support PHP scripts without a special module. The module that tells Apache how to handle PHP scripts is referred to as a PHP handler. 

Without a properly configured module, Apache will just send you the PHP file as a download since it doesn't know what else to do.


How does each PHP handler work and what are the pros and cons :

1. DSO/Apache Module

This is also referred to as mod_php. This module allows Apache itself to directly parse and display PHP files. PHP scripts parsed by mod_php run as the same user that Apache itself does (rather than the user account that hosts the PHP files.


Pros

i. One of the fastest handlers available.

ii. Works with mod_ruid2 or mpm_itk modules.


Cons

i. Only works with a single version of PHP on cPanel servers (you'll need to use other handers for other versions of PHP if you offer them).

ii. Scripts run as the Apache user rather than the owner of the domain or subdomain. For example, on a cPanel server, if the script creates a file or directory, that file will be owned by the user "nobody" which can cause problems when the account owner goes to backup or remove them.


2. CGI

Stands for Common Gateway Interface. Using this handler, the system will run PHP scripts as the user that owns the domain or subdomain.


Pros

Scripts run as the domain or subdomain user, not as the Apache user.


Cons

i. One of the slowest handers.

ii. Doesn't work well with PHP opcode caching.

iii. Cannot put PHP configuration changes in an .htaccess file.


3. FCGI/FastCGI

FastCGI is a variation of the CGI protocol that provides a number of benefits over the older CGI handler. Using this module, the system will run PHP scripts as the user that owns the domain or subdomain. There are some differences between mod_fastcgi and mod_fcgid, but none that are relevant to the scope of this article.


Pros

i. Scripts run as the domain or subdomain user, not as the Apache user.

ii. Very fast handler.

iii. Works with PHP opcode caching.


Cons

i. This handler uses more memory than most of the others.

ii. Cannot put PHP configuration changes in an .htaccess file.


4. PHP-FPM

FPM stands for FastCGI Process Manager. It is an improved way of implementing FastCGI processing of PHP.  Using this handler, the system will run PHP scripts as the user that owns the domain or subdomain. Each FPM pool can have independent settings.


Pros

i. Scripts run as the domain or subdomain user, not as the Apache user.

ii. One of the fastest PHP handlers.

iii. Works with PHP opcode caching.

iv. Allows for some additional level of flexibility per pool.


Cons

i. This handler can use more memory than any other handler listed here, but that depends on the number of sites using PHP-FPM and the configuration of the FPM pool.

ii. Can be somewhat more complicated to manage.

iii. Cannot put PHP configuration changes in an .htaccess file and some directives can only be changed on a global level.


5. suPHP

This handler was specifically designed to serve PHP scripts as the owner of the domain or subdomain that is executing the PHP script. On cPanel servers, it is also configured to disallow execution of files with unsafe permissions. cPanel their copy of suPHP with the latest security fixes.


Pros

i. Scripts run as the domain or subdomain user, not as the Apache user.

ii. cPanel configures suPHP so that it blocks accessing or executing any files or directories with permissions higher than 755 for security.


Cons

i. Slowest PHP handler in most cases.

ii. PHP Opcode caching has no performance improvement and only wastes memory.

iii. Cannot put PHP configuration changes in an .htaccess file.


6. LSAPI

This handler implements the LiteSpeed Web Server (LSWS) SAPI. This handler requires CloudLiunx or LSWS for the maximum benefits. Using this handler, the system will run PHP scripts as the user that owns the domain or subdomain.


Pros

i. Designed to perform as well or better than PHP-FPM under certain circumstance.

ii. Less memory use than most other handlers.

iii. Scripts run as the domain or subdomain user, not as the Apache user.

iv. No special configuration required.

v. Can read PHP values out of a .htaccess file.


Cons

i. You don't get full benefits without purchasing a third-party commercial product.

ii. Not compatible with mod_ruid2 or mpm_itk (but it shouldn't need them).

Show dropped packets per interface on Linux - Methiods to check it


This article covers how to Show dropped packets per interface on Linux. 

There can be various reasons for packet loss. It can be that the network transport is unreliable and packet loss is natural, the network link could be congested, applications cannot handle the offered load.

Sometimes there are too many packets, they are saved to a buffer, but they are saved faster than processed, so eventually the buffer runs out of space, so the kernel drops all further packets until there is some free space in the buffer.


You will learn the different Linux commands to see packet loss on Linux per-interface, including excellent tools such as dropwatch. 

We can also use Linux profiling with performance counters utility called perf.


To display show dropped packets per interface on Linux using the netstat:

The netstat command is mostly obsolete. Replacement for netstat is ss and ip command. 

However, netstat still available on older Linux distros, which are in productions. 

Hence, I will start with netstat but if possible, use the ip/ss tools. 

The command in Linux is:

$ netstat -i

$ netstat --interfaces


To display summary statistics for each protocol, run:

$ netstat -s

$ netstat --statistics


To show dropped packets statistics per network interface on Linux using the ip:

Let us see how to see link device stats using the ip command. 

The syntax is:

$ ip -s link

$ ip -s link show {interface}

$ ip -s link show eth0

SELinux users on CentOS 7 – Actions and Deciphering error messages


This article covers more information about SELinux users on CentOS 7.


Deciphering SELinux Error Messages

We looked at one SELinux error message. We were then using the grep command to sift through /var/log/messages file. Fortunately SELinux comes with a few tools to make life a bit easier than that. These tools are not installed by default and require installing a few packages, which you should have installed in the first part of this tutorial.

The first command is ausearch. We can make use of this command if the auditd daemon is running. In the following code snippet we are trying to look at all the error messages related to the httpd daemon. Make sure you are in your root account:

ausearch -m avc -c httpd

In our system a number of entries were listed, but we will concentrate on the last one:

----
time->Thu Aug 21 16:42:17 2014
...
type=AVC msg=audit(1408603337.115:914): avc:  denied  { getattr } for  pid=10204 comm="httpd" path="/www/html/index.html" dev="dm-0" ino=8445484 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:default_t:s0 tclass=file

Even experienced system administrators can get confused by messages like this unless they know what they are looking for. To understand it, let’s take apart each of the fields:

type=AVC and avc: AVC stands for Access Vector Cache. SELinux caches access control decisions for resource and processes. This cache is known as the Access Vector Cache (AVC). That's why SELinux access denial messages are also known as “AVC denials”. These two fields of information are saying the entry is coming from an AVC log and it’s an AVC event.


denied { getattr }: The permission that was attempted and the result it got. In this case the get attribute operation was denied.

pid=10204. This is the process id of the process that attempted the access.

comm: The process id by itself doesn’t mean much. The comm attribute shows the process command. In this case it’s httpd. Immediately we know the error is coming from the web server.

path: The location of the resource that was accessed. In this case it’s a file under /www/html/index.html.

dev and ino: The device where the target resource resides and its inode address.

scontext: The security context of the process. We can see the source is running under the httpd_t domain.

tcontext: The security context of the target resource. In this case the file type is default_t.

tclass: The class of the target resource. In this case it’s a file.

Windows Update Error 0x80240440 - Fix it now


This article covers how to fix Windows Update Error 0x80240440. 


To fix Windows Update error 0x80240440:

1. Click Start and start typing on your keyboard for "services.msc"

2. In your search results "services.msc" should show up. Open it with a click.

3. A new windows will open containing all Windows services on your system.

Search for "Windows Update"

5. Right-click the "Windows Update" and then click Stop.


Also, you can clean the Windows Update temporary cache folder:

1. Hold your windows-key pressed and hit "R" key simultanous.

2. A small new windows will appear.

3. Type %windir%\SoftwareDistribution\DataStore in this new window and click OK.

4. This will open Windows Explorer on the correct location.

5. Delete all contents of this folder. (Hint: Use Ctrl + A to select all files and folders).


Eventually, you can start the Windows Update Service again:

1. Switch back to the windows Services.

2. Locate Windows Update.

3. Right-click on it and choose Start.

Disable database UTF8 connectivity on Nagios - How to do it


This article covers how to configure disable UTF8 connectivity to the MySQL/MariaDB databases. By default Nagios XI uses UTF8 however sometimes this needs to be disabled to allow MySQL / MariaDB to define the connectivity method.

This configuration ensures that characters from different languages can be correctly stored and retrieved in the databases.


The Nagios XI Configuration Directive

The following configuration directive was added in Nagios XI 5.4.13:

$cfg['db_conn_utf8'] = 0;

 To determine if you currently have that directive enabled, establish a terminal session to your Nagios XI server as the root user and execute the following command:

$ grep db_conn_utf8 /usr/local/nagiosxi/html/config.inc.php

 If the grep command produces NO output then the directive does not exist in your configuration and it needs to be added. This can be added with the following command:

$ printf "\n\$cfg['db_conn_utf8'] = 0;\n" >> /usr/local/nagiosxi/html/config.inc.php

 

If the grep command produced output then it can be changed with the following command (sets it to 0):

$sed -i "s/db_conn_utf8'\] =.*/db_conn_utf8'\] = 0;/g" /usr/local/nagiosxi/html/config.inc.php

Defining the directive to 0 will resolve the issue you for garbled or ??? characters.


If you wanted to change it to 1 then use the following command:

$sed -i "s/db_conn_utf8'\] =.*/db_conn_utf8'\] = 1;/g" /usr/local/nagiosxi/html/config.inc.php

 

The change takes effect immediately.

Windows update error 0x800f0805 - Fix it now


This article covers methods to resolve windows update error 0x800f0805. 

Windows update error #0x800f0805 indicates that the Windows edition was not detected. Check that the specified image is a valid Windows operating system image. All you need to do is restart your computer and try to activate it again, and it should work.


Causes of #error 0x800f0805 in Windows Update:

1. Bugs in update delivery to your system – This means that there is no fault in your system, instead, the Microsoft servers are experiencing issues.

2. Corrupted Windows files


Methods to fix the #Windows error 0x800f0805:

1. Using Windows Troubleshooter 

This built-in feature can automatically identify and apply fixes to issues on your device.

2. Manually downloading and installing the update

We can use the official Microsoft Update Catalog to download and install system updates manually.

3. Using System File Checker (SFC)

4. Using DISM

We recommend using a DISM scan after using SFC.

5. Resetting Windows Update components

This method will reset the Windows Update.

6. Reset your PC

If none of the above methods worked, you can freshly reinstall your OS without losing any files or settings by using 'Reset this PC' feature.

Windows update error 0xC190012E - Fix it now


This article covers methods to resolve Windows update error 0xC190012E.

This error generally happens when the user either tries to update their Windows operating system to Windows 10 v 1903 or when upgrading Windows 10 from insider preview for security reasons.


What triggers Windows Update Error 0xC190012E?

If the Windows Update is continuously failing to search for the Updates or are unable to install them due to error 0xc190012e then here is the problem that causing this error.

1. Missing Registry

2. No Internet accesses

3. An issue in Windows update service

4. Corrupt system files

5. Misconfiguration

6. Virus or Malware attack

Set up Amazon CloudFront with WordPress site - Do it now


This article covers how to set up Amazon CloudFront with WordPress site. WordPress performs reasonably well out of the box, but there is room for improvement—the number of WordPress plugins that address performance is evidence of this.  However, the easiest way to improve the user experience is to accelerate one's entire WordPress website by using CloudFront. 

Doing this will not only improve your site's responsiveness, but it may also reduce the overall cost of operating your WordPress infrastructure, as reducing the load on your web servers may help you scale down the required infrastructure. 

In fact, CloudFront can significantly help your site cope with an unexpected load when your site gets popular.


How does CloudFront help?

Many AWS customers have users spread across the globe that they want to reach. However, what once required an immense engineering effort can now be easily built using AWS Regions and Edge locations, which allow you to serve content from the locations closest to those users.

Data transfers on the internet depend largely on global networks of fiber optic cables, allowing very high bandwidth data transfers. 


As the speed of light is proving a difficult challenge to overcome, Amazon CloudFront improves the experience for users accessing your websites in several other ways, including:

1. Anycast DNS ensures your customers are routed to the nearest edge location.

2. Cached content, when available, is delivered to your users from the edge location.

3. When data needs to be fetched from your site CloudFront optimizes network throughput by managing the transfers between Edge Locations and your website.  This traffic runs over the Amazon Global Backbone, where optimized TCP configuration ensures more bytes are in-flight on the network, improving throughput, while TCP connection re-use eliminates much of the latency associated with establishing connections.   In this way, whether content is cached or not, it will be accelerated by delivery over optimized network paths.

4. Finally, negotiating and offloading Transport Layer Security (TLS) at the CloudFront Edge further improves performance, reducing connection setup latency, and further supporting back-end connection re-use.

Force DHCP Client to Renew IP Address - Perform it now


This article covers how to force DHCP client to renew IP address. You need to use Dynamic Host Configuration Protocol Client i.e., dhclient command. 

The client normally doesn't release the current lease as it is not required by the DHCP protocol. Some cable ISPs require their clients to notify the server if they wish to release an assigned IP address. 

The dhclient command, provides a means for configuring one or more network interfaces using the Dynamic Host Configuration Protocol, BOOTP protocol, or if these protocols fail, by statically assigning an address.


Linux renew ip command using dhcp:

The -r flag explicitly releases the current lease, and once the lease has been released, the client exits. 

For example, open terminal application and type the command:

$ sudo dhclient -r

Now obtain fresh IP address using DHCP on Linux:

$ sudo dhclient


To start DHCP client in Linux:

1. To start the DHCP service, type the following command: # /etc/init.d/dhcp start.

2. To stop the DHCP service, type the following command: # /etc/init.d/dhcp stop. 

The DHCP daemon stops until it is manually started again, or the system reboots.


How can I renew or release an IP in Linux for eth0?

To renew or release an IP address for the eth0 interface, enter:

$ sudo dhclient -r eth0

$ sudo dhclient eth0

In this example, I am renewing an IP address for my wireless interface:

sudo dhclient -v -r eth0

sudo dhclient -v eth0


Command to release/renew a DHCP IP address in Linux:

1. ip a - Get ip address and interface information on Linux

2. ip a s eth0 - Find the current ip address for the eth0 interface in Linux

3. dhclient -v -r eth0 - Force Linux to renew IP address using a DHCP for eth0 interface

4. systemctl restart network.service - Restart networking service and obtain a new IP address via DHCP on Ubuntu/Debian Linux

5. systemctl restart networking.service - Restart networking service and obtain a new IP address via DHCP on a CentOS/RHEL/Fedora Linux

6. nmcli con - Use NetworkManager to obtain info about Linux IP address and interfaces

7. nmcli con down id 'enp6s0' - Take down Linux interface enp6s0 and release IP address in Linux

8. nmcli con up id 'enp6s0' - Obtian a new IP address for Linux interface enp6s0 and release IP address using DHCP

Broken trust relationship between workstation and domain - Fix it now


This article covers tips to fix the 'broken trust relationship between workstation and domain' problem.

The underlying problem when this error is seen is that the machine you are trying to access can no longer communicate securely with the Active Directory domain to which it is joined.


Method to fix The trust relationship between this workstation and the primary domain failed Windows issue:

To resolve this issue, remove the computer from the domain, and then connect the computer to the domain.

1. Use a local administrator account to log on to the computer.

2. Select Start, press and hold (or right-click) Computer > Properties.

3. Select Change settings next to the computer name.

4. On the Computer Name tab, select Change.

5. Under the Member of heading, select Workgroup, type a workgroup name, and then select OK.

6. When you are prompted to restart the computer, select OK.

7. On the Computer Name tab, select Change again.

8. Under the Member of heading, select Domain, and then type the domain name.

9. Select OK, and then type the credentials of the user who has permissions in the domain.

10. When you are prompted to restart the computer, select OK.

11. Restart the computer.

MongoDB service is not starting up - Fix it now


This article covers how to resolve the the problem of starting MongoDB server when running the command mongod which may arise due to file permission or ownership issues.


The reason was the dbpath variable in /etc/mongodb.conf. 

To fix, you only had to change the owner of the /data/db directory recursively.

Also For ubunto , what made it happen and was real simple is to install mongodb package:

$sudo apt-get install  mongodb


Also, You can use the below-mentioned command for mongodb service is not starting up:-

$sudo rm /var/lib/mongodb/mongod.lock 

$mongod --repair 

$sudo service mongodb start


Mongodb service is not starting up:

This can also happen if your file permissions get changed somehow. 

Removing the lock file didn't help, and we were getting errors in the log file like:

2016-01-20T09:14:58.210-0800 [initandlisten] warning couldn't write to / rename file /var/lib/mongodb/journal/prealloc.0: couldn't open file    /var/lib/mongodb/journal/prealloc.0 for writing errno:13 Permission denied

2016-01-20T09:14:58.288-0800 [initandlisten] couldn't open /var/lib/mongodb/local.ns errno:13 Permission denied

2016-01-20T09:14:58.288-0800 [initandlisten] error couldn't open file /var/lib/mongodb/local.ns terminating


So, went to check permissions:

ls -l /var/lib/mongodb

total 245780

drwxr-xr-x 2 mongodb mongodb     4096 Jan 20 09:14 journal

drwxr-xr-x 2 root    root        4096 Jan 20 09:11 local

-rw------- 1 root    root    67108864 Jan 20 09:11 local.0

-rw------- 1 root    root    16777216 Jan 20 09:11 local.ns

-rwxr-xr-x 1 mongodb nogroup        0 Jan 20 09:14 mongod.lock

Log Suspicious Martian Packets Un-routable Source Addresses in Linux


This article covers how to block and log suspicious martian packets on Linux servers.


Log Suspicious Martian Packets in Linux:

On the public Internet, such a packet's (Martian) source address is either spoofed, and it cannot originate as claimed, or the packet cannot be delivered. 

Both IPv4 and IPv6, martian packets have a source or destination addresses within special-use ranges as per RFC 6890.


Benefits of logging of martians packets:

As I said earlier a martian packet is a packet with a source address that cannot be routed over the public Internet. 

Such a packet is waste of resources on your server. 

Often martian and unroutable packet used for a dangerous purpose or DoS/DDOS your server. 

So you must drop bad martian packet earlier and log into your server for further inspection.


To log Martian packets on Linux?

You need to use sysctl command command to view or set Linux kernel variables that can logs packets with un-routable source addresses to the kernel log file such as /var/log/messages.


To log suspicious martian packets on Linux:

You need to set the following variables to 1 in /etc/sysctl.conf file:

net.ipv4.conf.all.log_martians

net.ipv4.conf.default.log_martians


Edit file /etc/sysctl.conf, enter:

# vi /etc/sysctl.conf

Append/edit as follows:

net.ipv4.conf.all.log_martians=1 

net.ipv4.conf.default.log_martians=1


Save and close the file.

To load changes, type:

# sysctl -p

Redirect FreeBSD Console To A Serial Port for KVM Virsh - How to do it


This article covers how to redirect FreeBSD in KVM to the serial port.

FreeBSD does support a dumb terminal on a serial port as a console.


This is useful for quick login or debug guest system problem without using ssh. 

1. First, login as root using ssh to your guest operating systems:

$ ssh ibmimedia@freebsd.ibmimedia.com

su -

2. Edit /boot/loader.conf, enter:

# vi /boot/loader.conf

3. Append the following entry:

console="comconsole"

4. Save and close the file. Edit /etc/ttys, enter:

# vi /etc/ttys

5. Find the line that read as follows:

ttyd0  "/usr/libexec/getty std.9600"   dialup  off secure

6. Update it as follows:

ttyd0   "/usr/libexec/getty std.9600"   vt100   on secure

7. Save and close the file. Reboot the guest, enter:

# reboot

8. After reboot, you can connect to FreeBSD guest as follows from host (first guest the list of running guest operating systems):

# virsh list

Sample outputs:


 Id Name                 State

----------------------------------

  3 ographics            running

  4 freebsd              running

9. Now, connect to Freebsd guest, enter:

virsh console 4

OR

virsh console freebsd

PXE Boot or DHCP Failure on Guest - Fix it now


This article covers how to fix PXE Boot (or DHCP) Failure on Guest.

Nature of this error:

A guest virtual machine starts successfully, but is then either unable to acquire an IP address from DHCP or boot using the PXE protocol, or both. There are two common causes of this error: having a long forward delay time set for the bridge, and when the iptables package and kernel do not support checksum mangling rules.


Cause of PXE BOOT (OR DHCP) ON GUEST FAILED:

Long forward delay time on bridge.

This is the most common cause of this error. If the guest network interface is connecting to a bridge device that has STP (Spanning Tree Protocol) enabled, as well as a long forward delay set, the bridge will not forward network packets from the guest virtual machine onto the bridge until at least that number of forward delay seconds have elapsed since the guest connected to the bridge. This delay allows the bridge time to watch traffic from the interface and determine the MAC addresses behind it, and prevent forwarding loops in the network topology. If the forward delay is longer than the timeout of the guest's PXE or DHCP client, then the client's operation will fail, and the guest will either fail to boot (in the case of PXE) or fail to acquire an IP address (in the case of DHCP).


Fix to PXE BOOT (OR DHCP) ON GUEST FAILED:

If this is the case, change the forward delay on the bridge to 0, or disable STP on the bridge.

This solution applies only if the bridge is not used to connect multiple networks, but just to connect multiple endpoints to a single network (the most common use case for bridges used by libvirt).


If the guest has interfaces connecting to a libvirt-managed virtual network, edit the definition for the network, and restart it. 

For example, edit the default network with the following command:

# virsh net-edit default

Add the following attributes to the <bridge> element:

<name_of_bridge='virbr0' delay='0' stp='on'/>

XML


If this problem is still not resolved, the issue may be due to a conflict between firewalld and the default libvirt network.

To fix this, stop firewalld with the service firewalld stop command, then restart libvirt with the service libvirtd restart command.

Install ClickHouse on Ubuntu 20.04 - Step by step process to perform it


This article covers how to install ClickHouse on Ubuntu. Basically, ClickHouse is an open-source analytics database developed for big data use cases. 

Install of ClickHouse on Ubuntu involves a series of steps that includes adjusting the configuration file to enable listening over other IP address and remote access. 


Column-oriented databases store records in blocks grouped by columns instead of rows. 

By not loading data for columns absent in the query, column-oriented databases spend less time reading data while completing queries. 

As a result, these databases can compute and return results much faster than traditional row-based systems for certain workloads, such as OLAP.


Online Analytics Processing (OLAP) systems allow for organizing large amounts of data and performing complex queries. 

They are capable of managing petabytes of data and returning query results quickly. 

In this way, OLAP is useful for work in areas like data science and business analytics.


Aggregation queries are queries that operate on a set of values and return single output values. 

In analytics databases, these queries are run frequently and are well optimized by the database. 


Some aggregate functions supported by ClickHouse are:

1. count: returns the count of rows matching the conditions specified.

2. sum: returns the sum of selected column values.

3. avg: returns the average of selected column values.


Some ClickHouse-specific aggregate functions include:

1. uniq: returns an approximate number of distinct rows matched.

2. topK: returns an array of the most frequent values of a specific column using an approximation algorithm.


You can set up a ClickHouse database instance on your server and create a database and table, add data, perform queries, and delete the database.

You can start, stop, and check the ClickHouse service with a few commands.

To start the clickhouse-server, use:

$ sudo systemctl start clickhouse-server

The output does not return a confirmation.

To check the ClickHouse service status, enter:

$ sudo systemctl status clickhouse-server

To stop the ClickHouse server, run this command:

$ sudo systemctl stop clickhouse-server

To enable ClickHouse on boot:

$ sudo systemctl enable clickhouse-server

To start working with ClickHouse databases, launch the ClickHouse client. 

When you start a session, the procedure is similar to other SQL management systems.

To start the client, use the command:

$ clickhouse-client

The WordPress Missed Schedule post Error - Methods to fix it


This article covers how to easily fix the missed schedule post error in WordPress. WordPress scheduled posts not publishing can be resolved by using a plugin such as "WordPress cron jobs" to help trigger scheduled posts to publish your WordPress Post.

Cron is a technical term for commands that run on a scheduled time, like your scheduled posts in WordPress.

Technically, a real cron job will run at the server level. But because WordPress doesn't have access to that level, it runs a simulated cron.

These simulated cron jobs, like scheduled posts, are supposed to be triggered whenever a person or bot visits your site. 

But because it's not a real cron job, sometimes it causes a missed schedule error.


TO FIX THE MISSED SCHEDULE ERROR IN WORDPRESS:

Every fifteen minutes the post scheduler plugin checks for posts that have the missed schedule error, and will automatically publish them for you.

Multiple techniques for checking your site's missed posts are used to make sure a scheduled post is not missed.


Methods to fix the WordPress missed schedule error:

1. Use the Scheduled Post Trigger plugin.

2. Manage cron jobs directly through your server.

How to setup AWS CloudFront and how it delivers content


This article covers how to setup AWS CloudFront. Basically, CloudFront retrieves data from the Amazon S3 bucket and distributes it to multiple datacenter locations.

Amazon CloudFront works seamlessly with Amazon Simple Storage Service (S3) to accelerate the delivery of your web content and reduce the load on your origin servers. 


Amazon CloudFront is a web service that speeds up distribution of your static and dynamic web content, such as . html, . css, . js, and image files, to your users.


Benefit of CloudFront?

Great Performance. The AWS CloudFront content delivery network optimizes for low latency and high information transfer speeds. 

CloudFront's intelligent routing predicate on real-world latency measurements incessantly gathered from standard websites, as well as Amazon.com.


Step by step process on getting started in the AWS Console, configuring your origin, and beginning testing your CloudFront distribution:

1. Go to the AWS Console

2. Create an Amazon S3 bucket

3. Create an Amazon CloudFront distribution

4. Specify your distribution settings

5. Configure your origin

6. Configure Origin Access Identity

7. Configure default cache behavior

8. Configure your TTLs

9. Configure additional features

10. Test your CloudFront distribution

Troubleshoot DNS issues - Step by Step tips to resolve it


This article covers how to troubleshoot DNS issues. One of the handiest tools for troubleshooting DNS failures is the NSLOOKUP command, which you can access from a Windows Command Prompt window. Simply type NSLOOKUP followed by the name of the host for which you want to test the name resolution.

Basically, DNS errors are caused by problems on the user end, whether that's with a network or internet connection, misconfigured DNS settings, or an outdated browser. They can also be attributed to a temporary server outage that renders the DNS unavailable.


DNS: online name resolution:

The domain name system (DNS) is a directory service used for transforming alphanumeric domain names into numeric IP addresses. 

A decentralized process, name resolution generally takes place on DNS servers’ networks distributed throughout the world. 

Every internet address you enter into your web browser’s search bar is then forwarded by your router to a DNS server. This server then dissolves the domain name into a numeric sequence and returns a corresponding IP address. 

Should the DNS server fail to produce an answer, then it won’t be possible to access the desired website; the result is the error message ‘DNS server not responding’.


To  clear your DNS cache:

1. On your keyboard, press Win+X to open the WinX Menu.

2. Right-click Command Prompt and select Run as Administrator.

3. Run the following command: ipconfig /flushdns.


To Troubleshoot DNS issues:

The root of such irritating messages can often be traced back to the server outage. In such cases, the DNS server is temporarily unavailable. Most of the time, these problems can be corrected by changing browsers, switching a few of your firewall settings, or restarting your router.

1. In order to rule out that the connection problem isn’t being caused by your web browser, carry out a test by attempting to logon on to the desired web page with alternative applications.

2. In case you aren’t able to achieve your desired results simply by changing browsers, then the next step is to rule out Windows Firewall as the possible culprit.

3. Connection problems can often be solved by restarting the server. Most devices include a power button specifically for this purpose. Should this fail to yield any results, then it looks like a hard reboot may be in store; this is done simply by pulling out the power plug. 

4. If you have ruled out common causes of error such as the router software crashes or conflicts with Windows Firewall, then changing your DNS server could be the solution.



How to Check DNS server?

You can find out whether changing DNS server has solved the problem by carrying out a simple test. 

Enter the URL of a well-known site in your browser (e.g. www.google.com). 

If the site can be accessed it means the DNS server is functioning properly.

If the site can't be accessed, you can enter the following IP address into your browser: 172.217.16.195. 

This is one of Google’s IP addresses. If Google doesn't appear after entering the address, it probably means there's a general internet problem rather than a problem with the DNS server.

Unable to add MySQL database in Plesk Customer Panel - Fix it now


This article covers how to fix issues that make it unable to add MySQL database in Plesk customer panel.


To resolve Cannot add MySQL database in Plesk Customer Panel:

1. Log in to Plesk and apply one of the following:

2. Enable Database server selection directive in Service Plans > Default > Permissions > Show more available permissions and press Update & Sync.

3. Switch MySQL default database server from None to localhost:3306 in Service Plans > Default > Hosting Parameters > Default Database Server and press Update & Sync.


Note:  it is also applicable to cases when Amazon RDS extension is installed. 

If it is needed to provide customer with the ability to select Amazon server, enable "database server selection" option.


How do I add a database to my Plesk Panel?

How to Create a New Database or Database User in the Plesk Control Panel

1. Log into your Control Panel.

2. Click on Databases.

3. Click on the Add New Database icon.

4. Next to Database Name enter the name you want to use.

For Type, choose either Microsoft SQL Server or MySQL (DNN uses the Microsoft SQL Server.).

Unable to add MS SQL database in Plesk - Fix it now


This article covers how to fix the error, Unable to add MS SQL database in Plesk.

Basically, the number of MS SQL databases is limited for the webspace, subscriptions, or reseller's plan.


In Web Admin Edition:

1. Log in to Plesk.

2. Go to Tools & Settings > License Management and check if Microsoft SQL Server support enabled or not:

a. If no, then it is required to purchase the MSSQL support first for the subscription.

MSSQL support is included in the Power Pack and Developer Pack.

b. If yes, then proceed to step 3.

3. Run the command below to get the current limit of MSSQL databases for the required webspace:

C:\> plesk bin subscription_settings --info example.com | findstr max_mssql_db

max_mssql_db 30 MS SQL databases

4. Increase the number of MSSQL databases for the required webspace (use the "-1" to set to the Unlimited value):

C:\> plesk bin subscription_settings -u example.com -max_mssql_db 100

plesk bin subscription_settings -u example.com -max_mssql_db -1


In Web Pro and Web Host Editions:

1. Log in to Plesk.

2. Go to Subscriptions > example.com > Account > Resources.

3. Find the MS SQL databases number.

a. If it reached its limit, increase it of the following ways:

Go to Subscriptions > example.com > Customize > Resources page and increase the MS SQL databases limit (changes will affect only this subscription).

Go to Subscriptions > example.com > Service Plan: Default > Resources page and increase the MS SQL databases limit (changes will affect all subscriptions assigned to this service plan).

b. If it is not reached the limit, then this limit is set on the reseller's level as also. Follow to the next step.

4. Go to Subscriptions > example.com > Subscriber: John Doe > Provider: Jane Doe.

5. Click the Change Plan button to increase the MS SQL databases number for all resellers assigned to this service plan.

Click the Customize button to increase the MS SQL databases number only for this reseller.

6. Find the MS SQL databases number and increase it to the required value.

Unable to allow access for disk path in libvirtd - Fix it Now


This article covers tips to fix the error Unable to allow access for disk path in libvirtd. By default, migration only transfers the in-memory state of a running guest (such as memory or CPU state). Although disk images are not transferred during migration, they need to remain accessible at the same path by both hosts.


To fix Unable to allow access for disk path in libvirtd error:

Set up and mount shared storage at the same location on both hosts. The simplest way to do this is to use NFS:

1. Set up an NFS server on a host serving as shared storage. The NFS server can be one of the hosts involved in the migration, as long as all hosts involved are accessing the shared storage through NFS.

# mkdir -p /exports/images
# cat >>/etc/exports <<EOF
/exports/images    192.168.122.0/24(rw,no_root_squash)
EOF


2. Mount the exported directory at a common location on all hosts running libvirt. For example, if the IP address of the NFS server is 192.168.122.1, mount the directory with the following commands:

# cat >>/etc/fstab <<EOF
192.168.122.1:/exports/images  /var/lib/libvirt/images  nfs  auto  0 0
EOF
# mount /var/lib/libvirt/images

sudo sorry you must have a tty to run sudo - Fix it now


This article covers how to resolve the error sudo: sorry you must have a tty to run sudo which happens because the sudo command tries to execute a command that requires a tty. 


To fix "sudo: sorry, you must have a tty to run sudo" error:

You have to run your ssh command as follows to avoid error that read as sudo: Sorry, you must have a tty to run sudo Error:

ssh -t hostname sudo command

ssh -t user@hostname sudo command

ssh -t user@box.example.com sudo command1 /path/to/file


The -t option force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g., when implementing menu services. 

Multiple -t options force tty allocation, even if ssh has no local tty.


The requiretty option in sudoers file

The requiretty if set in sudo config file sudoers, sudo will only run when the user is logged in to a real tty. 

When this flag is set, sudo can only be run from a login session and not via other means such as cron, shell/perl/python or cgi-bin scripts. 

This flag is set on many distores by default. Edit /etc/sudoers, file, enter:

# visudo

Find line that read as follows:

Defaults    requiretty

Either comment it out the line or delete the line:

#Defaults    requiretty

Save and close the file.

Add MySQL database in Websitepanel and fix common errors


This article covers add MySQL database in Websitepanel and fix a common errors related to this task.

A database interface allows you to create and manage the existing MySQL databases. If you are creating a PHP based application or any application that uses a database, then you will need to create a database and a database user to access this database.


To create a MySQL database in WebsitePanel:

1. Click on the plan you want to add a MySQL database to.

2. Then click Databases.

3. Click MySQL.

4. Click Create Database.

5. Enter a name for your database.

6. Click Save.

7. You can click on the database you just added to edit it.

8. You can view existing users or delete or backup the database.

9. Click Save when you are finished


Success! You can view your added databases and see how many allowed databases you've used.

Code 9c57 Windows Update Error - Fix it now


This article covers fix the Code 9c57 Windows Update Error. Error Code 9c57 generally corresponds to a failed installation of Internet Explorer 11. In addition to that, the KB 2882822 update requires validation of genuine Windows installed on the system, so you may visit the link referred in the third question and check if your Windows requires activation.


What is 'Error code 9c57' in Windows Update?

Windows Update error 9c57 is an error that may occur when you are trying to install “Windows IE9 in Windows 7 for x64 Based System” update.


How can you fix ‘Error code 9c57’ in Windows Update?

Some of the common fixes include:

1. Manually installing Internet Explorer

2. Deleting SoftwareDistribution and running DISM command and sfc/ scannow command


Causes of Windows Update Error 9C57 - Error 9C57:

During software design, programmers code anticipating the occurrence of errors.

However, there are no perfect designs, as errors can be expected even with the best program design. Glitches can happen during runtime if a certain error is not experienced and addressed during design and testing.


To fix Windows Update Error 9C57 - Error 9C57:

1. When you get a runtime error, keep in mind that it is happening due to programs that are conflicting with each other. 

The first thing you can do to resolve the problem is to stop these conflicting programs.

2. Update / Reinstall Conflicting Programs

3. Virus infection causing runtime error on your computer must immediately be prevented, quarantined or deleted. Make sure you update your virus program and run a thorough scan of the computer or, run Windows update so you can get the latest virus definition and fix.

4. You might be getting the error because of an update, like the MS Visual C++ package which might not be installed properly or completely. What you can do then is to uninstall the current package and install a fresh copy.

5. You might also be experiencing runtime error because of a very low free space on your computer.

6. If the error is related to a bad graphics driver, then you may do the following:

Open your Device Manager, locate the graphics driver

Right click the video card driver then click uninstall, then restart your computer

Encrypt email messages in Outlook - Follow this guide now


This article covers the different methods to encrypt email messages in Outlook: using certificates (S/Mime), Office 365 Message Encryption (OME), and using encryption add-ins.


To Encrypt a single message:

1. In message that you are composing, click File > Properties. 

2. Click Security Settings, and then select the Encrypt message contents and attachments check box. 

3. Compose your message, and then click Send.


In Outlook, All attachments are encrypted.

Recipients who access the encrypted email via the Office Message Encryption portal can view attachments in the browser.

Note that if the recipient of the file is using an Outlook.com account, they can open encrypted Office attachments on the Office apps for Windows.


To view an encrypted email in Outlook:

1. Select Read the message.

2. You'll be redirected to a page where you can sign in and receive a single-use code.

3. Check your email for the single-use code. Enter the code in the browser window, then select Continue to read your message.


To encrypt a message in Office 365:

1. Sign in with Global Admin credentials.

2. Click on Admin.

3. Click on Settings.

4. Click on Services & add-ins.

5. Click on Microsoft Azure Information Protection.

WordPress 401 error - Fix it now


This article covers easy to follow methods to resolve WordPress 401 error. 

The 401 error has multiple names including Error 401 and 401 unauthorized error. 

These errors are sometimes accompanied by a message ‘Access is denied due to invalid credentials’ or ‘Authorization required’.


To fix the 401 error in WordPress:

1. Temporarily Remove Password Protection on WordPress Admin

2. Clear Firewall Cache to Solve 401 Error in WordPress

3. Deactivate All WordPress Plugins

4. Switch to a Default WordPress Theme

5. Reset WordPress Password

Create Keytab File for Kerberos Authentication in Active Directory


This article covers how to create keytab files for Kerberos. Active Directory uses Kerberos version 5 as authentication protocol in order to provide authentication between server and client. Kerberos protocol is built to protect authentication between server and client in an open network where other systems also connected.


The Kerberos Keytab file contains mappings between Kerberos Principal names and DES-encrypted keys that are derived from the password used to log into the Kerberos Key Distribution Center (KDC).


The Kerberos Keytab file contains mappings between Kerberos Principal names and DES-encrypted keys that are derived from the password used to log into the Kerberos Key Distribution Center (KDC).


The keytab is generated by running kadmin and issuing the ktadd command. If you generate the keytab file on another host, you need to get a copy of the keytab file onto the destination host ( trillium , in the above example) without sending it unencrypted over the network.


To Create a Kerberos principal and keytab files for each encryption type you use:

1. Log on as theKerberos administrator (Admin) and create a principal in the KDC.

You can use cluster-wide or host-based credentials.

The following is an example when cluster-wide credentials are used. It shows MIT Kerberos with admin/cluster1@EXAMPLE.COM as the Kerberos administrator principal:

bash-3.00$ kadmin -p admin@EXAMPLE.COM

kadmin: add_principal vemkd/cluster1@EXAMPLE.COM

Enter password for principal "vemkd/cluster1@EXAMPLE.COM": password

Re-enter password for principal "vemkd/cluster1@EXAMPLE.COM": passwordCopy code

If you do not create a VEMKD principal, the default value of vemkd/clustername@Kerberos_realm is used.

2. Obtain the key of the principal by running the subcommand getprinc principal_name.

3. Create the keytab files, using the ktutil command:

Create a keytab file for each encryption type you use by using the add_entry command.

For example, run ktutil: add_entry -password -p principal_name -k number -e encryption_type for each encryption type.

Add MySQL Service on WebsitePanel - Do it now


This article covers how to add MySQL service in websitepanel. 

WebsitePanel began as DotNetPanel, which its creators made only for the Windows web technology platform as a Windows hosting panel.


To add MySQL Service on WebsitePanel, follow the steps provided below:

1. Download the installation file from here. Choose to skip registration and start the download.

2. Run the .msi file to start the installation. Click “Next” when prompted.

3. Select the product to upgrade, then click “Next“.

4. Click “Execute” to apply the update.

5. Click “Next” to configure the product.

6. If you already have a database within your server, the installer will check and update your database. Type in the correct password and then press “Check“, then press “Next” when the connection is successful.

7. Click “Execute” to apply the configuration, then “Next” to finish this part of the installation.

8. Click “Next” to proceed.

9. The installation is completed, click “Finish” to continue.

10. This shows the product you have installed, you can close the installer here or click “Add…” to install additional products such as MySQL Server ver 5.7

11. Select the “CONFIGURATION” tab and click “Servers” from the drop-down list.

12. Next, click on “My Server“, scroll down and search for “MySQL 5” tab (since we have installed MySQL 5.5 by default).

13. Click on the small “Add” besides the “MySQL 5” tab to add MySQL service to WebsitePanel.

14. From the drop-down list, choose the version of MySQL that had been installed (MySQL Server 5.5 in our case), then click "Add Service".

15. You will see a message saying that installation of  MySQL Connector/Net is required, follow the instructions and download the installer.

16. Run the downloaded installer but DO NOT choose “Typical Installation“, choose “Custom Installation” instead and remove the entire “Web Providers” section from your installation as it will give a nasty error after installation. Proceed with the installation by clicking “Next” and then “Install“.

17. Return to the MySQL Service Properties page, fill in the password with the password used to login to MySQL root account and then click “Update” at the bottom of the page. If the password entered is correct, the MySQL service will be successfully added to the list of server services.

Virtuozzo VS Hyper-V - Which is better


This article covers some comparison between Virtuozzo VS Hyper-V. 

Hyper-V and Virtuozzo are both popular VPS platforms used by a large number of web hosting providers for the provisioning of Windows VPS hosting services, with Virtuozzo being favoured for Windows Server 2003 VPS hosting and Hyper-V being the most reliable solution for Windows Server 2008 VPS hosting services.


Advantages of using Virtuozzo over Hyper-V include:

1. Direct Linux support – Virtuozzo can be installed on their Windows or Linux VPS hosting nodes, and although Hyper-V can be used for the hosting of virtual machines running Linux it is only available for use on Windows Server 2008.

2. Web based control panel (Parallels Power Panel) – the Parallels Power Panel will allow users to manage their Linux or Windows VPS hosting server from a web based interface meaning that if they aren't in a situation where they can access their VPS server via Remote Desktop then they can use the Power Panel to restart their VPS server if necessary or to kill any services or processes which may be overloading their VPS server’s resources.

3. Separate application – the fact that Virtuozzo is a separate application which can be installed on top of the operating system can have its advantages in some cases, for example if a web hosting providers wishes to discontinue using a server for VPS server hosting then all they have to do is uninstall the application from their server, although in most cases it is advised to do an OS reload anyway to ensure that you have a blank canvas to start with.


Advantages of using Hyper-V over Virtuozzo:

1. Cost – with Virtuozzo VPS hosting web hosting providers have to pay for the cost of the Virtuozzo application and the cost of the operating system license, but because Hyper-V is part of the Windows Server 2008 operating system they will only need to pay for the operating system license – this can help to reduce the costs of Hyper-V VPS hosting services and as the cost of the operating system falls, prices will fall further and will eventually meet Virtuozzo Windows Server 2003 hosting services when it comes to price which will mean that people will gradually move over to using Windows Server 2008 VPS hosting.

2. Reliability – as Hyper-V is part of the Window Server 2008 operating system, web hosting providers are able to guarantee reliable Windows Server 2008 VPS server hosting services.

3. Native support for Windows Server 2008 – although Virtuozzo may have support for Windows Server 2008, it hasn’t been able to offer the most reliable of Windows Server 2008 VPS hosting services.

Unable to add bridge port vnet0 No such device - Fix it now ?


This article covers how to resolve the error, Unable to add bridge port vnet0: No such device which happens when the bridge device specified in the guest's (or domain’s) <interface> definition does not exist.

Theerror messages reveal that the bridge device specified in the guest's (or domain's) <interface> definition does not exist.

To verify the bridge device listed in the error message does not exist, use the shell command ifconfig br0.

A message similar to this confirms the host has no bridge by that name:

br0: error fetching interface information: Device not found

If this is the case, continue to the solution.


To fix the error, Unable to add bridge port vnet0: No such device :

1. Edit the existing bridge or create a new bridge with virsh

Use virsh to either edit the settings of an existing bridge or network, or to add the bridge device to the host system configuration.

2. Edit the existing bridge settings using virsh

Use virsh edit name_of_guest to change the <interface> definition to use a bridge or network that already exists.

For example, change type='bridge' to type='network', and <source bridge='br0'/> to <source network='default'/>.

Install PowerDNS and PowerAdmin on CentOS 7 - How to do it


This article covers the step by step procedure to install PowerDNS on CentOS 7. PowerDNS (pdns) is an open source DNS server written in C++ and released under GPL License. It has become a good alternative for the traditional DNS server Bind, designed with better performance and low memory requirements. 

PowerDNS provides two products, the Authoritative server, and the Recursor. 

The PowerDNS Authoritative server can be configured through the different backend, including the plain Bind zone files, RDBMS such as MySQL, PostgreSQL, SQLite3 or LDAP.


To Install PowerDNS on CentOS 7:

1. First let's start by ensuring your system is up-to-date:

$ yum clean all

$ yum -y update

2. Install PowerDNS and backend.

First, you need to enable EPEL repository and all required packages on your system:

$ yum install epel-release

$ yum install bind-utils pdns pdns-recursor pdns-backend-mysql mariadb mariadb-server

Enable PowerDNS on boot and start PowerDNS server:

$ systemctl enable mariadb

$ systemctl enable pdns

$ systemctl enable pdns-recursor

3. Configure MariaDB.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. you should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB:

mysql_secure_installation

4. Create PowerDNS Database and User in MariaDB.

Login as a MariaDB root and create a new database and tables:

### mysql -uroot -p

5. Configure PowerDNS.

Open the /etc/pdns/pdns.conf file.

Finally, restart the Power DNS service:

$ systemctl restart pdns.service

$systemctl enable pdns.service

6. Configure Recursor.

Open the /etc/pdns-recursor/recursor.conf file.

Genericons XSS Vulnerability - How to Protect your WordPress Site


The article covers Genericons #XSS Vulnerability and saw how to protect the WordPress Site from it. 

The Genericons package includes a file called example.html which has been found to be vulnerable to a DOM-based XSS #vulnerability. 

This package is included in various WordPress plugins and themes.

You can fix this issue by trying to Remove the example.html file located in the genericons directory.


The recommended way to patch your system is simply to upgrade WordPress. 

This will not only secure your system against this vulnerability, but also any other issues that may have been fixed.

If your permissions allow it, you can usually upgrade your installation using the admin panel update controls.

Although we highly recommend that you update WordPress completely (along with any affected themes or plugins), you can also easily manually delete the offending files.


To do so, log into your WordPress server and navigate to your document root directory.

You can remove the offending files by typing:

sudo find . -path "*/genericons/example.html" -exec rm -f {} \;

You can then check your directory structure again:

find . -path "*/genericons/example.html"

 All of the example.html instances within a genericons directory should be removed.


#Genericons includes a file called example.html which has been found to be vulnerable to attack from the Document Object Model level. 

Any WordPress plugin or theme that includes this file is open to an attack. 


To help combat this, we have done the following for VaultPress users:

1. We've deleted the file everywhere we can to proactively secure your site.

2. We've added it to our security scanner so that if there are any cases where we couldn't detect the file or couldn't delete it, you will still be notified if the file exists on your site. 

3. For users with sites where we couldn’t remove the file, we have personally emailed each of you with steps to remove the file and details about where the file is located.


Also, another important security update was released today for #WordPress in Version 4.2.2. Version 4.2.2 fixes several vulnerabilities that could allow users to compromise your site including the Genericons vulnerability.

Add Remote Linux Host to Cacti for Monitoring - Do it now


This article covers how to add a #Linux host to #Cacti.

Basically, Cacti is a network #monitoring device that creates personalized graphs of server efficiency.

SNMP, short for Simple Network Management Protocol is a protocol used for gathering information about devices in a network. Using SNMP, you can poll metrics such as CPU utilization, memory usage, disk utilization, network bandwidth, and so on. 


To install snmp agent on Ubuntu, run the command:

$ sudo apt install snmp snmpd -y


To install #snmp agent On CentOS 8, run the command:

$ sudo dnf install net-snmp net-snmp-utils -y


SNMP starts automatically upon installation.

To confirm this, confirm the status by running:

$ sudo systemctl status snmpd

If the service is not running yet, start and enable it on boot as shown:

$ sudo systemctl start snmpd


To Add Remote Linux Host to Cacti for Monitoring:

1. Install SNMP service on Linux hosts. SNMP, short for Simple Network Management Protocol is a protocol used for gathering information about devices in a network.

2. Configuring SNMP service.

3. Configure the firewall rules for snmp.

4. Adding remote Linux host to Cacti.


To Install and Configure Cacti:

1. Cacti require few more dependencies, run the following command to install them:

yum -y install net-snmp rrdtool net-snmp-utils

2. As we have all the dependencies ready, we can now download the install package from Cacti website.

cd /var/www/html

wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz

3. You can always find the link to the latest version of the application on Cacti download page. Extract the archive using the following command.

tar xzvf cacti*.tar.gz

4. Rename your Cacti folder using:

mv cacti-1*/ cacti/

5. Now import the Cacti database by running the following command.

cd /var/www/html/cacti

mysql cacti_data < cacti.sql -u root -p

6. The above command will import the cacti.sql database into cacti_data using the user root. 

It will also ask you the password of root user before importing the database.

7. Now edit Cacti configuration by running the following command.

nano /var/www/html/cacti/include/config.php

8. Now find the following lines and edit them according to your MySQL database credentials.

/* make sure these values reflect your actual database/host/user/password */

$database_type     = 'mysql';

$database_default  = 'cacti_data';

$database_hostname = 'localhost';

$database_username = 'cacti_user';

$database_password = 'StrongPassword';

$database_port     = '3306';

$database_ssl      = false;

Install Drupal with Docker Compose


This article covers how to install Drupal with Docker Compose. Basically, installation process of Drupal can be simplified with the use of tools like Docker and Docker Compose. Docker Compose can be used to create a Drupal installation with an Nginx web server. 


Drupal and Docker needs the following to work:

1. HTTP Server with PHP: We can either use Apache with PHP or Nginx with PHP. I'm going to demonstrate building the Docker using Apache with PHP. A Drupal docker can also have services like SSH (for drush alias to work) and some important utilities like vim

2. SQL Server: Choose your favourite SQL Service (MySQL or PostGRESQL or SQLite). I'm going to be using a MySQL docker. The idea behind using a separate docker for SQL is so that you have a freedom to choose an internal SQL service or an external SQL Services like Amazon RDS without affecting your Drupal environment.


The need to Use Docker to Run Drupal:

Using the Drupal and PostgreSQL images from Docker Hub offers the following benefits:

1. The configuration of the software has been done for you, which means that you don’t need to follow a step-by-step process for each application to get them running on your system.

2. Updating your software is as simple as downloading the latest images from Docker Hub.

3. Images and containers are self-contained, which means that they are easy to clean up if you decide to remove them.


How to Set Up Drupal ?

1. Create a new directory in your home folder called my_drupal and cd into it:

mkdir ~/my_drupal/

cd ~/my_drupal/

2. Create a file named docker-compose.yml in this folder and add the following contents. Set your own password for the POSTGRES_PASSWORD option.

3. From the my_drupal directory, start your Docker containers:

docker-compose up -d

4. The Docker containers will take a minute or two to start up Drupal and PostgreSQL. Afterwards, you can visit your Linode’s IP address in your web browser .

5. On the Set up database page, select PostgreSQL as the Database type and enter the following values:

Database name: postgres

Database username: postgres

Database password: The password you set in the docker-compose.yml file

Host (under Advanced Options): postgres

6. When creating your Drupal user, be sure to enter a password that is different from your PostgreSQL password.

ModSecurity File Upload Error With SecRequestBodyNoFilesLimit


This article covers ModSecurity File Upload Error With SecRequestBodyNoFilesLimit error which happens when the ModSecurity parameter SecRequestBodyNoFilesLimit has reached the limit.

When this issue occurs, you will be Unable to upload file to the website: Request body no files data length is larger than the configured limit.

This error can occur when WAF_SECREQUESTBODYNOFILESLIMIT parameter value reached its limit.


Symptoms of ModSecurity File Upload Error:

1. Unable to upload a file to the website hosted in Plesk with the error:

413 Request entity too large

Request Entity Too Large

The requested resource

/upload-a-file/

does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.

2. ModSecurity component is installed on the server.

3. The following error can be found in /var/www/vhosts/example.com/logs/error_log file:

[:error] [pid 21701] [client 203.0.112.2] ModSecurity: Request body no files data length is larger than the configured limit (1048576).. 

Deny with code (413) [hostname "www.example.com"] [uri "/wp-admin/admin-ajax.php"] [unique_id "Wakfj-fvNMmcLKLp-n8PjQAAAAE"]


Steps to resolve ModSecurity File Upload Error:

1. Log into the server via SSH.

2. Open /etc/asl/config file using the vi text editor.

3. Increase the value for the WAF_SECREQUESTBODYNOFILESLIMIT directive, for example to the value as below:

WAF_SECREQUESTBODYNOFILESLIMIT "10000000"

Note: it is specified in Bytes.

4. Execute the command below to update the rulesets:

for i in daily weekly monthly; do /usr/local/psa/bin/sw-engine-pleskrun /usr/local/psa/admin/plib/DailyMaintainance/script.php -f UpdateModSecurityRuleSet --period "${i}"; done

This way the change will remain persistent after any updates/rulesets changes.

Configure Varnish with Apache - How to do it


This article covers how to configure Varnish #cache on the #Apache server. Varnish is an HTTP accelerator and a useful tool for speeding up a server, especially during a times when there is high traffic to a site. 

It works by redirecting visitors to static pages whenever possible and only drawing on the virtual private server itself if there is a need for an active process.

#Varnish is a caching HTTP reverse proxy. It receives requests from clients and tries to answer them from the cache.


Where is varnish configuration file?

The Varnish configuration file will be located in the /etc/varnish directory in CentOS 7. 

To make Varnish work in front of Apache, you will need to set up some basic configurations. 

By default Varnish listens on port 6081 . 

You will need to change port 6081 to 80 so that website requests access the Varnish cache first.


What is varnish WordPress?

Varnish is a full-page cache and HTTP preprocessor which can be used to speed up requests for a WordPress site. 

Setting up Varnish is a technical task, as it requires installing and configuring a system package on a web server, rather than just installing a plugin.

The Windows Installer Service could not be accessed error - Fix it now


This article covers methods to resolve the Windows #Installer Service could not be accessed #error which occurs while we try to install a program in Windows or when you are running Windows in safe mode.

Windows Installer popups may be caused by Windows configuration issues, by Windows Update prompting you to install updates or by malware.


To fix #Windows installer error:

1. Click Start. , type services.

2. Right-click Windows Installer, and then click Properties.

3. If the Startup type box is set to Disabled, change it to Manual.

4. Click OK to close the Properties window.

5. Right-click the Windows Installer service, and then click Start.

6. Try to install or to uninstall again.


To fix error 1719 windows installer service could not be accessed:

1. Start the Windows Installer Service.

2. Stop and then Restart Windows Installer Service.

3. Reset the settings of Windows Installer Service in the registry.


To to Disable Windows Installer:

1. Log into Windows. Click the "Start" button.

2. Double-Click "Group Policy" in the left pane.

3. Expand the tree in the left side of the pane, "Local Computer Policy\Computer Configuration\Administrative Templates\Windows Components\Window Installer".

4. Double click "Disable Windows Installer.


To enable Windows Installer in Safe Mode:

1. Press Windows + R, type cmd, and press Ctrl + Shift + Enter to run CMD as administrator. 

2. Type the command net start msiserver in Command Prompt window, and press Enter to enable Windows Installer in Safe Mode in Windows 10.

Best Server Monitoring Software Products - Advantages and Disadvantages


This article covers the Best Server Monitoring Software. Basically, Server management software takes the burden of managing servers and other critical applications.

Reporting and monitoring is critical in business, especially when it comes to IT infrastructure such as network connectivity and server monitoring.

Being able to look back at historical trends and faults is especially useful when troubleshooting an issue on a critical server or service, so if you don’t already have a solution in place, then it might be time to seriously consider it.


Server Monitoring Software is able to check everything about your system, such as:

1. CPU usage

2. RAM utilization

3. Hard Disk Space

4. System Temperatures

5. Server Alerts (Hardware status warnings)

6. RAID Array health checks

7. Virtual Machine Alerts

8. You can also monitor user logins, suspicious activity on your server, and the status of your services and daemons


Best server monitoring software and tools includes:

1. SolarWinds Server & Application Monitor - Tracks the statuses of key server components and also watches the performance of applications running on each server. The tool runs on Windows Server but can also monitor Linux servers across a network.

2. Atera - A remote monitoring and management system that includes server monitoring features. Ideal for managed service providers.

3. Site24x7 Server Monitoring - A cloud-based monitoring system that can track the statuses of Windows and Linux servers as part of a company’s infrastructure.

4. ManageEngine Applications Manager - A server and applications monitoring system that includes extra capabilities such as VM monitoring. Runs on Windows Server and Linux.

5. Paessler PRTG - A package of monitors that includes a range of server status trackers. Installs on Windows Server.

6. Nagios XI - A comprehensive infrastructure monitoring system that includes live server monitoring services. Installs on Linux.

7. Opsview - A system monitoring tool that includes sever monitoring and is billed as an alternative to Nagios XI. Runs on Linux.

8. Zenoss - A system monitoring tool that includes a server monitoring module and is also available in a free version. Installs on Linux.

9. OP5 - Monitor Server monitoring as part of a system-wide monitor tool that accepts Nagios plug-ins. Install on Linux.

10. AppOptics - A cloud-based server and applications monitoring system that will track the performance of Windows and Linux servers.

11. Monitis - A cloud-based monitoring system that specializes in tracking the performance of Web servers and Web applications.

12. ManageEngine Free Windows Admin Tools - A collection of 15 free tools that cover different aspects of server monitoring including disk space, software inventory, and user lists.


What is server maintenance?

Server maintenance is process of keeping a server software updated and running so that a computer network can operate smoothly and avoid downtime or loss of data. Regular maintenance will keep the server running as expected and will help avoid a total or partial network failure.

SELinux on CentOS 7 - Set it up now


This article covers how to set up SELinux on #CentOS 7. #SELinux is a security mechanism built into the Linux kernel. Linux distributions such as CentOS, RHEL, and Fedora are equipped with SELinux by default.

SELinux improves server security by restricting and defining how a server processes requests and users interact with sockets, network ports, and essential directories.


To check SELinux mode:

The easiest way on how to check SELinux ( Security Enhanced Linux ) operation mode is to use getenforce command. 

This command without any options or arguments will simply print a current status SELinux operational mode. 

Furthermore, the current status of SELinux operational mode can be set permanently or temporarily.


To check whether SELinux is enabled or not:

1. Use the getenforce command. [vagrant@vagrantdev ~]$ getenforce Permissive.

2. Use the sestatus command.

3. Use the SELinux Configuration File i.e. cat /etc/selinux/config to view the status.


To configure SELinux to enforcing mode:

1. Open the /etc/selinux/config file in a text editor of your choice, for example: # vi /etc/selinux/config.

2. Configure the SELINUX=enforcing option: # This file controls the state of SELinux on the system.

3. Save the change, and restart the system: # reboot.


To enable SELinux without rebooting:

1. Changing the SELinux mode at run time. If SELinux is disabled it cannot be enabled without rebooting.

2. To detemine the current Mode of SELinux.

3. Changing the SELinux mode Permanently. In the /boot/grub/grub.conf file add a line: selinux=0.

4. Or in /etc/sysconfig/selinux change.


To permanently change mode to permissive:

1. Edit the /etc/selinux/config file as follows: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced.

2. Restart the system: $ reboot.

Install and Configure Mahara on Ubuntu


This article covers how to install Mahara. Basically, Mahara is a popular ePortfolio and social networking system that helps educators to develop a digital classroom in a remote learning environment and track student's progress. 

Mahara also has many non-student applications. You can use it to build a blog, a resume-builder, a file-repository, or a competency framework.

Mahara is a fully featured web application to build your electronic portfolio. 

You can upload files, create journals, embed social media resources from the web and collaborate with other users in groups. 


To install Mahara on Ubuntu:

1. 1. Login to your VPS via SSH

ssh user@vps

2. Update the system

[user]$ sudo apt-get update && sudo apt-get -y upgrade

3. Install MariaDB

To install MariaDB, run the following command:

[user]$ sudo apt-get install -y mariadb-server

4. Create MariaDB database for Mahara

Next, we need to create a database for our Mahara installation.

[user]$ mysql -u root -p
MariaDB [(none)]> CREATE DATABASE mahara character set UTF8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mahara.* TO 'maharauser'@'localhost' IDENTIFIED BY 'your-password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Do not forget to replace 'your-password' with a strong password.

5. Install Apache2 Web Server

Install Apache2 web server

[user]$ sudo apt-get install apache2

6. Install PHP

Install PHP and required PHP modules

To install the latest stable version of PHP version 5 and all necessary modules, run:

[user]$ sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-mysql php5-gd

7. Download and extract Mahara

Download and extract the latest version of Mahara on your server:

[user]$ sudo cd /opt && wget https://launchpad.net/mahara/16.04/16.04.1/+download/mahara-16.04.1.zip
[user]$ sudo unzip mahara-16.04.1.zip
[user]$ sudo mv mahara-16.04.1 /var/www/html/mahara
Create Mahara’s upload directory
[user]$ sudo mkdir /var/www/html/mahara/upload/

8. Configure Mahara

Create Mahara’s config.php

In the Mahara ‘htdocs’ directory there is config-dist.php file. Make a copy of this called config.php.

[user]$ cd /var/www/html/mahara/htdocs/
[user]$ sudo cp config-dist.php config.php

Open the config.php and make the necessary changes where appropriate.

[user]$ sudo nano config.php
$cfg->dbtype   = 'mysql';
$cfg->dbhost   = 'localhost';
$cfg->dbport   = null;
$cfg->dbname   = 'mahara';
$cfg->dbuser   = 'maharauser';
$cfg->dbpass   = 'your-password';
$cfg->dataroot = '/var/www/html/mahara/upload/';

All files have to be readable by the web server, so we need to set a proper ownership

[user]$ sudo chown www-data:www-data -R /var/www/html/mahara/

9. Configure Apache Web Server

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘mahara.conf’ on your virtual server:

[user]$ sudo touch /etc/apache2/sites-available/mahara.conf
[user]$ sudo ln -s /etc/apache2/sites-available/mahara.conf /etc/apache2/sites-enabled/mahara.conf
[user]$ sudo nano /etc/apache2/sites-available/mahara.conf
Then, add the following lines:
<VirtualHost *:80>
ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/html/mahara/htdocs/
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory /var/www/html/mahara/htdocs/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

10. Restart and Verify

Restart the Apache web server for the changes to take effect:

[user]$ sudo service apache2 restart

Open your favorite web browser, navigate to http://your-domain.com/ and if you configured everything correctly the Mahara installer should be starting.

Jenkins setup with Docker and JCasC - Automate it now


This article covers how to perform Jenkins Configuration as Code (JCasC) method which can help us to automate the setup of Jenkins using Docker. 

This will automate the installation and configuration of Jenkins using Docker and the Jenkins Configuration as Code (JCasC) method.

Jenkins uses a pluggable architecture to provide most of its functionality. 

JCasC makes use of the Configuration as Code plugin, which allows you to define the desired state of your Jenkins configuration as one or more YAML file(s), eliminating the need for the setup wizard. 

On initialization, the Configuration as Code plugin would configure Jenkins according to the configuration file(s), greatly reducing the configuration time and eliminating human errors.


Just as the Pipeline plugin enables developers to define their jobs inside a Jenkinsfile, the Configuration as Code plugin enables administrators to define the Jenkins configuration inside a YAML file. 

Both of these plugins bring Jenkins closer aligned with the Everything as Code (EaC) paradigm.

Date Time in Laravel and PHP with Carbon


This article covers how to manage date/time easily in Laravel and PHP with Carbon. Basically, Carbon is a package that helps us to deal with date/time in Laravel and PHP in a much easier and systematic manner.

Working with date and time in PHP is not the easiest or most clear of tasks. We have to deal with strtotime, formatting issues, lots of calculations, and more.


Carbon provides some nice functionality to deal with dates in PHP such as:

1. Dealing with timezones

2. Getting current time easily

3. Converting a datetime into something readable

4. Parse an English phrase into datetime (first day of January 2016)

5. Add and Subtract dates (+ 2 weeks, -6 months)

6. Semantic way of dealing with dates


Carbon is already included in Laravel so there's no need to go and add it with Composer.

Whenever we need to use Carbon, we can import it like so:

<?php

use Carbon\Carbon;

After importing you can do a lot with this great package.

Enable and Configure MPIO on Windows Server 2016 2012 R2


This article covers how to enable Multi-Path Input-Output or MPIO on a Windows server either from a graphical interface using the Server Manager console or from the PowerShell command line. 

Multipathing is the technique of creating more than one physical path between the server and its storage devices. It results in better fault tolerance and performance enhancement. Oracle VM Servers are installed with multipathing enabled because it is a requirement for SAN disks to be discovered by Oracle VM Manager.


To Install MPIO in Windows Server 2008 R2:

Note You must restart the server after you follow these steps.

1. Open Server Manager. To do this, click Start, click Administrative Tools, and then click Server Manager.

2. In Server Manager, click Features, and then click Add Features.

3. Select the Multipath I/O feature for installation, and then click Next.

4. Finish the installation by confirming the selections, and then restart the server.


To Configure MPIO for StorSimple volumes:

MPIO must be configured to identify StorSimple volumes. 

To configure MPIO to recognize StorSimple volumes, follow these steps:

1. Open the MPIO configuration. To do this, click Start, click Administrative Tools, and then click MPIO.

2. In the MPIO window, click Add on the MPIO Devices tab.

3. Type SSIMPLE Model in the Add MPIO Support window under Device Hardware ID.

4. Restart the server when you are prompted.


To Mount a StorSimple volume in Windows Server 2008 R2:

After MPIO is configured on the server, volumes that are created on the StorSimple appliance can be mounted and can take advantage of MPIO for redundancy. 

To mount a volume, follow these steps:

1. Open the iSCSI Initiator Properties dialog box on the server. To do this, click Start, click Administrative Tools, and then click iSCSI Initiator.

2. In the iSCSI Initiator Properties dialog box, click the Discovery tab, and then click Discover Portal.

3. Type the IP address of the "DATA" port on the StorSimple appliance.

Note If you use a private network for iSCSI connections, type the IP address of the DATA port that is connected to the private network.

4. Click the Targets tab in the iSCSI Initiator Properties dialog box. This displays the StorSimple appliance iSCSI qualified name (IQN) in the Discovered Targets section.

5. Click Connect to establish the iSCSI session with the StorSimple appliance. In the Connect To Target dialog box, click to select the Enable multi-path check box.

6. Open Server Manager. To do this, click Start, click Administrative Tools, and then click Server Manager.

7. In Server Manager, click Storage, and then click Disk Management. Volumes that are created on the StorSimple appliance and that are visible to this server appear under Disk Management as new disks.

8. Initialize the disk and create a new volume. During the format process, select a block size of 64 kilobytes (KB).

9. Under Disk Management, right-click the disk, and then click Properties.

10. In the SSIMPLE Model #### Multi-Path Disk Device Properties dialog box, click the MPIO tab, click Details in the DSM Name section, and then verify that the parameters are set to the default parameters.

Install Monit monitoring system on CentOS 8 - How to do it


This article covers how to #install Monit on #Centos 8 system. Also, we dealt with how to configure Monit on Centos, adjusting the configuration and setting up alerts to notify the users.

#Monit is a free, open-source process supervision tool for Unix and Linux. With Monit, system status can be viewed directly from the command line, or via the native HTTP(S) web server. Monit is able to do automatic maintenance, repair, and run meaningful causal actions in error situations.


To enable web interface you need to make changes in monit configuration file. 

The main configuration file of monit located at /etc/monit. conf under (RedHat/CentOS/Fedora) and /etc/monit/monitrc file for (Ubuntu/Debian/Linux Mint). 

Monit is very easy to use nearly out of the box. By default, it is set up to check that services are running every 2 minutes and stores its log file in “/var/log/monit.


To Install Monit to monitor your server running CentOS:

1. Install EPEL repository: yum install epel-release yum update.

2. Install Monit: yum install monit.

3. Activate Monit to start automatically during the system boot and start it: systemctl enable monit systemctl start monit.


To #Install #Monit Package on #Ubuntu:

Run the commands given below;

sudo apt update

sudo apt install monit


After installing Monit, the commands below can be used to stop, start and enable Monit service;

sudo systemctl stop monit.service

sudo systemctl start monit.service

sudo systemctl enable monit.service

Adding users to the local admin group in PowerShell


This article covers how to add users to local admin group either via Group Policy Objective or directly via command line. 


To add a user to the local group in PowerShell:

You can add AD groups or users to the local admin group using the below Powershell command.

Add-LocalGroupMember -Group "Administrators" -Member "domain\user or group," "additional users or groups."


To add a user to the local admin group:

1. Right-click the newly created Group, select Properties, navigate to the Members tab, click Add… and enter designated users to the group, e.g. domain\administrator, domain\domain admins, domain\syskitmonitorservice. 

2. Add other users that also need administrative privileges, if necessary. 

3. Click OK to proceed.


To get local admin group members in PowerShell:

To get the local Administrators group members using PowerShell, you need to use the GetLocalGroupMember command. 

This command is available in PowerShell version 5.1 onwards and the module for it is Microsoft. PowerShell. LocalAccounts.


To Create a User Account in Windows 10 with PowerShell:

1. Open PowerShell as Administrator.

2. To create a new user account without a password, type New-LocalUser -Name "user_name" -Description "Description of your new account." -NoPassword .

3. To create a user account that has a password, firstly execute the following line: $Password = Read-Host -AsSecureString .

mkvirtualenv command not found on Ubuntu - How to fix this error


This article covers solution to the #error 'mkvirtualenv: command not found' which happens while running mkvirtualenv #command.

You'll need to install virtualenvwrapper package into the same global site-packages area where virtualenv is installed. 

Administrative privileges are required for this installation. 

Ensure you're logged in as root user or standard user with sudo privileges.


Start by Updating the System package list:

$ sudo apt update

Then install #Python build tools.

# Python 2

$ sudo apt-get install python-pip python-dev build-essential

# Python 3

$ sudo apt-get install python3-pip python3-dev build-essential

Then install virtualenv and virtualenvwrapper packages.


With APT package manager:

$sudo apt install virtualenv virtualenvwrapper

With Pip:

# Python 2

$ sudo pip install virtualenv virtualenvwrapper

# Python 3

$ sudo pip3 install virtualenv virtualenvwrapper

Unable to connect to MongoDB in Docker container - How to fix this error


This article covers solution to the error "Unable to connect to MongoDB in docker container".

Basically, this Docker error happens when there is a port issue.

if a container listens on 127.0.0.1, then the host can't map ports to it.

You need to listen on 0.0.0.0 or similar, and then the -p can reach the container's interface.


How do Docker ports work?

The -P command opens every port the container exposes. 

Docker identifies every port the Dockerfile exposes and the ones that are exposed with the Docker container build --expose parameter. 

Every exposed port is bound directly on a “random” port of the host machine.

The docker build command builds Docker images from a Dockerfile and a “context”. A build's context is the set of files located in the specified PATH or URL . 

The build process can refer to any of the files in the context. 

For example, your build can use a COPY instruction to reference a file in the context.

tar dev st0 cannot write invalid argument - How to resolve this error


This article covers resolve errors relating to Linux commands. You need to specify the block factor size. If you try to write a large file on tape this error may occur.

The data in an archive is grouped into blocks, which are 512 bytes. Blocks are read and written in whole number multiples called records. The number of blocks in a record (i.e., the size of a record in units of 512 bytes) is called the blocking factor.

Archives with blocking factors larger than 20 cannot be read by very old versions of tar, or by some newer versions of tar running on old machines with small address spaces. 

With GNU tar, the blocking factor of an archive is limited only by the maximum record size of the device containing the archive, or by the amount of available virtual memory.


How to fix tar /dev/st0 cannot write invalid argument error?

Set blocking factor to 256 to avoid this error with the -b option. 

For example, use the following command to backup the /webroot directory and its content to /dev/st0 with 256 blocking factor:

# tar cvf -b 256 /dev/st0 /webroot

MySQL crash – Causes Recovery and Prevention methods


This article covers methods to fix and prevent MySQL downtime. Basically, many issues such as resource limits, #database table errors, file system errors, and so on, can lead to a MySQL crash.


To fix MySQL errors in cPanel?

You can also restart the MySQL service from WHM.

1. Login to WHM.

2. Navigate to Restart Services.

3. Now you can restart the MySQL service by clicking the icon “SQL Server(MySQL)”.


To use mysqlcheck, follow these steps:

1. As the root user, type the following command: cd /var/lib/mysql.

2. Replace the database with the name of the database that you want to check.

3. Mysqlcheck checks the specified database and tables.


How do I know if MySQL is running?

We check the status with the service mysql status command. We use the mysqladmin tool to check if MySQL server is running. 

The -u option specifies the user which pings the server. 

The -p option is a password for the user.


What does repair table do MySQL?

REPAIR TABLE repairs a possibly corrupted table, for certain storage engines only. 

This statement requires SELECT and INSERT privileges for the table. Although normally you should never have to run REPAIR TABLE , if disaster strikes, this statement is very likely to get back all your data from a MyISAM table.


What causes MySQL #tables to crash?

The major cause of the database corruption is the lack of free disk space on the server.

Other possible causes of MySQL table crashes include operating system problems, power failures, hardware issues, unexpected MySQL server termination, data corruption due to external programs, and so on.


To access your #MySQL database in Linux, please follow these steps:

1. Log into your Linux web server via Secure Shell.

2. Open the MySQL client program on the server in the /usr/bin directory.

3. Type in the following syntax to access your database: $ mysql -h {hostname} -u username -p {databasename} Password: {your password}

FastCGI Proxying in Nginx - How to implement it


This article covers FastCGI Proxying in Nginx. Basically, FastCGI Proxying in Nginx allows working with a great number of applications, in configurations that are performant and secure. 

FastCGI proxying within Nginx is generally used to translate client requests for an application server that does not or should not handle client requests directly.

Nginx has become one of the most flexible and powerful web server solutions available. 

However, in terms of design, it is first and foremost a proxy server. 

This focus means that Nginx is very performant when working to handle requests with other servers.

Nginx can proxy requests using http, FastCGI, uwsgi, SCGI, or memcached.


How do I know if #FastCGI is enabled?

If the variable is present and correctly set to /phpinfo. php/foobar? foo=bar, then either ISAPI or FastCGI is used. 

Look near the top of the output for Server API; it should be set to either ISAPI (which means ISAPI is being used) or CGI/FastCGI (which means FastCGI is being used, since we already ruled out CGI).


More about Fastcgi_read_timeout?

proxy_read_timeout is applied when nginx proxies via HTTP protocol (for example, if you used nginx to proxy the request to a server such as node.js ). fastcgi_read_timeout is used when nginx speaks to the other service using FastCGI protocol.


More about Keepalive_timeout in nginx?

The keepalive_timeout assigns the timeout for keep-alive connections with the client. 

Simply put, Nginx will close connections with the client after this period of time.


How does Nginx location work?

The location directive within NGINX server block allows to route request to correct location within the file system. 

The directive is used to tell NGINX where to look for a resource by including files and folders while matching a location block against an URL.


How do I start Nginx on Linux?

1. Nginx is a powerful server application that routes network traffic.

2. Nginx runs as a service on your server.

3. systemctl can be used to start and stop the Nginx service.

4. To force close and restart Nginx and related processes: sudo /etc/init.d/nginx restart.


What does #Nginx Rewrite do?

Nginx rewrite rules can be defined within your Nginx configuration file in order to change at least part or all of a URL. 

Usually, this is done for one of two purposes. 

First, if a URL has changed, using a rewrite rule will let the client know that the resource requested is in a different location.


How do I remove nginx welcome page?

If you removed default under /etc/nginx/sites-available and restarted nginx and the welcome page is still showing, then see if there is a default. conf under /etc/nginx/conf. d and delete it and then restart nginx.

Advantages of NoSQL Databases - Get to know them now


This article covers the advantages of NoSQL Databases. #SQL databases are vertically scalable, NoSQL databases are horizontally scalable. SQL databases are table based, while NoSQL databases are document, key-value, graph or wide-column stores. 

SQL #databases are better for multi-row transactions, #NoSQL are better for unstructured data like documents or JSON.

#MongoDB, CouchDB, CouchBase, Cassandra, HBase, Redis, Riak, Neo4J are the popular NoSQL databases examples.

The structure of many different forms of data is more easily handled and evolved with a NoSQL database. 

NoSQL databases are often better suited to storing and modeling structured, semi-structured, and unstructured data in one database.


Main purpose of NoSQL?

NoSQL Database is a non-relational Data Management System, that does not require a fixed schema. 

It avoids joins, and is easy to scale. 

The major purpose of using a NoSQL database is for distributed data stores with humongous data storage needs. 

NoSQL is used for Big data and real-time web apps.


Reasons to Use a NoSQL Database includes:

1. Storing large volumes of data without structure. A NoSQL database doesn't limit storable data types.

2. Using cloud computing and storage. Cloud-based storage is a great solution, but it requires data to be easily spread across multiple servers for scaling.

3. Rapid development.


Main types of NoSQL databases?

There are four big NoSQL types: 

1. Key-value store

2. Document store, 

3. Column-oriented database,

4. Graph database. 

Each type solves a problem that can't be solved with relational databases. 

Actual implementations are often combinations of these. 

OrientDB, for example, is a multi-model database, combining NoSQL types.

Uninstall Azure ad PowerShell Module - Steps to do it


This article covers how to uninstall the #Azure #PowerShell module and AzureRM module from MSI and PowerShellGet.

To uninstall all official PowerCLI modules except VMware.PowerCLI, run the following command: 

(Get-Module VMware.PowerCLI -ListAvailable).RequiredModules | Uninstall-Module -Force


When you want to uninstall the program, you can go to the Programs and Features to uninstall it. 

So when you want to uninstall Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (the first solution is to uninstall it via Programs and Features.


How do I uninstall Windows PowerShell?

Uninstall PowerShell from Start Menu. 

1. You can click Start menu at the bottom-left, type PowerShell in the search box, and you will see Windows PowerShell app. 

2. Right-click Windows PowerShell app, and select Uninstall, or expand the menu in the right to select Uninstall to remove Windows PowerShell exe from Windows 10.


To Install VMware PowerCLI Module From PC With Internet Connection:

1. From a computer with an internet connection open powershell (preferrably as an administrator)

2. Find-Module -Name VMware.PowerCLI.

3. Install-Module -Name VMware.PowerCLI -Scope CurrentUser.

4. Get-Command -Module *VMWare*


To use Azure PowerShell in PowerShell 5.1 on Windows:

1. Update to Windows PowerShell 5.1. If you're on Windows 10 version 1607 or higher, you already have PowerShell 5.1 installed.

2. Install . NET Framework 4.7.

3. Make sure you have the latest version of PowerShellGet. Run Install-Module -Name PowerShellGet -Force .

500 oops vsftpd refusing to run with writable root inside chroot - Fix it now


This article covers fixes to '500 oops vsftpd refusing to run with writable root inside chroot()' error which occurs while connecting to vsftpd if it is a newly installed vsftpd or if it is upgraded. 


To fix this error, you need to upgrade your Server by adding the jessie repository to my Debian installation and upgrade it so:

echo "deb http://ftp.us.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list

aptitude update

aptitude upgrade vsftpd

echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf

service vsftpd restart


Also, add the value:

seccomp_sandbox=NO

to the configuration and restart the service with service vsftpd restart:

Then "allow_writeable_chroot=YES" 

The URI Failed to Connect to the Hypervisor - Fix it now


This article covers methods to resolve hypervisor error. The error message is misleading about the actual cause. This error can be caused by a variety of factors, such as an incorrectly specified URI, or a connection that is not configured.


To fix THE URI FAILED TO CONNECT TO THE HYPERVISOR:

1. Incorrectly specified URI

When specifying qemu://system or qemu://session as a connection URI, virsh attempts to connect to host names system or session respectively. This is because virsh recognizes the text after the second forward slash as the host.

Use three forward slashes to connect to the local host. For example, specifying qemu:///system instructs virsh connect to the system instance of libvirtd on the local host.

When a host name is specified, the QEMU transport defaults to TLS. This results in certificates.


2. Connection is not configured

The URI is correct (for example, qemu[+tls]://server/system) but the certificates are not set up properly on your machine. For information on configuring TLS, see Setting up libvirt for TLS available from the libvirt website.

mdadm failed to run_array - Fix this Linux Software RAID error now


This article covers how to resolve the RAID #error.

This error indicate that the RAID metadata is lost or is no longer consistent. 

However, sometime following command can fix the issue if other two driver are known to be good. 

/proc/mdstat file will provide RAID status and make sure RAID is active. 

Type the following command at a shell prompt to fix this issue:

mdadm -A /dev/md0 -f --update=summaries /dev/sda1 /dev/sdb1

FreeBSD Apache Jail Connection refused connect to listener failed


This article covers how to fix 'FreeBSD Apache Jail: Connection refused' issue for our customers. 

While running Apache 2 server under FreeBSD jail, you may see a warning error messages in /var/log/httpd-error.log as follows:

[warn] (61)Connection refused: connect to listener on 0.0.0.0:80


To resolve this FreeBSD Apache Jail error:

1. You need to always set your actual, real IP. Open httpd.conf

# vi /usr/local/etc/apache22/httpd.conf

2. Find out Listen directive:

#Listen 12.34.56.78:80

Listen directive allows you to bind Apache to specific IP addresses and/or ports, instead of the default. 

Change this to Listen on specific IP addresses as shown below to prevent Apache from glomming onto all bound IP addresses i.e. 0.0.0.0 which is not available in jail

3. Save and close the file. Restart apache:

# /usr/local/etc/rc.d/apache22 restart

No guest machines present libvirtd - Fix it now


This article covers how to troubleshoot and fix No guest machines present libvirtd for our customers. 

The virsh program is the main interface for managing virsh guest domains. The program can be used to create, pause, and shutdown domains. 

It can also be used to list current domains. Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes).

The libvirt daemon is successfully started, but no guest virtual machines appear to be present.


There are various possible causes of this problem.

Performing these tests will help to determine the cause of this situation:

1. Verify KVM kernel modules

Verify that KVM kernel modules are inserted in the kernel:

$ lsmod | grep kvm

If you are using an AMD machine, verify the kvm_amd kernel modules are inserted in the kernel instead, using the similar command lsmod | grep kvm_amd in the root shell.

If the modules are not present, insert them using the modprobe <modulename> command.

Note: Although it is uncommon, KVM virtualization support may be compiled into the kernel. In this case, modules are not needed.

2. Verify virtualization extensions

Verify that virtualization extensions are supported and enabled on the host:

# egrep "(vmx|svm)" /proc/cpuinfo

Enable virtualization extensions in your hardware's firmware configuration within the BIOS setup.

3. Verify client URI configuration

Verify that the URI of the client is configured as desired:

# virsh uri


How to fix No guest machines present #libvirtd #error:

After performing these tests, use the following command to view a list of guest virtual machines:

# virsh list --all

Benefits of Data Warehouse in Business Organization


This article covers the Advantages of Data Warehouse. 

#Data #warehousing improves the speed and efficiency of accessing different data sets and makes it easier for corporate decision-makers to derive insights that will guide the business and marketing strategies that set them apart from their competitors. Improve their bottom line.

Unlike a database, which is focused on users inputting data, a data warehouse is architected for decision-making, ad hoc queries and analytics. Thus, enabling queries to be performed without any impact to your company's operational database.


A data warehouse is a type of data management system that is designed to enable and support business intelligence (BI) activities, especially analytics. Data warehouses are solely intended to perform queries and analysis and often contain large amounts of historical data.


A data warehouse can help support business needs, such as the ability to consolidate financial results within a complex company that uses different software for different divisions.


Benefits of a Data Warehouse:

1. Delivers enhanced business intelligence.

2. Saves times.

3. Enhances data quality and consistency.

4. Generates a high Return on Investment (ROI).

5. Provides competitive advantage.

6. Improves the decision-making process.

7. Enables organizations to forecast with confidence.

8. Streamlines the flow of information.


The key characteristics of a data warehouse are as follows:

1. Some data is denormalized for simplification and to improve performance.

2. Large amounts of historical data are used.

3. Queries often retrieve large amounts of data.

4. Both planned and ad hoc queries are common.

5. The data load is controlled.


A data warehouse is subject oriented because it provides information around a subject rather than the organization's ongoing operations.


Data warehouses will help you make better, more informed decisions for many reasons, including: 

1. Improved business intelligence

2. When you integrate multiple sources, you make decisions based on ALL of your data. 

3. Timely access to data: Quickly access critical data in one centralized location.

Methods to secure database server - Best Practices


This article covers different methods to secure a Database Server. Database security helps: Company's block attacks, including ransomware and breached firewalls, which in turn keeps sensitive information safe. It Prevent malware or viral infections which can corrupt data, bring down a network, and spread to all end point devices.


SQL injection vulnerabilities occur when application code contains dynamic database queries which directly include user supplied input. 

This is a devastating form of attack and BSI Penetration Testers regularly find vulnerable applications that allow complete authentication bypass and extraction of the entire database.

SQL injection, also known as SQLI, is a common attack vector that uses malicious SQL code for backend database manipulation to access information that was not intended to be displayed. 

This information may include any number of items, including sensitive company data, user lists or private customer details.


Some known database security issues:

Security risks to database systems include,

1. Data corruption and/or loss caused by the entry of invalid data or commands

2. Mistakes in database or system administration processes, sabotage/criminal damage and so on.


There are numerous types of databases and many different ways to hack them, but most hackers will either try to crack the database root password or run a known database exploit. 

If you're comfortable with SQL statements and understand database basics, you can hack a database.


Practices for Database Security:

1. Protect Against Attacks With a Database Proxy.

2. Set Up Auditing and Robust Logging.

3. Practice Stringent User Account Management.

4. Keep Your Database Software and OS Up-to-Date.

5. Encrypt Sensitive Data in Your app, in Transit, and at Rest.

libvirtd failed to start - Fix it Now


This article covers how to resolve the error 'libvirtd failed to start' which happens while manually trying to start libvirt daemon. 

To resolve this #libvirtd #error, Try journalctl -u libvirtd.service and see if the full log for the service has more information.

You can manually install "libxslt" to resolve the problem.

Also you can try re-installing the packages that libvirtd/KVM requires and did a full system update. 

After that, reboot the server, and libvirtd.service will be working fine.

SQL error 1071 - Fix it Now


This article covers methods to resolve SQL error 1071 which generally happens if the combined key is too long, and adjusting the varchar value must resolve this error.

MySQL always reserves the max amount for a UTF8 field which is 4 bytes so with 255  + 255 with your DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 

you are over the 767 max key length limit.

You can only reduce the single varchar length or don't use a composite key.


To fix SQL error 1071:

You can also add these lines to a new conifg file in /etc/my.conf.d directory named umb4-support.cnf:

[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true

Then restart the maria db service.

Enforcing server security using hardware firewall


This article covers how important is enforcing process in server security using a #hardware #firewall. A firewall is a system that provides network security by filtering incoming and outgoing network traffic based on a set of user-defined rules. In general, the purpose of a firewall is to reduce or eliminate the occurrence of unwanted network communications while allowing all legitimate communication to flow freely.


A hardware firewall sits between your local network of computers and the Internet. 

The firewall will inspect all the data that comes in from the Internet, passing along the safe data packets while blocking the potentially dangerous packets.


Hardware firewalls allow you to protect your entire network from the outside world with a single physical device. 

This device is installed between your computer network and the internet.

A software firewall is installed on an individual computer and it protects that single device.


Tips to achieving network security:

1. Use strong authentication methods.

2. Upgrade your software with latest security patch.

3. Physically secure equipment and ports.

4. Establish cyber security rules for your employees and make them aware of the important role they play in security.

5. Encrypt your data and require users to enable bios passwords.

Importance of Database Testing


This article covers the importance of database testing. Database Testing is Important in software testing because it ensures data values and information received and stored into database are valid or not. Database testing helps to save data loss, saves aborted transaction data and no unauthorized access to the information.


A database is typically designed so that it is easy to store and access information. 

A good database is crucial to any company or organization. This is because the database stores all the pertinent details about the company such as employee records, transactional records, salary details and so on.


Why do we do database #testing?

Database Testing is a type of software testing that checks the schema, tables, triggers etc. of the database under test. 

It involves creating complex queries for performing the load or stress test on the database and check its responsiveness. 

It checks integrity and consistency of data.


Why do we need database security?

Safeguarding the data your company collects and manages is of utmost importance. Database security can guard against a compromise of your database, which can lead to financial loss, reputation damage, consumer confidence disintegration, brand erosion, and non-compliance of government and industry regulation.


#Database #Security Best Practices includes:

1. Separate database servers and web servers.

2. Use web application and database firewalls.

3. Secure database user access.

4. Regularly update your operating system and patches.

5. Audit and continuously monitor database activity.

6. Test your database security.

7. Encrypt data and backups.

NFS vs SMB - Which is better


This article will guide you on the comparison between NFS and SBM performance. 

NFS vs. SMB comparison. 

Server Messaging protocol (SMB) is the native file sharing protocol implemented in Windows systems.

The Network File System (#NFS) protocol is used by Linux systems to share files and folders.


NFS, or Network File System, was designed in 1984 by Sun Microsystems. This distributed file system protocol allows a user on a client computer to access files over a network in the same way they would access a local storage file. Because it is an open standard, anyone can implement the protocol.


The Server Message Block Protocol (#SMB protocol) is a client-server communication protocol used for sharing access to files, printers, serial ports and other resources on a network. It can also carry transaction protocols for interprocess communication.

How to set up phpBB Forum on a website through cPanel


This article covers phpBB which is a completely free open-source Forum Software. It has lots of features while maintaining efficiency and ease of use. 

#phpBB, which is an abbreviation for PHP Bulletin Board, is one of the best free and open-source forum scripts for creating a forum. 


There are two ways to install phpBB on a website:

1. You can #install phpBB manually

2. Install phpBB via #cPanel Softaculous Apps Installer


To create a forum in phpBB:

1. Click Forums.

2. Enter the name of the new forum here.

3. Click Create new forum.

4. Enter a description for the new forum here.

5. Click Submit. 

That's it! The forum has been successfully created.


To Create a phpBB Forum:

1. Download and Install phpBB. The first thing you'll need to do is download the phpBB software.

2. Register Your phpBB Forum Administrator Account.

3. Set Up Your phpBB Forum.

4. Start Creating Content.


phpBB’s best features that you can use to help launch your first online forum:

1. Responsive design — supports the latest version of HTML5 and CSS3, thus providing you with a responsive and cross-browser compatible design.

2. Search engine crawler handling — comes with configurations and access control for over 100 crawlers for board optimization.

3. Unread message tracking — notifies users whether or not they have seen new published posts and topics.

4. Private message system — allows users to send direct messages to each other via the forum.

5. COPPA registration — prevents underage users from registering to the forum.

6. OAuth login — allows users to register using Google, Bit.ly, or Facebook accounts.

7. Data management — supports various popular database management tools like MySQL, Oracle Database, and SQLite.


Reasons why you should consider creating an online forum:

1. Encourage discussion and feedback — users can use the available space to exchange ideas and give you insights into the quality of your content for further improvement.

2. Support audience research — lets you observe visitor preferences and browsing habits in a closed environment.

3. Build a community — having great communication and sharing similar interests with other people will give your users a sense of belonging to a community.

NFS vs CIFS - The main Differences


This article covers NFS vs CIFS performance. 

NFS, or Network File System, was designed in 1984 by Sun Microsystems. This distributed file system protocol allows a user on a client computer to access files over a network in the same way they would access a local storage file. Because it is an open standard, anyone can implement the protocol.

All versions of NFS can use Transmission Control Protocol (TCP) running over an IP network, with NFSv4 requiring it. NFSv2 and NFSv3 can use the User Datagram Protocol (UDP) running over an IP network to provide a stateless network connection between the client and server.


Common Internet File System (CIFS) is a network filesystem protocol used for providing shared access to files and printers between machines on the network. A CIFS client application can read, write, edit and even remove files on the remote server.

Microsoft operating systems use CIFS for remote file operations (typically mapping network drives), browsing (via the Network Neighborhood icon), authentication (NT and Windows 2000), and remote printer services.


The NFS service has the following benefits:

1. Enables multiple computers to use the same files, so everyone on the network can access the same data.

2. Reduces storage costs by having computers share applications instead of needing local disk space for each user application.

Manually Migrate Accounts to cPanel


This article covers how to manually #migrate accounts to cPanel/WHM, as well as the steps to fix common errors faced while migrating.


After you migrate your files to your new cPanel & WHM server, perform the following steps:

1. Confirm that all of the content and credentials migrated properly and that they function in the new environment.

2. Update your domain's nameservers to match the new nameservers on your cPanel & WHM server.

3. Create cPanel and reseller accounts. To do this, use WHM's Create a New Account interface (WHM >> Home >> Account Functions >> Create a New Account).


After you create the new #cPanel & #WHM account, migrate the old server’s files and directories to the appropriate locations on your new server.


Generally, you will migrate the following files and directories during this process:

1. The public_html directory contains all of your files, directories, subdirectories, and content. This directory may appear as the /home/user/www directory or the /home/user/vhost directory on some systems.

2. The /home/user/mail directory contains all of the email files for all of the cPanel account’s email accounts.

3. The /home/user/tmp directory contains the account’s temporary files and bandwidth and statistics data. For example, you can migrate your original server's AWStats data to the /home/user/tmp/awstats directory.

4. The /home/user/etc directory contains the email account password, shadow, and quota files for email accounts. For example, you can migrate your original server’s email account quota data to the /home/user/etc/quota directory.

5. The /home/user/ssl directory contains the SSL certificates for the domains on the account.

6. The mysql directory stores the MySQL databases for every account on the server.

7. The /var/lib/pgsql directory stores the PostgreSQL databases for every account on the server.

Trace email spamming in Plesk using php scripts


This article covers how to locate the mail spammer in a Plesk server which is a bit difficult when compared to #Cpanel servers.

To prevent spam being sent from your server, Plesk offers a tool that controls the sending of email messages. 

This tool gathers statistics about outgoing messages and prevents mail being sent when specified limits are exceeded. 

You can specify limits on outgoing mail at the following levels: mail server, service plan, subscription, domain, and mailbox.

Administrators can prevent outgoing spam by using limits on the number of outgoing email messages per hour. 

In addition, the administrator can easily determine the exact source of possible spam with the help of reports and notifications.


Types of Threats in Plesk:

Plesk introduces different limits for prevention of the following different types of threats:

1. Stolen mail accounts.

SMTP user account credentials can be stolen by malicious users when they hack a mail server by using a system vulnerability (for example, PHP vulnerability) or an application exploit (for example, exploit for an outdated WordPress version). Also, if customers use very weak passwords, their passwords can be obtained by using brute force tools.

You can prevent this type of threat by limiting the number of outgoing email messages from a mailbox.


2. Web scripts for malicious mass mailing.

A malicious user can use a Plesk customer account in order to create a website with a script that will distribute spam emails. Also, a malicious user can steal the FTP credentials of a customer account and upload a website with a mass mailing script via FTP.

You can prevent this type of threat by limiting the number of outgoing email messages from a domain.


3. Hacked system accounts on #Linux.

Malicious users can gain access to Linux system user accounts by using system or application exploits. After that, they can plant scheduled background tasks in crontab. Such scheduled tasks can run mass mailing scripts that spread spam mail.

You can prevent this type of threat by limiting the number of outgoing email messages from a subscription.


Best practices for sending outgoing mail from a #Plesk server:

1. Configure the #hostname for a Plesk server

Go to Tools & Settings > Server Settings and type in your server's hostname.

2. Enable SPF/DKIM/DMARC features

By default, a SPF DNS record is added to the domain's DNS zone during a domain creation, if this DNS record exists in the Plesk DNS Template.

Make sure there is a TXT record for SPF in domain's DNS settings at Domains > example.com > DNS Settings

3. Make sure that DKIM support is enabled server-wide in Plesk at Tools & Settings > Mail Server Settings.

4. A reverse DNS (rDNS) lookup returns the hostname of an IP address. Many mailbox providers, including Gmail and Yahoo!, will block email coming from a mail server that does not have rDNS in place.

To configure rDNS, a PTR DNS record should be created by the owner of the IP address. 

Contact your hosting service provider or Internet Service Provider (ISP) to get more details.

Optimize Magento Database to improve site speed


This article covers how to perform Magento #speed #optimization using open-source software. Basically, #eCommerce customers expect a website to load within 2 seconds.

Magento is a resource-heavy ecommerce platform that requires the right set of resources and configurations for optimum performance. 

Even if you have a sound infrastructure, there is a chance that your Magento powered store might be slow.


Developers who are responsible for maintaining the Magento stores generally make sure that they incorporate the best Magento 2 performance optimization practices into the projects. 

As a result, ecommerce stores perform at peak efficiency 24/7.


To achieve high speed it's very essential for your online store.


Importance of having speed boost of your #Magento site:

1. To increase traffic at your website.

2. To gain a customer preference to buy from your site only.

3. Increase in conversion rate.

WordPress vs Joomla - Which is Better


This article covers the comparisons and differences of both WordPress vs Joomla. Basically, both WordPress and Joomla is an option for web hosting providers as options for web development tools. 


Choosing a Content Management System (CMS) is an important decision that can have huge repercussions for your website. 

There are a number available, each with their own pros and cons, and fanatical fanbases pulling for their chosen platform. 


A detailed comparison (WordPress vs Joomla):

1. Search engine optimization

If we compare the Search Engine Optimization (SEO) capabilities of both platforms out of the box, Joomla takes a slight edge due enabling its users to set meta descriptions and keywords for new articles.


2. Security

Due to its popularity, WordPress has a giant target on its back when it comes to security vulnerabilities.

Delete Data in SQL using DELETE statement - How to use it


This article covers how to Delete Data in SQL using the DELETE statement. 

The SQL DELETE Query is used to delete the existing records from a table.

You can use the WHERE clause with a DELETE query to delete the selected rows, otherwise all the records would be deleted.


In Structured Query Language, more commonly known as SQL, the DELETE statement is one of the most powerful operations available to users. 

DELETE operations irreversibly delete one or more rows of data from a database table. 

Being such a fundamental aspect of data management, it's important for SQL users to understand how the DELETE statement works.


The basic syntax of the DELETE query with the WHERE clause is as follows:

DELETE FROM table_name
WHERE [condition];

You can combine N number of conditions using AND or OR operators.


Note: Be careful when deleting records in a table! Notice the WHERE clause in the DELETE statement. 

The WHERE clause specifies which record(s) should be deleted. If you omit the WHERE clause, all records in the table will be deleted!


To Delete All Records:

It is possible to delete all rows in a table without deleting the table. This means that the table structure, attributes, and indexes will be intact:

DELETE FROM table_name;


DROP is used to delete a whole database or just a table. The DROP statement destroys the objects like an existing database, table, index, or view. A DROP statement in SQL removes a component from a relational database management system (RDBMS).

Zabbix server cant connect to java gateway - Fix it now


This article covers how to fix Zabbix error "Server can't connect to java gateway" by making some changes in the server configuration files and restarting the Zabbix and java gateway. 

Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers. Zabbix uses a flexible notification mechanism that allows users to configure e-mail based alerts for virtually any event. 

This allows a fast reaction to server problems. 

Zabbix offers excellent reporting and data visualization features based on the stored data. 

This makes Zabbix ideal for capacity planning.

Redis Slow Log - More about it


This article covers how Redis Slow Log works. Redis Slow #Log is one of the best tools to debug and trace the Redis database. 

The Redis Slow Log is a system to log queries that exceeded a specified execution time. 

The execution time does not include I/O operations like talking with the client, sending the reply and so forth, but just the time needed to actually execute the command (this is the only stage of command execution where the thread is blocked and can not serve other requests in the meantime).


You can configure the slow log with two parameters: 

1. slowlog-log-slower-than tells Redis what is the execution time, in microseconds, to exceed in order for the command to get logged. Note that a negative number disables the slow log, while a value of zero forces the logging of every command. 

2. slowlog-max-len is the length of the slow log. The minimum value is zero. When a new command is logged and the slow log is already at its maximum length, the oldest one is removed from the queue of logged commands in order to make space.


Redis Slow Log configuration can be done by editing redis.conf or while the server is running using the CONFIG GET and CONFIG SET commands.

Available since 2.2.12.

This #command is used in order to read and reset the Redis slow queries log.


Redis slow log overview

The #Redis Slow Log is a system to log queries that exceeded a specified execution time. 

Slowlog, as its name, is used to record commands whose execution time exceeds limitation (a little slow).

The execution time does not include I/O operations like talking with the client, sending the reply and so forth, but just the time needed to actually execute the command (this is the only stage of command execution where the thread is blocked and can not serve other requests in the meantime).

The Redis SLOWLOG is used to help identify queries which are taking too long to execute.


You can configure the slow log with two parameters:

slowlog-log-slower-than tells Redis what is the execution time, in microseconds, to exceed in order for the command to get logged. Note that a negative number disables the slow log, while a value of zero forces the logging of every command. slowlog-max-len is the length of the slow log. The minimum value is zero. When a new command is logged and the slow log is already at its maximum length, the oldest one is removed from the queue of logged commands in order to make space.


The configuration can be done by editing redis.conf or while the server is running using the CONFIG GET and CONFIG SET commands.

Methods to reduce server load


This article covers tips to reduce server load. The load speed of websites mainly depends on the constant load that the server is maintained. 

Load expresses how many processes are waiting in the queue to access the computer processor. This is calculated for a certain period of time, and the smaller the number the better. 


Tips To optimize and speed up your server:

1. Enable caching.

2. Setup a fast reverse proxy.

3. Choose the right application server.

4. Fine tune your web server.

5. Turn on HTTP/2.

6. Defragment your database tables & optimize server settings.

7. Fix your DNS query speed.

8. Trim down your site's critical rendering path.


Why is your Website server slow?

The cause of slow servers usually lays with the web host. 

You could be having a slow site because you are hosted on a free web hosting. 

You are on a low quality hosting service with poor support. 

Or your site needs a higher spec hosting account with more resources eg a VPS.

A large volume of unoptimized images is usually the most common reason behind website slowness. 

High-resolution images can consume lots of bandwidth while loading. 

Uploading larger sized images and then scaling them down can unnecessarily increase the size of your web page – causing your website to load slowly.

MongoDB failed to load list of databases - Fix it now


This article covers how to resolve the error 'MongoDB failed to load the list of databases' can occur due to various reasons that include failed database user/password authentication, outdated Robo 3T version, and so on.

The error 'MongoDB failed to load the list of databases' means that you can't connect if there are no databases to list. 


To fix the error 'MongoDB failed to load the list of databases':

1. You can fix this issue with 1.2 connecting to a new mongo 4.2.

It's fixed when using robo3t version 1.3, which supports newer version of mongo.

2. You can create a database and a collection for it. 

Once you create a database and a collection, it works.

3. You will need to upgrade mongodb to the last version, so you can to connect in your local database.

Key guidelines in developing a perfect software


This article covers a few important guidelines to create perfect #software. However, these guidelines are not the end. We may develop software easily, but developing perfect software requires value-added guidelines.


How to Develop Software:

1. Determine which basic type of software development interests you. There are two basic TYPE camps of software development: Applications Development and Systems Development.


2. Teach yourself a programming language. Anyone can come up with ideas, but a developer will be able to turn those ideas into something tangible. 

Even if you only want to work on the design aspects of software, you should have some familiarity with coding and be able to create basic prototypes. 


3. Find resources to help you learn. Most bookstores have entire sections dedicated to programming books, and there are tons available on Amazon and other e-tailers. A well-written programming book will likely be the best resource you can have, and will allow you to quickly reference it while working on projects.


4. Take some classes. While you don't need a full-on degree in order to get into software development, it can't hurt to take a few classes at your local community college or learning center. This will give you the benefit of one-on-one instruction, and you will be challenged to solve problems that you likely wouldn't if you were learning on your own.


5. Work on pet projects. Before you start trying to apply your new programming skills to real-world jobs, work on some projects for yourself. Challenge yourself to solve problems using your programming language.


6. Ask questions. The internet is a fantastic way to connect with other developers. If you find yourself stumped on one of your projects, ask for help on sites such as StackOverflow.


7. Practice every day. Work on your pet projects every day, even if only for an hour. This will help you stay fresh and constantly learn new techniques. Many developers have had success learning a language by ensuring that they are exposed to it on a daily basis.

Authentication In Vue Using Vuex


This article covers how to perform Authentication In Vue Using Vuex. 

Using Vuex allows us to store and manage authentication state and proceed to check state in our application using only a few lines of code.


To Set up the application modules:

For this project, we want to create a vue application that has vuex and vue-router. 

i. We will use the vue cli 3.0 to create a new vue project and select router and vuex from the options.

Run the following command to set it up:

$ vue create vue-auth

ii. Follow the dialogue that shows up, add the necessary information and select the options we need and complete the installation.

iii. Next, install axios:

$ npm install axios --save

Advantages of SAN over NAS


This article covers more insight about the advantages of SAN over NAS.

A storage area network (#SAN) is a dedicated, independent high-speed network that interconnects and delivers shared pools of storage devices to multiple servers. Each server can access shared storage as if it were a drive directly attached to the server.

Network Attached Storage (#NAS) is a device that allows users to access files through a network. It allows users to access and share files from their individual stations through a central server. NFS (Network File System) is a protocol that is used to serve and share files on a network.


Some advantages of a SAN:

1. Reduces LAN bandwidth problems. A key benefit of SANs is bandwidth improvement. 2. Improved data security. Data security is paramount for every business.

3. Responsive backup.

4. Increased scalability.

5. Reliable disaster recovery.


What is the purpose of a SAN?

SANs are primarily used to access data storage devices, such as disk arrays and tape libraries from servers so that the devices appear to the operating system as direct-attached storage. 

A SAN typically is a dedicated network of storage devices not accessible through the local area network (LAN).

Difference between BACPAC and DACPAC - More insight


This article covers more information about BACPAC and DACPAC and the difference between BACPAC and DACPAC.
A BACPAC file is a ZIP file with an extension of BACPAC containing the metadata and data from the #database. A BACPAC file can be stored in Azure Blob storage or in local storage in an on-premises location and later imported back into Azure SQL Database, Azure SQL Managed Instance, or a SQL Server instance.
DACPAC = Data Tier AppliCation Package. DACPAC is a single file which contains database model i.e. all files represent database objects. It's a binary representation of database project compatible with SSDT. The name comes from an extension of these files.
Once you extract the contents of the #DACPAC file, you'll see there are four different XML files within it.
These XML files do not contain any data from the database.
The database is scripted out only with the model information.

To import from a #BACPAC file into a new single database using the Azure portal:
1. Open the appropriate server page and then, on the toolbar, select Import database.
2. Select the storage account and the container for the BACPAC file and then select the BACPAC file from which to import.

Data tier controls the servers where the information is stored;
1. It runs a relational database management system on a database server or a mainframe and contains the computer data storage logic.
2. The data tier keeps data independent from application servers or processing logic and improves scalability and performance.

To import a .BAK file into #SQL Server:
1. Open #SSMS and click on Connect.
2. First let us go with Bak File importing.
3. Check the Device Button and Click on it.
4. Click on Add Button, choose the Appropriate bak file and then click on Ok.

MongoDB error network is unreachable - Fix it now


This article covers methods to resolve the error 'MongoDB error network is unreachable' which can occur due to many reasons that include network issues, if the mongo server is not started, and so on.

To resolve this #MongoDB #error:
1. On Ubuntu server, to open mongo shell run:

$ mongo

2. Inside mongo shell, type following command to create new a admin user.

> use admin;
> db.createUser({user:"admin", pwd:"password", roles:[{ role: "root", db: "admin" }]});

3. By default mongodb is configured to allow connections only from localhost(IP 127.0.0.1).
We need to allow remote connections from any ip address. The following change should only be done in your development server. Open up etc/mongod.conf file and do the following change.

# network interfaces
net:
port: 27017
bindIp: 0.0.0.0   #default value is 127.0.0.1


Also in the same mongod.conf file uncomment security option and add authorization option as shown below:

security:
authorization: enabled    


4. Save and exit the mongod.conf file and restart mongodb server:

$ sudo servcie mongod restart

MongoDB error topology was destroyed - Fix it now


This article covers method to fix the error 'MongoDB error topology was destroyed' which happens due to many reasons that include interruption of the node server’s connection to the MongoDB instance while it was trying to write to it. If the mongo driver drops the connection for any reason.
Another reason could be mongoose disconnecting before the creation of mongo document indexes.
You might try updating mongo.
There's also a mongo config setting that can easily in the database using too much memory and being killed by the kernel.

Ignore permission denied message from find command in Linux


This article covers how to resolve the error 'ignore permission denied message from find' which occurs while running a 'find' command in Linux.
The find command is used to locate files on a Linux or Unix like operating system.
The find command will search directory to match the supplied search criteria.
You can search for files by type, name, owner, group, date, permissions and more. By default the find will search all subdirectories for you.

Linux divides the file permissions into read, write and execute denoted by r,w, and x.
The permissions on a file can be changed by 'chmod' command which can be further divided into Absolute and Symbolic mode.
The 'chown' command can change the ownership of a file/directory.

If you prefer using the command line, you can easily find a file's permission settings with the ls command, used to list information about files/directories.
You can also add the –l option to the command to see the information in the long list format.

To change directory permissions in Linux, use the following:
1. chmod +rwx filename to add permissions.
2. chmod -rwx directoryname to remove permissions.
3. chmod +x filename to allow executable permissions.
4. chmod -wx filename to take out write and executable permissions.

Use Nmap to Scan Open Ports - How to


This article covers how to use Nmap to Scan Open Ports. Nmap is the world's leading port security network scanner. The Nmap hosted security tool can help you determine how well your firewall and security configuration is working.

How would you tell Nmap to scan all ports?
By default, Nmap scans the 1,000 most popular ports of each protocol it is asked to scan.
Alternatively, you can specify the -F (fast) option to scan only the 100 most common ports in each protocol or --top-ports to specify an arbitrary number of ports to scan.

The OS and Service scanning options are helpful for scanning a particular port or service to get more information.
If a service is running on a non-default port, it might be by design – or it might suggest there is a security breach.
Ports often have a default usage. Most ports under 1000 are dedicated and assigned to a specific service.

What file does Nmap use to determine which ports to scan?
Nmap needs an nmap-services file with frequency information in order to know which ports are the most common.

Malicious ("black hat") hackers (or crackers) commonly use port scanning software to find which ports are "open" (unfiltered) in a given computer, and whether or not an actual service is listening on that port. They can then attempt to exploit potential vulnerabilities in any services they find.

Checkpoint Process in SQL Server - An Insight into it


This article covers the Checkpoint process in SQL server and the four types of checkpoints available.
Checkpoints are the useful repositories of information and serve best for the recovery of SQL server databases.

Different Types of Checkpoint in #SQL:
1. Automatic Checkpoint
An automatic checkpoint is the most common type that is triggered by a background process. Server Configuration Option “Recovery Interval” is used by the SQL Server Database Engine to determine how often automatic checkpoints are issued on a given database.
2. Indirect Checkpoint
A new type of #checkpoint introduced in SQL Server 2012 is an Indirect checkpoint. Indirect checkpoint also runs in the background, but it meets user-specified target recovery time for a given database.
3. Manual Checkpoint
Manual checkpoint runs like any other Transact-SQL command. It runs to completion by default. This type of checkpoint occurs in the current database only. It is also possible to set the time frame in which you want your checkpoint completed.
4. Internal Checkpoint
The fourth type is Internal checkpoint that cannot be controlled by user.

Nginx Ingress with Cert-manager on DigitalOcean


This article covers how to set up Nginx ingress on DigitalOcean Kubernetes with cert-manager. Popular Ingress Controllers include Nginx, Contour, HAProxy, and Traefik. Ingresses provide a more efficient and flexible alternative to setting up multiple LoadBalancer services, each of which uses its own dedicated Load Balancer.
Here, you will learn how to set up an Nginx Ingress to load balance and route external requests to backend Services inside of your Kubernetes cluster.

You also secured the Ingress by installing the cert-manager certificate provisioner and setting up a Let's Encrypt certificate for two host paths.
Most Ingress Controllers use only one global Load Balancer for all Ingresses, which is more efficient than creating a Load Balancer per every Service you wish to expose.

Helm is a package manager for managing Kubernetes. Using Helm Charts with your Kubernetes provides configurability and lifecycle management to update, rollback, and delete a Kubernetes application.

Once you’ve set up the Ingress, you’ll install Cert Manager to your cluster to be able to automatically provision Let’s Encrypt TLS certificates to secure your Ingresses.

Website Iframe malware injection


This article covers methods to secure websites from iframe attacks. Iframes Bring Security Risks. If you create an iframe, your site becomes vulnerable to cross-site attacks. You may get a submittable malicious web form, phishing your users' personal data.
One of the most popular online attacks that happens all the time has to do with thousands of legitimate websites being hacked with the “Iframe code injection” attack resulting in Cross Site Scripting (XSS) or silent redirections to malicious websites.
This means that unsuspicious visitors get infected with a malware virus when they visit that legitimate websites.

What happens is that an “Iframe html code” is injected at the end (usually) of “index.php” or “index.html” files of the legitimate websites.
This “iframe” code embeds into the legitimate site a malicious code which installs a virus to the visitor’s PC or tries to steal sensitive information.

Some tips to clean the infection of your site:
1. First of all scan and clean your own computer which you use to connect to your site. The Trojan might be undetectable by some antivirus, so you better format the windows OS and install a fresh copy.
2. Change ALL your passwords and most importantly the FTP passwords and the website control panel passwords.
3. Download all files from your website and store them in a safe place on your PC to further analyze the infection.
4. If you have a recent clean backup of your website, upload the backup files and replace all current files.
5. If you don’t have a backup (shame on you!!) then edit all source code (html or PHP files) and search for <iframe> html commands inside the code. Delete the suspicious <iframe> and re-upload all html, php files to your website.
6. Download an antivirus tool which scans the website for <iframe> content.
If you use WordPress there are some great security plugins which scan your website's source code for infections and also protect the site with a firewall.

dbus launch terminated abnormally


This article covers tips to resolve this #dbus #error message, dbus-launch terminated abnormally. You need to install D-Bus. It is nothing but a message bus system, a simple way for applications to talk to one another.
In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a "single instance" application or daemon, and to launch applications and daemons on demand when their services are needed.
The dbus-launch command is used to start a session bus instance of dbus-daemon from a shell script.
It would normally be called from a user's login scripts.
With no arguments, dbus-launch will launch a session bus instance and print the address and PID of that instance to standard output.

To fix /bin/dbus-launch terminated abnormally without any error message on a CentOS/RHEL:
Type the following yum command to install D-Bus and Fonts:
$ sudo yum install dbus-x11

To install Fonts, type:
$ sudo yum groupinstall 'Fonts'

Now, you can run and tunnel X over ssh:
$ ssh -X user@server1.ibmimedia.com
$ xeyes
$ firefox

Procmail Suspicious rcfile message


This article covers how to resolve the error, Procmail: Suspicious rcfile message, though not a big issue, relates to file permission.
Procmail is autonomous mail processor.
#Procmail should be invoked automatically over the .forward file mechanism as soon as mail arrives.
It starts to look for a file named $HOME/.procmailrc.

formail is a filter that can be used to format mail into mailbox format
lockfile is a utility that can lock a file for single use interactively or in a script
mailstat prints a summary report of mail that has been filtered by procmail since the last time mailstat was ran
procmail is an autonomous mail processor. It performs all the functions of an MDA (Mail Delivery Agent)

The rcfile can contain a mixture of environment variable assignments (some of which have special meanings to procmail), and recipes.
This is not really a big problem. It is related to file permission.
Use chmod command (change file access permissions) to fix problem (assuming that your user name is vivek):
$ chmod 0640 /home/you/.procmailrc
OR
$ chmod 0640 ~/.procmailrc

Further, make sure the .procmailrc file is owned by you and not by someone else:
$ ls  ~/.procmailrc

If file is not owned by you then use chown command to setup correct ownership (if your user name is vivek):
# chown ibmimedia:ibmimedia ~/.procmailrc

Finally make sure your home directory belongs to you only:
$ ls ~

Use chown to setup correct group permission on your home directory:
# chown ibmimedia:ibmimedia /home/ibmimedia

Install OpenBSD As Guest Operating System using KVM virt-install


This article covers how to install OpenBSD as guest operating while using KVM. OpenBSD is well know for focus on security features such as Memory protection, cryptography, randomization and much more in default base installation.
virt-install provides the option of supporting graphics for the guest operating system installation. This is achieved through use of QEMU.

virt-install is a command line tool for creating new KVM, Xen, or Linux container guests using the libvirt hypervisor management library
The virt-install tool provides a number of options that can be passed on the command line.

To see a complete list of options run the following command:
# virt-install --help

Troubleshoot KVM Virtualization Problem


This article covers how to troubleshoot KVM virtualization problem.


Log file locations and tools used to track down #KVM #problems are:
1. $HOME/.virtinst/virt-install.log – virt-install tool log file.
2. $HOME/.virt-manager/virt-manager.log – virt-manager tool log file.
3. /var/log/libvirt/qemu/ – Log files for each running virtual machine. If centos is virtual machine name, than log file is /var/log/libvirt/qemu/centos.log.

You can use the grep and other Linux tools to view this files:
# tail -f /var/log/libvirt/qemu/freebsd.log
# grep something $HOME/.virtinst/virt-install.log
$ sudo tail -f /var/log/libvirt/qemu/openbsd.log

Hyper-V backups can fail for any number of reasons, but there are some things to look for when backups don’t work the way that they are supposed to.
When backups fail, the first thing that you should do is to check the backup logs in an effort to learn more about the problem.
Specifically, you need to determine if the problem is confined to a particular host, a particular virtual machine, or perhaps related to the backup target itself.

Perform Monitoring with PRTG


This article covers how to use #monitoring with PRTG. With PRTG. Today, nearly every business relies on a computer and network infrastructure for internet, internal management, telephone, and email.
Here comes the role of PRTG to ensure that business data flows seamlessly between employees, offices, and customers.


Monitoring availability, bandwidth, and usage of your network is easy when you have PRTG. As a versatile solution, PRTG adapts to your needs and supports you with monitoring your application servers and services as whole and not only separate single aspects of these.
To set up your network monitoring, download the PRTG installer from the Paessler website and follow the steps in the installation wizard, or set up a PRTG Hosted Monitor instance on https://www.paessler.com/prtg-hosted-monitor and install a remote probe in your LAN.
PRTG Network Monitor is Paessler's powerful network monitoring solution.

In #PRTG, you can view Toplists for all xFlow sensors. xFlows are monitoring data pushed from network devices to PRTG.
You can use them to monitor where and how much data is traveling to and from.
This way, they determine which machine, protocol, or user is consuming bandwidth.

Remote probes allow you to monitor different sub-networks that are separated from your PRTG on premises core server by a firewall and to keep an eye on remote locations. You can install one or more remote probes.

The best network monitoring tools:
1. SolarWinds Network Performance Monitor (FREE TRIAL).
2. Datadog Network Performance Monitoring (FREE TRIAL).
3. ManageEngine OpManager (FREE TRIAL).
4. Progress WhatsUp Gold (FREE TRIAL).
5. Site24x7 Network Monitoring (FREE TRIAL).
6. Paessler PRTG Network Monitor (FREE TRIAL).
7. Nagios Core.
8. Zabbix.

Plesk Panel Database issues


This article covers the different #Plesk database errors. The main reason for database issues in Plesk is the misconfiguration of the PSA database.
Plesk employs the native functionality of database management tools for checking and repairing databases.
For example, for #MySQL databases it uses the mysqlcheck utility.

To check and repair a #database:
1. Go to Websites & Domains > Databases > Check and Repair in a database tools pane.
2. If problems are found, click the link See Details and Resolve.
3. The list of tables and corresponding problems will open.
For MySQL databases, you can choose the tables that you would like to repair.
For Microsoft SQL databases, you can repair an entire database only.
Click Repair Selected (for MySQL) or Repair (for Microsoft SQL).

Nginx ingress on DigitalOcean kubernetes using Helm


This article covers how to set up Nginx ingress on DigitalOcean Kubernetes using Helm. To implement this successfully, an Ingress Controller must be present; its role is to implement the rules by accepting traffic (most likely via a Load Balancer) and routing it to the appropriate Services.
Most Ingress Controllers use only one global Load Balancer for all Ingresses, which is more efficient than creating a Load Balancer per every Service you wish to expose.

To install the Nginx Ingress Controller to your cluster, run the following command:
$ helm install nginx-ingress stable/nginx-ingress --set controller.publishService.enabled=true
This command installs the Nginx Ingress Controller from the stable charts repository, names the Helm release nginx-ingress, and sets the publishService parameter to true.

Limit cPanel bandwidth using mod_cband


This article covers how to limit cPanel bandwidth using mod_cband. In order to compile mod_cband, we must have apxs2 installed.
We can achieve that by doing this:
$ apt-get install apache2-prefork-dev

Next we download and install mod_cband like this:
cd /tmp
wget http://cband.linux.pl/download/mod-cband-0.9.7.4.tgz
tar xzvf mod-cband-0.9.7.4.tgz
cd mod-cband-0.9.7.4
./configure
make
make install

The make install command should have added the mod_cband module to /etc/apache2/httpd.conf. Run:
$ vi /etc/apache2/httpd.conf
and check if you find a line like this:
LoadModule cband_module       /usr/lib/apache2/modules/mod_cband.so

Finally restart Apache:
/etc/init.d/apache2 restart
The mod_cband installation is now finished.

Failed to restart network service CentOS error


This article covers methods to fix 'Failed to restart network.service' on both RHEL 7 and RHEL 8. You can use "NetworkManager.service" as the default networking service in RHEL 8.
Red Hat Enterprise Linux 8 uses the default networking service, NetworkManager, which is a dynamic network control and configuration daemon to keep network devices and connections up and active when they are available.

If any of these scripts are required, the installation of the deprecated network scripts in the system is still possible with the following command:

# yum install network-scripts

In RHEL 7 /etc/rc.d/init.d/network was owned by initscripts but with RHEL 8 this tool is part of network-scripts rpm.

Also, you can restart you network by issuing following command:

sudo systemctl restart NetworkManager.service


You can also stop and start it by issuing:

sudo systemctl stop NetworkManager.service
sudo systemctl start NetworkManager.service

Ubuntu error Some index files failed to download


This article covers methods to fix #Ubuntu #error "Some index files failed to download". You can resolve this error by copying the contents of the sources list file from another functional Ubuntu system and paste them into your system's sources list file.

To install community-supported #software packages, proprietary packages, and packages not available under a completely free license, you might consider enabling the following repositories:
1. Universe – Community-maintained free and open-source software.
2. Restricted – Proprietary drivers for devices.
3. Multiverse – Software restricted by copyright or legal issues.

To enable these #repositories, invoke the commands below:
$ sudo add-apt-repository restricted
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository universe

Then update your package lists:
$ sudo apt update

Migrate database from MySQL to PostgreSQL using pgLoader


This article covers how to migrate a database using pgLoader with a single #command.
PostgreSQL, also known as “Postgres,” is an open-source relational database management system (RDBMS).
It has seen a drastic growth in popularity in recent years, with many developers and companies migrating their data to Postgres from other database solutions.
The prospect of migrating a database can be intimidating, especially when migrating from one database management system to another.

Facts about pgLoader:
1. pgLoader is an open-source #database migration tool that aims to simplify the process of migrating to #PostgreSQL.
2. It supports #migrations from several file types and RBDMSs — including #MySQL and SQLite — to PostgreSQL.
3. #pgLoader is a flexible tool that can perform a database migration in a single command.
4. With a few configuration tweaks, it can migrate an entire database from one physical machine to another using a secure SSL/TLS connection.

DirectAdmin error is not a valid username


This article covers tips to resolve DirectAdmin error: is not a valid username which happens if the username length of the account is larger than the value set in the DirectAdmin configuration file.
To fix DirectAdmin Admin Backup/Transfer restore error with no details,  try to restore to a number than 10 characters.
You have to edit directadmin configuration and set this variable.
[root@mx ~]# vi /usr/local/directadmin/conf/directadmin.conf
then edit max_username_length to larger value. I my example 20.
max_username_length=20

DirectAdmin invalid characters in mail autoresponder


This article covers tips to resolve invalid character error in mail-in DirectAdmin.
The reason for this error is that Oracle sees a character that it considers invalid.
If you use a special character in a table or column name, then try putting double quotation-marks around the name.
If you use a special character in a value, put quotation marks around it.
If you look closely, you'll notice a punctuation mark of some sort between "Character" and "Invalid."
This means you have included punctuation marks in the information you typed into that field.
Remove all punctuation marks, symbols, or other special characters and you will be able to proceed.

To fix #DirectAdmin #error: Invalid characters in mail autoresponder:
1. You have to set correct encoding for Directadmin theme that is used. In this case, default “enhanced” theme was used so I edited accordingly:
vi /usr/local/directadmin/data/skins/enhanced/lang/en/lf_standard.html
2. Then find variable “LANG_ENCODING” and correct it to your needs. In my case:
LANG_ENCODING=UTF-8

Tips to secure mail server


This article covers some tips to secure a mail server.

Email on the internet is sent by the Simple Mail Transfer Protocol (SMTP). Where a mail flow between servers is not encrypted, it could be intercepted by an ISP or government agency and the contents can be read by passive monitoring.
Basically, When emails are sent between two parties, unless BOTH parties use encryption the message is open and can be read by anyone who intercepts it.
Any emails sent to and received from mailboxes that only send cleartext emails should be considered as security liabilities.

Tips on how to secure your mail server:
1. Encryption: When securing your mail server, make sure you are using secure connections. Encrypt POP3 and IMAP authentication and use SSL and TLS.

2. Mail relay configuration: Avoid being an open relay for spammers by specifying which domains/IP addresses your mail server will relay mail for.

3. Connections and default settings: To avoid DoS attacks, limit the number of connection and authentication errors that your systems will accept. Remove unneeded server functionality by disabling any unnecessary default settings. Have a dedicated mail server and move other services like FTP to other servers. Keep total, simultaneous, and maximum connections to your SMTP server limited.

4. Access Control: To protect your server from unauthorized access, implement authentication and access control. For example, SMTP authentication requires users to supply a username and password to be able to send mail from the server. Make sure access to your servers is on a need-to-have basis and is shared with as few people as possible.

5. Abuse prevention: Check DNS-based blacklists (DNSBLs) and reject email from any domains or IPs listed on them. Check Spam URI Real-time Blocklists (SURBL), and reject any messages containing invalid or malicious links.
Also, maintain a local blacklist and block any IP addresses that specifically target you. Employ outbound filtering and use CAPTCHA/reCAPTCHA with your web forms.

Ansible error Shared connection to server closed


This article covers the Shared connection to server closed error which occur when we run an Ansible command to execute commands on two newly deployed CentOS 8 servers.
Ansible is an open-source automation tool, or platform, used for IT tasks such as configuration management, application deployment, intraservice orchestration, and provisioning.
While you can write Ansible modules in any language, most Ansible modules are written in Python, including the ones central to letting Ansible work. By default, Ansible assumes it can find a /usr/bin/python on your remote system that is either Python2, version 2.6 or higher or Python3, 3.5 or higher.

A quick fix to Ansible error Shared connection to server closed is to just add the path to python 3 in your inventory file.
It would look something like this:
ip_address ansible_python_interpreter=/usr/bin/python3
Then you could test if it works with the ping module:
ansible -m ping all

From the error details, the connection failed because the shell(s) in the remote system couldn't find the Python interpreter (/usr/bin/python) as indicated by the line: "module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n".
After checking the remote hosts, we discovered that the systems don't have Python 2 installed.
Check Python Binary
They have Python 3 installed by default and its binary is /usr/bin/python3.

According to the Ansible documentation, Ansible (2.5 and above) works with Python version 3 and above only.
Also, Ansible is supposed to automatically detect and use Python 3 on many platforms that ship with it.
However, if it fails to, then you can explicitly configure a Python 3 interpreter by setting the ansible_python_interpreter inventory variable at a group or host level to the location of a Python 3 interpreter.

Manage Networking with NetworkManager in RHEL CentOS 8


This article covers NetworkManager daemon for managing the networking service to dynamically configure and control network devices and keep connections up and active when they are available.
Netstat is a command line utility that can be used to list out all the network (socket) connections on a system.
It lists out all the tcp, udp socket connections and the unix socket connections.
To reboot Linux using the command line: To reboot the Linux system from a terminal session, sign in or “su”/”sudo” to the “root” account.
Then type “ sudo reboot ” to reboot the box. Wait for some time and the Linux server will reboot itself.

To troubleshoot network connectivity with Linux server:
i. Check your network configuration.
ii. Check the network configuration file.
iii. Check the servers DNS records.
iv. Test the connection both ways.
v. Find out where the connection fails.
vi. Firewall settings.
vii. Check Host status information.

To change the hostname in Linux Ubuntu:
i. Type the following command to edit /etc/hostname using nano or vi text editor: sudo nano /etc/hostname. Delete the old name and setup new name.
ii. Next Edit the /etc/hosts file: sudo nano /etc/hosts.
iii. Reboot the system to changes take effect: sudo reboot.

To reinstall #network service in #Linux (#Ubuntu / #Debian):
i. Use the following command to restart the server networking service. # sudo /etc/init.d/networking restart or
# sudo /etc/init.d/networking stop # sudo /etc/init.d/networking start else # sudo systemctl restart networking.
ii. Once this done, use the following command to check the server network status.

Django Application with Kubernetes


This article covers deploying a Scalable and Secure Django Application. Kubernetes is a powerful open-source container orchestrator.
Kubernetes is a powerful open-source container orchestrator that automates the deployment, scaling and management of containerized applications.
Kubernetes objects like ConfigMaps and Secrets allow you to centralize and decouple configuration from your containers, while controllers like Deployments automatically restart failed containers and enable quick scaling of container replicas.
TLS encryption is enabled with an Ingress object and the ingress-nginx open-source Ingress Controller.
The cert-manager Kubernetes add-on renews and issues certificates using the free Let’s Encrypt certificate authority.

Scanners For Security Linux Servers


This article covers a few good scanners for securing #Linux Servers.
ClamAV ranked 13 out of 16 for Linux malware and viruses beating McAfee, Comodo and F-prot.
To run a ClamAV scan in Linux, you can open a terminal and insert “sudo apt-get install clamav” and press enter.
You may also build ClamAV from sources to benefit from better scanning performance.
To update the signatures, you type “sudo freshclam” on a terminal session and press enter.
Now we are ready to scan our system.
clamscan is a #command line tool which uses libclamav to scan files and/or directories for viruses. Unlike clamdscan , clamscan does not require a running clamd instance to function. Instead, clamscan will create a new engine and load in the virus database each time it is run.
Clam AntiVirus (#ClamAV) is one such open-source antivirus software that helps to detect many types of malicious software including viruses.

Rootkits are a type of malware that are designed so that they can remain hidden on your computer. But while you might not notice them, they are active. Rootkits give cybercriminals the ability to remotely control your computer.

SQL Server Memory Allocation


This article covers SQL server memory allocation best practices to follow while allocating memory.
By default, SQL Server can change its memory requirements dynamically based on available system resources.
SQL Server is designed to use all the memory on the server by default.
The reason for this is that #SQL Server cache the data in the database in #RAM so that it can access the data faster than it could if it needed to read the data from the disk every time a user needed it.
Changing SQL Server's Max Server memory is an online option – you don't need to restart SQL Server.
Though when you do make the change, you can and likely will cause data or procs to leave their caches so things could be a slight bit slower for a short while after you run it.
SQL Server will always give you better performance because the query is executed on the server.
Access on the back-end won't help because your client application will need to pull all the data from the tables, and then perform the join locally.
SQL Server has better indexing options.
'Max server memory' ensures that SQL Server buffer pool will not use more memory than specified in 'max server memory'.
So, SQL Server can use less memory than the value of 'max server memory' and other services can use the remaining memory.

You can monitor memory use at the database level as follows:
1. Launch SQL Server Management Studio and connect to a server.
2. In Object Explorer, right-click the database you want reports on.
3. In the context menu select, Reports -> Standard Reports -> Memory Usage By Memory Optimized Objects.

HTTP Client in Node js


This article covers how to create HTTP Client in Node.js. Here, we performed GET, POST, PUT, and DELETE requests in Node.js. Node HTTP tutorial shows how to create HTTP server and client applications in JavaScript with HTTP module.
HTTP is a Node.js module which can be used to create HTTP server and client applications in JavaScript.
Node.js comes bundled with an http and an https module. These modules have functions to create an HTTP server so that a Node.js program can respond to HTTP requests. They can also make HTTP requests to other servers.
Popular JavaScript frameworks including Express and HapiJS are built on top of the HTTP module.

To Set up HTTP:
1. First, we install the HTTP module.
$ node -v
$ npm init -y
2. We initiate a new Node.js application.
$ npm i http
3. We install HTTP with npm i http command.

KVM live migration to resolve performance issues


This article covers how to use KVM live migration to achieve load balancing which is important in a server virtualization system to maintain server performance.
Migration enables an administrator to move a virtual machine instance from one compute host to another. A typical scenario is planned maintenance on the source host, but migration can also be useful to redistribute the load when many VM instances are running on a specific physical machine.

Kernel-based Virtual Machine (KVM) is an open source virtualization technology built into Linux.
Specifically, KVM lets you turn #Linux into a #hypervisor that allows a host machine to run multiple, isolated virtual environments called guests or virtual machines (VMs).

Live migration of virtual machines is necessary when you need to achieve high-availability setups and load distribution.
The #KVM hypervisor has been a powerful alternative to Xen and VMware in the Linux world for several years.
To make the virtualization solution suitable for enterprise use, the developers are continually integrating new and useful features.
An example of this is live migration of virtual machines (VMs).

Live #migration involves:
The instance keeps running throughout the migration.
This is useful when it is not possible or desirable to stop the application running on the instance.
Live migrations can be classified further by the way they treat instance storage:
1. Shared storage-based live migration. The instance has ephemeral disks that are located on storage shared between the source and destination hosts.
2. Block live migration, or simply block migration. The instance has ephemeral disks that are not shared between the source and destination hosts. Block migration is incompatible with read-only devices such as CD-ROMs and Configuration Drive (config_drive).
3. Volume-backed live migration. Instances use volumes rather than ephemeral disks.

Block live migration requires copying disks from the source to the destination host.
It takes more time and puts more load on the network. Shared-storage and volume-backed live migration does not copy disks.

Malicious TMP files and processes


This article covers method to resolve malicious tmp processes. Most malware installers delete itself and these TMP files after successful installation.
The use of TMP files for atomicity is an advantage attackers currently enjoy.
They could have done this operation in any folder of the system, but they choose to use the standard Windows Temp folder.
The first thing a malware installer (first stage of infection) does when executed on a target system - be it a dropper or downloader - is to install a copy of the malware and its components into their corresponding location in the system.

Docker error while loading shared libraries


This article covers how to fix docker #error while loading shared libraries which happens in the process of building a docker image.
The docker run command creates a container from a given image and starts the container using a given command. It is one of the first commands you should become familiar with when starting to work with #Docker.
Docker containers make it easy to put new versions of software, with new business features, into production quickly—and to quickly roll back to a previous version if you need to.
They also make it easier to implement strategies like blue/green deployments.

To stop all running containers:
1. kill all running #containers with docker kill $(docker ps -q)
2. delete all stopped containers with docker rm $(docker ps -a -q)
3. delete all images with docker rmi $(docker images -q)
4. update and stop a container that is in a crash-loop with docker update --restart=no && docker stop.

Install vnStat in Linux to monitor network traffic


This article covers how to install and configure vnStat in Linux. Also, you will see how to resolve some common errors relating to it.
#vnStat (view network statistics) is a network utility for the #Linux operating system.
It uses a command line interface. vnStat command is a console-based network #traffic #monitor.
It keeps a log of hourly, daily and monthly network traffic for the selected interface(s) but is not a packet sniffer.

Features of vnStat:
1. quick and simple to install and get running
2. gathered statistics persists through system reboots
3. can monitor multiple interfaces at the same time
4. data retention duration is fully user configurable on the fly
5. months can be configured to follow billing period
6. light, minimal resource usage
7. same low cpu usage regardless of traffic
8. can be used without root permissions
9. online color configuration editor

Automate WordPress Deployments using Buddy


This article covers how to automate #WordPress #deployments using Buddy. Buddy has become the foundation of every WordPress project you need to create. With Buddy you can run really complicated deployments with just one click. It also helps me to update plugins and monitor the uptime.
You can automate anything including sales, marketing, administrative tasks, learning and any other kind of processes you want letting you save time and get focused on your most important work.
BackupBuddy is one of the most reliable WordPress backup plugins that can help you back up your whole WordPress website installation.

Features of #Buddy:
1. Composer - Automatically install dependencies on server on every commit.
2. Zero-downtime deployments - Ensure 100% uptime of your websites with preconfigured atomic deployment templates.
3. Test-ready - Easily introduce unit and browser tests to improve the quality of your websites.
4. Docker support - Standarize your development environment and fast-track release times with Docker.
5. Real-time monitoring - Monitor websites for performance, SEO, and accessibility. Receive warnings when things go wrong.
6. WP-CLI - Run WordPress scripts to perform backups, update WP core, and migrate DB's.

Hardening an Ubuntu Server


This article covers the the importance of passwords, user roles, console security, and #firewalls all of which are imperative to protecting Linux servers.
Hardening an #Ubuntu server is a critical step in any server setup procedure.
Any time that a new server is being brought up to host services, whether production, development, internal or external, the server's operating system must be made as secure as possible.


To make your Ubuntu #Linux server secure:
1. Secure Server Connectivity
2. Establish and Use a Secure Connection.
3. Use SSH Keys Authentication.
4. Secure File Transfer Protocol.
5. Secure Sockets Layer Certificates.
6. Use Private Networks and VPNs.
7. Monitor Login Attempts.
8. Manage Users.
9. Establish Password Requirements.

Configure AWS load balancer with Cloudformation


This article will guide you on how to create an Application Load balancer and its dependencies using CloudFormation. 

Load balancing is defined as the methodical and efficient distribution of network or application traffic across multiple servers in a server farm. 

Each load balancer sits between client devices and backend servers, receiving and then distributing incoming requests to any available server capable of fulfilling them.

Software load balancers is that hardware load balancers require proprietary, rack-and-stack hardware appliances, while software load balancers are simply installed on standard x86 servers or virtual machines.

Another critical difference between hardware and software load balancers lies in the ability to scale.


Elastic Load Balancing supports the following types of load balancers: 

1. Application Load Balancers, Network Load Balancers, and Classic Load Balancers. 

2. Amazon ECS services can use either type of load balancer. 

3. Application Load Balancers are used to route HTTP/HTTPS (or Layer 7) traffic.

AWS error establishing a database connection


AWS error establishing a database connection happens as a result of different reasons that include corrupt MySQL, webserver down, bot hitting the server load, and so on.

AWS Error establishing a database connection means that the username and password information in your wp-config.php file is incorrect or we can't contact the database server.

This could mean your host's database server is down.

Are you sure you have the correct username and password?

Are you sure that you have typed the correct hostname?

Are you sure that the database server is running?

The inability to connect to an Amazon RDS DB instance can have a number of root causes. The wrong DNS name or endpoint was used to connect to the DB instance. 

The Multi-AZ DB instance failed over, and the secondary DB instance uses a subnet or route table that doesn't allow inbound connections.

Distributed Tracing with Jaeger on Kubernetes


This article will guide you on implementing Distributed Tracing with Jaeger on Kubernetes where you will be able to find the cause of our irregular response time. 

The Jaeger agent is a network daemon that listens for spans sent over UDP, which it batches and sends to the collector. It is designed to be deployed to all hosts as an infrastructure component. 

The agent abstracts the routing and discovery of the collectors away from the client.

1. Application tracing allows you to log information when a program is executing. 

2. Tracing is used to help you identify issues with your application (performance of the app or simply debugging an issue) instead of going through stack traces.

3. At a high level, log monitoring helps to speed up the process of identifying specific exceptions, when these exceptions occur and the frequency at which they occur. 4. Additionally, it provides developers and support personnel with a greater level of visibility into the systems and applications being monitored.

5. Insufficient logging and monitoring vulnerability occur when the security-critical event is not logged off properly, and the system is not monitored. 

6. Lack of such functionalities can make malicious activities harder to detect and in turn affects the incident handling process.

Customer Lifetime Value importance


This article will guide you on what #Customer Lifetime Value importance is and the methods calculate it.

Lifetime value is the best metric for long-term planning. It tells you how much money your #business can count on from each customer, in addition to how many months or years you can rely on it. 

Customer lifetime value is a key metric that a business can rally around to understand long-term profitability.

This approach helps organizations demonstrate the future value they can generate from their marketing initiatives.


Some actionable ways to use your customer lifetime value:

1. Benchmark Your Efforts. Let's start with the most basic way to use your CLV.

2. Decide where to Invest for CLV Growth.

3. Discover Your Most Profitable Acquisition Channel.

4. Discover Your Most Profitable Customer.

5. Handle Customer Complaints.

Shadow Redundancy Exchange Server 2016


This article will guide you on the features of Shadow Redundancy #Exchange Server 2016. 

To remove all messages from a particular queue, click the Queues tab. 

Select a queue, right-click, and then select Remove #Messages (with NDR) or Remove Messages (without NDR).

Submission queue. #Mailbox servers and Edge Transport servers. Holds messages that have been accepted by the Transport service, but haven't been processed. Messages in the Submission queue are either waiting to be processed, or are actively being processed.


Advantages and Features of Exchange Server 2016:

1. Improved search experience. Thanks to the asynchronous and decentralized architecture.

2. New cloud-focused architecture that supports mobility.

3. Easier collaboration on SharePoint and OneDrive.

4. Faster failover and failure isolation.

5. Outlook on the web and Outlook app feature enhancement.

Install Linux Software Via Command line


This article will guide you on methods to install #Linux #Software via command line. #Debian, Ubuntu, Mint, and other Debian-based distributions all use . deb files and the dpkg package management system. There are two ways to install apps via this system. You can use the apt application to install from a repository, or you can use the dpkg app to install apps from .


To compile a program from a source in Linux:

i. Open a console.

ii. Use the #command cd to navigate to the correct folder. If there is a README file with installation instructions, use that instead.

iii. Extract the files with one of the commands.

iv. ./configure.

v. make.

vi. sudo make install (or with checkinstall ).


To Check os version in Linux:

1. Open the #terminal application (bash shell)

2. For remote server login using the ssh: ssh user@server-name.

3. Type any one of the following command to find os name and version in Linux: cat /etc/os-release. lsb_release -a. hostnamectl.

4. Type the following command to find Linux kernel version: uname -r.

Docker error initializing network controller


This article will guide you on tips to resolve the error 'Docker error initializing network controller'. This docker error happens in the process of trying to start the docker service. 

To fix docker failed to start daemon: Error initializing network controller no network available:

Add a docker0 bridge interface;

# ip link add name docker0 type bridge

# ip addr add dev docker0 172.17.0.1/16


Docker originally used Linux Containers (LXC) and was designed for Linux kernel only.

In the case of Windows, Docker uses Hyper-V which is in-built virtualization technology provided by Windows. Docker uses Hypervisor framework in the case of MacOs for virtualization.

Docker is a platform and tool for building, distributing, and running Docker containers.

Kubernetes is a container orchestration system for Docker containers that is more extensive than Docker Swarm and is meant to coordinate clusters of nodes at scale in production in an efficient manner.

Best practices for Azure Cache for Redis


This article will guide you on some of the Best practices for Azure Cache for Redis. By following these best practices, you can help maximize the performance and cost-effective use of your Azure Cache for Redis instance.


1. Use Standard or Premium tier for production systems. The Basic tier is a single node system with no data replication and no SLA.

2. Remember that Redis is an in-memory data store. 

3. Develop your system such that it can handle connection blips because of patching and failover.

4. Configure your maxmemory-reserved setting to improve system responsiveness under memory pressure conditions.

5. Redis works best with smaller values, so consider chopping up bigger data into multiple keys.

6. Locate your cache instance and your application in the same region. Connecting to a cache in a different region can significantly increase latency and reduce reliability. 

7. Reuse connections. Creating new connections is expensive and increases latency, so reuse connections as much as possible. 

8. Configure your client library to use a connect timeout of at least 15 seconds, giving the system time to connect even under higher CPU conditions.

AWS error code 0x204


This article will guide you on methods to fix AWS #error code 0x204 which happens in the process of trying to login to a remote machine on VPC.

Amazon Virtual Private #Cloud (Amazon #VPC) is a service that lets you launch AWS resources in a logically isolated virtual network that you define. You can use both IPv4 and IPv6 for most resources in your virtual private cloud, helping to ensure secure and easy access to resources and applications.


To enable RDP access on AWS instance:

i. Open the Amazon EC2 console , set it to the stack's region, and choose Security Groups from the navigation pane. 

ii. Choose AWS-OpsWorks-RDP-Server, choose the Inbound tab, and choose Edit. 

iii. Choose Add Rule and specify the following settings: Type – RDP.


To connect from the #Amazon EC2 console:

1. Open the Amazon #EC2 console.

2. In the left navigation pane, choose Instances and select the instance to which to connect.

3. Choose Connect.

4. On the Connect To Your Instance page, choose EC2 Instance Connect (browser-based SSH connection), Connect.

ModSecurity failed to open the audit log file error


This article will guide you on methods to resolve the error 'ModSecurity failed to open the audit log file' which occur as a result of a missing log files or due to improper permissions.

1. Setting ownership to www-data:www-data and file permissions from 600 to 660 will fix this problem.

2. Ensure that the permissions are properly configured on these files.

Execute the command below:

chmod 0644 /etc/apache2/logs/error_log

chmod 0600 /etc/apache2/logs/modsec_audit.log

The modsec log files are assigned 0600 permissions by default, whereas the error_log is assigned 0644 permissions by default.

3. mkdir permission denied signifies that the user you're running the mkdir as, doesn't have permissions to create new directory in the location you specified. 

You should use ls command on the higher level directory to confirm permissions.

4. The mkdir command by default gives rwx permissions for the current user only. To add read, write, and execute permission for all users, add the -m option with the user 777 when creating a directory.

Install Azure PowerShell module


This article will guide you on how to install the Azure PowerShell module using the cmdlets method and through offline.

Azure CLI is available on #Windows, Mac, Linux, etc. Azure cloud shell is another option that can be browser-accessible and authenticated. 

Azure cloud shell gives you options to choose from either bash or Powershell. 

The Get-Command cmdlet gets all #commands that are installed on the computer, including cmdlets, aliases, functions, filters, scripts, and applications. 

Get-Command gets the commands from #PowerShell modules and commands that were imported from other sessions.

We can use Windows Powershell for managing Azure resources by installing az module.

To install the Azure PowerShell #module, run the following command. Make sure that the Windows PowerShell ISE is opened in "run as administrator” mode. 

By default, the PowerShell gallery is not configured as a Trusted repository for PowerShellGet. 

Click on “Yes to All” to continue with the installation.


Modules included in Azure PowerShell:

1. Azure PowerShell Az. Automation.

2. Azure PowerShell AzureRM. Automation.

3. Other PowerShell modules.

4. Internal Orchestrator. AssetManagement. Cmdlets module.

5. Python 2 modules.

6. Custom modules that you create.

Deploying PHP Guestbook application with Redis


This guide will guide you on how to Deploy #PHP Guestbook application with Redis. An effective way of Deploying PHP Guestbook application with Redis is with the use of the Kubernetes cluster.

Redis is a powerful tool for data storage and #caching. 

Redis Cluster extends the functionality by offering sharding and correlated performance benefits, linear scaling, and higher availability because of how Redis stores data. 

The data is automatically split among multiple nodes, which allows operations to continue, even when a subset of the nodes are experiencing failures or are unable to communicate with the rest of the cluster.


Benefits of using #Redis:

1. It is incredibly fast. It is written in ANSI C and runs on POSIX systems such as Linux, Mac OS X, and Solaris.

2. Redis is often ranked the most popular key/value database and the most popular NoSQL database used with containers.

3. Its caching solution reduces the number of calls to a cloud database backend.

4. It can be accessed by applications through its client API library.

5. Redis is supported by all of the popular programming languages.

6. It is open source and stable.


Phpmyadmin keeps asking for password


This article will guide you on tips to resolve phpMyAdmin error when it keeps asking for a password to login.

This #phpMyAdmin problem can arise due to many different reasons that include browser cache issues, using an incorrect password, drive being full, and so on. 

To fix this problem, you need to reset the cPanel password as follows:

1. Login to WHM at https://<your vps ip>:20871) as user root, using the server's root password.

2. Go to 'Home >> Account Information >> List Accounts'.

3. Click on the + sign near the domain for which you want to change the cPanel password. 4. You can see an option there to change the password.

5. Select the option "Sync #Mysql password with account password" and change password.

oVirt Server unable to upload image to disk


This article will guide you on ways to resolve 'ovirt: unable to upload image to disk' error.

You can upload virtual disk images and ISO images to your data storage domain in the Administration Portal or with the REST API.

QEMU-compatible virtual disks can be attached to virtual machines. Virtual disk types must be either QCOW2 or raw. Disks created from a QCOW2 virtual disk cannot be shareable, and the QCOW2 virtual disk file must not have a backing file.

ISO images can be attached to virtual machines as CDROMs or used to boot virtual machines.


To Upload an Image to a Data Storage Domain:

1. Click Storage - Disks.

2. Select Start from the Upload menu.

3. Click Choose File and select the image to upload.

4. Fill in the Disk Options fields.

5. Click OK.

A progress bar indicates the status of the upload. You can pause, cancel, or resume uploads from the Upload menu.

KVM hypervisor How it Works


This article will guide you on how the KVM #hypervisor works. Basically, KVM is a type-2 hypervisor (installed on top of another OS, in this case some flavor of #Linux). 

It runs, however, like a type-1 hypervisor and can provide the power and functionality of even the most complex and powerful type-1 hypervisors, depending on the tools that are used with the KVM package itself.

KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).

Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images.

1. The main difference between Type 1 vs. Type 2 hypervisors is that Type 1 runs on bare metal and Type 2 runs on top of an operating system. 

2. Each hypervisor type also has its own pros and cons and specific use cases.

3. Xen is better than #KVM in terms of virtual storage support, high availability, enhanced security, virtual network support, power management, fault tolerance, real-time support, and virtual CPU scalability.

4. A Type 1 hypervisor takes the place of the host operating system. 

5. Type 1 hypervisors are highly efficient because they have direct access to physical hardware. 

6. This also increases their security, because there is nothing in between them and the CPU that an attacker could compromise.

Litespeed vs Nginx which is more efficient


This article will guide you about LiteSpeed vs Nginx on a performance basis. Basically,  LiteSpeed web server is much better in performance than the #NGINX server. 

However, it has not yet gained much popularity when compared to NGINX.

1. #LiteSpeed and Nginx use an event-driven architecture. 

2. Both are really good at serving static files, uses dramatically less memory and can handle more than four times more requests per second when compared to Apache.

3. HTTP/2 performance is a crucial metric for any modern web server. 

4. LiteSpeed takes HTTP/2 performance seriously with improvements.

Build serverless web application with AWS lambda


This article will guide you on how to build serverless Web Application AWS #Lambda. 

1. The application architecture uses #AWS Lambda, Amazon API Gateway, Amazon DynamoDB, Amazon Cognito, and AWS Amplify Console. 

2. Amplify Console provides continuous deployment and hosting of the static web resources including HTML, CSS, JavaScript, and image files which are loaded in the user's browser. 

3. JavaScript executed in the browser sends and receives data from a public backend API built using Lambda and API Gateway. 

4. Amazon Cognito provides user management and authentication functions to secure the backend API. 

5. Finally, #DynamoDB provides a persistence layer where data can be stored by the API's Lambda function.

NTFS partition failed to mount


This article will guide you on methods to resolve NTFS partition failed to mount error. 

Causes of NTFS partition failed to mount error:

1. File system errors

After using #NTFS drive in #Windows you have detached it without removing it safely. Therefore NTFS journal has not been emptied from temporary streams.

To fix the problem:

i. Open Disk Utility under #Mac OS X. 

ii. You will find it in Applications – Utilities.

iii. Choose NTFS partition on the left and find First Aid tab on the right. 

iv. Under this tab you will find Verify Disk option. 

v. Run Verify and then Repair.

MySQL error 1819 HY000


This article will guide you on how to resolve MySQL error 1819 (HY000) which happens when creating a MySQL user with a relatively weak password.  

Because of validate_password_policy we applied on database, we are not able to change and assign simple or weak passwords it don't allow to to change password and came up with error.

To resolve this error, We can check validate_password_policy applied on machine. Also you can change your password under Low policy.


Solution to MySQL Error Your Password does not satisfy the Current Policy Requirements:

1. Set the Password_policy value to low, next is setting the same Password_Policy value in my.cnf file and the last is uninstalling the plugin that is used for validating password.

2. Set the Password_Policy to low:

Default Password level of plugin can be changed at runtime or using config file. 

To do this, default authentication plugin has to be checked:

SHOW VARIABLES LIKE 'default authentication plugin';

3. For checking the current variables for validating the password you should run the following command:

SHOW VARIABLES LIKE 'validate_password%';

4. Validate_password is a variable that is used to inform the server about the validate_password plugin. 

This plugin tests the passwords and improve security. 

Following output will be displayed, if you run the above command:

mysql> SHOW VARIABLES LIKE 'validate_password%';

GlusterFS vs Ceph performance


This article will guide you on the differences between GlusterFS vs Ceph Performance. The decision on transfer sizes could itself account for Ceph running faster or slower than Gluster. 

Deciding whether to use Ceph vs. Gluster depends on numerous factors, but either can provide extendable and stable storage of your data.

Ceph and Gluster are both systems used for managing distributed storage. The goal is high performance, massive storage, and compatibility.

Ceph provides a POSIX-compliant network file system (#CephFS) that aims for high performance, large data storage, and maximum compatibility. 

GlusterFS and Ceph are two distributed persistent storage systems. #GlusterFS is at its core a network filesystem. 

Ceph is at the core an object store.

Email address rejected by server error in iPhone


This article will guide you on methods to resolve "Email address rejected by server" error which happens in iPhone devices mainly due to wrong mail settings. 

The recipient was rejected by the server because it does not allow relaying. Chances are you need to check your outgoing mail server settings. Go to Settings - Mail, Contacts, Calendar and tap on your email account. Tap on "Account, then go down to the "Outgoing Mail Server" section and tap on "SMTP."

If you can't send email try the following: On your iPhone or iPod Touch screen tap Settings and then Mail, Contacts, Calendars. 

Select your email account from the list, and then select it again on the next screen. 

Scroll down to the bottom and tap on the SMTP field under Outgoing Mail Server.


To fix email rejected by server:

1. Go to Settings > Mail > Accounts and select the account you are having difficulty with.

2. Click on your email address at the top of the screen.

3. Go down to the bottom of the screen where it says SMTP and click on it.

4. Select the Primary Server at the top of the screen.

OnApp Cloud


This article will guide you on OnApp cloud. You will also learn about its dashboard and features. 

OnApp Enterprise is a complete on-premises cloud solution for SMBs and enterprises. 

It makes private and hybrid cloud easier to manage and easier to scale. 

OnApp clouds can be created on almost any commodity x64 infrastructure, and across heterogeneous compute and storage hardware.


The features of OnApp cloud comprise of:

1. Public, private & hybrid cloud, plus VPS

2. Xen, KVM & VMware, plus Amazon EC2

3. Storage, backup and disaster recovery

4. Smart servers & bare metal servers

5. Global cloud & CDN through OnApp federation

6. CPU, disk, IOPS,RAM, servers, networks & more


OnApp is used:

i. By Telcos, MSPs and other service providers to create, manage and sell their own IaaS cloud products - either using their own datacenter infrastructure, third party infrastructure or hyperscale infrastructure.

ii. OnApp is used by hosts, telcos, MSPs, CDN vendors and other service providers to sell public/private/hybrid cloud services; and by enterprises for on-premise private & hybrid public/private cloud.

Kernel-memory-leaking Intel processor design


This article will guide you on how to fix Kernel-memory-leaking. Kernel-memory-leaking Intel processor design occurs due to a flaw in the Intel x86-64 hardware. 

The simplest way to detect a memory leak is also the way you're most likely to find one: running out of memory. 

That's also the worst way to discover a leak! Before you run out of memory and crash your application, you're likely to notice your system slowing down.

A memory leak can diminish the performance of the computer by reducing the amount of available memory.

Most memory leaks result in general software reliability problems, but if an attacker can intentionally trigger a memory leak, the attacker might be able to launch a denial of service attack (by crashing the program) or take advantage of other unexpected program behavior resulting from a low memory condition.


Memory leaks have two common and sometimes overlapping causes:

1. Error conditions and other exceptional circumstances.

2. Confusion over which part of the program is responsible for freeing the memory.