Install Oracle OCI8 for PHP 8.2 Ubuntu 22.04

Install Oracle OCI8 for PHP 8.2 Ubuntu 22.04 


Get the link for the latest RPM

As of 26 March 2023

wget -c

wget -c

wget -c

wget -c

wget -c

wget -c

wget -c

## ===>

apt install alien

### alien -v --scripts

alien -v --scripts oracle-instantclient-basic- oracle-instantclient-devel- oracle-instantclient-odbc- oracle-instantclient-tools- oracle-instantclient-basiclite- oracle-instantclient-jdbc- oracle-instantclient-sqlplus-

dpkg -i oracle-instantclient-basic_21. oracle-instantclient-devel_21. oracle-instantclient-odbc_21. oracle-instantclient-tools_21.  oracle-instantclient-jdbc_21. oracle-instantclient-sqlplus_21.


check for this file with ls command



apt install libaio-dev

apt install php8.2-dev php-pear build-essential libaio1

apt install php-pear

pecl channel-update

pecl install oci8


Build process completed successfully
Installing '/usr/lib/php/20220829/'
install ok: channel://
configuration option "php_ini" is not set to php.ini location
You should add "" to php.ini


edit fail /etc/php/8.2/cli/php.ini dan /etc/php/8.2/fpm/php.ini (cari oci8)


### php 7.4 ### pecl install oci8-2.2.0

##===> = On


