Saturday, May 2, 2026

Installing cPanel DNSOnly on AlmaLinux 10 in Proxmox LXC

With AlmaLinux 10 now officially supported by cPanel & WHM, many of us are moving our DNS clusters to the latest base. However, if you are performing a clean install inside a Proxmox LXC container, you might still run into a frustrating "Fatal Error 127" during the installation of universal hooks. This usually happens because the container environment is too minimal for the installer's scripts, or the specific AlmaLinux 10 hook repository isn't being reached correctly by the installation script.

After some testing, I found a specific sequence of commands that bypasses the "The background process Install [YUM universal hooks] failed with a fatal error: The subprocess reported error number 127 when it ended." and allows the DNSOnly installer to complete successfully on AlmaLinux 10.

1. Create a dummy fstab

Many cPanel scripts check for `/etc/fstab` to verify disk mounts. Since Proxmox LXC containers often don't have this file by default, we need to create it manually:

# touch /etc/fstab

2. Install Yum Utilities

Even though AlmaLinux 10 uses DNF, `yum-utils` provides essential compatibility tools required by the cPanel installation wrapper:

# yum -y install yum-utils

3. Manually Inject the Universal Hooks

This is the "secret sauce." If the automated installer fails to fetch the hooks, you can manually install the version 9 RPM. It is currently compatible enough with version 10 to satisfy the installer's requirements:

# rpm -ivh http://httpupdate.cpanel.net/cpanelsync/repos/CentOS/9/EA4/x86_64/yum-plugin-universal-hooks-0.1-15.21.1.cpanel.x86_64.rpm

4. Run the DNSOnly Installer

Now that the environment is prepared, you can pull the latest installer and run it. The error 127 should no longer appear.

# cd /home

# curl -o latest-dnsonly -L https://securedownloads.cpanel.net/latest-dnsonly

# sh latest-dnsonly

The Error 127 specifically refers to a "Subprocess reported error" because a hook script tried to call a binary that wasn't found in the minimal LXC template. By manually installing the `universal-hooks` RPM and creating the `fstab` file, you ensure all the paths and dependencies expected by cPanel are present before the main script starts.

While AlmaLinux 10 is the future, minimal container templates sometimes need a little manual help to work with enterprise software like WHM. Using this method, I was able to get my DNS cluster up and running on Proxmox in minutes.

Monday, January 8, 2024

Exploring Beyond Spacetime into Multidimensional Understanding


In the realm of physics, spacetime is a well-established concept, representing the four-dimensional continuum that fuses three-dimensional space with the dimension of time. This fundamental framework, rooted in Einstein's theory of relativity, has long been the cornerstone of our understanding of the universe. However, what if we expanded this concept to include dimensions that are less tangible, yet equally significant? In this article, we delve into an intriguing exploration of adding abstract dimensions - "what," "who," "why," and "how" - to our traditional understanding of spacetime.

Before diving into the depths of this multidimensional concept, let's revisit the traditional notion of spacetime. According to Einstein's theory, spacetime is a unified entity where space and time are inseparable. This interweaving of space and time significantly altered our understanding of the universe, impacting everything from our comprehension of gravity to the way we perceive the movement of celestial bodies.

Adding New Dimensions broadens our understanding of the universe by incorporating abstract aspects such as purpose, consciousness, and methodology into the traditional framework of spacetime.

  • What
    This dimension delves into the essence or nature of things. It goes beyond the mere existence of objects in space and time, probing into their intrinsic properties and states.
  • Who
    This dimension brings in the element of consciousness or the observer. It's not just about where and when events occur, but also about who is perceiving or influencing these events.
  • Why
    Here, we explore causality and purpose. Unlike the deterministic view of classical physics, this dimension seeks to understand the reasons behind occurrences in the universe.
  • How
    This is about processes and methods. It examines the mechanisms through which events unfold in the spacetime continuum.

