Chcesz stworzyć intranet WordPress dla twojej organizacji? WordPress to potężna platforma z mnóstwem elastycznych opcji, które sprawiają, że idealnie nadaje się do wykorzystania jako intranet twojej firmy. W tym artykule pokażemy ci, jak stworzyć intranet WordPress dla twojej organizacji, zachowując przy tym prywatność i bezpieczeństwo.
Co to jest Intranet lub Extranet? Dlaczego warto używać WordPressa jako twojej platformy intranetowej?
Intranet lub Extranet to platforma komunikacyjna wykorzystywana przez organizację do komunikacji, udostępniania plików, ogłoszeń i innych działań organizacyjnych.
WordPress to doskonała platforma do budowy intranetu lub ekstranetu twojej organizacji. Jest łatwy w utrzymaniu, open source i daje dostęp do tysięcy wtyczek WordPress, które pozwalają utworzyć nowe funkcje w razie potrzeby.
Intranet działa w prywatnej sieci organizacji. Zazwyczaj biurowy system IT jest podłączony za pomocą kabla lub bezprzewodowych kart sieciowych. Jeden komputer w sieci może być używany jako serwer WWW i hostować witrynę internetową WordPress.
Postępuj zgodnie z instrukcjami w naszym przewodniku, jak zainstalować WordPress w sieci Windows za pomocą WAMP lub zainstalować WordPress na komputerze Mac za pomocą MAMP, aby uruchomić twój intranet WordPress.
Z drugiej strony, ekstranet to platforma intranetowa dostępna dla większej sieci lub publicznego Internetu. Mówiąc prostym językiem, może to być witryna internetowa publicznie dostępna, ale ograniczona tylko do autoryzowanych użytkowników.
Jest to szczególnie przydatne, jeśli twoja organizacja jest rozproszona w różnych lokalizacjach geograficznych.
Aby stworzyć twój ekstranet WordPress, będziesz potrzebował konta hostingowego WordPress i nazwy domeny. Następnie możesz zainstalować WordPress, a następnie skonfigurować go tak, aby był używany jako intranet twojej organizacji.
Po zainstalowaniu WordPressa jako intranetu, następnym krokiem jest przekształcenie go w centrum komunikacyjne dla twojej organizacji.
Aby to zrobić, będziesz korzystać z kilku wtyczek WordPress. Pokażemy ci podstawową konfigurację, która posłuży jako podstawa do rozwoju twojego intranetu WordPress i spełnienia celów organizacji.
Konfiguracja BuddyPress jako twojego centrum intranetu WordPress
BuddyPress jest siostrzanym projektem WordPress. Przekształca on twoją witrynę WordPress w sieć społecznościową. Oto kilka rzeczy, które może zrobić intranet zasilany przez BuddyPress:
- Będziesz mógł zapraszać użytkowników do rejestracji w firmowym intranecie
- Użytkownicy będą mogli tworzyć rozszerzone profile użytkowników
- Strumienie włączania pozwalają użytkownikom śledzić najnowsze aktualizacje, takie jak Twitter lub Facebook
- Będziesz mógł tworzyć grupy użytkowników, aby podzielić ich na działy lub zespoły.
- Użytkownicy mogą obserwować się nawzajem jako znajomi
- Użytkownicy mogą wysyłać do siebie prywatne wiadomości
- Możesz utworzyć nowe funkcje, dodając wtyczki innych firm.
- Będziesz mieć wiele opcji projektowania dzięki motywom WordPress dla BuddyPress
Aby rozpocząć, należy najpierw zainstalować i włączyć wtyczkę BuddyPress. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.
Po włączaniu, przejdź do strony Ustawienia ” Bud dyPress, aby skonfigurować ustawienia wtyczki.
Pełne instrukcje krok po kroku można znaleźć w naszym przewodniku na temat przekształcania WordPressa w sieć społecznościową za pomocą BuddyPress.
Zabezpiecz swój WordPress Intranet za pomocą All-in-One Intranet
Jeśli prowadzisz intranet WordPress na serwerze regionalnym, możesz go zabezpieczyć, ograniczając dostęp do wewnętrznych adresów IP w pliku .htaccess.
Jeśli jednak korzystasz z ekstranetu, twoi użytkownicy mogą uzyskiwać dostęp do intranetu z różnych sieci i adresów IP.
Aby upewnić się, że tylko autoryzowani użytkownicy mają dostęp do twojego firmowego intranetu, musisz uczynić ekstranet prywatnym i dostępnym tylko dla zarejestrowanych użytkowników.
W tym celu należy zainstalować i włączyć wtyczkę All-in-One Intranet. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.
Po włączaniu, przejdź do Ustawienia „ Strona All-in-One Intranet, aby skonfigurować ustawienia wtyczki.
Najpierw musisz zaznaczyć pole obok opcji „Wymuś, aby witryna była całkowicie prywatna”. Spowoduje to, że wszystkie strony twojej witryny WordPress będą całkowicie prywatne.
Jedyną rzeczą, której ta wtyczka nie uczyni prywatnymi, są pliki w twoim katalogu uploads. Nie martw się, pokażemy ci jak je zabezpieczyć w dalszej części tego artykułu.
Następnie należy podać adres URL, pod który użytkownicy mają być przekierowywani po zalogowaniu się. Może to być dowolna strona w twoim intranecie.
Na koniec możesz automatycznie wylogować nieaktywnych użytkowników po określonej liczbie minut.
Nie zapomnij kliknąć przycisku Zapisz zmiany, aby zapisać twoje ustawienia.
Zabezpieczenie przesyłania multimediów w twoim intranecie WordPress
Uczynienie twojej witryny internetowej całkowicie prywatną nie ma wpływu na pliki multimedialne. Jeśli ktoś zna dokładny adres URL pliku, może uzyskać do niego dostęp bez żadnych ograniczeń.
Zmieńmy to.
Dla lepszego zabezpieczenia będziemy przekierowywać wszystkie żądania kierowane do katalogu uploads do prostego skryptu PHP.
Ten skrypt php sprawdzi, czy użytkownik loguje się. Jeśli tak, to wyświetli plik. W przeciwnym razie użytkownik zostanie przekierowany na stronę logowania.
Najpierw musisz utworzyć nowy plik na twoim komputerze za pomocą zwykłego edytora tekstu, takiego jak Notatnik. Następnie należy skopiować i wkleić poniższy kod i zapisać plik jako download-file.php
na twoim pulpicie.
<?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 );
.
Teraz połącz się z twoją witryną internetową za pomocą klienta FTP. Po nawiązaniu połączenia prześlij utworzony plik do katalogu /wp-contents/uploads/ w twojej witrynie internetowej.
Następnie musisz edytować plik .htaccess w katalogu głównym twojej witryny internetowej. Dodaj następujący kod na dole twojego pliku .htaccess:
RewriteCond %{REQUEST_FILENAME} -s RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]
.
Nie zapomnij zapisać zmian i przesłać pliku z powrotem do witryny internetowej.
Teraz wszystkie żądania użytkowników do twojego katalogu mediów będą wysyłane do skryptu proxy w celu sprawdzenia uwierzytelnienia i przekierowania użytkowników na stronę logowania.
4. Dodawanie formularzy do twojego intranetu WordPress za pomocą WPForms
Głównym celem firmowego intranetu jest komunikacja. BuddyPress świetnie radzi sobie z włączaniem strumieni aktywności, komentarzy i prywatnych wiadomości.
Czasami jednak trzeba będzie zebrać informacje prywatnie w ankiecie lub sondażu. Konieczne będzie również sortowanie i przechowywanie tych informacji do późniejszego wykorzystania.
Tutaj właśnie wkracza WPForms. Jest to najlepszy kreator formularzy WordPress na rynku.
Nie tylko pozwala łatwo tworzyć piękne formularze, ale także zapisuje odpowiedzi użytkowników w bazie danych. Możesz eksportować odpowiedzi dla dowolnego formularza do pliku CSV.
Pozwala to organizować odpowiedzi w arkuszach kalkulacyjnych, drukować je i udostępniać twoim współpracownikom.
Rozszerzenie twojego intranetu WordPress
Do tej pory powinieneś mieć doskonale działający intranet dla twojej organizacji. Jednak w miarę testowania platformy lub otwierania jej dla użytkowników, możesz chcieć utworzyć nowe funkcje lub zwiększyć jej zabezpieczenia.
Istnieje wiele wtyczek WordPress, które mogą w tym pomóc. Oto kilka narzędzi, które warto dodać od razu.
- Sucuri – Do poprawy zabezpieczeń WordPressa poprzez zabezpieczenie go przed nieautoryzowanym dostępem i złośliwymi atakami DDoS.
- Envira Gallery – Do tworzenia pięknych galerii zdjęć.
- Google Drive Embedder – Łatwe osadzanie dokumentów z Google Drive w dowolnym miejscu w twoim intranecie WordPress.
Na razie to wszystko.
Mamy nadzieję, że ten artykuł pomógł ci stworzyć intranet WordPress dla twojej organizacji. Warto również zapoznać się z naszym porównaniem najlepszych programów płacowych dla małych firm.
Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube, aby zobaczyć poradniki dotyczące filmów WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.
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.
Administrator
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/
Administrator
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
Administrator
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/
Administrator
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/
Administrator
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
Administrator
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.
Administrator
Thomas
Well – what if I don*t want to feed Google with my data? Is there any CalDAV/CardDAV integration possible?