2026-05-16

Tutorial Install OPENSid versi 2604 di Windows 1 Via Laragon

 

draft script PowerShell untuk Windows 11 + Laragon + OpenSID v2604.0.0.

Asumsi script ini:

- Laragon terinstall di C:\laragon
- Laragon Apache + MySQL sudah bisa jalan
- OpenSID akan dipasang di C:\laragon\www\opensid
- Domain lokal: http://opensid.test
- Database: opensid_umum
- User database: opensid_user
- Password database: desamembangun

Simpan sebagai:

setup-opensid-v2604.ps1

Lalu jalankan PowerShell sebagai Administrator.


Script PowerShell

# setup-opensid-v2604.ps1
# Draft installer helper OpenSID v2604.0.0 untuk Windows 11 + Laragon
# Jalankan PowerShell sebagai Administrator

$ErrorActionPreference = "Stop"

# =========================
# KONFIGURASI
# =========================
$LaragonRoot = "C:\laragon"
$ProjectName = "opensid"
$Domain = "opensid.test"

$OpenSIDVersion = "v2604.0.0"
$OpenSIDZipUrl = "https://github.com/OpenSID/OpenSID/archive/refs/tags/$OpenSIDVersion.zip"

$DbName = "opensid_umum"
$DbUser = "opensid_user"
$DbPass = "desamembangun"

# Laragon default biasanya root tanpa password.
# Kalau root MySQL Laragon punya password, isi di sini.
$DbRootUser = "root"
$DbRootPass = ""

# Jika true, database lama dengan nama $DbName akan dihapus dan dibuat ulang.
$ResetDatabase = $true

# =========================
# FUNGSI BANTUAN
# =========================
function Write-Step($Text) {
    Write-Host ""
    Write-Host "=== $Text ===" -ForegroundColor Cyan
}

function Assert-Admin {
    $currentIdentity = [Security.Principal.WindowsIdentity]::GetCurrent()
    $principal = New-Object Security.Principal.WindowsPrincipal($currentIdentity)
    $isAdmin = $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

    if (-not $isAdmin) {
        throw "Script harus dijalankan dari PowerShell Run as Administrator."
    }
}

function Find-MySqlExe {
    $mysqlCandidates = Get-ChildItem "$LaragonRoot\bin\mysql" -Recurse -Filter "mysql.exe" -ErrorAction SilentlyContinue |
        Sort-Object FullName -Descending

    if ($mysqlCandidates.Count -eq 0) {
        throw "mysql.exe tidak ditemukan di $LaragonRoot\bin\mysql. Pastikan Laragon MySQL/MariaDB sudah terpasang."
    }

    return $mysqlCandidates[0].FullName
}

function Invoke-MySqlRoot($Sql) {
    $mysqlExe = Find-MySqlExe

    $args = @("-u", $DbRootUser)

    if ($DbRootPass -ne "") {
        $args += "-p$DbRootPass"
    }

    $Sql | & $mysqlExe @args

    if ($LASTEXITCODE -ne 0) {
        throw "Perintah MySQL gagal. Cek apakah MySQL Laragon sudah running dan password root benar."
    }
}

function Ensure-HostsEntry {
    $hostsPath = "$env:SystemRoot\System32\drivers\etc\hosts"
    $hostsContent = Get-Content $hostsPath -Raw

    if ($hostsContent -notmatch "(?m)^\s*127\.0\.0\.1\s+$([regex]::Escape($Domain))\s*$") {
        Add-Content -Path $hostsPath -Value "`n127.0.0.1 $Domain"
        Write-Host "Hosts entry ditambahkan: 127.0.0.1 $Domain"
    } else {
        Write-Host "Hosts entry sudah ada: $Domain"
    }
}

function Write-ApacheVHost {
    $sitesDir = Join-Path $LaragonRoot "etc\apache2\sites-enabled"

    if (-not (Test-Path $sitesDir)) {
        Write-Warning "Folder sites-enabled Laragon tidak ditemukan: $sitesDir"
        Write-Warning "Kalau domain $Domain belum jalan, aktifkan Auto Virtual Hosts di Laragon atau buat vhost manual."
        return
    }

    $projectPathApache = ($ProjectPath -replace "\\", "/")
    $vhostPath = Join-Path $sitesDir "$Domain.conf"

    $vhost = @"
<VirtualHost *:80>
    ServerName $Domain
    DocumentRoot "$projectPathApache"

    <Directory "$projectPathApache">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
"@

    Set-Content -Path $vhostPath -Value $vhost -Encoding ASCII
    Write-Host "Apache vhost dibuat: $vhostPath"
}