This expanded framework is not just a theoretical curiosity; it has profound implications. By incorporating these additional dimensions, we can explore areas that traditional physics might overlook. This includes the human experience, consciousness, and perhaps even the mysteries of quantum mechanics. Consider a phenomenon like the black hole. Traditionally, we examine its spatial dimensions and temporal aspects. But what about the "how" of its formation, the "why" of its existence, or the "what" that defines its essence? This multidimensional approach offers a more holistic view.

Such a theory resonates with not just physics, but also philosophy, psychology, and other disciplines. For instance, in philosophy, the "why" and "what" can lead to discussions about the purpose of the universe or the nature of reality itself. A common critique might be the abstract nature of these new dimensions and how they can be scientifically measured or observed. In response, this theory isn't about replacing the existing model but enriching it by acknowledging aspects of our universe that are currently beyond the scope of measurable science. In everyday life, we instinctively think beyond space and time. When we plan our future, we're not just thinking about the 'when' and 'where,' but also about the 'why' and 'how.' This theory mirrors our natural inclination to view the world through multiple lenses.

This exploration into multidimensional spacetime is just the beginning of a larger conversation. What do you think about adding these dimensions to our understanding of the universe? How might this change our perception of reality? Share your thoughts and join this fascinating discussion.

Thursday, October 12, 2023

How to Read ext4 in Mac OS Ventura

Accessing ext4 filesystems on macOS can be tricky due to a lack of built-in support for this Linux filesystem. But for Mac OS Ventura users, there's a neat workaround to achieve this via ext4fuse, even if the installation throws up an error like: "ext4fuse: Linux is required for this software." 

Prerequisites

Ensure you have Homebrew installed and updated on your system to facilitate the installation of other necessary tools. If not, you can install it using the following terminal command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

First, create a custom ext4fuse formula that you'll use for Homebrew. Open a text editor and save the following script as `ext4fuse.rb`:

class MacFuseRequirement < Requirement

  fatal true

  satisfy(build_env: false) { self.class.binary_mac_fuse_installed? }

  def self.binary_mac_fuse_installed?

    File.exist?("/usr/local/include/fuse/fuse.h") &&

      !File.symlink?("/usr/local/include/fuse")

  end

  env do

    ENV.append_path "PKG_CONFIG_PATH", HOMEBREW_LIBRARY/"Homebrew/os/mac/pkgconfig/fuse"

    unless HOMEBREW_PREFIX.to_s == "/usr/local"

      ENV.append_path "HOMEBREW_LIBRARY_PATHS", "/usr/local/lib"

      ENV.append_path "HOMEBREW_INCLUDE_PATHS", "/usr/local/include/fuse"

    end

  end

  def message

    "macFUSE is required. Please run `brew install --cask macfuse` first."

  end

end

class Ext4fuse < Formula

  desc "Read-only implementation of ext4 for FUSE"

  homepage "https://github.com/gerard/ext4fuse"

  url "https://github.com/gerard/ext4fuse/archive/v0.1.3.tar.gz"

  sha256 "550f1e152c4de7d4ea517ee1c708f57bfebb0856281c508511419db45aa3ca9f"

  license "GPL-2.0"

  head "https://github.com/gerard/ext4fuse.git"

  bottle do

    sha256 cellar: :any, catalina:    "446dde5e84b058966ead0cde5e38e9411f465732527f6decfa1c0dcdbd4abbef"

    sha256 cellar: :any, mojave:      "88c4918bf5218f99295e539fe4499152edb3b60b6659e44ddd68b22359f512ae"

    sha256 cellar: :any, high_sierra: "fc69c8993afd0ffc16a73c9c036ca8f83c77ac2a19b3237f76f9ccee8b30bbc9"

    sha256 cellar: :any, sierra:      "fe8bbe7cd5362f00ff06ef750926bf349d60563c20b0ecf212778631c8912ba2"

    sha256 cellar: :any, el_capitan:  "291047c821b7b205d85be853fb005510c6ab01bd4c2a2193c192299b6f049d35"

    sha256 cellar: :any, yosemite:    "b11f564b7e7c08af0b0a3e9854973d39809bf2d8a56014f4882772b2f7307ac1"

  end

  depends_on "pkg-config" => :build

  on_macos do

    depends_on MacFuseRequirement => :build

  end

  on_linux do

    depends_on "libfuse"

  end

  def install

    system "make"

    bin.install "ext4fuse"

  end

