Cara Membuat WordPress Intranet

WordPress merupakan sebuah platform paling bagus untuk dipergunakan sebagai intranet bagi sebuah organisasi. Hal ini karena sangat fleksibel dan banyak pilihan tersedia di platform ini. Pada tulisan ini, kami akan menunjukkan bagaimana membuat intranet dengan WordPress yang aman dan privasinya terjamin.

Pengertian Intranet atau Extranet dan Alasan Menggunakan WordPress sebagai Platform Intranet

Intranet atau Extranet adalah sebuah platform komunikasi yang dipergunakan oleh sebuah organisasi untuk saling berkomunikasi, berbagi file, mengumumkan sesuatu dan aktifitas organisasi lainnya. WordPress merupakan sebuah platform paling bagus untuk dipergunakan sebagai intranet atau extranet di sebuah organisasi. Dia sangat gampang sekali di maintain, sumberdaya terbuka, dan anda akan memperoleh ratusan akses plugin untuk menambahkan fitur tambahan jika diperlukan.

Sebuah intranet berjalan dalam sebuah jaringan privat sebuah organisasi. Biasanya, sistem IT akan terhubung melalui kabel atau adapter jaringan wireless. Sebuah komputer di dalam jaringan bisa digunakan sebagai web server dan host website WordPress.

Sebaliknya, extranet adalah sebuah platform intranet yang bisa mengakses jaringan yang lebih luas atau internet sebagaimana biasa. Dengan kata lain, extranet bisa berupa sebuah website tetapi hanya dapat diakses oleh orang yang memiliki hak akses, orang umum tidak bisa mengaksesnya. Dengan demikian dia sangat berguna sekali untuk mendistribusikan informasi atau apapun saja jika karyawan perusahaan tersebut berada di lokasi atau negara berbeda di belahan dunia ini.

Untuk membuat extranet, anda butuh sebuah akun hosting WordPress dan sebuah nama domain. Setelah itu, anda bisa menginstal WordPress dan mengaturnya agar bisa digunakan sebagai intranet organisasi.

Setelah di instal sebagai intranet, langkah selanjutnya adalah mengkonversinya ke sebuah hub komunikasi untuk organisasi.

Untuk melakukan hal ini, anda harus menggunakan beberapa plugin WordPress. Kami akan menunjukkan setingan dasar agar intranet WordPress dapat melayani kebutuhan organisasi dan dapat mencapai tujuan organisasi.

Menyeting BuddyPress Sebagai Hub Intranet WordPress

Untuk hub, bisa dipergunakan BuddyPress. BuddyPress merupakan projek pendamping WordPress. Dia mengkonversi situs berbasis WordPress menjadi sebuah jejaring sosial. Berikut ini beberapa kegunaan intranet BuddyPress :

  • Anda bisa mengundang seorang user untuk melakukan registrasi pada intranet perusahaan.
  • User bisa melengkapi profil mereka
  • Anda bisa melakukan aktifitas untuk mengikuti update terakhir, seperti dilakukan pada Twitter atau Facebook.
  • Anda bisa membuat grup user untuk mengelompokkan mereka sesuai dengan bidangnya masing-masing.
  • User bisa saling mengikuti satu dengan yang lainnya.
  • Anda bisa menambahkan fitur baru dengan menambahkan plugin pihak ketiga.
  • Anda bisa mendesainnya dengan berbagai tema untuk BuddyPress.

Untuk memulai, langkah pertama anda harus menginstal dan mengaktifkan plugin BuddyPress. Setelah diaktifkan, silakan masuk ke halaman Settings > BuddyPress untuk mengkonfigurasi setingan pluginnya.

Mengamankan Intranet BuddyPress dengan All-in-One Intranet

Jika anda menjalankan intranet ini pada server lokal, maka anda bisa mengamankannya dengan membatasi akses IP address pada file .htaccess. Akan tetapi jika anda menggunakan Extranet, maka user bisa mengakses intranet dari berbagai jaringan dan IP address.

Untuk memastikan bahwa hanya user yang berhaklah yang bisa mengakses intranet perusahaan, anda harus menjadikannya private dan pengaksesnya hanya tersedia bagi user yang telah teregistrasi.

Untuk itu, anda harus menginstal dan mengaktifkan plugin All-in-One Intranet. Setelah diaktifkan, masuklah ke halaman Settings > All-in-One Intranet untuk mengatur setingan plugin.

Langkah pertama anda harus mencentang kotak di sebelah “Force site to be entirely private”. Dengan demikian seluruh halaman situs akan menjadi privat.

Satu-satunya yang menjadi publik hanyalah seluruh file yang diupload pada direktori. Kemudian, anda harus menyediakan sebuah URL dimana user anda akan di redirek ketika mereka melakukan login. Ini bisa halaman mana saja pada intranet anda.

Terakhir, anda bisa me-logout user secara otomatis setelah dalam waktu yang ditentukan. Kemudian jangan lupa untuk menekan tombol save agar setingannya dapat diterapkan dan disimpan.

Mengamankan Media Yang Telah Di Upload

