Tutorial Cloudflare Tunnel di Proxmox (Auto Start dengan Systemd)


1. Install cloudflared

wget -O /usr/local/bin/cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
chmod +x /usr/local/bin/cloudflared


Cek versi:

cloudflared --version

2. Login ke Cloudflare


Jalankan:

cloudflared tunnel login



?? Browser akan terbuka ? pilih akun & domain (misal: rsimadinah.com)
?? Cloudflare akan mengirim sertifikat ke /root/.cloudflared/cert.pem.

3. Buat Tunnel Baru

cloudflared tunnel create prox-tunnel


Hasilnya keluar Tunnel UUID, contoh:

Tunnel credentials written to /root/.cloudflared/bexxxxx72d-b839-47eb-9220-40e4b054xxxxxx.json


?? Simpan UUID: bexxxxx72d-b839-47eb-9220-40e4b054xxxxxx

4. Konfigurasi Tunnel


Buat config file:

nano /root/.cloudflared/config.yml


Isi contoh (untuk Proxmox web GUI di https://localhost:8006):

tunnel: bexxxxx72d-b839-47eb-9220-40e4b054xxxxxx
credentials-file: /root/.cloudflared/bexxxxx72d-b839-47eb-9220-40e4b054xxxxxx.json

ingress:
  - hostname: prox.rsimadinah.com
    service: https://localhost:8006
  - service: http_status:404


Save & keluar.

5. Buat CNAME di Cloudflare


Masuk dashboard Cloudflare ? DNS ? Add record

Type: CNAME

Name: prox

Target: bexxxxx72d-b839-47eb-9220-40e4b054xxxxxx.cfargotunnel.com

Proxy Status: Proxied (Orange Cloud)

6. Uji Manual


Tes dulu jalanin manual:

cloudflared tunnel run prox-tunnel


Kalau benar ? akses https://prox.rsimadinah.com ?

7. Setup Systemd Service (Auto Start)


Buat service file:

nano /etc/systemd/system/cloudflared.service


Isi:

[Unit]
Description=cloudflared tunnel
After=network-online.target

[Service]
TimeoutStartSec=0
Type=notify
ExecStart=/usr/local/bin/cloudflared --no-autoupdate tunnel run prox-tunnel
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

8. Enable & Start Service

systemctl daemon-reload
systemctl enable cloudflared
systemctl start cloudflared
systemctl status cloudflared -l


Kalau aktif ? berarti berhasil.

9. Verifikasi


Jalankan:

curl -I https://prox.rsimadinah.com


Harus dapat respon HTTP/1.1 200 dari Proxmox GUI.

Reboot server ? cek:

systemctl status cloudflared


Harus auto start ?

?? Jadi alurnya:

Install ? Login ? Buat Tunnel ? Config ? DNS CNAME

Test manual ? bikin systemd ? enable

Domain bisa diakses tanpa harus run manual lagi.

Mengatasi Masalah Akses Direktori Samba karena SELinux

 Mengatasi Masalah Akses Direktori Samba karena SELinux

🔍 Penyebab Masalah


    Direktori sudah memiliki permission 777 (/media/data1/opt/oracle/orapro).

    SELinux aktif dalam mode enforcing, yang dapat memblokir akses meskipun permission sudah benar.

Langkah Solusi
1. Nonaktifkan SELinux Sementara (Testing)

Untuk memastikan apakah SELinux penyebab masalah:
bash

sudo setenforce 0  # Nonaktifkan SELinux sementara

    Coba akses lagi via smbclient:
    bash

    smbclient //localhost/orapro -U oracle
    mkdir x

    Jika berhasil, berarti SELinux memblokir akses.

2. Perbaiki Konteks SELinux untuk Direktori Samba

Jika SELinux penyebabnya, atur konteks yang benar:
bash

sudo chcon -t samba_share_t /media/data1/opt/oracle/orapro -R

    samba_share_t adalah konteks default untuk share Samba.

    -R untuk rekursif (termasuk subdirektori/file).

3. Cek Log SELinux (Jika Masih Gagal)

Periksa log untuk detail error:
bash

sudo sealert -a /var/log/audit/audit.log

    Cari pesan terkait samba atau avc: denied.

4. Aktifkan Kembali SELinux (Jika Diperlukan)

Setelah perbaikan, kembalikan SELinux ke mode enforcing:
bash

sudo setenforce 1

⚙️ Solusi Alternatif (Jika Masih Bermasalah)


    Tambahkan kebijakan SELinux khusus (jika diperlukan):
    bash

sudo ausearch -c 'smbd' --raw | audit2allow -M my_sambafix
sudo semodule -i my_sambafix.pp

Pastikan direktori Samba memiliki label yang benar:
bash

    sudo semanage fcontext -a -t samba_share_t "/media/data1/opt/oracle/orapro(/.*)?"
    sudo restorecon -Rv /media/data1/opt/oracle/orapro

📌 Best Practices

    Jangan nonaktifkan SELinux permanen (gunakan solusi konteks/kebijakan).

    Gunakan samba_share_t untuk direktori Samba.

    Monitor log SELinux (sealert, /var/log/audit/audit.log).

    Pastikan permission Linux (chmod/chown) sudah benar.

Mengaktifkan ARCHIVELOG Mode di Oracle Database 19c on Oracle Linux R8

 Mengaktifkan ARCHIVELOG Mode di Oracle Database
📌 Pengenalan

ARCHIVELOG mode adalah mode yang memungkinkan Oracle Database untuk mengarsipkan file online redo log sebelum digunakan kembali. Mode ini sangat penting untuk:

    Point-in-time recovery (pemulihan ke waktu tertentu).

    Backup database yang konsisten.

    Mencegah kehilangan data jika terjadi kegagalan.

Tanpa ARCHIVELOG mode, Anda hanya bisa melakukan pemulihan hingga backup terakhir (tidak bisa ke waktu tertentu).
🔍 Memeriksa Status ARCHIVELOG Mode

Sebelum mengaktifkan ARCHIVELOG mode, pastikan statusnya terlebih dahulu.

    Login ke SQL*Plus sebagai sysdba:
    sql

sqlplus / as sysdba

Jalankan perintah berikut:
sql

ARCHIVE LOG LIST;

    Contoh output jika ARCHIVELOG mode tidak aktif:
    text

Database log mode              No Archive Mode
Automatic archival             Disabled

Contoh output jika ARCHIVELOG mode aktif:
text

        Database log mode              Archive Mode
        Automatic archival             Enabled

✅ Langkah Mengaktifkan ARCHIVELOG Mode

⚠️ Persyaratan:

    Database harus di-restart.

    Database harus dalam mode MOUNT, tidak boleh OPEN.

📝 Langkah-langkah:

    Login ke SQL*Plus sebagai sysdba:
    sql

sqlplus / as sysdba

Matikan database:
sql

SHUTDOWN IMMEDIATE;

Startup database dalam mode MOUNT:
sql

STARTUP MOUNT;


Aktifkan ARCHIVELOG mode:
sql

ALTER DATABASE ARCHIVELOG;

Buka database:
sql

ALTER DATABASE OPEN;

(Opsional) Pastikan archiving otomatis aktif:
sql

    ALTER SYSTEM SET log_archive_start = TRUE;

        Catatan: Di versi Oracle terbaru, log_archive_start sudah tidak digunakan karena archiving otomatis aktif jika ARCHIVELOG mode diaktifkan.

🗂️ Menentukan Lokasi Penyimpanan Archive Log

Archive log disimpan di lokasi yang ditentukan oleh parameter log_archive_dest.

    Cek lokasi saat ini:
    sql

SHOW PARAMETER log_archive_dest;

atau
sql

SHOW PARAMETER log_archive_dest_1;

(Opsional) Ubah lokasi archive log:
sql

    ALTER SYSTEM SET log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/archivelogs' SCOPE=SPFILE;

        Restart database jika menggunakan SCOPE=SPFILE.

🔁 Cara Menonaktifkan ARCHIVELOG Mode


Jika suatu saat diperlukan, ARCHIVELOG mode bisa dinonaktifkan.

    Matikan database:
    sql

SHUTDOWN IMMEDIATE;

Startup dalam mode MOUNT:
sql

STARTUP MOUNT;

Nonaktifkan ARCHIVELOG mode:
sql

ALTER DATABASE NOARCHIVELOG;

Buka database:
sql

    ALTER DATABASE OPEN;

✅ Best Practices


    Selalu aktifkan ARCHIVELOG mode di database produksi.

    Atur backup rutin (misal menggunakan RMAN) untuk mengelola archive log.

    Monitor ruang disk archive log agar tidak penuh.

    Hapus archive log yang sudah tidak diperlukan setelah backup.

🎯 Kesimpulan


Dengan mengaktifkan ARCHIVELOG mode, Anda dapat:

    Melakukan pemulihan ke waktu tertentu.

    Mencegah kehilangan data penting.

    Memastikan database lebih aman.

Enable Autologin for GDM on RHEL 8

 1. Edit the GDM custom.conf file:

sudo nano /etc/gdm/custom.conf

2. Uncomment and modify/add the following lines under the [daemon] section:

[daemon]
AutomaticLoginEnable=True
AutomaticLogin=your_username

Oracle Database 19c Service (AUTOSTART CDB/PDB) on Oracle LinuxR8


Buat file service
sudo vi /etc/systemd/system/oracledb_ORCLCDB.service

[Unit]
Description=Oracle Database service for ORCLCDB
After=network.target
Wants=network.target

[Service]
Type=forking
User=oracle
Group=oinstall
Environment=ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
Environment=ORACLE_SID=ORCLCDB
Environment=PATH=/opt/oracle/product/19c/dbhome_1/bin:/usr/bin:/bin
ExecStart=/opt/oracle/product/19c/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/opt/oracle/product/19c/dbhome_1/bin/dbshut $ORACLE_HOME
TimeoutSec=600
Restart=on-failure
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target



Catatan penting:

dbstart/dbshut membaca /etc/oratab. Pastikan entri CDB:

ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y (huruf terakhir Y agar auto-start).

Sesuaikan ORACLE_HOME/ORACLE_SID kalau berbeda.


Reload systemd
sudo systemctl daemon-reload


Enable saat boot
sudo systemctl enable oracledb_ORCLCDB.service

Start sekarang (opsional)

 
sudo systemctl start oracledb_ORCLCDB.service

Cek status
sudo systemctl status oracledb_ORCLCDB.service

Log jika perlu
journalctl -u oracledb_ORCLCDB.service -b












Oracle Listener Service (AUTOSTART LISTENER)


Buat file service
sudo vi /etc/systemd/system/oracle-listener.service


[Unit]
Description=Oracle Listener
After=network.target

[Service]
Type=forking
User=oracle
Group=oinstall
Environment=ORACLE_BASE=/opt/oracle
Environment=ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
Environment=TNS_ADMIN=/opt/oracle/product/19c/dbhome_1/network/admin
Environment=LD_LIBRARY_PATH=/opt/oracle/product/19c/dbhome_1/lib
Environment=PATH=/opt/oracle/product/19c/dbhome_1/bin:/usr/bin:/bin
ExecStart=/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start
ExecStop=/opt/oracle/product/19c/dbhome_1/bin/lsnrctl stop
RemainAfterExit=yes
Restart=on-failure

[Install]
WantedBy=multi-user.target



Reload systemd
sudo systemctl daemon-reload

Enable saat boot
sudo systemctl enable oracle-listener.service

Start sekarang

sudo systemctl start oracle-listener.service

Cek status

sudo systemctl status oracle-listener.service

Verifikasi listener

lsnrctl status


Uji Saat Reboot

Reboot
sudo reboot

Setelah login, cek:

sudo systemctl status oracledb_ORCLCDB.service
sudo systemctl status oracle-listener.service


Ringkasan


DB service: /etc/systemd/system/oracledb_ORCLCDB.service (pakai dbstart/dbshut).

Listener service: /etc/systemd/system/oracle-listener.service (pakai lsnrctl start/stop).

Pastikan /etc/oratab punya entri ...:Y.

Aktifkan auto-start dengan systemctl enable dan verifikasi dengan status / journalctl.



Langkah demi langkah instalasi Oracle Database 19c di Oracle Linux R8

# 1. User & Group
groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 54321 -g oinstall -G dba oracle
passwd oracle

# 2. Install Preinstall & Oracle DB
yum install -y oracle-database-preinstall-19c
yum install -y oracle-database-ee-19c-1.0-1.x86_64.rpm

# 3. Set Password Default
export ORACLE_PASSWORD=xxxxx

# 4. Create & Start Database
/etc/init.d/oracledb_ORCLCDB-19c configure

# 5. Tambah Environment di .bashrc
echo 'export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1' >> ~/.bashrc
echo 'export ORACLE_SID=ORCLCDB' >> ~/.bashrc
echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 6. Ganti Password SYS & SYSTEM
su - oracle
/opt/oracle/product/19c/dbhome_1/bin/oraenv   # ORCLCDB
sqlplus / as sysdba
ALTER USER sys IDENTIFIED BY newpass;
ALTER USER system IDENTIFIED BY newpass;


Info Penting

  • ORACLE_HOME: /opt/oracle/product/19c/dbhome_1

  • ORACLE_BASE: /opt/oracle/

  • Listener: 1521

  • EM: https://localhost:5500/em


Mount Partisi NTFS di Oracle Linux R8

Berikut versi teks biasa tutorial instalasi NTFS-3G di Linux berbasis RHEL/CentOS/AlmaLinux/RockyLinux:

Aktifkan EPEL Repository

Jalankan perintah:
sudo dnf install -y epel-release

Install NTFS-3G

Setelah EPEL aktif, jalankan:
sudo dnf install -y ntfs-3g

Cek instalasi

Pastikan sudah terpasang dengan perintah:
ntfs-3g --version

Mount partisi NTFS

Misalnya partisi NTFS ada di /dev/sdb1 dan akan dipasang di /mnt/ntfs:

sudo mkdir -p /mnt/ntfs
sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs


Unmount partisi

Setelah selesai digunakan:
sudo umount /mnt/ntfs