end

Steps to Install ext4fuse on Mac OS Ventura 13.6

1. Install macFUSE:

MacFUSE is essential for ext4fuse, run the following command to install it:

   brew install --cask macfuse

2. Install ext4fuse:

Use the custom formula created earlier to install ext4fuse:

 brew install --formula --build-from-source ./ext4fuse.rb

Note: Ensure you run this command from the directory where `ext4fuse.rb` is located.

3. Remove osxfuse (if applicable):

If you have osxfuse installed, it might be prudent to remove it since it has been renamed and superseded by macFUSE:

brew rm --cask osxfuse

4. Read Disk

 If you've successfully installed `ext4fuse` by following the previous instructions and you want to mount an ext4 filesystem, you would generally use a command like what you've provided. However, ensure that `/dev/disk2s1` represents the correct path to your ext4 partition. Also, remember that to mount filesystems, you might need the appropriate permissions.

Here’s a breakdown of your commands and what they do:

mkdir ext4_mount

This command creates a directory named `ext4_mount` in your current working directory. This directory will act as a mount point for the ext4 filesystem.

sudo ./ext4fuse /dev/disk2s1 ~/ext4_mount -o allow_other

This command tries to mount the ext4 filesystem found at `/dev/disk2s1` to the `ext4_mount` directory you created. The `-o allow_other` option allows other users to access the filesystem.

Note:

  1. Ensure `/dev/disk2s1` is correct for your system. You can use the `diskutil list` command to check all available drives and partitions.
  2. The `sudo` command is used to grant administrative permissions and will ask for your password.
  3. Ensure that your user has the necessary permissions to access the mount point. The `-o allow_other` flag should allow this, but ensuring the user has the right permissions on the mount point itself is also prudent.
  4. Keep in mind that `ext4fuse` is read-only, meaning you will be able to read files but not write to the ext4 filesystem.

Always remember to unmount the filesystem once you’re done using it to prevent any data corruption:

sudo umount ext4_mount

Or, if you mounted it using `FUSE`, you might need to use:

sudo diskutil umount ext4_mount

Using ext4 filesystems on macOS via `ext4fuse` allows for cross-platform data access, which can be quite handy for those using macOS and Linux environments simultaneously. Always remember to interact with filesystems and disks with caution to prevent any data loss.

Wrapping Up

Once you've gone through these steps, your macOS should be equipped to read ext4 filesystems via ext4fuse. The ability to access ext4 filesystems can be quite invaluable for cross-platform work or in scenarios where you have Linux data that you want to access on your macOS system. Ensure to check the mounted volume, and you should be able to access your ext4 data transparently on Mac OS Ventura.

For those consistently working with Linux filesystems, consider exploring additional GUI-based tools for a smoother workflow when interacting with ext4 volumes on macOS.

Source:

https://github.com/gerard/ext4fuse/issues/66

Monday, July 10, 2023

Proxmox 7 LXC Backup Failed (exit code 23)

One of my Proxmox CT backup has been unable to be saved for several days, and I'm unsure about the reason. Based on my testing, the Stop-mode backup operates effectively, while the Suspend mode does not function as intended.

Here is the log of attempted vzdump:

INFO: starting final sync /proc/180682/root/ to /mnt/storage/dump/vzdumptmp209244_1006/

INFO: resume vm

INFO: guest is online again after 3 seconds

ERROR: Backup of VM 1006 failed - command 'rsync --stats -h -X -A --numeric-ids -aH --delete --no-whole-file --inplace --one-file-system --relative '--exclude=/var/lib/php/sessions/?*' '--exclude=/tmp/?*' '--exclude=/var/tmp/?*' '--exclude=/var/run/?*.pid' /proc/180682/root//./ /mnt/storage/dump/vzdumptmp209244_1006/' failed: exit code 23

INFO: Failed at 2023-07-10 22:10:06

INFO: Backup job finished with errors