Menjadikan website anda privat tidak akan berpengaruh terhadap file yang telah diupload. Jika seseorang mengetahui URL dari file tersebut, maka mereka bisa mengaksesnya tanpa ada pembatas. Makanya hal ini perlu dirubah. Agar proteksinya lebih baik, kita bisa meredirect seluruh permintaan yang dibuat ke folder upload menjadi skrip PHP sederhana.

Skrip PHP ini akan memeriksa jika seorang user sudah login atau belum. Jika mereka login, maka mereka bisa mengakses file tersebut. Akan tetapi, jika mereka tidak melakukan login, maka mereka akan di redirek ke halaman login.

Pertama anda harus membuat sebuah file baru pada komputer menggunakan plain text editor seperti Notepad. Kemudian anda copy pastekan kode berikut ini dan simpan file tersebut sebagai download-file.php pada desktop.

<?php
require_once('wp-load.php');

is_user_logged_in() ||  auth_redirect();

list($basedir) = array_values(array_intersect_key(wp_upload_dir(), array('basedir' => 1)))+array(NULL);

$file =  rtrim($basedir,'/').'/'.str_replace('..', '', isset($_GET[ 'file' ])?$_GET[ 'file' ]:'');
if (!$basedir || !is_file($file)) {
    status_header(404);
    die('404 — File not found.');
}

$mime = wp_check_filetype($file);
if( false === $mime[ 'type' ] && function_exists( 'mime_content_type' ) )
    $mime[ 'type' ] = mime_content_type( $file );
if( $mime[ 'type' ] )
    $mimetype = $mime[ 'type' ];
else
    $mimetype = 'image/' . substr( $file, strrpos( $file, '.' ) + 1 );

header( 'Content-Type: ' . $mimetype ); // always send this
if ( false === strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS' ) )
    header( 'Content-Length: ' . filesize( $file ) );

$last_modified = gmdate( 'D, d M Y H:i:s', filemtime( $file ) );
$etag = '"' . md5( $last_modified ) . '"';
header( "Last-Modified: $last_modified GMT" );
header( 'ETag: ' . $etag );
header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 100000000 ) . ' GMT' );

// Support for Conditional GET
$client_etag = isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) ? stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) : false;

if( ! isset( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) )
    $_SERVER['HTTP_IF_MODIFIED_SINCE'] = false;

$client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE'] );
// If string is empty, return 0. If not, attempt to parse into a timestamp
$client_modified_timestamp = $client_last_modified ? strtotime( $client_last_modified ) : 0;

// Make a timestamp for our most recent modification...
$modified_timestamp = strtotime($last_modified);

if ( ( $client_last_modified && $client_etag )
    ? ( ( $client_modified_timestamp >= $modified_timestamp) && ( $client_etag == $etag ) )
    : ( ( $client_modified_timestamp >= $modified_timestamp) || ( $client_etag == $etag ) )
    ) {
    status_header( 304 );
    exit;
}

readfile( $file );

Sekarang hubungkan file tersebut ke website anda menggunakan FTP client. Setelah terhubung, upload file yang baru dibuat tadi ke /wp-content/uploads/folder ke website.

Kemudian anda harus mengedit file .htaccess pada folder root website. Tambahkan kode dibawah ini di bagian bawah file .htaccess.

RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]

Jangan lupa untuk menyimpan perubahan tadi dan upload file tersebut kembali ke website. Sekarang seluruh user yang mengakses folder media akan di kirim ke skrip proxy untuk memeriksa otentikasi dan meredirek user ke halaman login jika belum melakukan login.

Menambahkan Formulir Dengan WPForms

Tujuan utama dari intranet ini adalah berkomunikasi. Itulah manfaat BuddyPress, anda bisa melakukan stream, berkomentar dan private messaging.

Namun terkadang anda harus mengumpulkan informasi secara pribadi dalam bentuk poling atau survei. Anda juga harus mengurut dan menyimpan informasi tadi untuk dipergunakan di kemudian hari.

Inilah kegunaan dari WPForms. Anda bisa membuat sebuah formulir isian yang interaktif. Disamping itu, dia bisa menyimpannya ke database, mengekspor tadi dalam berbagai format seperti file CSV, merubahnya dalam bentuk spreadsheet, memprin data tadi, dan membagikannya ke rekan kerja yang membutuhkan informasi tadi.

Pengembangan Intranet WordPress

Untuk sekarang ini, anda sudah bisa menjalankan intranet anda sendiri untuk organisasi atau perusahaan. Akan tetapi, sebelum dicobakan atau diluncurkan, anda masih harus menambahkan beberapa fitur tambahan baru atau membuatnya lebih aman lagi.

Berikut ini beberapa plugin WordPress yang bisa dipergunakan sebagai tambahan, yaitu:

  • Sucuri, berguna untuk meningkatkan keamanan WordPress dengan melindungi situs dari akses yang tidak diinginkan dan serangan DDo.
  • Envira Gallery, berguna untuk membuat galeri foto.
  • Google Drive Embedder, berguna untuk mengembed dokumen Google Drive.

 

Free Hit Counters
Web Site Hit Counters

Silakan sampaikan komentar Anda