# =========================
# MULAI
# =========================
Assert-Admin

$WwwRoot = Join-Path $LaragonRoot "www"
$ProjectPath = Join-Path $WwwRoot $ProjectName
$TempRoot = Join-Path $env:TEMP "opensid-setup"
$ZipPath = Join-Path $TempRoot "opensid-$OpenSIDVersion.zip"
$ExtractPath = Join-Path $TempRoot "extract"

Write-Step "Cek Laragon"
if (-not (Test-Path $LaragonRoot)) {
    throw "Laragon tidak ditemukan di $LaragonRoot. Ubah variabel `$LaragonRoot di bagian atas script."
}

if (-not (Test-Path $WwwRoot)) {
    throw "Folder www Laragon tidak ditemukan: $WwwRoot"
}

Write-Host "Laragon root : $LaragonRoot"
Write-Host "Project path : $ProjectPath"

Write-Step "Download OpenSID $OpenSIDVersion"
New-Item -ItemType Directory -Force -Path $TempRoot | Out-Null

if (Test-Path $ExtractPath) {
    Remove-Item $ExtractPath -Recurse -Force
}

New-Item -ItemType Directory -Force -Path $ExtractPath | Out-Null

Invoke-WebRequest -Uri $OpenSIDZipUrl -OutFile $ZipPath

Write-Host "Downloaded: $ZipPath"

Write-Step "Extract OpenSID"
Expand-Archive -Path $ZipPath -DestinationPath $ExtractPath -Force

$ExtractedSource = Join-Path $ExtractPath "OpenSID-2604.0.0"

if (-not (Test-Path $ExtractedSource)) {
    $ExtractedSource = Get-ChildItem $ExtractPath -Directory | Select-Object -First 1 -ExpandProperty FullName
}

if (-not (Test-Path (Join-Path $ExtractedSource "index.php"))) {
    throw "Source OpenSID hasil extract tidak valid. index.php tidak ditemukan."
}

Write-Host "Extracted source: $ExtractedSource"

Write-Step "Siapkan folder project Laragon"
if (Test-Path $ProjectPath) {
    $backupPath = "$ProjectPath-backup-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
    Rename-Item -Path $ProjectPath -NewName (Split-Path $backupPath -Leaf)
    Write-Host "Folder lama di-backup menjadi: $backupPath"
}

New-Item -ItemType Directory -Force -Path $ProjectPath | Out-Null
Copy-Item -Path (Join-Path $ExtractedSource "*") -Destination $ProjectPath -Recurse -Force

Write-Host "OpenSID dicopy ke: $ProjectPath"

Write-Step "Buat .htaccess localhost"
$HtaccessPath = Join-Path $ProjectPath ".htaccess"

$Htaccess = @'
#============
# OpenSID .htaccess untuk localhost Laragon
# HTTPS redirect dimatikan
#============

RewriteEngine On
RewriteBase /