job errors

By default, for systems based on Bullseye, the 'fs.protected_regular' sysctl is set to '2' instead of the previous value of '0'. This change poses a problem for rsync's `--inplace` mode when dealing with protected files, as even the root user cannot open them with O_CREAT.

An example of this issue can be observed in Debian (or Debian-based) containers that use PHP. In these containers, the session directory '/var/lib/php/sessions' has sticky permissions, is world-writable, owned by root, and contains session files typically owned by www-data. If any of these session files are modified between the first and second rsync runs, the second run and consequently the backup operation will fail.

The solution is set fs.protected_regular in Proxmox before backup LXC (or make it permanent in /etc/sysctl.conf):

# sysctl fs.protected_regular=0

Saturday, July 1, 2023

How to Change and Move a User's Home Directory in Linux

Linux offers a robust command-line interface (CLI) with powerful tools for managing user accounts. One such command is `usermod`, which we'll focus on today. We will specifically explore how you can use it to change and move a user's home directory, ensuring a seamless transition of files.

Understanding the `usermod` Command

The `usermod` command in Linux is a utility for modifying existing user accounts. It allows you to alter various user details, including home directories, login names, and more.

Steps to Change and Move a User's Home Directory

Here's how to change a user's home directory and move its contents to the new location.

  1. Open the Terminal: This can be done by searching for 'Terminal' in your applications menu or by using the keyboard shortcut `Ctrl + Alt + T`.
  2. Switch to the root user: Type `su -` and enter your root password when prompted. Alternatively, you can prepend `sudo` to the `usermod` command if your user account is in the sudoers file.
  3. Use the `usermod` command: You can change the user's home directory and move the contents to the new directory using the following command:

usermod -m -d /newhome/username username

Here:

  • `usermod` is the command we use to modify an existing user's information.
  • `-m` (or `--move-home`) is an option that moves the contents of the user's current home directory to the new home directory.
  • `-d` (or `--home`) is the option that changes the home directory.
  • `/newhome/username` is the path to the new home directory.
  • `username` is the name of the user whose home directory you want to modify.

Remember:

  • You need to have superuser (root) permissions to use the `usermod` command.
  • Always exercise caution when making changes to system settings.
  • Also, be aware that any absolute path references in scripts or configuration files will not be updated automatically, so these may need to be changed manually.

With this knowledge, you can efficiently change and move a user's home directory in Linux, ensuring data consistency.

Tuesday, November 6, 2018

Upgrade Asus Eee PC Series 1025C with 4GB RAM and SSD 256 GB

I have a netbook Asus Eee PC Series 1025C. It already 5 years old and equipped with Intel® Atom™ N2800 (Dual Core; 1.86GHz) Processor, 2GB RAM and SATA HDD 320 GB. The challenge is I want to upgrade this netbook so it can be faster to run.

The limitations are processor is support only 32 bit OS and maximum RAM usable is 3 GB only. So, I just changed the DDR3 RAM from 2 GB to 4GB and HDD to SSD. I was using Ubuntu Linux before, but in this time I tried to install Windows 7 32 bit and Microsoft Office 2016 with original license.


I failed when tried to install Windows 10 bit, it won't work because problem with display driver for Asus Eeee PC 2015C not supported by Asus or Intel. They don't give update for their display driver to compatible with Windows 10.

The SSD is Silicon Power A56 256 GB. The read write result test using winsat command shows that the SSD performance increased significantly than using HDD.


Friday, October 19, 2018

How to Set Quota on CLoudLinux 7.5 kvm Image With XFS

I just installed CloudLinux 7.5 kvm images, downloaded from CloudLinux website, then failed to update Quota on the WHM. They already set it with XFS file system.
Updating Quota Files......
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.

Then I did this.

Check /etc/fstab makes sure that the quota is enabled on the partition
UUID=xxx-xxx / xfs     defaults,uquota 0 0
Check the quota option for XFS filesystem.

# mount| grep ' / '
You will see something like this.
/dev/sda1 on / type xfs (rw,relatime,attr2,inode64,noquota)
If you see the "noquota" option, then you need to go to next step.

