BolPoint.wordpress.com

December 8, 2017

OpenVPN pada ClearOS 7

Filed under: Linux — bolpoint @ 3:53 am

OpenVPN

Server OpenVPN adalah cara aman dan hemat biaya untuk menyediakan akses VPN pejuang jalanan ke sumber daya di jaringan. Berbeda dengan server VPN PPTP , OpenVPN lebih kuat dalam melewati firewall dan gateway lain.

Klien OpenVPN tersedia tanpa biaya dan tersedia untuk hampir semua OS (Windows, Mac, GNU / Linux, Android) dan faktor bentuk (PC, Smartphone).

Instalasi

Jika sistem Anda tidak memiliki aplikasi ini, Anda dapat menginstalnya melalui Marketplace .

Setelah terinstal, Anda bisa menemukan fitur ini di sistem menu di lokasi berikut:

Jaringan | VPN | OpenVPN

Konfigurasi

Mengkonfigurasi Server

Informasi Sertifikat Keamanan

Sebelum Anda dapat mengkonfigurasi OpenVPN, Anda mungkin diarahkan ke halaman konfigurasi Certificate Manager di alat administrasi berbasis web. Informasi diperlukan untuk membuat sertifikat keamanan yang diperlukan yang digunakan dalam OpenVPN.

Konfigurasi otomatis

Aplikasi OpenVPN memiliki fitur konfigurasi otomatis yang memilih pengaturan default berdasarkan konfigurasi server Anda. Ini juga akan memperbaruinya jika Anda melakukan modifikasi pada server Anda (misalnya mengganti subnet LAN ).

Kecuali Anda adalah pengguna tingkat lanjut, fitur ini harus dibiarkan diaktifkan. Untuk menonaktifkan fitur, klik Disable Auto Configuration dalam dialog informasi.

Pengaturan – Konfigurasi Otomatis Diaktifkan

Domain Internet

Bidang Domain Internet terisi secara otomatis menggunakan Domain Default server, ditetapkan di aplikasi Setelan IP . Entri lapangan ini harus menjadi nama host yang tersedia untuk umum yang akan digunakan pengguna VPN dalam konfigurasinya sebagai nama host VPN untuk disambungkan.

DNS Server

Server DNS digunakan saat terhubung melalui VPN. Pengaturan ini dapat berguna jika mengakses alamat host / hostname lokal (misalnya hp-laserjet.lan). Seperti domain Internet, bidang ini diisi dari setelan server DNS di aplikasi Setelan IP .

WINS Server

Windows Internet Name Service (WINS) adalah layanan resolusi nama NetBIOS yang memungkinkan komputer klien mendaftarkan nama NetBIOS dan alamat IP mereka ke database terdistribusi dinamis dan untuk menyelesaikan nama sumber jaringan NetBIOS ke alamat IP mereka. Jika Anda memiliki server Microsoft [TM] (atau server lain yang menjalankan Samba) pada LAN yang menyediakan WINS, Anda ingin mengganti pengaturan konfigurasi otomatis dan menyetelnya ke IP server yang menyediakan layanan ini.

Jika Anda menjalankan Samba secara lokal, pengaturan konfigurasi otomatis baik-baik saja. Jika Anda tidak menjalankan server Samba atau MS WINS di manapun di jaringan, pengaturan ini tidak relevan dan dapat diabaikan dengan aman.

Bergantung pada konfigurasi jaringan Anda, Anda mungkin perlu menentukan pengaturan WINS dalam konfigurasi klien VPN.

Mengelola Akun Pengguna

Pengguna harus dikonfigurasi dengan akses OpenVPN dan Security Certificate . Untuk mengelola pengguna:

  • Buka halaman Users di alat administrasi berbasis web
  • Edit pengguna yang dipilih
  • Pastikan Pengguna OpenVPN User dan Security Certificates diaktifkan

Jika Anda menggunakan Active Directory Connector, pengguna AD yang dipilih harus menjadi anggota grup openvpn_plugin dan user_certificates_plugin. Lihat dokumentasi Active Directory Connector untuk rinciannya.

Mengkonfigurasi Klien

Microsoft Windows [tm]

Untuk mengkonfigurasi klien Windows OpenVPN, pertama-tama Anda harus menginstal Microsoft .Net framework (versi minimum 3.5). Anda bisa mendownloadnya disini .

Pastikan Anda telah menginstal framework .NET sebelum memulai instalasi klien OpenVPN.

Dengan menggunakan alat administrasi berbasis web, logout (jika ada) sebagai root setelah pengaturan dasar dan konfigurasi pengguna sebagaimana diuraikan di atas telah tercapai.

Login sebagai akun pengguna warrior jalan yang memiliki akses ke jaringan via OpenVPN.

User Login

Di bawah Account Saya , pilih pada User Certificates .

User Certificates

Pilih Windows sebagai klien Anda dan klik tombol Download di utilitas unduhan File Konfigurasi OpenVPN.

Download file berikut ke dalam direktori yang sama seperti file konfigurasi OpenVPN di atas:

  1. Sertifikat
  2. Otoritas Sertifikat
  3. Kunci pribadi

Download dan instal perangkat lunak klien OpenVPN dari halaman download OpenVPN . Saat unduhan selesai, klik dua kali file msi yang Anda download untuk memulai wizard penginstalan.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=e058e2&media=omedia:ss_openvpn_win_1.png