Configuring PHP for FAN
With the enhanced OCI8 extension, a php.ini configuration parameter allows PHP to be
notified of FAN events: = On
FAN support is only available when PHP is linked with Oracle 10gR2 or 11g libraries and connecting to
Oracle Database 10gR2 or 11g. Review the patches for Oracle bugs 7143299 (fixed in Oracle and
8670389 (fixed in to improve login times in various conditions when using

Harisfazillah Jamel ( LinuxMalaysia )

26 March 2023

 Upgrade Kernel Linux Latest Long Time Support For Centos AlmaLinux and RockyLinux

 Upgrade Kernel Linux Latest Long Time Support

This upgrade is for Centos, AlmaLinux and RockyLinux

*** At your own risk. Know what you are doing. No support available ***

dnf update and reboot (Make sure get downtime approval for Production)

Install repository from

rpm --import

Install repository Centos 8, AlmaLinux 8 and RockyLinux 8

dnf install

Refer website for different version of Centos, AlmaLinux and RockyLinux

To enable Long Time Support LTS

dnf --enablerepo=elrepo-kernel install kernel-lt

edit fail /etc/default/grub and update or add with this preferences


save the changes and run this commands

grub2-set-default 0

grub2-mkconfig -o /boot/grub2/grub.cfg

reboot and select kernel 5.4 or later LTS from Grub menu, or you just wait for login prompt or SSH.

Check with command

uname -a

Linux LinuxMy 5.4.210-1.el8.elrepo.x86_64 #1 SMP Tue Aug 9 17:41:36 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux

This setting to improved network connection for Congestion control

edit and add into /etc/sysctl.conf

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

Cluster Control On Centos 8 / Ubuntu 20.04 Using Podman

Cluster Control On Centos 8 / Ubuntu 20.04 Using Podman

1. Pastikan masa dan tarikh pada GMT local server.

timedatectl set-timezone "Asia/Kuala_Lumpur"

timedatectl --adjust-system-clock

* contoh *  timedatectl set-time 02:12:35

2. Pasangkan software  packages yang diperlukan

### Untuk Ubuntu pasang podman buildah dan git. Pastikan Ubuntu 20.04


# Ubuntu

apt install podman buildah git etckeeper

# Centos Streams / AlmaLinux

dnf install -y buildah podman git podman-docker etckeeper

3. Buat direktori yang sesuai. Biasanya dalam $HOME username ada sudo

mkdir clustercontrol

cd clustercontrol/

Sekiranya mahu jalankan semula Pod clustercontrol daripada asal (full reset) namakan direktori sedia ada kepada nama sesuai

 pastikan yourpassword tukarkan kepada password yang bersesuaian (tukarkan backupsebelumdelete)

mv /clustercontrol /backupsebelumdelete


mv /clustercontrol /clustercontrol-backup-20220229

4. Dapatkan source clustercontrol

git clone

5. Bina Pod dengan buildah

cd docker/

(dot at the end of command - meaning current directory)

buildah bud -f Dockerfile -t severalnines/clustercontrol .

6. Konfigurasi sebelum jalankan Pod Custercontrol

salin root dan pentadbir atau yang berkaitan cert ssh daripada server ini ke semua mariadb node.

Gunakan pentadbir atau berkaitan untuk ssh gunakan SSH certs

7. Sediakan ruang simpan data clustercontrol

Buat direktori ini, ini akan digunakan untuk menyimpan data. Pastikan dalam mount point yang mempunyai ruang yang besar contoh ini menggunakan mount point /storage  :-

mkdir -p /storage/clustercontrol

mkdir /storage/clustercontrol/cmon.d

mkdir /storage/clustercontrol/datadir

mkdir /storage/clustercontrol/sshkey

mkdir /storage/clustercontrol/cmonlib

mkdir /storage/clustercontrol/backups

mkdir /storage/clustercontrol/prom_data

mkdir /storage/clustercontrol/prom_conf

8. Sediakan passwordless SSH dengan SSH certs

Jangan dilakukan ini  jika rerun Pod. Ia akan rosakkan konfigurasi SSH Certs asal. Terus jalankan Pod dengan arahan podman run pada arahan seterusnya.

Salin server servercontrol pentadbir (yang berkaitan) kepada direktori yang username root podman pod servercontrol, sekali sahaja. Ini akan dibaca oleh pod berkenaan apabila bermula. Dalam contoh ini adalah /storage/clustercontrol/sshkey

cd /storage/clustercontrol/sshkey (buat backup id_rsa dan

cp /home/pentadbir/.ssh/id_rsa* /storage/clustercontrol/sshkey

# ini jika rerun balik clustercontrol, perlu buat salinan backup sebelum jalankan kerja ini.

cp backupsebelumdelete /storage/clustercontrol/sshkey

9. Jalankan Pod ClusterControl dengan arahan berikut

Pastikan yourpassword tukarkan kepada password yang bersesuaian.

podman run -d --privileged --restart on-failure --name clustercontrol \

-h clustercontrol \

-e CMON_PASSWORD=yourpassword \

-e MYSQL_ROOT_PASSWORD=yourpassword \


-p 5000:80 \

-p 5001:443 \

-p 19501:19501 \

-v /storage/clustercontrol/cmon.d:/etc/cmon.d \

-v /storage/clustercontrol/datadir:/var/lib/mysql \

-v /storage/clustercontrol/sshkey:/root/.ssh \

-v /storage/clustercontrol/cmonlib:/var/lib/cmon \

-v /storage/clustercontrol/backups:/root/backups \

-v /storage/clustercontrol/prom_data:/var/lib/prometheus \

-v /storage/clustercontrol/prom_conf:/etc/prometheus \



Ralat :-


Bagi versi baru clustercontrol akan ada error ini, gantikan alamat IP dengan IP host


podman logs aaaef5a3b74a
>> Unable to start because DOCKER_HOST_ADDRESS is empty.
>> New in ClusterControl 1.9.1:
   Kindly specify the DOCKER_HOST_ADDRESS environment variable.
   This value should be the same as the Docker host primary IP address (or hostname/FQDN) where you will connect.
   If the container is running on a bridge network, do publish port 9443 and 19501 as well.
   This is mandatory for ClusterControl GUI v2 to operate correctly.
       -e DOCKER_HOST_ADDRESS="" \
             -p 9443:9443 \
             -p 19501:19501 \

10. Buat Capaian melalui Web Browser (contohnya Mozilla Firefox)

Tunggu dalam lebih seminit untuk podman mulakan pod

Melalui webgui Web browser


11. Salin SSH Certs kepada semua nodes yang Clustercontrol  hendak kawal

Pastikan semua nodes dalam /etc/hosts dan /etc/cloud/template/host.redhat.tpl (jika gunakan cloudinit) ada. Gantikan Ip Address dengan alamat IP, base server servercontrol.

ipaddress servercontrol

Buat salinan ssh-copyid ke semua hosts (pentadbir atau yang berkaitan) termasuk dalam container

12. Terminal Pod Clustercontrol

Arahan ini adalah untuk mendapatkan terminal untuk Pod clustercontrol

podman exec -it clustercontrol /bin/bash

(ia dalam podman container)

ssh user pentadbir/

ssh key dir /root/.ssh

sudo password adalah pentadbir atau yang berkaitan.

13. Untuk stop dan restart Pod Clustercontrol

untuk stop podman pod, dapatkan container id dahulu..

podman ps -a

Kemudian ...

podman stop containerid

Untuk mula semula gunakan podman start containerid

14. Clustercontrol2 (Beta)

Capaian melalui port 19501




Harisfazillah Jamel

19 Feb 2022





Popular Posts


64bit Activity Adempire advocate Akta Apache ASAS Azam backup backuppc Bash Beowulf Big Data Broadband Budget Centos Cinta Cluster CMS cmsfornerd Company Complain computer Computer Operation Conference Contest Data Centre Operation DBmail Digg Digital Certification Discussion Group Django DNS Docker Domain Duit Online Economy Elastic Stack Elasticsearch ELK email email server English Evangelist Events Family Tree Fedora File System Firefox Foss FreeBSD FTX Gesaan Gluster Gmail Google Google App GTUG Hacking Hadoop hafnie Harisfazillah Jamel horde HP-UX hwclock IBM ICT Service Delivery and Operation Indonesia Internet Internet Tools Itanium Jabatan IT Negara Jaring Java Javascript Jepun Jiwang Joke Joomla K3S K3Sup Kernel Kesihatan Kibana KOSTEM Kubernetes ldap Linux Linux Counter linuxmalaysia Logstash Love Mailman MailScanner Mailwatch Malay Malaysia MAMPU MDeC meetup Melaka Melayu Merdeka Microsoft Migration mirror sites Money Online Monitor MOSC 2010 MOSC2010 mosc2011 MOSC2013 MOSCMY MOSCMY2014 MOSCMY2015 Mozilla MPI MSC Malaysia MSC Malaysia OSCONF MSCOSCONF My Love MyGOSSCON MyMeeting Mypenguin99 mysql Nagios NagiosQL Negaraku nss_ldap ntp OBW2014 Open Office Open Source openldap OpenStack Opera OS2 OS400 OSCC OSCC MAMPU OSS OSS Policy OWASP Parallel Computing People Power Personal Petition PGP PHP Pligg Podman Politik Postfix Postgresql Programming Proxmox Python q1moscmy2015 Questionnaires Research Research tools RPM SASSIAN Sassian 85-89 Sassians 85-89 SCO Security Sekolah Sekolah Alam Shah Shell script Software License Solaris SongketMail SongketMailFilter sourceforge spam spamassassin Spoof Survey SVR4 System Tools Technorati Terjemahan Terminal TMnet Tor Training translation Treasury Malaysia Trend Micro Twitter Ubuntu Unix Virtualization VMS VOIP Wang Web Server Windows Zimbra

LinuxMalaysia Mastodon