Thursday, May 23, 2024

SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty

 Error on Oracle linux9

After installing Letsencrypt, i am getting this error "SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty" when trying to execute certbot --apache

How to fix :

systemctl restart httpd

After this, you can successfully execute the command certbot --apache and the issue if solved.

Wednesday, May 22, 2024

How to mount an OCI Object Storage Bucket as File System on Linux

I am trying to mount OCI Object Storage bucket as a file system in one of my application server. It will helps me a lot to take backups and in automation I can point this OCI bucket as the destination of scripts output. As OCI object storage is S3 compatible, I am here using S3fs-fuse utility to mount the bucket.

OS : Oracle Linux 9

As a pre-request, please make sure that the compartment you are trying to mount the object storage is S3 compatible.

Go to "Governance & Administration --> Tenancy Details --> Edit object storage settings"

Now follow the below steps.

Step 1 : SSH to your application server

Step 2 : dnf update -y

Step 3 : vi /etc/yum.repos.d/oracle-epel-ol9.repo

Step 4 : Update "enabled=0" to "enabled=1" and save the file

Step 5 : yum install s3fs-fuse -y

Step 6 : Login to OCI console and generate your "Access key" and "Secret key" (keep it safe with you)

Step 7 : SSH to application server

Step 8 : vi /home/opc/.passwd-s3fs

Step 9 : Input your Access key id : Secret key id (Both in one line with a colon separated)

Step 10 : chmod 600 /home/opc/.passwd-s3fs

Step 11 : Create bucket in your OCI account (My bucket name is skynet-upload-bucket)

Step 12 : Identify your OCI region identifier (

Step 13 : Identify your object storage namespace ("Governance & Administration --> Tenancy Details -->Object storage namespace")

Step 14 : Location of your local path folder in application server (mkdir -p /home/opc/mybucket)

Step 15 : sudo s3fs {oci bucket name} {local path folder} -o endpoint={oci region identifier} -o passwd_file=.passwd-s3fs -o url=https://{object storage namespace}.compat.objectstorage.{oci region idnetifier} -onomultipart -o use_path_request_style -o allow_other

Step 16 : Check your mount point (mount | grep s3fs), seems all good.

Step 17 : Now we can test. touch /home/opc/mybucket/testfile.txt

Step 18 : Go to OCI buket (skynet-upload-bucket) and check whether you can see it

Step 19 : Remove the mount point # sudo fusermount -u /home/opc/mybucket

Youtube video about this post :

Monday, May 13, 2024

jupyterhub spawn failed server at http //

 How to fix jupyterhub spawn failed server at http //

In my VM, I am using docker to run Jupyter.

How to fix this issue?

1. Login to your Jupyter hub docker container - docker exec -it jupyterhub bash
2. Install notebook - pip install notebook

Try to reload again, it works.

Sunday, March 3, 2024

Mysql Slave_SQL_Running no

 Mysql Slave_SQL_Running no

Environment is Centos8 with MySQL 8.0 and its a MySQL master slave replication. When I checked the "SHOW SLAVE STATUS\G" I am seeing status no for "Slave_SQL_Running".

Fix the issue :

Login to Slave Server.




This will fix my issue.

Tuesday, January 30, 2024

How to connect OpenVPN 3 client in Ubuntu 22

 How to connect OpenVPN client in Ubuntu 22

In linux, Open VPN client is connected using the configuration file.

First, Install the open vpn3 client.

#apt install apt-transport-https curl
#mkdir -p /etc/apt/keyrings
#curl -sSfL >/etc/apt/keyrings/openvpn.asc
#echo "deb [signed-by=/etc/apt/keyrings/openvpn.asc] 
            DISTRIBUTION main" >>/etc/apt/sources.list.d/openvpn3.list
Replace the DISTRIBUTION in the above command with yours. For me mine is "jammy"
#apt update
#apt install openvpn3
Now you have installed openvpn3 in your ubuntu machine.
Type openvpn3 --help you will see bunch of commands.

Second, we need to generate the configuration file from the open vpn server

Login to your openvpn Admin UI
Under User Management, select User Profiles
Click on the "New Profile" for the user which you want to connect
Generate the profile
Download the profile file

Third, connect the VPN client

# openvpn3 session-start --config {path to the above configuration file}
Enter your username (only username no need for username@IP)
Enter password
It connects, please make sure don't close this terminal. If you need you can run as a background process.