Bergantung pada pengaturan Anda, Anda mungkin akan mendapatkan peringatan tentang menjalankan file yang dapat dieksekusi. OpenVPN is OK untuk menginstal.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=1352a2&media=omedia:ss_openvpn_win_2.png

Lanjutkan melalui install wizard dengan mengklik Next .

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=4cabc6&media=omedia:ss_openvpn_win_3.png

Izinkan OpenVPN untuk menginstal di jalur default (disarankan) atau pilih lokasi di mana Anda ingin file instalasi berada.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=6ca70f&media=omedia:ss_openvpn_win_4.png

Anda dapat dengan aman mengabaikan peringatan Instalasi Perangkat Keras … antarmuka virtual akan dibuat melalui mana, terowongan VPN Anda akan terhubung. Klik tombol Continue Anyway .

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=79d24f&media=omedia:ss_openvpn_win_6.png

Biarkan penyihir melanjutkan sampai selesai. Di akhir pemasangan yang berhasil, Anda harus melihat dialog berikut:

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=0ca656&media=omedia:ss_openvpn_win_7.png

Silakan mulai OpenVPN dengan meninggalkan kotak centang OpenVPN Client Launch , atau mulai aplikasi dari menu Start Microsoft.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=e3656b&media=omedia:ss_openvpn_win_8.png

Di sebelah field Connection Profiles , klik ikon Plus (+). Pilih Import Profile dari Local File . Arahkan ke folder tempat Anda mendownload file konfigurasi OpenVPN dari halaman sertifikat pengguna ClearOS. Pilih file dan klik Import .

Jika Anda tidak menyimpan sertifikat, kunci pribadi dan CA ke folder yang sama, OpenVPN akan gagal menemukan semua kredensial yang diperlukan untuk mengkonfigurasi sendiri.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=38f2fc&media=omedia:ss_openvpn_win_9.png

Sekarang setelah Anda memiliki Profil Sambungan yang tersimpan untuk terhubung ke layanan OpenVPN di ClearOS, klik dua kali ikonnya. Anda akan diminta memberikan username dan password. Ini adalah nama pengguna dan kata sandi yang digunakan saat pengguna dibuat di sistem ClearOS (atau melalui konektor Active Directory pada domain Windows).

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=ac85e5&media=omedia:ss_openvpn_win_10.png

Dialog kemajuan akan ditampilkan, memberikan informasi mengenai status koneksi.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=949384&media=omedia:ss_openvpn_win_11.png

Jika semua berjalan sesuai rencana, Anda akan melihat dialog berikut yang memberikan informasi tentang koneksi Anda dan tautan untuk memutuskan sambungan saat Anda selesai menggunakan terowongan VPN.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=20d618&media=omedia:ss_openvpn_win_12.png

Ubuntu Linux

Keluar dari alat administrasi berbasis web sebagai root setelah pengaturan dasar dan konfigurasi pengguna sebagaimana diuraikan di atas telah tercapai.

Login sebagai akun pengguna warrior jalan yang memiliki akses ke jaringan via OpenVPN.

User Login

Di bawah Account Saya , pilih pada User Certificates .

User Certificates

Pilih Linux sebagai klien Anda dan klik tombol Download di utilitas unduhan File Konfigurasi OpenVPN.

Download Linux Config

Anda juga memerlukan file PKCS12 yang berisi sertifikat terkait. File PKCS12 akan meminta Anda untuk melindungi password paket saat pertama kali menggunakannya. Jangan lupa kata sandi ini … Klien Ubuntu Anda akan membutuhkannya untuk mengambil sertifikat nanti.

Anda sekarang sudah selesai dengan server / ClearOS. Di Pengelola Jaringan Ubuntu, klik kanan pada Network Manager, pilih Edit Connections , pilih tab VPN, dan klik Import .

Network Manager Pilih file konfigurasi yang anda simpan tadi.

Pastikan nama host server dapat diakses dari luar LAN Anda (misalnya, ini bukan domain lokal seperti network.lan).

Di bawah Authentication , pilih jenis “Password with Certificates”. Isi kolom username dan password dengan kredensial otentikasi pengguna.

Di bawah Sertifikat Pengguna , klik ikon file / folder dan pilih file PKCS12 yang juga Anda download dari server ClearOS. Masukkan kata sandi yang digunakan untuk mengotentikasi file.

Setup

Klik pada tombol Advanced dan pastikan Anda mengecek (enable) Use LZO Compression .

Klik Terapkan . Pengaturan VPN Anda sekarang harus dikonfigurasi. Ini adalah praktik yang baik untuk menguji koneksi Anda (jika mungkin) dengan klien masih berada di LAN . Dengan begitu, jika ada masalah, Anda memiliki seperangkat kemungkinan yang sempit untuk memecahkan masalah.

Klik pada link Network Manager dan pilih VPN Connections dan nama koneksi VPN yang dinamai dari konfigurasi ClearOS Anda.

Connect

Jika semuanya berjalan dengan baik, Anda akan melihat sebuah kunci muncul di ikon Network Manager yang menandakan terowongan berhasil digunakan.

Mac OS X

