Tech geek. Life geek.

Category: L.A.M.P. (Page 2 of 23)

Hot to fix the problem on the new installation MariaDB

After the installation of MySQL server or MariaDB on Ubuntu, I would like to use phpMyAdmin or Adminer to access the MySQL server. But the first time the error comes like below.

Access denied for user ‘root’@’localhost’

mysqli_real_connect(): (HY000/1698): Access denied for user ‘root’@’localhost’

MySQL connect error on phpMyAdmin


MySQL connect error on Adminer

Here is the solution to make the root connect to a server without error.

Continue reading

How to enable the VM auto-boot in Proxmox VE

After the setup of my first Proxmox VE, I need to shutdown and startup your Proxmox hardware node. There are many reasons for this such as adding new hardware or to apply new kernel updates.

Before shutting down the Host machine, I have to shutdown the LXC container and all VMs.

When I start the Proxmox VE host node, the VM will not start up automatically. I will do it manually.

Here is the way to make the VMs auto-start with the HOST.

Datacenter > Virtual Machine > 109 ( > Options > Start at boot

Double click the “Start at boot”, select the check box and OK.

Start at boot, options of Virtual Machine in Proxmox VE

Continue reading

Another way to move Virtualbox VDI to Proxmox VE

There is another way to do the importing Virtualbox VDI to Proxmox VE 3.5-8.

Similar to my previous post.

Step 1, Copy the VDI into the Proxmox VE host

No need to covert the VDI file to RAW format. Just copy the vdi file into the local folder. For me, I will just put it at /root/testing.vdi

Step 2, Create a new VM in Proxmox

On the “OS” tab, choose “Do not use any media”

On the “Hard Disk” tab, choose “local-lvm”, as storage, Disk size is any size you want, for example, 8GB. Format, choose “Raw disk image (raw)”, On CPU and Memory, choose the same as the Virtualbox settings.

Confirm to create the new VM.

Step 3, Detach and Remove the Hard Disk

Say my VM ID is 109, choose Virtual Machine 109, Hardware, Hard Disk, choose “Detach” button.

Detach the Hard Disk

At this point, the hard disk will be listed as “Unused Disk.” It still exists but is not attached to the system. To destroy it completely, select the Unused Disk and click Remove again; and confirm when prompted.

Continue reading

Error when doing update on Proxmox VE

I got these errors when trying to run an update on my Proxmox VE 5.3-8

root@pve:/etc/apt# apt update Hit:1 stretch/updates InRelease Ign:2 stretch InRelease Get:3 jessie InRelease [2,413 B] Hit:4 stretch-updates InRelease Err:3 jessie InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C23AC7F49887F95A Hit:5 stretch Release Ign:7 stretch InRelease Err:8 stretch Release 401 Unauthorized Reading package lists... Done W: GPG error: jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C23AC7F49887F95A E: The repository ' jessie InRelease' is not signed. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. E: The repository ' stretch Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.

How to fix these errors?

Continue reading

SSL Certificate Checker

After installing the SSL certificate on the Nginx web server, you need to check if it is installed correctly.

I installed the SSL certificate two months ago. The Sectigo ECC certificate.

Now I change the certificate files.

Previously, I put the site SSL certificate file content and the SSL-bundle file altogether. The final SSL certificate file is 4.36KB. It includes three certificates. The guide is from Comodo official site. Sectigo site has a similar guide here.

Now, I remove the last one. Just keep the site certificate and the middle one. Total size is  3.01KB.

The certificate I deleted from the old file is for USERTrust ECC Certification Authority. It is already included in the Trusted Root CA list.

Then, I tested the new certificate file, which has two certificates only, on different online SSL checking tools.


Geocerts SSL checking Result

Continue reading

How to check the disk usage of your VPS

The df utility displays the disk space usage on all mounted filesystem.

The -T option prints the filesystem type as well. By default, df measures the size in 1K blocks, which could be a little difficult for a desktop user to decipher. Use the -h option to get the more understandable output:

davidyin@localhost:~$ df -h -T
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  463M     0  463M   0% /dev
tmpfs          tmpfs      99M  7.0M   92M   8% /run
/dev/sda       ext4       25G   12G   12G  51% /
tmpfs          tmpfs     493M     0  493M   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     493M     0  493M   0% /sys/fs/cgroup
tmpfs          tmpfs      99M     0   99M   0% /run/user/1000

The VPS system will be problemed when the disk is used 100% full.

So to make sure the disk usage in the health range is very important. Clean the files when it is growing too fast or close to 85% or 90%.

Look at the log files. For example, web site error log, web site access log, security log files.

How to take a webpage screenshot at terminal window

The scenario is to run the program inside of Ubuntu VPS.  Input a URL the program will output the jpg file.

The solution is to use wkhtmltoimage, which is a part of wkhtmtopdf.

I used to use the old version wkhtmltopdf v0.12.3. Now it is not working anymore due to some reason I don’t know.

But the wkhtmltopdf v0.12.5  is OK.

The OS is Ubuntu 18.04.

Then I install wkhtmltopdf with the following command

sudo apt-get install -y software-properties-common
sudo apt-add-repository -y "deb xenial-security main" 
sudo apt-get -yq update
sudo apt-get install -y libxrender1 libfontconfig1 libx11-dev libjpeg62 libxtst6 fontconfig xfonts-75dpi xfonts-base libpng12-0 libjpeg-turbo8
wget "" 
sudo dpkg -i wkhtmltox_0.12.5-1.xenial_amd64.deb 
sudo apt-get -f install

After installation, run the command to show the help of the program.

Continue reading

Use GoAccess to Generate Report with Multiple Nginx Log Files

I have a VPS with Nginx as a web server and also a lot of web sites on it. It is on Digital Ocean.

Here is the VPS basic information.

  • SFO2
  • 1GB Nanode
  • Ubuntu Linux 18.04.2
  • Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz, 1 cores
  • Nginx 1.15.9

All sites use one access.log file. The following code is in the http block of /etc/nginx/nginx.conf file.

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

All access logs look like below:

Now it is time to show you how to use GoAccess to Generate Report with Multiple Nginx Log files.

Install GoAccess

sudo install goaccess


Modify the Config file of GoAccess

GoAccess config file is located at /etc/

sudo nano /etc/goaccess.conf

Add the following code or modify the code inside of the goaccess.conf.

time-format %H:%M:%S

date-format %d/%b/%Y

log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Run GoAccess to generate the report

I would like to get a static report.

sudo goaccess /var/log/nginx/access.log -o /home/davidyin/ --log-format=COMBINED

The report looks like below:

Due to the log is not just one file. The log files are generated by date and also compressed.

Two log files are not compressed.

  • access.log
  • access.log.1

The older log files are compressed.

  • access.log.2.gz
  • access.log.3.gz
  • access.log.4.gz
  • access.log.5.gz

I want to generate all the access log files. So the command is changed to the way which can phrase multiple log files.

zcat /var/log/nginx/access.log.*.gz | goaccess /var/log/nginx/access.log /var/log/nginx/access.log.1 - -o /home/davidyin/ --log-format=COMBINED

The sample command above using Please replace it with your own sites.

At the last, I add this command into Cron jobs. Schedule it every hour.

Renew the SSL Certificate for

I just renewed the SSL certificate. The cheapest DV SSL certificate I found is from

I paid by paypal. The price is so good. US$7.90 for two years. Comodo PositiveSSL.

After I installed the certificate on my blog. I check the certificate by clicking on the lock icon on the address bar. It is not shown as Comodo, but Sectigo.

Look at the old certificate.

Details of certificates

Continue reading

« Older posts Newer posts »

© 2020 David Yin's Blog

Theme by Anders NorenUp ↑