Edit /etc/default/grub add rootflags=uquota
GRUB_CMDLINE_LINUX="crashkernel=auto biosdevname=0 net.ifnames=0 rhgb quiet rootflags=uquota"
Reconfig grub
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot
After the server started.
# mount| grep ' / '
Then the XFS will change like this.
/dev/sda1 on / type xfs (rw,relatime,attr2,inode64,usrquota)
Fix WHM quota
# /scripts/fixquotas
# reboot

Sunday, September 16, 2018

Recover Crashed Ubuntu VM On Proxmox VE

One of our VM server accidentally crash and the partition table was deleted. It is using Ubuntu 14.04 on VMDK container. Here are what we did to recover the server.

Prerequisite: Ubuntu NON-EFI, ext4 partition

Convert vmdk to qico2
# qemu-img convert -f vmdk -O qcowq file.vmdk file.qcow2

Download ISO System Rescue CD from http://www.system-rescue-cd.org/ then treat as CD-ROM in the crashed VM, and then in the VM Console interface, boot from CD-ROM.

Run Test-disk

  1. Select the disk
  2. Select partition format: INTEL
  3. Analyze
  4. Deep search
  5. Select the righ partition
  6. Write
  7. Quit & reboot

Reload Using Ubuntu live CD
- fdisk recover extender partition (change type) from f to 5
- write, reboot

Rescue:
Install boot on /dev/sda, then reboot.

All done.

NOTES:
Mount to see files:
# qemu-nbd -c /dev/nbd0 file.qcow2
# partprobe /dev/nbd0
# mount /dev/nbd0 /mnt/nbd0

Friday, August 31, 2018

Avast Business Installer Installation Failed: Unable to Load Policy

Our team just installed Management console for Avast Business Antivirus, Avast Business Antivirus Pro and Avast Business Antivirus Pro Plus On local server (on-premise) on Windows 2008 Server R2. The server got IP Public, so all PC outside the office can install the Avast Business Installer generated from the console.

Unfortunately, we got error 'Installation Failed: Unable to Load Policy' during setup process.


After discuss with support from Avast reseller in Indonesia, we also discuss with support directly from Avast. They said there are a few things we can try to correct it. 
  1. Was there any Avast products on the server before? If yes, please remove using Avast clear to make sure everything is removed. Download from https://www.avast.com/uninstall-utility
  2. Make sure to remove all Anti-Virus programs before installation.
  3. Disable any local firewalls that may be preventing the program from running.
  4. Please make sure to download a new copy once you have made sure the other items are correct. 
  5. Login to business.avast.com portal (note: we use another address because our console installed in our own portal) and navigate to Add New Device > Customize > Choose options > Download.

Avast support suggest doing the full installer. Also, after downloading and before installing "right click" on the file and select "Properties". Sometimes there will be a Security option at the bottom, make sure to unblock the program as shown in the screenshot below. 



The client/cloud server communication is completed using the following ports. To ensure proper communication to the cloud portal please make sure all ports below are open and also the whitelisting of *.avast.com.

- http/80 (updates) 
- https/443 (FFL encryption key negotiation) 
- TCP, UDP/ 443, 53 for secure DNS 
- *.avast.com
- 77.234.40.0/21 Update servers

After I tried the solutions, they dont work!

Then I tried to check all ports used to communicate between client and server, and got that Avast use 8080/8090 for server/client stuff. After out network admin open the port, then the installation work seamlessly.

Wednesday, September 13, 2017

How to Replace and Rewrite Sender Address in Postfix

I am setting up Postfix on a Linux server because I want to send mail independently. I need to change sender address because the default sender is from user@server.local.

This config changes sender addresses from both local originated, and relayed SMTP mail traffic:
# nano /etc/postfix/main.cf:
sender_canonical_classes = envelope_sender, header_sender
sender_canonical_maps =  regexp:/etc/postfix/sender_canonical_maps
smtp_header_checks = regexp:/etc/postfix/header_check
Rewrite envelope address from email originating from the server
# nano /etc/postfix/sender_canonical_maps:
/.+/    newsender@example.com
Rewrite from address in SMTP relayed e-mail
# nano /etc/postfix/header_check:
/From:.*/ REPLACE From: newsender@example.com