Keluar dari alat administrasi berbasis web sebagai root setelah pengaturan dasar dan konfigurasi pengguna sebagaimana diuraikan di atas telah tercapai.

Login sebagai akun pengguna warrior jalan yang memiliki akses ke jaringan via OpenVPN.

User Login

Di bawah Account Saya , pilih pada User Certificates .

Download Klien OpenVPN untuk Mac selain sertifikat pengguna … Catat direktori / folder yang Anda simpan ke file ini.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=0b339b&media=omedia:ss_openvpn_osx_1.png

Download dan instal perangkat lunak klien OpenVPN untuk Mac OS X dari Google Code .

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=ce65b4&media=omedia:ss_openvpn_osx_2.png

Klik pada link Download Tunnelbrick .

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=99c94a&media=omedia:ss_openvpn_osx_3.png

Klik gambar Tunnelbrick terbaru .dmg untuk memulai unduhan.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=b9b76d&media=omedia:ss_openvpn_osx_4.png

Setelah mengklik dua kali file dmg yang Anda download, sebuah dialog akan terbuka menanyakan apakah Anda ingin melanjutkan.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=97f507&media=omedia:ss_openvpn_osx_5.png

Setelah aplikasi berhasil diinstal, Anda akan mendapatkan pop-up yang memberitahukannya kepada Anda. Baik peluncuran aplikasi atau cari aplikasi di folder Applications Anda menggunakan Finder dan klik pada aplikasi Tunnelbrick.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=ef8fb5&media=omedia:ss_openvpn_osx_6.png

Saat diminta mengajukan pertanyaan untuk file konfigurasi, pilih Saya memiliki file konfigurasi .

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=d5b0fe&media=omedia:ss_openvpn_osx_7.png

Kecuali Anda adalah pengguna tingkat lanjut, pada prompt dialog berikutnya, pilih Tunnelbrick VPN Configuration .

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=81e7eb&media=omedia:ss_openvpn_osx_8.png

Setelah langkah di atas, Tunnelbrick akan membuat folder untuk Anda, biasanya di desktop kami yang bernama “Empty Tunnelbrick Configuration” atau yang serupa. Ganti nama folder ini sehingga mudah dikenali. Tambahkan file konfigurasi dan sertifikat Anda ke folder ini yang Anda download dari pengelola sertifikat alat administrasi berbasis ClearOS.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=d08b78&media=omedia:ss_openvpn_osx_9.png

Setelah selesai dengan inline instructions, ganti nama folder dan tambahkan extension .tblk.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=59afbf&media=omedia:ss_openvpn_osx_10.png

Double klik pada arsip baru Anda untuk menginstal konfigurasi.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=b6adcc&media=omedia:ss_openvpn_osx_11.png

Pilih apakah Anda ingin semua pengguna mengakses sistem ke terowongan ini atau hanya pengguna Anda saat ini.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=17c99e&media=omedia:ss_openvpn_osx_12.png

Anda akan diberi tahu bahwa konfigurasi telah terinstal. Saatnya untuk menguji koneksi VPN.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=1621d0&media=omedia:ss_openvpn_osx_13.png

Di pojok kanan atas desktop Anda, Anda akan melihat ikon Tunnelbrick. Klik sekali dan pilih Connect XYZ di mana XYZ adalah nama konfigurasi OpenVPN Anda seperti yang ditetapkan saat Anda mengganti nama folder yang berisi konfigurasi dan sertifikat.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=6b56c0&media=omedia:ss_openvpn_osx_14.png

Anda akan melihat pesan status yang ditampilkan saat OpenVPN mencoba terhubung ke server VPN ClearOS.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=55fcf9&media=omedia:ss_openvpn_osx_15.png

Jika semua dikirim sesuai rencana, Anda akan diberi tahu bahwa telah dibuat sambungan. Perubahan ikon akan menunjukkan kapan Anda terhubung melalui terowongan dan bila tidak.

https://clearos.com/dokuwiki2/lib/exe/fetch.php?w=300&tok=942d78&media=omedia:ss_openvpn_osx_16.png

Situs ke Situs VPN Terowongan

OpenVPN menyediakan VPN yang aman dan tangguh untuk menghubungkan kedua pejuang jalanan maupun beberapa jaringan. Solusinya juga seputar realitas internet saat ini:

  • Dukungan asli di lingkungan NAT (network address translation)
  • Dukungan asli untuk alamat IP dinamis
  • Pemantauan koneksi yang kuat dan penyambungan otomatis

Dengan kata lain, OpenVPN dapat digunakan di banyak lingkungan di mana IPsec tidak akan bekerja (atau bekerja dengan andal).

Pada bagian di bawah ini, kita akan menggunakan istilah markas dan remote office . Ketahuilah bahwa ini hanyalah terminologi sederhana yang digunakan untuk panduan implementasi ini. Anda dapat membuat hub dan berbicara solusi VPN (banyak kantor jarak jauh yang terhubung ke kantor pusat tunggal) serta solusi VPN mesh (di mana setiap situs terhubung ke semua situs lainnya).

Memilih Node Markas Besar

Dalam contoh kita, kita telah memilih sistem di kantor utama untuk menjadi markas besar . Ada dua alasan untuk keputusan ini:

  • Kantor utama memiliki koneksi jaringan yang paling kuat
  • Sistem ClearOS terhubung langsung ke Internet