# Hilangkan index.php dari URL OpenSID
RewriteCond $1 !^(index\.php|resources|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

# Cegah akses ke folder internal
RewriteRule ^(\.git|\.github) - [F,L]
RewriteRule ^(bin) - [F,L]

# Matikan directory listing
Options All -Indexes

# Paksa HTTPS dimatikan untuk localhost
# RewriteCond %{HTTPS} off
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Lindungi file tersembunyi
<FilesMatch "^\.">
    Require all denied
</FilesMatch>

# Lindungi file sistem
<FilesMatch "^(composer.json|composer.lock|mitra|app_key|phpunit.xml|phpunit.xml.dist|rector)$">
    Require all denied
</FilesMatch>

# Lindungi file arsip
<FilesMatch "(?i)\.(zip|rar)$">
    Require all denied
</FilesMatch>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access 1 year"

    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType image/webp "access 1 year"
    ExpiresByType image/svg+xml "access 1 year"
    ExpiresByType image/x-icon "access 1 year"

    ExpiresByType text/css "access 1 year"
    ExpiresByType application/javascript "access 1 year"
    ExpiresByType application/x-javascript "access 1 year"

    ExpiresByType application/pdf "access 1 year"
    ExpiresByType application/font-woff "access 1 year"
    ExpiresByType application/font-woff2 "access 1 year"
</IfModule>
'@

Set-Content -Path $HtaccessPath -Value $Htaccess -Encoding ASCII

Write-Step "Buat folder storage/cache"
$folders = @(
    "storage\logs",
    "storage\framework\cache",
    "storage\framework\sessions",
    "storage\framework\views",
    "bootstrap\cache"
)

foreach ($folder in $folders) {
    New-Item -ItemType Directory -Force -Path (Join-Path $ProjectPath $folder) | Out-Null
}

Write-Host "Folder storage/cache selesai."

Write-Step "Tambahkan hosts dan vhost Apache"
Ensure-HostsEntry
Write-ApacheVHost

Write-Step "Buat database OpenSID"
$createDbSql = ""

if ($ResetDatabase) {
    $createDbSql += @"
DROP DATABASE IF EXISTS `$DbName`;
"@
}

$createDbSql += @"
CREATE DATABASE IF NOT EXISTS `$DbName` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS '$DbUser'@'localhost' IDENTIFIED BY '$DbPass';
ALTER USER '$DbUser'@'localhost' IDENTIFIED BY '$DbPass';
GRANT ALL PRIVILEGES ON `$DbName`.* TO '$DbUser'@'localhost';
FLUSH PRIVILEGES;
"@

Invoke-MySqlRoot $createDbSql

Write-Host "Database siap:"
Write-Host "  DB Name : $DbName"
Write-Host "  DB User : $DbUser"
Write-Host "  DB Pass : $DbPass"

Write-Step "Buat shortcut desktop"
$desktop = [Environment]::GetFolderPath("Desktop")
$shortcutPath = Join-Path $desktop "OpenSID Installer.url"

$shortcut = @"
[InternetShortcut]
URL=http://$Domain/install
"@

Set-Content -Path $shortcutPath -Value $shortcut -Encoding ASCII

Write-Step "Selesai"
Write-Host "Sekarang lakukan ini:"
Write-Host "1. Pastikan Laragon Apache dan MySQL running."
Write-Host "2. Restart/Reload Apache dari Laragon."
Write-Host "3. Buka: http://$Domain/install"
Write-Host ""
Write-Host "Isi database installer OpenSID:"
Write-Host "  Database host      : localhost"
Write-Host "  Database port      : 3306"
Write-Host "  Database name      : $DbName"
Write-Host "  Database user      : $DbUser"
Write-Host "  Database password  : $DbPass"
Write-Host ""
Write-Host "Jika halaman belum terbuka, klik Stop All lalu Start All di Laragon."
Start-Process "http://$Domain/install"

Cara menjalankan

Buka PowerShell as Administrator, lalu masuk ke folder tempat script disimpan. Misalnya di Desktop:

cd $env:USERPROFILE\Desktop

Izinkan eksekusi script untuk sesi ini saja:

Set-ExecutionPolicy -Scope Process Bypass -Force

Jalankan:

.\setup-opensid-v2604.ps1

Setelah script selesai

Di installer OpenSID, isi database:

Database host      : localhost
Database port      : 3306
Database name      : opensid_umum
Database user      : opensid_user
Database password  : desamembangun

Kalau nanti Laragon belum mengenali opensid.test, biasanya cukup:

Stop All
Start All

di Laragon.

2022-02-28

Inferior-isme

 Jika ada yang punya inferior akut, mungkin saya salah satunya,

Saya menolak berdekatan dengan orang-orang yang saya anggap "hebat", baik dari percakapan maupun interaksi sosial.

Ini mungkin masalah kejiwaan yang belum klaar, namun cukup membantu saya untuk tidak direpotkan oleh hal hal besar.

Orang-orang hebst selalu mempunyai urusan-urusan besar, dan jika ada orang lain, kenapa harus saya yang terlibat. 

2021-12-25

Adios 2021, Selamat Datang 2022

Hai, it's been a while since i "touch" you blogspot, it's been 7 years, wow...

You know, i've been slept with more than 100 girls, God damn that's not things to be prouded! but the point is...

I've been changed, change to be a sinner actually, or you can name it a LOOSER.

My youth doesnt really working well, but in other hand,

My career working really well, i earn good money with my own standart, but i feel emptiness, i have been reach my standard of freedom.

Actually this is not really healthy, my soul is empty but in the same time i enjoy it, i could run away from standart of society.

Sometimes i share my earnings to balance my emptiness, every things working well so far till today. 

I just feel my sense of caring to others not really good day by day. But that's bcoz this toxic society shape this. I oppose them by do not give a fu*k anymore.

Feel a bit tired in soul yeahh, but in the end i think i'm still worthy, sometimes i help another human kind. 😊

  


2014-03-19

What Kind of Person am i...

Pertanyaan ini sering muncul di kepalaku, terutama sebelum tidur, saat boker, sok ngenglish yaa...terserahlah, intinya "orang macam apa saya ini"

Meratapi hidup? bisa dibilang begitu, masih sulit rasanya menerima kenyataan drop out dari its tahun 2007, sekarang 2014, wow waktu terasa berjalan begitu cepat selama 7 tahun tanpa melakukan apapun.

Beberapa hal telah terjadi selama kurun waktu ini tanpa suatu yang berarti,bahkan setelah pindah ke UMM Malang. Orang macam apa saya ini?saya menyatakan pada diri sendiri sebagian dari diri ini tidak ingin merepotkan orang lain , tidak ingin merugikan orang lain, berjalan dalam kebaikan, menyenangkan orang lain, tapi dalam waktu yang sama saya merasa saya yang rugi sendiri. Seperti contoh ketika mereka berutang tidak dibayar.

Orang macam apa saya? dalam segala hal saya ingin kesempurnaan atau tidak (sempurna) sama sekali, padahal kesempurnaan hanyalah milik Allah, atau ada padanan lain untuk menyatakan kesempurnaan yang saya maksud? harmoni , mungkin....

Saya ingin segala sesuatu berjalan sesuatu harmoni, sesuatu berjalan sesuai hukum alamnya, adakah yang benar-benar seperti itu? seperti contoh ketika belajar keras, nilai bagus buahnya, ketika bekerja antusias, hasilnya memuaskan. Jujur...oh bukan, apa lagi...

Sangat membenci ketidakjujuran, di sisi lain ini adalah ironi karna ketika sampai saat ini belum melaksanakan amanat kedua orang tua bahwa jauh-jauh merantau menuntut ilmu dan pulang membawa hasil, ijazah sarjana.

Ini telah complicated, menjadi rumit, sepertinya saya sendiri yang membuatnya rumit, tapi di sisi lain saya tidak ingin larut dan ingin terus belajar, berkembang, melakukan sesuatu yang bermanfaat bagi diri sendiri dn orang lain. Menjadi rumit karna saya menyalahkan diri sendiri atas apa yang terjadi sampai saya drop out, dan di sisi lain bertekad bahwa hidup harus terus berjalan,,,,tetapi...hidup yang seperti apa, perkembangan seperti apa...arah yang mana? yang sejatinya arah yang benar adalah arah kepada Allah swt di ujungnya.

Saya sempat kerja di ISP,mendesain web untuk orang-orang, menjadi makelar di kaskus.co.id, dan terakhir membuka jasa hackintoh, tapi tidak sama sekali menghasilkan materi?apa iya materi yang utama di dunia?padahal semuanya berproses...dan pertanyaan lain?apa iya ini jalanku? karena sementara saya terdaftar sebagai mahasiswa teknik sipil?gak nyambung.

Jika dirunut ulang ke belakang, sepertinya dari kecil saya tak punya hobi khusus, sejak kelas 6 SD saya telah merokok, ini juga yang menggerogoti keuanganku akhir-akhir ini, sejak kecil saya belajar qira'ah al Qur'an imam hafs pada ustad di kampung, pulang sekolah seperti anak-anak kampung pada umumnya, bermain sampai sore,malam hari mengaji, bermain tenis meja, bulutangkis, sepakbola. SMP pindah ke kota Bau-Bau, belajar serius, selalu juara kelas, dengan tujuan nilai bagus demi masuk SMA favorit, SMA pindah kota lagi, belajar serius, sambil tetap ikut pengajian keagaamaan, selalu juara di kelas, sampai masuk perguruan tinggi favorit yang diinginkan di teknik sipil ITS.

Tujuh tahun lalu,2007 menjadi titik nadir semuanya. Ketika saya mulai mengacaukan semuanya,kerja di warnet dan tidak fokus tujuan awal. Ah sudahlah hidup terus berjalan,kan :) . Di sisi lain saya tidak pernah benar-benar memaafkan diri sendiri atas apa yang terjadi. Di sisi lain, pemikiran setan/jahat "menyalahkan" Tuhan atas apa yang terjadi (Ah berani-beraninya,kau!:( , menjadikan diri seorang agnostik, kepercayaan diri hilang.

Pada saat azan bergema, ada rasa malu atas panggilan muazin untuk sembahyang berjamaah, tapi makin hari hati makin keras seperti batu, sementara di relung jiwa yang lain berteriak "orang macam apa kau ini".
Fabiayyi aala irobbikumaa tukadziban, maka nikmat Tuhanmu yang manakah yang kau dustai...selalu berdengung-dengung surat Ar rahman ini dalam jiwa ini. Kata orang Jawa, urip iku sawang-sinawang, saling melihat, bahwa cobaan dan nikmat itu silih berganti...tak ada manusia yng hidupny benar-benar sempurna.

Tetapi itu lagi, hidup adalah proses, benarkah prosesku sudah benar? kebanyakan berdiam diri di kamar , lebih cenderung mencari uang lewat internet, daripada menyelesaikan sisa mata kuliah dan pulang dari rantau.

Sementara itu waktu terus berjalan, 27 tahun seorang laki-laki seharusnya sudah masuk usia pernikahan, sementara, menoleh ke belakang ada amanat yang belum selesai, tidak ada penghasilan yang tetap juga. Bagaimana berproses yang terang dan jelas. Pikiran buruk saya kadang berkata, tak usahlah saya menikah seumur hidup, kasihan anak orang, juga toh Sayyid Qutb menjomblo seumur hidupnya.

Dan kepada-Nya lah seharusnya saya mengadukan semua ini, tetapi karna kekerasan hati enggan beribadah, semuanya menjadi tambah kacau dan berputar di situ-situ saja sekarang.

Baiklah,uneg-uneg ini telah saya tumpahkan sebagian hari ini,trimakasih blogspot. Semoga besok ada progres

2011-10-27

Kereta Mini Indonesia

Zaidantrain.com Pusat kereta mini Indonesia Mainan kereta api peminatnya selalu terus ada, dari semua kalangan umur terutama anak-anak. Tempat-tempat seperti mall,taman, kebun binatang selalu disediakan kereta mini yang eksklusif . Kapasitas kereta mini ini berkisar antara 16 sampai 20 dengan 4 gerbong. Mainan Kereta Api Mini Kereta mini eksklusif diperuntukkan untuk anak-anak mulai dari umur diatas lima tahun.menggunakan teknologi otomatis Bentuk kepalanya bermacam-macam dan sangat menarik Kereta ini banyak diminati, disebabkan oleh desain kereta yang lengkap beserta relnya, kereta manual juga tak sepi peminat. Agar dapat berjalan jauh, biasanya kereta manual hanya berupa lokomotif saja yang bagian belakangnya diberi tali panjang untuk menggerekkan rodanya.
Mainan Kereta Api Mini Eksklusif Ciri khas kereta api ini adalah bisa dinaiki beberapa orang. Untuk jenis yang biasa dijumpai di mall, supermarket, dan swalayan biasanya menggunakan bahan berupa kombinasi fiberglass, alumunium dan stainless steel. Kapasitas penumpang berkisar 10 - 14 anak terdiri dari 1 lokomotif dan 3 gerbong, ada pula yang 4 gerbong. Kereta ini dikenal dengan nama kereta mainan mini fiber. Kereta ini juga dilengkapi dengan sound system, rel berbentuk O, panel control dan lampu. Bentuknya pun lucu, penuh warna ceria yang disukai anak-anak. Di mall, swalayan atau supermarket kadang juga dijumpai kereta yang hanya memiliki lokomotif saja, dan hanya mampu menampung 1 atau 2 anak kecil. Biasanya kereta ini dilengkapi dengan rel berbentuk O, sound system, dan lampu-lampu menarik. Umumnya menggunakan mesin mobil yang dapat menampung 27 orang dewasa sekaligus. Kereta ini bentuknya pun unik, dilengkapi dengan sound system dan lampu-lampu yang keren dan cantik.

2011-06-09

Penawaran Desain dan Hosting Web Murah

Tertarik memiliki web untuk penjualan online , weblog untuk mencari tambahan penghasilan lewat internet, atau memajang portofolio hasil karya secara online?

Saat ini pengaruh social network dan hubungan secara online merupakan salah satu kebutuhan manusia modern, oleh karena itu untuk memperlancar hubungan komunikasi, selain jejaring sosial seperti facebook, twitter, dll juga jika diperlukan membuat membeli domain dan menyewa hosting untuk kegiatan online.

Dengan adanya Content Media System (CMS) seperti Opencart, Joomla, Wordpress, memiliki website bukan lagi hal yang istimewa, tanpa perlu pengetahuan banyak tentang bahasa pemromgraman,html, php, maupun software seperti Adobe Dreamweaver...

Jadi tunggu apalagi, miliki website murah dengan harga terjangkau