Sunday, March 5, 2017

Mikrotik Beep Song Indonesia: Apose

Sunday morning, composing "Apose" folk song from Biak, Papua, Indonesia on Mikrotik using beep command.
# Mikrotik beep song "Apose"
# Wahyu Wijanarko - http://wahyu.com
:beep length=300ms frequency=783.99
:delay 350ms
:beep length=300ms frequency=1046.50
:delay 350ms
:beep length=300ms frequency=1318.51
:delay 700ms
:beep length=300ms frequency=1174.66
:delay 175ms
:beep length=300ms frequency=1318.51
:delay 350ms
:beep length=300ms frequency=1174.66
:delay 175ms
:beep length=300ms frequency=1046.50
:delay 700ms
:beep length=300ms frequency=783.99
:delay 350ms
:beep length=300ms frequency=1046.50
:delay 350ms
:beep length=300ms frequency=1318.51
:delay 700ms
:beep length=300ms frequency=1318.51
:delay 175ms
:beep length=300ms frequency=1174.66
:delay 175ms
:beep length=300ms frequency=1318.51
:delay 175ms
:beep length=300ms frequency=1396.91
:delay 175ms
:beep length=300ms frequency=1174.66
:delay 700ms
:beep length=300ms frequency=783.99
:delay 350ms
:beep length=300ms frequency=987.77
:delay 350ms
:beep length=300ms frequency=1174.66
:delay 700ms
:beep length=300ms frequency=1396.91
:delay 175ms
:beep length=300ms frequency=1567.98
:delay 350ms
:beep length=300ms frequency=1396.91
:delay 175ms
:beep length=300ms frequency=1318.51
:delay 700ms
:beep length=300ms frequency=1174.66
:delay 175ms
:beep length=300ms frequency=1318.51
:delay 350ms
:beep length=300ms frequency=1174.66
:delay 175ms
:beep length=300ms frequency=1046.50
:delay 1400ms
:beep length=300ms frequency=783.99
:delay 350ms
:beep length=300ms frequency=1046.50
:delay 350ms
:beep length=300ms frequency=1396.91
:delay 350ms
:beep length=600ms frequency=1318.51
:delay 1400ms
:beep length=300ms frequency=783.99
:delay 350ms
:beep length=300ms frequency=987.77
:delay 350ms
:beep length=300ms frequency=1174.66
:delay 350ms
:beep length=600ms frequency=1046.50
:delay 1400ms
:beep length=300ms frequency=783.99
:delay 350ms
:beep length=300ms frequency=1046.50
:delay 350ms
:beep length=300ms frequency=1396.91
:delay 350ms
:beep length=600ms frequency=1318.51
:delay 1400ms
:beep length=300ms frequency=783.99
:delay 350ms
:beep length=300ms frequency=987.77
:delay 350ms
:beep length=300ms frequency=1174.66
:delay 350ms
:beep length=600ms frequency=1046.50

Tuesday, February 28, 2017

How to Block Youtube and Facebook Using Mikrotik DNS Cache

Create script to check DNS cache in Mikrotik, put ni system - scheduler, make it run every 1 minute.
:local ADDRLIST "BLOCKWEBSITE"
:local DOMAIN "youtube.com|facebook.com|fbcdn.net"
# Find CNAME record
:local DOMAINNAME
:foreach i in=[/ip dns cache all find where (name~"($DOMAIN)") && (type="CNAME") ] do={
  :set DOMAINNAME [/ip dns cache all get $i data];
  :set DOMAIN "$DOMAIN|$DOMAINNAME";
   delay delay-time=10ms
}
# Find A record
:foreach i in=[/ip dns cache all find where (name~"($DOMAIN)") && (type="A") ] do={
  :local DOMAINIP [/ip dns cache get $i address];
  delay delay-time=10ms
  :if ( [/ip firewall address-list find where address=$DOMAINIP] = "") do={
    /ip firewall address-list add address=$DOMAINIP list=$ADDRLIST timeout="00:10:00" comment=[/ip dns cache get $i name];
  }
}
Block request to public DNS outside Mikrotik
/ip firewall nat
add chain=dstnat action=dst-nat to-addresses=192.168.123.8 to-ports=53 protocol=tcp dst-port=53
add chain=dstnat action=dst-nat to-addresses=192.168.123.8 to-ports=53 protocol=udp dst-port=53
Block the desired IPs that already listed in address list
/ip firewall filter
add action=drop chain=forward comment="Block Website" disabled=no dst-address-list=BLOCKWEBSITE