Poin kedua penting. Jika Anda menemukan diri Anda berada dalam situasi di mana sistem ClearOS berada di belakang router lain (terutama router berbasis NAT), ketahuilah bahwa Anda masih dapat membuat VPN jaringan ke jaringan.

Buat Kunci Rahasia

Login ke lingkungan shell command line dan jalankan perintah berikut untuk membuat kunci rahasia yang digunakan untuk memverifikasi endpoint VPN:

  openvpn --genkey --secret /etc/openvpn/static.key

Kunci ini harus disalin ke sistem ClearOS lain yang terlibat dalam koneksi OpenVPN.

Buat Konfigurasi Kantor Pusat

Sekarang kunci rahasia telah dibuat, sekarang saatnya untuk beralih ke file konfigurasi. Buat file di / etc / openvpn dengan ekstensi file .conf, misalnya /etc/openvpn/connect_to_remote.conf. Berikut adalah contoh konfigurasi:

  dev tun
 pelabuhan 1195
 ifconfig 10.8.222.40 10.8.222.41
 rute 192.168.11.0 255.255.255.0
 comp-lzo
 keepalive 10 60
 tetap-kunci
 persist-tun
 pengguna tidak ada
 tidak ada kelompok
 rahasia static.key
Kunci Komentar
Pelabuhan Port UDP untuk koneksi
ifconfig Alamat IP digunakan secara internal oleh OpenVPN
rute Ini adalah LAN dari remote office!

Anda bisa menggunakan file konfigurasi ini as-is tapi rutenya harus diubah! Harap tentukan jangkauan jaringan LAN yang digunakan oleh kantor remote .

Buat Remote Office Configuration

Konfigurasi kantor remote hampir identik. Buat konfigurasi dengan akhiran .conf di / etc / openvpn, misalnya /etc/openvpn/connect_to_headquarters.conf:

  dev tun
 pelabuhan 1195
 remote my-hq.poweredbyclear.com 1195
 ifconfig 10.8.222.41 10.8.222.40
 rute 192.168.22.0 255.255.255.0
 comp-lzo
 keepalive 10 60
 tetap-kunci
 persist-tun
 pengguna tidak ada
 tidak ada kelompok
 rahasia static.key

File konfigurasi hampir identik, tapi beberapa perubahan diperlukan:

  • Tentukan nama host atau IP dari sistem markas untuk parameter jarak jauh
  • Tukar IP yang ditentukan dalam parameter ifconfig
  • Ubah rute agar sesuai dengan jangkauan jaringan yang digunakan oleh kantor pusat

Perbarui Firewall

Hampir sampai. Di alat administrasi berbasis web, masuk ke Jaringan | Firewall | Incoming Firewall di menu Port UDP 1195 telah ditentukan dalam konfigurasi OpenVPN kami, jadi akses ke port ini diperlukan. Tambahkan aturan firewall ini:

  • UDP port 1195

Mulai / Restart OpenVPN

Sekarang saatnya untuk memulai perangkat lunak OpenVPN di kantor pusat dan kantor terpencil.

  layanan openvpn restart

Penyelesaian masalah

File log

File log / var / log / messages dan / var / log / secure dapat memberikan petunjuk saat troubleshooting.

Tidak dapat terhubung ke server

Buka halaman konfigurasi OpenVPN di alat administrasi berbasis web Service Statusdan pastikan layanan dimulai. Jika status mengatakan Berhenti , klik Start . Jika layanan gagal dimulai, Anda bisa mendapatkan lebih banyak informasi dari log. File log berikut mungkin berisi petunjuk:

  • / var / log / messages
  • / var / log / system
  • / var / log / secure

Isi file log tersedia untuk ditampilkan dan / atau didownload melalui alat administrasi berbasis web. Anda perlu menginstal (jika Anda belum melakukannya) aplikasi Log Viewer dari Marketplace.

Jika server juga gateway Anda ke Internet, navigasikan ke Incoming Firewall dan pastikan layanan OpenVPN adalah aturan firewall masuk yang diizinkan (port 1194).

Incoming Firewall

Lingkungan Multi-WAN

Di beberapa lingkungan multi-WAN (misalnya dua antarmuka eksternal yang dikonfigurasi), OpenVPN dapat gagal terhubung dari klien saat konfigurasi klien menggunakan UDP default. Cobalah memaksa penggunaan protokol TCP di klien, mengingat untuk membuka 1194 / TCP di firewall Anda.

300

Penyelesaian masalah

OpenVPN sangat verbose dalam penebangan dan log otentikasi dan kesalahannya akan didaftarkan ke file log / var / log / messages di sisi ClearOS. Di sisi klien itu akan mencatat apa yang terjadi di log rincian aplikasi klien. Log ini, sementara sangat teknis, sangat membantu dalam menentukan masalah dengan koneksi. Tim OpenVPN telah melakukan pekerjaan yang fantastis dalam menciptakan log yang tepat yang seringkali merupakan tempat terakhir yang Anda butuhkan untuk mencari tahu mengapa Anda tidak dapat terhubung.

DNS

