Kuruluşunuz için bir WordPress intraneti mi oluşturmak istiyorsunuz? WordPress, şirketinizin intraneti olarak kullanılmasını ideal hale getiren tonlarca esnek seçeneğe sahip güçlü bir platformdur. Bu makalede, gizli ve güvenli tutarken kuruluşunuz için nasıl bir WordPress intraneti oluşturacağınızı göstereceğiz.
Intranet veya Extranet Nedir? Neden İntranet Platformu Olarak WordPress Kullanmalısınız?
İntranet veya Extranet, bir kuruluş tarafından iletişim, dosya paylaşımı, duyurular ve diğer kurumsal faaliyetler için kullanılan bir iletişim platformudur.
WordPress, kuruluşunuzun intranetini veya extranetini oluşturmak için mükemmel bir platformdur. Bakımı kolaydır, açık kaynaklıdır ve gerektiğinde yeni özellikler eklemek için binlerce WordPress eklentisine erişmenizi sağlar.
Bir intranet, bir kuruluşun özel ağında çalışır. Tipik olarak, bir ofis BT sistemi kablolu veya kablosuz ağ adaptörleri aracılığıyla bağlanır. Ağdaki bir bilgisayar web sunucusu olarak kullanılabilir ve bir WordPress web sitesini barındırabilir.
WordPress intranetinizi başlatmak için WAMP kullanarak bir Windows ağına WordPress yükleme veya MAMP kullanarak bir Mac bilgisayara WordPress yükleme hakkındaki kılavuzumuzdaki talimatları izleyin.
Öte yandan, bir extranet daha büyük bir ağa veya genel internete erişilebilen bir intranet platformudur. Basit bir dille ifade etmek gerekirse bu, herkesin erişimine açık ancak yalnızca yetkili kullanıcılarla sınırlı bir web sitesi olabilir.
Kuruluşunuz farklı coğrafi konumlara dağılmışsa özellikle kullanışlıdır.
WordPress extranetinizi oluşturmak için bir WordPress barındırma hesabına ve bir alan adına ihtiyacınız olacak. Bundan sonra, WordPress ‘i kurabilir ve ardından kuruluşunuzun intraneti olarak kullanılmak üzere ayarlayabilirsiniz.
WordPress’i intranetiniz olarak kurduktan sonra, bir sonraki adım onu kuruluşunuz için bir iletişim merkezine dönüştürmektir.
Bunu yapmak için birkaç WordPress eklentisi kullanacaksınız. Size WordPress intranetinizin büyümesi ve kuruluşunuzun hedeflerini karşılaması için temel oluşturacak temel kurulumu göstereceğiz.
BuddyPress’i WordPress Intranet Merkeziniz Olarak Kurma
BuddyPress, WordPress’in kardeş projesidir. WordPress web sitenizi bir sosyal ağa dönüştürür. İşte BuddyPress destekli bir intranetin yapabileceği şeylerden bazıları:
- Kullanıcıları şirket intranetine kaydolmaya davet edebileceksiniz
- Kullanıcılar genişletilmiş kullanıcı profilleri oluşturabilecek
- Etkinlik akışları, kullanıcıların Twitter veya Facebook gibi en son güncellemeleri takip etmelerini sağlar
- Kullanıcıları departmanlara veya ekiplere ayırmak için kullanıcı grupları oluşturabileceksiniz
- Kullanıcılar birbirlerini arkadaş olarak takip edebilir
- Kullanıcılar birbirlerine özel mesaj gönderebilir
- Üçüncü taraf eklentiler ekleyerek yeni özellikler ekleyebilirsiniz
- BuddyPress için WordPress temaları ile birçok tasarım seçeneğine sahip olacaksınız
Başlamak için önce BuddyPress eklentisini yüklemeniz ve etkinleştirmeniz gerekecek. Daha fazla ayrıntı için, bir WordPress eklentisinin nasıl kurulacağına ilişkin adım adım kılavuzumuza bakın.
Etkinleştirmenin ardından, eklenti ayarlarını yapılandırmak için Ayarlar ” BuddyPress sayfasına gidin.
Adım adım talimatların tamamı için WordPress’i BuddyPress ile bir sosyal ağa dönüştürme kılavuzumuza bakın.
All-in-One Intranet ile WordPress Intranetinizin Güvenliğini Sağlayın
Yerel sunucuda bir WordPress intraneti çalıştırıyorsanız, .htaccess dosyanızda dahili IP’lere erişimi sınırlandırarak bunu güvence altına alabilirsiniz.
Ancak, bir Extranet çalıştırıyorsanız, kullanıcılarınız intranete farklı ağlardan ve IP adreslerinden erişiyor olabilir.
Şirket intranetinize yalnızca yetkili kullanıcıların erişebildiğinden emin olmak için extranetinizi özel ve yalnızca kayıtlı kullanıcıların erişebileceği bir hale getirmeniz gerekir.
Bunun için All-in-One Intranet eklentisini yüklemeniz ve etkinleştirmeniz gerekir. Daha fazla ayrıntı için, WordPress eklentisinin nasıl kurulacağına ilişkin adım adım kılavuzumuza bakın.
Etkinleştirmenin ardından, eklenti ayarlarını yapılandırmak için Ayarlar ” All-in-One Intranet sayfasına gidin.
Öncelikle ‘Siteyi tamamen özel olmaya zorla’ seçeneğinin yanındaki kutuyu işaretlemeniz gerekir. Bu, WordPress sitenizin tüm sayfalarını tamamen gizli hale getirecektir.
Bu eklentinin gizli yapmayacağı tek şey uploads dizininizdeki dosyalardır. Endişelenmeyin, bu makalenin ilerleyen bölümlerinde nasıl koruyacağınızı göstereceğiz.
Ardından, kullanıcıların oturum açtıklarında yönlendirilmelerini istediğiniz bir URL sağlamanız gerekir. Bu, intranetinizdeki herhangi bir sayfa olabilir.
Son olarak, etkin olmayan kullanıcıların oturumunu belirli bir süre sonra otomatik olarak kapatabilirsiniz.
Ayarlarınızı kaydetmek için değişiklikleri kaydet düğmesine tıklamayı unutmayın.
WordPress Intranetinizde Medya Yüklemelerinin Güvenliğini Sağlama
Web sitenizi tamamen gizli hale getirmek medya dosyalarını etkilemez. Birisi bir dosyanın tam URL’sini biliyorsa, herhangi bir kısıtlama olmaksızın dosyaya erişebilir.
Bunu değiştirelim.
Daha iyi koruma için, uploads klasörüne yapılan tüm istekleri basit bir PHP betiğine yönlendireceğiz.
Bu php betiği bir kullanıcının giriş yapıp yapmadığını kontrol edecektir. Eğer öyleyse, dosyayı sunacaktır. Aksi takdirde, kullanıcı giriş sayfasına yönlendirilecektir.
Öncelikle Notepad gibi bir düz metin editörü kullanarak bilgisayarınızda yeni bir dosya oluşturmanız gerekir. Bundan sonra aşağıdaki kodu kopyalayıp yapıştırmanız ve dosyayı masaüstünüze download-file.php
olarak kaydetmeniz gerekir.
<?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 );
Şimdi bir FTP istemcisi kullanarak web sitenize bağlanın. Bağlandıktan sonra, yeni oluşturduğunuz dosyayı web sitenizdeki /wp-contents/uploads/ klasörüne yükleyin.
Ardından, web sitenizin kök klasöründeki .htaccess dosyasını düzenlemeniz gerekir. Aşağıdaki kodu .htaccess dosyanızın en altına ekleyin:
RewriteCond %{REQUEST_FILENAME} -s RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]
Değişikliklerinizi kaydetmeyi ve dosyayı web sitenize geri yüklemeyi unutmayın.
Artık medya klasörünüze gelen tüm kullanıcı istekleri, kimlik doğrulamasını kontrol etmek ve kullanıcıları giriş sayfasına yönlendirmek için bir proxy betiğine gönderilecektir.
4. WPForms ile WordPress Intranetinize Form Ekleme
Bir şirket intranetinin temel amacı iletişimdir. BuddyPress, etkinlik akışları, yorumlar ve özel mesajlaşma ile harika bir iş çıkarıyor.
Ancak, bazen bir anket veya araştırmada özel olarak bilgi toplamanız gerekebilir. Ayrıca bu bilgileri daha sonra kullanmak üzere sıralamanız ve saklamanız da gerekebilir.
İşte WPForms burada devreye giriyor. Piyasadaki en iyi WordPress form oluşturucusudur.
Sadece kolayca güzel formlar oluşturmanıza izin vermekle kalmaz, aynı zamanda kullanıcı yanıtlarını veritabanına kaydeder. Herhangi bir form için yanıtları bir CSV dosyasına aktarabilirsiniz.
Bu, form yanıtlarını elektronik tablolarda düzenlemenize, yazdırmanıza ve iş arkadaşlarınız arasında paylaşmanıza olanak tanır.
WordPress Intranetinizi Genişletme
Şimdiye kadar kuruluşunuz için mükemmel bir intranete sahip olmalısınız. Ancak platformu test ettikçe veya kullanıcılara açtıkça yeni özellikler eklemek veya daha güvenli hale getirmek isteyebilirsiniz.
Bunu yapmanıza yardımcı olabilecek çok sayıda WordPress eklentisi var. İşte hemen eklemek isteyebileceğiniz bazı araçlar.
- Sucuri – Yetkisiz erişim ve kötü niyetli DDoS saldırılarından koruyarak WordPress güvenliğini artırmak için.
- Envira Gallery – Güzel fotoğraf galerileri oluşturmak için.
- Google Drive Embedder – Google Drive belgelerini WordPress intranetinizin herhangi bir yerine kolayca yerleştirin.
Şimdilik bu kadar.
Umarız bu makale kuruluşunuz için bir WordPress intraneti oluşturmanıza yardımcı olmuştur. Küçük işletmeler için en iyi bordro yazılımı karşılaştırmamızı da görmek isteyebilirsiniz.
Bu makaleyi beğendiyseniz, WordPress video eğitimleri için lütfen YouTube Kanalımıza abone olun. Bizi Twitter ve Facebook‘ta da bulabilirsiniz.
John Akpama
The article is very helpful. Quick question please, for an intranet, how do other computers on my internal network access the wordpress intranet? If there is a previous article on this please share the link let me go through it. TIA
WPBeginner Support
It would depend on how your intranet is set up as each intranet can have its own tools for customizing what URL goes where. If the tool you are using for your network has documentation we would recommend checking that and there should be the option to set where a specific URL directs to.
Yönetici
Megan
How would you update WP if you do not have access to the internet? Does it have to be done manually through FTP?
WPBeginner Support
Correct, we cover how to do this as option two in our article here: https://www.wpbeginner.com/beginners-guide/ultimate-guide-to-upgrade-wordpress-for-beginners-infograph/
Yönetici
AdamGreenberg
I’m a US Peace Corps volunteer in Zambia considering the possibilities of doing this in the rural village where I live. Starting with the two schools who have a few, older computers. There’s no internet here, so this could be fantastic for sharing offline learning like Khan Academy Lite and such. I understand the localhost WordPress component of this, but how do I start by even connecting two computers in a LAN? Is it with cat 5 cables or can it even be done with wireless routers? Thank you. I think an Intranet could be a huge help here.
WPBeginner Support
That question is a bit beyond this article, it would depend on what tools you have available but normally one computer would need to be the web server while the other computers need the ability to connect to that computer
Yönetici
Hjason
Will my media or my content will be indexed by google or is it 100% safe?
WPBeginner Support
If you are installing it on a local network then Google should be unable to crawl the site. If you’re publishing the site online with hosting then you can make the site private using the method in our article here: https://www.wpbeginner.com/beginners-guide/how-to-make-your-wordpress-blog-completely-private/
Yönetici
Blair Hewitt
Why are my users not sending comments?
WPBeginner Support
There are multiple possible reasons, you may want to go through the steps in this article to make users want to comment more: https://www.wpbeginner.com/beginners-guide/how-to-increase-your-blog-traffic/
Yönetici
Ken
I tried to implement the Securing Media Uploads script and configured in .htaccess but when I tried to copy the exact image link and access it in a browser that does not have the intranet session it can still access! Did I missed some PHP modules?
Michael
I have been using the method described in this article to protect my media for a couple of days now when all of a sudden it stopped working – not sure if sue to a change in server configuration or something else. Media wouldn’t show up for registered users, when diretly requesting a file being logged in a 404 error would appear.
Solved it by changing two things:
.htaccess:
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ wp-content/uploads/download-file.php?file=$1 [QSA,L]
download-file:
<?php
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );
is_user_logged_in() || auth_redirect();
Just in case someone has the same problem…
Stephen
Thanks Michael, was having the same problem, added this and it’s working for me now.
Sean
This post was just what I was looking for, so thank you for posting it!
However, something isn’t right.
I may be brand spanking new to this whole thing but either the adding of the script for securing media files and/or the 2 lines added to the .htaccess file prevents images from being displayed in the Media Library.
I’m thinking it’s a permission issue of some type but I’m not really sure how to proceed.
Sean
Looks like it’s the .htaccess file (2 lines of code) that is causing the images to not load in the Media Library. I put the old one back and the images load. Any advice would be appreciated.
Michael
Sean, I am having the same problem here. I did a small workaround in the .htaccess:
RewriteCond %{REMOTE_ADDR} !123.456.789.000
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]
The first line makes an exception for my home IP, I might be adding office IPs too. Seems to work quite well.
Jonathon
Your code for restricting the uploads folder doesn’t seem to be working anymore or I might have a plugin conflict.
WPBeginner Support
Hi Jonathan,
Are you seeing an error message? If not, then you probably missed something. Please follow the instructions again. Let’s us know how it went. Good Luck
Yönetici
LFreitas
Hi, thanks for the article!
I’m planning to use WP in a extranet and this will be very helpful.
To meet the requirements I also need an unique calendar for the staff.
It should allow schedule meetings with multiple people and these people should receive an email with the invitation; also this email should contain metadata that added the event to outlook calendar, as it is used to remind people of the meeting. (Everyone uses Outlook as email here).
Do you guys know any plugin or method to do this?
I’ve tried several calendar and booking plugins, but none meets this requirement. Specially because it is possible to have multiple meetings at the same time, with different people.
Thanks in advance!
WPBeginner Support
Hey LFreitas,
Have you looked into Google Calendar? It syncs well with outlook and you can Embed the calendar in WordPress.
Yönetici
Thomas
Well – what if I don*t want to feed Google with my data? Is there any CalDAV/CardDAV integration possible?