Sunday, February 14, 2016

Gmail Check mail from other Gmail accounts (using POP3) Error

I tried using Gmail to check another Gmail account using POP3. The, I got email notification from them.
Sign-in attempt prevented.
Someone just tried to sign in to your Google Account from an app that doesn't meet modern security standards.

Details:
Saturday, February 13, 2016 7:22 PM (Eastern Standard Time)
United States*

We strongly recommend that you use a secure app, like Gmail, to access your account. All apps made by Google meet these security standards. Using a less secure app, on the other hand, could leave your account vulnerable.

Some users that user Gmail to fetch or backup another Gmail account experienced Gmail blocking Gmail with error in POP3 server. I also tried and get the error:

[AUTH] Web login required: https://support.google.com/mail/answer/14257

The solution is just simple, that is by "Allow less secure apps: ON".



They said that some non-Google apps and devices use less secure sign-in technology, which could leave your account vulnerable. You can turn off access for these apps (which we recommend) or choose to use them despite the risks.

How to Recover Lenovo C460 Power-on and BIOS (Supervisor) Password

We got problem when our client in Papua have their computer locked by Power-on passwrod and BIOS (Supervisor) password on Lenovo All-in-one Desktop C460. The problem doubled when the user forgot both of the passwords.

Normally, if you forgot Power-on password, just press F1 when computer starts, and you can reset the password in BIOS security setting. In old computer, reset BIOS or Power-on password is very easy just pull the CMOS battery on the motherboard.

From what I just read on some web forum, the solution is by call Lenovo Support to have reset them with cost about US$ 55. Some users also have experience that Lenovo Support replaced their PC with new one, because it still in warranty period. Ok, they can afford support, but in Papua area, there is no Lenovo Support service, and need to send the PC to Jakarta.



Lenovo C460 CMOS data stored in MXIC 25L6406E located on the motherboard, and we can reset (flash) them using reset BIOS reset hardware.

Just download BIOS software for C460 from Lenovo Support and good luck!

Wednesday, November 25, 2015

Alexa Pro Certified Increase My Website Rank

In my personal view, Alexa is a standout amongst the most famous web ranking system in this decade. In spite of the way that the Alexa positioning does not reflect web traffic precisely, it is still imperative for website admins to enhance the rank. I have web that get more than 20,000 visits a day, and only got rank more than 200,000. That's maybe because Alexa rank the website by gather data from users who access the web and have Alexa Toolbar in their browser. My web visitors mostly use mobile phone.

Last month (October 2015), I tried to use their pro service (Basic Plan) to get my website certified. It need 3 days to my website certified in the Alexa dashboard, and took almost 1 month to show to public that my web is certified. In their certified metric, my web increased it rank significanly from 210,531 to 27,639.

alexa_pro

So, my conclusion from my personal experience is: Alexa Pro can increase rank for website with more traffic but have less visitors-with-Alexa-Toolbar.

Saturday, June 27, 2015

Install Ubuntu 14.04 LTS on IBM Server x3530M4 7160 A2A

We problem installing Ubuntu 14.04 LTS on IBM Server x3530M4 7160-A2A. We also tried CentOS 6.6-x86_64 minimal without any good result. They said that the problem was in EFI BIOS, but we already update everything without result.

The installation finished, but when we restarted the server it won’t boot. Both Ubuntu and CentOS installed the UEFI in the right place. It just don’t boot. We tried to install Windows 2008 Server R2, and it works.