Jika Anda mengalami masalah dengan DNS pada koneksi OpenVPN Anda, bisa jadi Anda menggunakan server DNS eksternal untuk menyelesaikan host internal atau internal yang tidak menyelesaikan host eksternal. Jika Anda menggunakan gerbang ClearOS untuk menyelesaikan DNS dari temboloknya, Anda dapat membagi resolusi domain eksternal dan internal menggunakan panduan ini .

(more…)

Advertisements

Management User pada ClearOs 7

Filed under: Coretan,Linux — bolpoint @ 2:47 am

Pengguna

Halaman pengelola pengguna memungkinkan Anda menambahkan, menghapus dan mengelola pengguna di sistem ClearOS.

Instalasi

Marketplace bergantung pada pengguna / grup, aplikasi ini terpasang secara otomatis saat Anda menginstal ClearOS.

Anda bisa menemukan fitur ini di sistem menu di lokasi berikut:

Sistem | Akun | Pengguna

Video tutorial

Konfigurasi

Ikhtisar Pengguna

Hal pertama yang akan Anda lihat di halaman pengelola pengguna adalah ringkasan pengguna yang ada. Ringkasan ini mencakup nama pengguna dan nama lengkap.

informasi pengguna

Saat menambahkan atau mengedit pengguna, Anda harus mengkonfigurasi bidang berikut:

  • Nama pengguna
  • Nama depan
  • nama keluarga
  • Kata sandi

Selain itu, Anda juga bisa:

  • Konfigurasikan bidang opsional seperti nomor telepon, alamat, judul, dan lainnya.
  • Pilih aplikasi yang diizinkan untuk pengguna.
  • Tentukan keanggotaan grup pada sistem.

Nama pengguna harus mengikuti konvensi ini:

  • Harus semua huruf kecil (mungkin aplikasi dan layanan pihak ke-3 memerlukan ini)
  • Bisa berisi huruf, angka, dan karakter khusus berikut: _ -. $

Kata sandi

Kata sandi ClearOS Anda harus mengikuti peraturan ini:

  • Harus dimulai dengan huruf atau angka
  • Tidak boleh berisi karakter berikut: | ; *

(more…)

November 29, 2017

15+ Fungsi Terkait Array Pada PHP Yang Perlu Anda Tahu

Filed under: Uncategorized — bolpoint @ 6:02 pm

Setelah sebelumnya kita bahas mengenai array pada PHP, pada kesempatan kali ini kita akan membahas khusus tentang fungsi terkait array yang sering digunakan.

Seperti kita ketahui, banyak sekali fungsi terkait array yang tentu saja tidak semuanya akan kita gunakan, oleh karena itu pada pembahasan ini kita hanya akan bahas beberapa diantaranya yang biasanya sering digunakan.

Penting diperhatikan

Semua penulisan array pada artikel ini menggunakan kurung siku [], dimana mulai tersedia pada PHP 5.4, sehingga jika sobat menggunakan PHP versi 5.3 dan sebelumnya, maka perlu mengubahnya menjadi array()

Fungsi Terkait Array Pada PHP

Fungsi Penting Terkait Array Pada PHP

1Menghitung jumlah array

Untuk menghitung banyaknya element pada array, gunakan fungsi count, misal:

<?php
$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
echo 'Ditemukan data sebanyak ' .  count($kendaraan) . ' data';
// Hasil: Ditemukan data sebanyak 5 data.

2Menggabungkan value pada array menjadi string

Untuk menggabungkan value dari array, gunakan fungsi join. Penggabungan ini dapat digunakan untuk berbagai keperluan, misal untuk meng insert data ke database, contoh:

<?php
$kendaraan 	= ['Mobil', 'Motor', 'Sepeda'];
$sql 		= 'INSERT INTO kendaraan VALUES ("' . join('","', $kendaraan) . '")';
echo $sql;
// Hasil: INSERT INTO kendaraan VALUES ("Mobil","Motor","Sepeda")

Lebih lanjut tentang join: PHP: join – Manual

3Mengubah semua value pada array

Untuk mengubah semua value dari array, gunakan fungsi array_map, fungsi ini akan memanggil fungsi lain yang akan memanipulasi value dari array, fungsi yang dipanggil bisa fungsi bawaan PHP (built in function) atau fungsi buatan sendiri (user defined function)

Contoh: menghilangkan spasi diawal dan di akhir tiap tiap value dari array (menghilangkan leading dan trailingspace):

<?php
$kendaraan 	= ['Mobil ', ' Motor', ' Sepeda '];
$trimmed = array_map('trim', $kendaraan);
echo '<pre>'; print_r($kendaraan); print_r($trimmed);
/* Hasil:
Array
(
    [0] => Mobil 
    [1] =>  Motor
    [2] =>  Sepeda 
)
Array
(
    [0] => Mobil
    [1] => Motor
    [2] => Sepeda
)*/

Pada contoh diatas kita menggunakan built in function yaitu trim. Contoh lain adalah mengubah semua value menjadi huruf kapital:

<?php
function toUpper($array_value) {
	return strtoupper($array_value);
}
$kendaraan 	= ['Mobil', 'Motor', 'Sepeda'];
$upper 		= array_map('toUpper', $kendaraan);
echo '<pre>'; print_r($upper);
/* HASIL:
Array
(
    [0] => MOBIL 
    [1] => MOTOR
    [2] => SEPEDA 
)*/