Then, after last time installed once again Ubuntu using same way with default steps on installation wizard, installation finisher without error. I reboot the server and put IBM Server Guide in external CD ROM then did steps to install Windows 2008 Server R2. Using wizard on IBM Server Guide, I follow steps to define the hard drive and I select default RAID, and restart. After restart, I watched TV and I forgot to insert Windows Server CD. But, voila! The Ubuntu Server boot normally. So, it seem that the IBM doesn’t detect the HDD and it recovered after I select RAID on Server Guide wizard. Lucky for us, after more than 3 weeks..

Sunday, March 1, 2015

Built Electric Quadricycle (4 Wheel Bicycle) DIY

We built the quadbike or 4 wheel bicycle with electric power. Technically, this vehicle uses a bicycle component, but the pedal been eliminated. We built this quadbike starting in February 2014, by made the framework of the body in 3abike Bandung, and followed by finishing at January 2015 in Yogyakarta by mas Wiwien Vegas who also is the owner of Mobilijo, the shop manufacturing of electric cars in Yogyakarta.

His quadbike or electric quadricycle powered by a 48V 20Ah battery and the engine is Brushless DC 48V 750 Watt and has a maximum cruising speed of 35km/h with a distance of 35km, which is sufficient for going to the office. Currently, this quadbike standby at my office headquarters as an icon for the concept of green energy.

The next following development that will be done on this 4-wheel electric bike is the addition of a capacitor to lighten the load current from the battery and add solar cell panels as roof to recharge the vehicle.

Sunday, February 8, 2015

Bing Bot SSL SNI Support

When I migrated some website to use HTTPS, I noticed that not all browsers have SNI support and my website that migrated to SSL use shared IP address, so only browsers that support SNI can access the website.

The challenge is to make sure that my website is still exists in search result on the major search engines. Google Bot already support SNI, and how about Bing Bot? To make sure that Bing Bot support SNI, I read the log of my server and I got similar with this from the log file.

157.55.39.152 "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

So, I got conclusion that Bing Bot 2.0 support SNI when crawl HTTPS website, and I checked in their search result that my HTTPS website with SNI is there.

Saturday, February 7, 2015

Full Outer Join in MySQL

In this case, I have 2 tables that need to join and show data in both tables even there is no data in one of the tables. For example, I have first table with data:

table1
id|male
1|Richard
2|Andy
3|Bagyo

and the other table

table2
id|female
2|Jane
3|Sulastri
4|Linda

I want to show the data like this:

id|male|id|female
1|Richard|-|-
2|Andy|2|Jane
3|Bagyo|3|Sulastri
-|-|4|Linda

By default, currently MySQL don’t support FULL OUTER JOIN. To achieve this, you can combine LEFT JOIN and RIGHT JOIN.

SELECT *
FROM `table1`
LEFT OUTER JOIN `t2` ON `t1`.`id` = `t2`.`id`

UNION

SELECT *
FROM `t1`
RIGHT OUTER JOIN `t2` ON `t1`.`id` = `t2`.`id`;

We can think of a UNION as meaning "run both of these queries, then stack the results on top of each other", with some rows will come from the first query and some from the second. UNION in MySQL will eliminate exact duplicates, so the result of the UNION only lists the same data once.

Friday, February 6, 2015

lftp Fatal error: Certificate verification: Not trusted

When I use lftp to transfer file between my Linux machine and my hosting server, I type the command in my Linux shell:

# lftp -u myuser,mypassword example.com
lftp myuser@example.com:~>ls
cd: Fatal error: Certificate verification: Not trusted

The problem is the server certificate it not valid on the server. To override this error forever, I just created file in my home folder.

# vim .lftp/rc
set ssl:verify-certificate no

Then, I got next error from lftp console.

Access failed : 521 Data connection cannot be opened with this PROT setting.

In tne file “.lftp/rc” I added more lines with:

set ftp:ssl-force true
set ftp:ssl-protect-data true

The problem then gone, and I can transfer the data from and to server without problem.