Lebih lanjut tentang join: PHP: array_map – Manual

4Cek apakah array mengandung value tertentu

untuk mengecek apakah suatu array memiliki value tertentu, gunakan fungsi in_array, misal:

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
if (in_array('Motor', $kendaraan))
{
	echo 'OK';
}

5Cek apakah array mengandung key tertentu

untuk mengecek apakah suatu array memiliki key tertentu, gunakan fungsi array_key_exists atau cukup key_exists, misal:

$mobil = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
if (key_exists('type', $mobil))
{
	echo $mobil['type'];
}

6Mengambil semua key pada array

Untuk mengambil semua key dari suatu array, gunakan array_keys, hasilnya juga akan berbentuk indexed array, misal:

$mobil 	= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$keys 	= array_keys($mobil);
echo '<pre>'; print_r($keys);
/* Hasil:
Array
(
    [0] => merk
    [1] => type
    [2] => year
) */

7Mengambil semua value dari array

Untuk mengambil semua value dari array, gunakan array_values, biasanya digunakan pada associative array, hasilnya akan berbentuk array dengan index yang diurutkan ulang mulai dari nol, misal:

$mobil 	= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$values = array_values($mobil);
echo '<pre>'; print_r($values);
/* Hasil:
Array
(
    [0] => Toyota
    [1] => Vios
    [2] => 2016
)*/

8Mengurutkan value dari array

Untuk mengurutkan value dari array, maka dapat dilakukan dengan menggunakan asort dan arsortasortdigunakan untuk mengurutkan secara ascending, dari terkecil ke terbesar, contoh:

<?php
$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
asort($kendaraan);
echo '<pre>'; print_r($kendaraan);
/* HASIL:
Array
(
    [4] => Bus
    [0] => Mobil
    [1] => Motor
    [2] => Sepeda
    [3] => Truk
)*/

Sedangkan arsort digunakan untuk mengurutkan dari yang terbesar ke yang terkecil, untuk memudahkan menghafalnya, dapat dibuat singkatan: asort (array sort), arsort (array reverse sort)

Contoh lain jika ingin mengurutkan nilai:

<?php
$nilai 		= [90, 70, 85, 65];
asort($nilai);
echo '<pre>'; print_r($nilai);
/* Hasil
Array
(
    [3] => 65
    [1] => 70
    [2] => 85
    [0] => 90
)*/

9Mengurutkan key suatu array

Untuk mengurutkan key dari array, dapat menggunakan dua macam fungsi yaitu ksort dan krsort.

ksort digunakan untuk mengurutkan secara ascending (dari yang terkecil ke yang tersbesar), sedangkan krsort digunakan untuk mengurutkan dari yang terbesar ke yang terkecil (descending), contoh:

<?php
$mobil = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
krsort($mobil);
echo '<pre>'; print_r($mobil);
/* HASIL
Array
(
    [year] => 2016
    [type] => Vios
    [merk] => Toyota
)*/

seperti pada mengurutkan value pada array, untuk memudahkan mengingat, maka dapat dibuat singkatan, yaitu ksort (key sort), sedangkan krsort (key reverse sort)

10Menggabungkan array pada PHP

Untuk menggabungkan array, dapat menggunakan dua cara yaitu menggunakan fungsi array_merge atau menggunakan operator plus (+), fungsi ini digunakan salah satunya ketika kita ingin menggabungkan dua array hasil query database.

Contoh penggabungan array:

<?php
$kendaraan 		= ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
$mobil 			= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$merge			= array_merge ($kendaraan, $mobil);
// atau $merge 	= $kendaraan + $mobil;
echo '<pre>'; print_r($merge);
/* HASIL:
Array
(
    [0] => Mobil
    [1] => Motor
    [2] => Sepeda
    [3] => Truk
    [4] => Bus
    [merk] => Toyota
    [type] => Vios
    [year] => 2016
)*/

Lebih lanjut tentang array_merge: PHP: array_merge – Manual

11Mencari index dari value tertentu

Kita dapat mencari key dari suatu value menggunakan fungsi array_search, contoh:

<?php
$kendaraan 	= ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
$mobil 		= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$key = array_search('Vios', $mobil); // type
$key = array_search('Sepeda', $kendaraan); // 2

Pencarian key ini biasanya digunakan untuk menghapus array berdasarkan value nya,  contoh:

<?php
$kendaraan 	= ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
$key = array_search('Sepeda', $kendaraan);
unset($kendaraan[$key]);

12Menghapus element pertama pada array

Sering ketika kita ingin menghapus element pertama dari array, kita tidak tahu key nya, misal array hasil query database, untuk menghapusnya gunakan fungsi array_shift contoh:

<?php
$mobil 	= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$key 	= array_shift($mobil);
echo '<pre>'; print_r($mobil);
/* Hasil:
Array
(
    [type] => Vios
    [year] => 2016
) */

13Menambah element pertama pada array

Untuk menambah element pertama dari array, gunakan fungsi array_unshiftCatatan: fungsi ini tidak bisa digunakan untuk menambahkan associative array, untuk itu, array_merge (nomor 10).

Contoh penggunaan array_unshift:

<?php
// Indexed Array
$kendaraan 		= ['Mobil', 'Motor', 'Sepeda'];
array_unshift ($kendaraan, 'Becak',  'Delman');
echo '<pre>'; print_r($kendaraan);
/* HASIL:
Array
(
    [0] => Becak
    [1] => Delman
    [2] => Mobil
    [3] => Motor
    [4] => Sepeda
)*/

// Associative array
$mobil 		= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
array_unshift ($mobil, 'Sedan');
echo '<pre>'; print_r($mobil);
/* HASIL
Array
(
    [0] => Sedan
    [merk] => Toyota
    [type] => Vios
    [year] => 2016
)

14Menambah element terakhir pada array (push)

Untuk menambahkan element ke posisi terakhir pada array, gunakan fungsi array_pushPenting: fungsi ini tidakdapat digunakan untuk menambahkan associative array, untuk itu gunakan array_merge (nomor 10).

Contoh penggunaan array_push:

<?php
$kendaraan 	= ['Mobil', 'Motor', 'Sepeda'];
array_push ($kendaraan, 'Becak', 'Delman');
echo '<pre>'; print_r($kendaraan);
/* HASIL:
Array
(
    [0] => Mobil
    [1] => Motor
    [2] => Sepeda
    [3] => Becak
    [4] => Delman
)*/

$mobil = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
array_push ($mobil, 'Sedan');
echo '<pre>'; print_r($mobil);
/* HASIL
Array
(
    [merk] => Toyota
    [type] => Vios
    [year] => 2016
    [0] => Sedan
)
*/

15Menghapus element terakhir pada array

Untuk menghapus element terakhir dari array, gunakan fungsi array_pop, contoh:

<?php
$kendaraan 	= ['Mobil', 'Motor', 'Sepeda'];
$pop 		= array_pop ($kendaraan);
echo $pop; // Sepeda
echo '<pre>'; print_r($kendaraan);
/* HASIL:
Array
(
    [0] => Mobil
    [1] => Motor
)

Pada contoh diatas, variabel $pop menghasilkan value terakhir dari array, yaitu Sepeda, sedangkan variabel $kendaraan isinya tinggal array Mobil dan Motor. Hal ini juga berlaku untuk associative array.

16Membalik Urutan Array

Untuk membalik urutan array, gunakan array_reverse, fungsi ini bermanfaat salah satunya ketika ingin menampilkan judul artikel mulai dari yang terbaru, contoh:

<?php
$judul 		= ['Judul 3', 'Judul 2', 'Judul 1'];
$reverse	= array_reverse($judul);
echo '<pre>'; print_r($reverse);
/* HASIL:
Array
(
    [0] => Judul 1
    [1] => Judul 2
    [2] => Judul 3
)
*/

17Mencari Nilai Minimal dan Maksimal dari Suatu Array

Untuk mencari nilai maksimal value dari suatu array, gunakan fungsi max, sedangkan untuk mencari nilai minimal, gunakan min, contoh:

$nilai 	= [90, 70, 85, 65, 80];
$max 	= max($nilai);
$min 	= min($nilai);
echo $max; //90
echo $min; //65

Penutup

Terdapat banyak sekali fungsi untuk memanipulasi array pada PHP, fungsi-fungsi tersebut dapat kita hafal dengan sendirinya seiring dengan banyaknya kode yang kita tulis dan semakin kompleksnya aplikasi yang kita buat.

Namun demikian, dengan mengatahui beberapa fungsi diatas, setidaknya ketika menemui permasalahan yang sama (terkait array) kita bisa langsung tahu solusinya.

Demikian pembahasan mengenai fungsi terkait array pada PHP yang sering digunakan sehari hari, semoga bermanfaat.

November 2, 2017

Cara Start/Stop atau Enable/Disable firewalld pada CentOS 7

Filed under: Linux — bolpoint @ 1:29 pm

firewalld (Dynamic Firewall Manager) tool provides a dynamically managed firewall. The tool enables network/firewall zones to define the trust level of network connections and/or interfaces. It has support both for IPv4 and IPv6 firewall settings. Also, it supports Ethernet bridges and allow you to separate between runtime and permanent configuration options. Finally, it supports an interface for services or applications to add firewall rules directly.

Disable firewalld
To disable firewalld, execute the following command as root or using sudo:

systemctl disable firewalld
Enable firewalld
To enable firewalld, execute the following command as root or using sudo:

systemctl enable firewalld
Stop firewalld
To stop (or deactivate) firewalld,execute the following command as root or using sudo:

systemctl stop firewalld
Start firewalld
To start (or activate) firewalld, execute the following command as root or using sudo:

systemctl start firewalld
Status of firewalld
To check the status of firewalld, execute the following command as root or using sudo:

systemctl status firewalld
CONCEPTS
systemd provides a dependency system between various entities called “units” of 12 different types. Units encapsulate various objects that are relevant for system boot-up and maintenance. The majority of units are configured in unit configuration files, whose syntax and basic set of options is described in systemd.unit(5), however some are created automatically from other configuration, dynamically from system state or programmatically at runtime. Units may be “active” (meaning started, bound, plugged in, …, depending on the unit type, see below), or “inactive” (meaning stopped, unbound, unplugged, …), as well as in the process of being activated or deactivated, i.e. between the two states (these states are called “activating”, “deactivating”). A special “failed” state is available as well, which is very similar to “inactive” and is entered when the service failed in some way (process returned error code on exit, or crashed, or an operation timed out). If this state is entered, the cause will be logged, for later reference. Note that the various unit types may have a number of additional substates, which are mapped to the five generalized unit states described here.
— From man systemd
The above, in a nutshell:

enabled is a service that is configured to start when the system boots
disabled is a service that is configured to not start when the system boots
active is a service that is currently running
inactive is a service that is currently stopped and may be disabled, but it can be started and become active

April 14, 2017

mengatasi error XAMPP 500 server error pada windows

Filed under: Uncategorized — bolpoint @ 8:50 pm

saat saya mengextrak xampp pada partisi hardisk c dan saya menjalankan websitte lokal saya yang saya copy pada folder htdocs dan saya jalankan terdapat 500 server error

untuk mengatasi

#1 – pergi ke : C:\xampp\apache\conf  find : httpd.conf  dan uncomment pada baris komentar :
LoadModule rewrite_module modules/mod_rewrite.so
#2 – pergi : C:\xampp\apache\conf\extra  find :  httpd-xampp.conf dan copy baris ini

 Alias / "C:/xampp/htdocs/"
<Directory "C:/xampp/htdocs/">
AllowOverride All
Order allow,deny
Allow from all
</directory>

sekian tutorial singkat dari saya semoga bermanfaat

September 6, 2016

Kembali menulis, bergelut dengan komputer

Filed under: Coretan — bolpoint @ 12:37 am

Dear
Setelah sekian lama off, bolg ini akan saya aktifkan kembali

Semangat

March 29, 2013

Menghapus berbasis modifikasi file Comand Linux / Unix “delete files based on modified date”

Filed under: Linux — bolpoint @ 11:23 pm

Bagaimana cara kita menghapus file di cache yang telah berumur lebih dari satu bulan
untuk operational dasar kita menggunakan perintah

#rm

tapi karena kita mau men sort file yang telah berumur lebih dari 30 hari maka kita perlu memodifikasi perintah find

find $DIR -ctime +30 -exec rm {} \;

dapat juga menggunakan -mtime. -ctime akan memberikan perubahan waktu inode terakhir, yang mungkin lebih dari terakhir kali file tersebut diubah.

January 4, 2013

Kapasitas used space avaliable Hardisk command Linuc

Filed under: Linux — bolpoint @ 7:04 am

Masuk ke root
#sudo su

#df -l
maka akan tampak

Kapasitas Hardisk

December 27, 2012

Make partition in sony vaio laptop

Filed under: Windows — bolpoint @ 2:25 am

If you are using Windows Vista or Windows 7 then you can create the partitions from the “Disk Management”. If 120GB is allocated to C drive and if you want to shrink that size to create a another drive then

1) Click on Start –> In search box type diskmgmt.msc and press “Enter”.

Disk Management window will be opened.

2) Now right-click on your OS partition ( C drive ) and click on “Shrink Volume”.

The Shrink Volume window will appear. Type the amount you want to shrink by in the ‘Enter the amount of disk space you want to shrink in MB’ label.

For example, to shrink the partition from 35 GB to 30 GB, type 5000 in the text box and click on “Shrink”.

3)Now right click on the unallocated partition or volume and click on New Simple Volume and follow the instructions.

November 26, 2012

Monitoring Trafic dengan Command Line Linux Pada Interface Jaringan pada tiap Host

Filed under: Linux — bolpoint @ 4:48 am

IFTOP
iftop perintah Memantau trafic jaringan pada antarmuka jaringan, atau pada interface pertama di temukan yang tampak seperti sebuah antarmuka eksternal jika tidak di tentukan, dan menampilkan tabel penggunaan bandwidth saat oleh pasangan host.
iftop adalah alat yang sempurna untuk server Linux jarak jauh melalui sesi ssh.

iftop harus dijalankan oleh root atau user yang memiliki hak akses yang cukup untuk memonitor semua trafic jaringan pada antarmuka jaringan.

Ketik perintah iftop di tge shell prompt untuk memantau trafic:

#iftop

Terlihat di Gambar di bawah

Iftop

Namun, iftop bekerja paling baik bila Anda menggunakan filter. Misalnya, jika Anda ingin mengetahui berapa banyak pengguna bandwidth yang membuang-buang atau mencoba untuk mencari tahu mengapa jaringan lambat,

# iftop -f icmp

Anda dapat menampilkan atau analisis paket yang mengalir masuk dan keluar dari jaringan 192.168.1.0/24:

# iftop -F 192.168.1.0/24

Nonaktifkan output untuk lalu lintas DNS dengan menggunakan kode saringan seperti:

# iftop -f 'not port domain'

iftop memiliki banyak pilihan membaca halaman manual untuk informasi lebih lanjut.

IPTRAF

Setelah diinstal, melaksanakan IPTraf dari baris perintah akan meluncurkan sistem menu ascii berbasis yang akan memungkinkan Anda untuk melihat jumlah lalu lintas IP, statistik antarmuka rinci, dan kerusakan per protokol antarmuka fisik
untuk menginstall
#apt-get install iptraf

Untuk menjalankan tinggal ketik

#iptraf

IPTRAF
Lihat juga:
Keeping a log of daily network traffic for ADSL or dedicated remote Linux box

Next Page »