Hosting – jak wyłączyć modsecurity

Większość hostingów posiada aktywne zabezpieczenia anty spamowe które mają chronić klientów przed różnymi zagrożeniami niestety mają też one jedną wadę – znacznie opóźniają  ładowanie stron internetowych. Aby pozbyć się problemu należy do pliku .htaccess w public_html dodać następującą linijkę:

#Disable modSecurity
SecRuleEngine Off

Zapisujemy i odświeżamy stronę. Problemy z modsecurity powinny zniknąć.

Powiadomienia o nowych wpisach WordPress

Konfigurujemy wysyłanie powiadomień o nowych wpisach czytelnikom

Każdemu z prowadzących bloga lub serwis informacyjny zależy, by publikowane treści dotarły do wszystkich zainteresowanych. W tym celu warto wykorzystać narzędzie, które w łatwy sposób pozwoli nam wysyłać powiadomienia o nowych materiałach nawet wtedy, gdy nasi czytelnicy nie odwiedzają naszej strony. Jak to zrobić? Łatwiej, niż myślisz.

Po zalogowaniu się do naszego panelu administracyjnego na WordPressie instalujemy wtyczkę OneSignal. Po jej włączeniu przechodzimy na stronę onesignal.com, zakładamy tam konto i dodajemy nową aplikację, którą nazywamy tak samo, jak naszą stronę. Po zatwierdzeniu nazwy musimy wybrać platformę, na którą wysyłać będziemy powiadomienia. W nasym przypadku będzie to „Website Push”. W kolejnym widoku konfiguratowa wprowadzić natomiast musimy adres URL strony. Poniżej podanego powinniśmy wskazać plik, który posłuży nam jako domyślna ikona przy wyświetlanych powiadomieniach. Możemy wskazać w tym miejscu na przykład logo strony. Link do niego możemy uzyskać przy wykorzystaniu panelu WordPressa.

Ustawienia OneSignal

W kolejnym kroku wskazujemy „WordPress” i przechodzimy do następnego widoku. Wyświetlone zostaną nam klucze aplikacji, które wprowadzić należy do ustawień wtyczki w panelu administracyjnym WordPressa. Po ich zapisaniu otwórzmy naszą stronę za pomocą dowolnej przeglądarki (poza Safari). W prawym dolnym rogu strony powinniśmy zobaczyć ikonę dzwonka.

Widok OneSignal na WordPress

Za pomocą panelu ustawień wtyczki możemy dostosować jego wygląd, a także dostosować wyświetlające się komunikaty. Teraz czas na skonfigurowanie powiadomień dedykowanych przeglądarce Safari. Powracamy na stronę onesignal.com i korzystając z menu umieszczonego po lewej stronie ekranu, wybieramy „App Settings”, by następnie wcisnąć „Configurate” przy Apple Safari. Ponownie wpisujemy nazwę, adres strony i zapisujemy wprowadzone dane. Teraz możemy odwiedzić stronę przy pomocy Safari (tylko na systemie Mac OS) i sprawdzić, czy wyświetli nam się powiadomienie o możliwości zasybskrybowania powiadomień. Jeśli tak – dane wprowadziliśmy poprawnie.

Powiadomienie OneSignal na WordPress

Od tej chwili możemy wysyłać naszym subskrybentom informacje zarówno o nowych postach, jak i okolicznościowe. Zacznijmy od tych pierwszych. Przy publikacji wpisu w prawym górnym rogu wpisu zobaczymy mały panel „OneSignal Push Notification” z domyślnie zaznaczoną opcją „Send notification on post publish”. Jeśli jej nie odznaczymy, subskrybent naszych powiadomień otrzyma powiadomienie o naszym nowym wpisie. Jeśli je kliknie, jego przeglądarka otworzy ów nowy wpis.

W każdej chwili możemy wysłać również niestandardowe powiadomienie. W tym celu musimy otworzyć stronę onesignal.com, z lewego menu wysłać „New Message” i wybrać grupę docelową, która je otrzyma. Następnie klikamy „Next”, wpisujemy tytuł i treść wiadomości i również je zatwierdzając, by w następnym kroku wybrać, czy powiadomienie chcemy wysłać do użytkowników wszystkich obsługiwanych przeglądarek, którzy nas subskrybują, czy tylko np. do tych, którzy korzystają z Firefoxa. W ostatnim już kroku wybieramy, czy nasza notyfikacja ma być wysłane natychmiast, wtedy gdy użytkownik najprawdopodobniej będzie przy komputerze (dane takie posiada OneSignal), czy też o konkretnej godzinie.

Rozbudowany panel OneSignal pozwoli nam badać statystyki zainteresowania naszymi powiadomieniami oraz testować ich treści wykonując badania A/B. Dzięki temu w skuteczny sposób poinformujemy zainteresowanych czytelników o nowym wpisie.

Przyspieszamy stronę na wordpress

Jak przyspieszyć stronę za pomocą .htaccess

Istnieje wiele sposobów na przyśpieszenie strony internetowej, ale czy wiedziałeś, że możesz to zrobić także za pomocą jednego pliku? Dzięki .htaccess możesz zdefiniować zasady po stronie serwera i znacznie zoptymalizować stronę pod kątem szybkości działania.

Do przyspieszenia strony internetowej wybieramy odpowiedni hosting, rozważnie dostosowujemy szablon, a także instalujemy często wtyczki np. do cache’owania naszej witryny. Wiele osób zapomina jednak o prostym pliku .htaccess. Znajduje się on w głównym katalogu ze stroną i pozwala dostosować ustawienia związane z działaniem serwera. Dzięki niemu możemy lepiej zoptymalizować naszą stronę pod kątem wydajności.

Czym jest plik .htaccess?

Potęga pliku .htaccess jest bardzo duża i pozwala on dostosować wiele funkcji. Umożliwia on m.in. tworzenie przekierowań czy zarządzanie przyjaznymi linkami (tzw. przepisywanie adresów URL), a także blokowanie dostępu do strony z poszczególnych adresów IP oraz ochronę folderów hasłem. Na potrzeby tego poradnika musisz po prostu wiedzieć, że plik ten pozwala kontrolować ustawienia w obrębie całego serwera lub konkretnego katalogu, w którym plik .htaccess się znajduje.

To, co nas interesuje najbardziej, to opcje związane z szybkością działania strony. W pliku .htaccess możesz dostosować funkcje związane z pamięcią podręczna czy kompresją strony. Dzięki temu będzie się ona szybciej ładować u osoby odwiedzającej.

Włącz kompresję przez mod_deflate lub mod_gzip

Komunikacja między przeglądarką internetową użytkownika a twoim serwerem ze stroną internetową polega na prostej zasadzie. Gdy ktoś wchodzi na twoją stronę, to najpierw przeglądarka wysyła zapytanie do serwera, a następnie serwer na to zapytanie odpowiada, wysyłając zawartość strony.

Oczywistym faktem jest, że im mniej danych serwer ma do przesłania tym szybciej strona się załaduje osobie odwiedzającej. Dzięki funkcji kompresji G-Zip możesz znacznie zmniejszyć ilość zapytań do swojej strony i przyspieszyć jej przekazywanie z serwera do przeglądarek internetowych. A aktywować tę funkcję możesz właśnie w pliku .htaccess za pomocą poniższego kodu:

<ifModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
  AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
</ifModule>

Jeśli mod_deflate nie jest dostępny na serwerze, można skorzystać z mod_gzip, który daje podobne efekty:

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Po wklejeniu tego fragmentu do pliku .htaccess funkcja kompresji G-Zip zostanie aktywowana. Od teraz twoja strona powinna uruchamiać się szybciej. Możesz też sprawdzić, czy kompresja G-Zip na pewno działa. Wystarczy wejść na stronę sprawdzania kompresji G-Zip i wpisać tam swój adres strony. Wyświetlone zostanie podsumowanie, które informuje, ile wynosi rozmiar strony w formie nieskompresowanej i ile w formie skompresowanej. Jasno widać, że dzięki kompresji G-Zip waga danych do przesłania zmniejsza się nawet o 70-80%.

Włącz mod_expires i dostosuj trwałość cache

Z pewnością nieraz spotkałeś się z terminem cache, czyli pamięci podręcznej. Na szybko możemy wyróżnić dwa rodzaje pamięci podręcznej – po stronie serwera oraz po stronie klienta.

Cache po stronie serwera działa w ten sposób, że na twoim serwerze przygotowywana jest gotowa wersja strony z najbardziej optymalnymi danymi do wysłania. Taki rodzaj pamięci podręcznej zarządzany jest zazwyczaj przez wtyczki np. do WordPressa. Dzięki temu serwer „ma mniej roboty” podczas generowania strony.

Drugim rodzajem cache jest ten po stronie klienta, czyli po stronie przeglądarki internetowej. Gdy ktoś odwiedzi twoją stronę, to niezmienna część witryny (np. grafiki, style CSS) mogą zostać zapamiętane bezpośrednio w urządzeniu osoby odwiedzającej. Dzięki temu po kolejnym wejściu na stronę większość danych zostanie załadowana z jego komputera / smartfona, co jest znacznie szybsze. Cache po stronie klienta możesz dostosować właśnie za pomocą pliku .htaccess. Dzięki regułom Expire (czasu trwałości danego elementu) możesz informować przeglądarkę, po jakim czasie ma prosić o nowe pliki ze serwera. Odpowiada za to poniższy kod.

<ifModule mod_mime.c>
  AddType application/x-font-ttf ttc ttf
  AddType application/font-woff woff
  AddType application/font-woff2 woff2
  AddType application/vnd.ms-fontobject eot
</ifModule> <ifModule mod_expires.c>  ExpiresActive On  ExpiresDefault "access plus 5 seconds"  ExpiresByType image/x-icon "access plus 2592000 seconds"  ExpiresByType image/jpeg "access plus 2592000 seconds"  ExpiresByType image/png "access plus 2592000 seconds"  ExpiresByType image/gif "access plus 2592000 seconds"  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"  ExpiresByType text/css "access plus 604800 seconds"  ExpiresByType text/javascript "access plus 216000 seconds"  ExpiresByType application/javascript "access plus 216000 seconds"  ExpiresByType application/x-javascript "access plus 216000 seconds"  ExpiresByType text/html "access plus 600 seconds"  ExpiresByType application/xhtml+xml "access plus 600 seconds" ExpiresByType application/x-font-ttf "access plus 216000 seconds"
ExpiresByType application/font-woff "access plus 216000 seconds"
ExpiresByType application/x-font-woff "access plus 216000 seconds"
ExpiresByType font/woff "access plus 216000 seconds"
ExpiresByType application/font-woff2 "access plus 216000 seconds" </ifModule>

Powyższy kod ustawia czas ważności poszczególnych typów plików – obrazów JPG, PNG, GIF, skryptów JavaScript, a także stylów CSS. Gdy ktoś załaduje twoją stronę, to pliki tego typu zostaną zapamiętane w przeglądarce osoby odwiedzającej na wskazany okres czasu. Gdy ktoś ponownie wejdzie na twoją stronę, to pliki te nie będą ponownie pobierane z serwera. Zamiast tego załadują się z dysku osoby odwiedzającej. Dyrektywy te wprowadzają także obsługę niestandardowych czcionek, które możemy mieć na stronie i sprawia, że one również będą odczytywane z pamięci lokalnej podczas kolejnych wizyt.

Proces ten będzie się powtarzać przez wskazany okres czasu. Znacznie przyspiesza to przeglądanie strony, a zwłaszcza sklepów internetowych, na które użytkownicy często powracają. Raz załadowane zdjęcia produktów będą już potem odczytywane z dysku użytkownika, a więc przeglądanie asortymentu twojego sklepu będzie znacznie szybsze.

Warto w tym kodzie zwrócić uwagę zwłaszcza na linię odpowiedzialną za treści typu “text/html”. Dodanie tej linii znacznie przyspieszy ponowne otwarcie strony, którą klient już raz odwiedził, jednak w przypadku wprowadzenia jakichkolwiek zmian będą one u odwiedzającego widoczne dopiero po 10 minutach (600 sekundach).

 

Włącz funkcję Keep-Alive

Funkcja Keep-Alive pozwala kontrolować sposób przesyłania plików od serwera do klienta (przeglądarki internetowej). Gdy funkcja ta jest wyłączona, a serwer do przesłania ma np. 50 plików do otwarcia strony, to do każdego pliku nawiązywane jest nowe połączenie TCP. Z kolei gdy funkcja ta jest włączona, to wszystkie pliki mogą zostać przesłane bez konieczności każdorazowego odnawiania połączenia TCP.

Działanie tego mechanizmu można przedstawić na przykładzie zakupów w sklepie. Wyobraź sobie, że idziesz do sklepu i przy kasie prosisz o jeden produkt. Otrzymujesz produkt, ale przypominasz sobie, że chcesz kupić coś jeszcze. Znów prosisz o kolejną rzecz i tak kilka razy. Zakupy wtedy potrwają bardzo długo – mógłbyś jednak je przyspieszyć, gdybyś od razu poprosił o wszystko, co chcesz kupić. I na to właśnie pozwala funkcja Keep-Alive, dzięki której przeglądarka może odebrać więcej plików z serwera za jednym zamachem.

<ifModule mod_headers.c>
 Header set Connection keep-alive
</ifModule>

Dzięki powyższej formule raz nawiązane połączenie z serwerem pozwala przeglądarce poprosić o więcej plików i odebrać je jednocześnie.

Dostosuj rodzaj cache dla poszczególnych plików (dla rozwiązań typu Varnish i CloudFlare)

Oprócz czasu, po jakim przeglądarka ma odświeżyć pliki z serwera możesz także ustawić sposób cache’owania poszczególnych typów plików. Dla każdego typu plików (np. CSS, JPG, PHP, JS) możesz ustawić konkretny sposób przechowywania. Pliki mogą być przechowywane jako publiczne, jako prywatne lub w ogóle mogą być nieprzechowywane.

Ma to dość duże znaczenie podczas korzystania z rozwiązań opartych na serwerach proxy (np. Varnish czy popularny CloudFlare). Strony wykorzystujące np. chmurę CloudFlare działają szybciej, gdyż korzystają z serwerowni rozsianych po całym świecie. W zależności od tego, skąd ktoś próbuje wejść na naszą stronę, CloudFlare udostępni ją z najbliższej lokalizacji. Oczywiście strona w rzeczywistości nadal znajduje się na naszym głównym serwerze np. w LH.pl, jednak CloudFlare udostępnia część strony na podstawie pamięci cache ze swoich serwerów.

Dzięki poniższym dyrektywom możemy poniekąd określić, jakie typy plików mają być ustawione jako publiczne, a jakie jako prywatne. Pliki publiczne mogą być w pełni cache’owane i przechowywane we współdzielonej pamięci podręcznej na cache-serwerze (np. CloudFlare), natomiast elementy oznaczone jako prywatne będą ignorowane (nie będą przechowywane w pamięci współdzielonej serwera cache).

Generalnie większość plików możemy cache’ować jako publiczne i jest to domyślny sposób przechowywania danych. Istnieją jednak rodzaje plików, gdzie to zachowanie nie jest wskazane. Przykładem jest chociażby zawartość strony indywidualnie wygenerowana dla danego użytkownika – każdy, kto wejdzie na Facebooka czy Twittera zobaczy dużą część strony w takiej samej formie, jak inni użytkownicy, ale główna zawartość na osi czasu czy w aktualnościach będzie inna dla każdego użytkownika. Takie elementy nie powinny być cache’owane w taki sam sposób, jak np. logo serwisu społecznościowego, które jest wspólne dla wszystkich.

Dlatego możemy poszczególne typy plików oznaczyć jako publiczne (public), prywatne (private) lub nadać im taki status, aby nie były przechowywane wcale (no-store).

Przykładowa formuła do pliku .htaccess ustawiająca konkretne reguły:

<ifModule mod_headers.c>
  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "private"
  </filesMatch>
  <filesMatch "\.(x?html?|php)$">
    Header set Cache-Control "private, must-revalidate"
  </filesMatch>
</ifModule>

Na powyższym przykładzie widać, że pliki ICO, JPEG, PNG czy GIF mogą być przechowywane jako pliki publiczne, z kolei pliki JS czy PHP jako prywatne. Jak jednak wspomniałem, ta opcja przyda się przede wszystkim osobom, które korzystają z rozwiązań typu Varnish czy CloudFlare.

Przetestuj stronę w Google PageSpeed Insight

Google udostępnia test szybkości Google PageSpeed Insight, który możesz przeprowadzić na swojej stronie. Test ten sprawdza witrynę pod kątem renderowania kodu JavaScript i CSS, szybkości ładowania wszystkich elementów, użycia pamięci podręcznej, optymalizacji obrazów i przestrzegania zasad związanych z kompresją strony i ładowanych w niej ozdobnych dodatków.

Nie wymaga on od użytkownika wykonywania żadnych zaawansowanych procedur. Wystarczy wpisać swój adres strony i kliknąć przycisk „Analizuj”. Po chwili uzyskasz wyniki, oddzielne dla wersji mobilnej strony i wersji na komputery. W wynikach znajdziesz punktację w skali od 0 do 100, a także sugestie odnośnie tego, co należy zrobić, aby zwiększyć swój wynik. Im wyższy wynik, tym strona szybciej się otwiera i zwiększa się jej pozycja w wynikach wyszukiwania Google.

Przenosimy stronę wordpress na inny serwer

 

Migracja WordPressa – uniwersalna.

Nie zawsze migracja przy użyciu wtyczki do wordpress-a daje radę dlatego poniżej zamieszczam sposób uniwersalny na przeniesienie strony.

 

1. Wyeksportuj Bazę Danych

Zaloguj się do phpMyAdmin’a, menu po lewej stronie wybierz bazę danych, która odpowiedzialna jest za WordPressa.

Następnie w górnym menu wybierz „Eksport”. Zostaniesz przeniesiony do zakładki, która pozwala zapisać kopię bazy danych. Zaznacz pole „Dostosuj” i w sekcji „Wyjście” zaznacz pole „Zapisz wynik do pliku”. Wybierz także kompresję .ZIP lub .GZIP.

Potwierdź wykonanie kopii zapasowej przyciskiem „Wykonaj” u dołu ekranu. Baza danych zostanie zapisana na dysku w formacie .ZIP lub .GZIP.

Krok 2: Zaimportuj bazę danych w swoim hostingu (lub VPS)

Zaloguj się do swojego panelu klienta u swojego hostingodawcy (lub bezpośrednio do phpMydmin). Następnie przejdź do zakładki z bazami danych i utwórz nową bazę danych.

Po stworzeniu bazy danych znajdziesz w panelu klienta odnośnik do menedżera phpMyAdmin. Kliknij w odnośnik do phpMyAdmin i zaloguj się do swojej bazy danych.

Po wejściu do phpMyAdmin wybierz swoją bazę z menu po lewej stronie i przejdź do zakładki „Import”. W tym miejscu możesz zaimportować całą bazę danych bezpośrednio z pliku kopii zapasowej. Kliknij „Wybierz plik”, wskaż plik z rozszerzeniem .gzip i potwierdź import bazy danych.

Gdy baza zostanie zaimportowana, to wyświetlą się jej tabele w menu bocznym. Wybierz teraz tabelę „wp_options”, klikając w nią lewym przyciskiem myszy. Pojawią się szczegóły tabeli „wp_options”. Znajdziesz tu dwa wpisy, których zawartość musisz zaktualizować. Są to wpisy siteurl oraz home i zawierają one ścieżkę do strony.

Aktualna ścieżka wskazuje na twoją starą domenę więc jeżeli uległa ona zmianie należy poprawić rekordy.

Kliknij w przycisk „Edytuj” obok pól „siteurl” oraz „home”, aby zmienić wartość.

 

W każdym z tych pól wpisz swój adres domeny, którą wykupiłeś dla WordPressa. Przykładowo, jeśli domena to blog.moj.pl, to zamiast powyższej ścieżki należy wpisać:

http://blog.moj.pl

Potwierdź wykonanie zmiany. Gdy pola „siteurl” oraz „home” wskazują na twoją domenę, to możesz wyjść z panelu phpMyAdmin.

Krok 3: Przekopiuj pliki WordPressa z komputera na serwer

Pierwszym krokiem jest przekopiowanie plików na twój serwer zewnętrzny. Do tego będziesz potrzebować dowolnego klienta FTP, czyli programu, który pozwoli połączyć Ci się z twoim serwerem i przekopiować na niego pliki. Jednym z popularniejszych klientów FTP jest program FileZilla.

Pobierz FileZilla

Uruchom program FileZilla, a następnie kliknij „Plik > Menedżer stron”. W tym miejscu możesz skonfigurować swoje połączenie z serwerem FTP.

Kliknij w przycisk „Nowy adres” po lewej stronie, aby dodać nowy wpis. W zakładce „Ogólne” musisz wypełnić odpowiednie pola, aby można było się połączyć z serwerem. Są to następujące pola:

  • Serwer: wpisz tu adres serwera FTP
  • Port: wpisz numer portu (zazwyczaj jest to 21)
  • Tryb logowania: wybierz „Normalne”
  • Użytkownik: podaj nazwę użytkownika dla konta FTP
  • Hasło: podaj hasło dla konta FTP

Wszystkie powyższe dane powinieneś znaleźć w wiadomości od swojego hostingodawcy. Gdy skonfigurujesz już całe połączenie, to kliknij w przycisk „Połącz”, aby połączyć się z serwerem FTP.

Po jednej stronie okna widzisz teraz zawartość swojego serwera FTP, po drugiej z kolei wyświetla się zawartość twojego komputera. Wejdź teraz do folderu  z WordPressem.

Skopiuj folder z WordPressem na swój serwer FTP. Wystarczy w tym celu kliknąć folder z WordPressem prawym przyciskiem myszy i wybrać opcję „Wyślij”. Rozpocznie się wysyłanie plików WordPressa. Może to trochę potrwać, więc musisz uzbroić się w cierpliwość.

Krok 4: Zaktualizuj plik wp-config.php o nowe dane do bazy MySQL

Już prawie cały proces za tobą. Ostatnim krokiem jest zaktualizowanie zawartości pliku wp-config.php, który wysłałeś wraz z resztą plików WordPressa na serwer FTP. Plik ten zawiera dane do logowania do bazy danych, jednak póki co wskazuje on na twoją starą bazę danych z poprzedniej lokalizacji. Sprawia to, że WordPress nie może się połączyć z bazą i strona nie będzie działać.

Musisz edytować ten plik na serwerze FTP i wpisać w nim dane do twojej bazy danych w swoim hostingu. W tym celu w programie FileZilla zaloguj się na swój serwer FTP i wejdź do folderu z WordPressem. Poszukaj pliku wp-config.php, kliknij go prawym przyciskiem myszy i wybierz „Podgląd/Edytuj”.

Zostaniesz zapytany, jakim programem otworzyć plik wp-config.php. Zostaw domyślne ustawienia i kliknij OK. Plik otworzy się w Notatniku systemowym.

Musisz w nim teraz wpisać wszystkie dane do logowania do bazy danych na twoim serwerze. Odpowiadają za to poniższe pola:

  • DB_NAME: wpisz tu nazwę bazy danych (widoczna w panelu klienta)
  • DB_USER: wpisz nazwę użytkownika do bazy danych
  • DB_PASSWORD: wpisz tu hasło do logowania do bazy danych
  • DB_HOST: wpisz tu adres do bazy danych

Dane te znajdują się w panelu klienta oraz pojawiają podczas tworzenia bazy danych. Po wszystkim kliknij „Plik > Zapisz” i zamknij okno Notatnika.

Zostaniesz teraz zapytany przez program FileZilla, czy chcesz zaktualizować plik wp-config.php na serwerze. Kliknij „Tak”, aby potwierdzić wysłanie zaktualizowanego pliku. Możesz już zamknąć program FileZilla.

Krok 5: Przekieruj domenę na folder WordPressa na swoim serwerze

Ostatnim krokiem jest przekierowanie domeny, którą wykupiłeś, na swój serwer i na serwer FTP. Zaloguj się do swojego panelu klienta i przejdź do ustawień domeny.

Możesz w tym miejscu wybrać, czy domena ma być przekierowana bezpośrednio na główny folder serwera (tzw. root), czy też na wybrany podfolder.

Jeśli WordPressa przekopiowałeś „luzem” na swój serwer (czyli od razu po wejściu na serwer FTP widać pliki .PHP oraz foldery typu wp-content, wp-plugins, wp-includes), to domena powinna wskazywać bezpośrednio na główny katalog serwera.

Jeśli jednak twój WordPress jest umieszczony w osobnym podfolderze na serwerze (np. w podkatalogu „wordpress”), to musisz wejść do ustawień domeny i ustawić ją tak, aby wskazywała na ten folder.

Gdy to zrobisz, zaakceptuj zmiany i poczekaj, aż domena zostanie zaktualizowana o odpowiednie informacje.

Znane problemy:

1 Problem z bezpośrednimi linkami

Chcesz używać bezpośrednich odnośników w formacie własnym. Musisz je włączyć w panelu admina menu ustawienia bezpośrednie odnośniki. Odznaczasz format własny i wklejasz /%postname%/
Będziesz wtedy miał odnośniki w formacie http://domena/nazwa postu. Odnośniki takie są lepsze pod kątem wyszukiwarki Google i wiemy z nich o czym jest post. Ostatnio spotkałem się z problemem że po zainstalowaniu bloga na WordPress i włączeniu ich nie działały. Bloga można było zobaczyć tylko klikając adres główny domeny. Jeśli chcieliśmy wejść na inną stronę bloga wyskakiwała strona błędu 404. W panelu admina było to samo wyskakiwała strona błędu.

Powodem zamieszania jest najczęściej brak lub nieodpowiedni plik .htaccess


# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Nieraz zdarza się że to nie wystarczy i trzeba poprawić apache2.conf w katalogu

etc/apache2

dodając parametry:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>

2. Problemy z biblioteką mediów, aktualizacją i wgrywaniem wtyczek (ograniczenie wielkości plików).

Nie zawsze odpowiednie wpisy w .htaccess są wystarczające gdyż problem może leżeć w konfiguracji pliku php.ini ( szczególnie na domyślnym pliku na VPS).

Trzeba poprawić php.ini w katalogu

etc/php/7.0/apache2/php.ini

dodając (edytując) te linie kodu:

upload_max_filesize = 50M

post_max_size = 50M

 

3. Nie wystarczające uprawnienia upload-u plików, aktualizacji lub instalacji wtyczek.

Używając filezilli zmieniamy prawa do plików w katalogu wordpress-a

Katalogom dajemy prawa 755

Plikom dajemy 644

Wyjątek stanowi katalog wp-content którego podkatalogi ustawiamy następująco :

  • uploads (pliki i katalogi na 777)
  • upgrade (pliki i katalogi na 777)
  • themes (katalogi na 777 pliki 666)
  • plugins (katalogi na 777 pliki 666)

4. Jeżeli nasza strona miała włączoną wtyczkę przekierowującą ruch na https należy bezwzględnie po przekopiowaniu plików strony wejść do katalogu wtyczki i ją awaryjnie wyłączyć zmieniając jej nazwę – to sprawi że strona stanie się widoczna na nieszyfrowanym połączeniu do czasu zainstalowania odpowiedniego certyfikatu.

Instalacja WordPress na VPS (ubuntu server 16.4)

W tym artykule zajmiemy się instalacją WordPress-a na własnym wirtualnym serwerze prywatnym (VPS).

Przygotowanie systemu pod WordPress-a

1.Instalacja  LAMP Server 

Lamp Server to inaczej paczka niezbędnego oprogramowania konieczna do uruchomienia naszej strony www opartej na WordPress czyli

Linux + Apache + MySQL + PHP

Zaczynamy zabawę wydając komendy w konsoli na prawach root-a:

apt-get install mysql-server mysql-client

w oknie dialogowym wpisujemy hasło do serwera i je potwierdzamy.

apt install apache2
apt-get install libapache2-mod-php7.0 php7.0 php7.0-cgi php7.0-cli php7.0-common php7.0-curl php7.0-dev php7.0-gd php7.0-gmp php7.0-json php7.0-ldap php7.0-mysql php7.0-odbc php7.0-opcache php7.0-pgsql php7.0-pspell php7.0-readline php7.0-recode php7.0-snmp php7.0-sqlite3 php7.0-tidy php7.0-xml php7.0-xmlrpc php-all-dev libphp7.0-embed php7.0-bcmath php7.0-bz2 php7.0-enchant php7.0-fpm php7.0-imap php7.0-interbase php7.0-intl php7.0-mbstring php7.0-mcrypt php7.0-phpdbg php7.0-soap php7.0-sybase php7.0-zip php7.0-xsl

Teraz restart apacha

/etc/init.d/apache2 restart

Instalacja phpMyAdmin

apt-get install phpmyadmin

 

Kiedy podczas instalacji pojawią się dwa pytania, na które odpowiadamy jak poniżej:

  1. Automatycznie przekierowany serwer WWW: –> apache2
  2. 2) Configure database for phpmyadmin with dbconfig-common? –> Nie

Po zakończonej instalacji musimy podlinkować nasz phpmyadmin do katalogu apacha, wpisujemy więc komendę:

ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Po wszystkim wychodzimy z użytkownika root podjąć komendę

exit

 

2 Tworzymy bazę MySQL w phpmyadmin

Logujemy się do swojej strony

htttp://twojadomena.pl/phpmyadmin

Otwieramy menu baza danych , wpisujemy nazwę bazy obok podajemy metodę porównania napisów jako:

 utf8_polish_ci

i klikamy utwórz

Dane bazy będą konieczne później przy instalacji graficznej naszej strony www.

 

 

3. Instalujemy WordPress

Pobieramy najnowszą wersję WordPress-a ze strony:

https://pl.wordpress.org/wordpress-4.8.3-pl_PL.zip

Rozpakowujemy paczkę na swoim dysku lokalnym

Kopiujemy rozpakowane pliki do katalogu Apache

/var/www/html

4 Konfiguracja katalogu WordPress-a

Przed graficzną instalacją musimy nadać odpowiednie premisje do plików i katalogów

 

sudo chown -R user:www /var/www/html

gdzie user to nazwa użytkownika

www- nazwa grupy użytkownika

Następnie ustawimy dziedziczenia uprawnień na każdym z katalogów w katalogu głównym dokumentu. Powoduje to, że nowe pliki utworzone w tych katalogach dziedziczą grupę katalogu nadrzędnego (który właśnie ustawiliśmy na dane www) zamiast tworzyć grupę podstawową użytkownika. Dzięki temu upewniamy się, że kiedykolwiek utworzymy plik w katalogu w wierszu poleceń, serwer internetowy nadal będzie mieć nad nim prawa własności do grupy.

sudo find /var/www/html -type d -exec chmod g+s {} \;

Przyznamy grupie uprawnienia do zapisu do katalogu zawartości wp, aby interfejs WWW mógł zmieniać motyw i dodatki:

sudo chmod g+w /var/www/html/wp-content

W ramach tego procesu damy serwerowi dostęp do zapisu do wszystkich treści w tych 3 katalogach:

  • sudo chmod -R g+w /var/www/html/wp-content/themes
  • sudo chmod -R g+w /var/www/html/wp-content/plugins
  • sudo chmod -R g+w /var/www/html/wp-content/uploads

5. Ostatnia czynność to konfiguracja w trybie interfejsu

Po zakończeniu konfiguracji serwera możemy zakończyć instalację przez interfejs sieciowy. W przeglądarce internetowej przejdź do nazwy domeny serwera lub publicznego adresu IP:


http://server_domain_or_IP

Wybieramy język instalacji:

WordPress language selection

Następnie przejdziesz do głównej strony konfiguracji. Wybierz nazwę dla swojej witryny WordPress i wybierz nazwę użytkownika (zaleca się, aby nie wybierać czegoś takiego jak “admin” ze względów bezpieczeństwa). Silne hasło jest generowane automatycznie. Zapisz to hasło lub wybierz alternatywne silne hasło. Wprowadź swój adres e-mail i wybierz, czy chcesz zniechęcić wyszukiwarki do indeksowania Twojej witryny:

WordPress setup installation

Po kliknięciu z przodu zostanie wyświetlona strona z monitem o zalogowanie:

WordPress login prompt

WordPress login prompt

Zmiana adresu strony www na wordpress

Sposób 1. Zmiana adresu strony poprzez edycję  wp-config.php

Pierwszy sposób, jaki przedstawimy to edycja pliku konfiguracyjnego WordPressa. Aby, zmienić adres strony wystarczy za pomocą klienta FTP edytować plik config.php, który znajduje się w głównym katalogu strony. Następnie przejść do ostatniej linii i wkleić poniższy kod:

Rozwiązanie to pozwoli nam na zmianę adresu URL naszej strony poprzez zdefiniowanie w pliku konfiguracyjnym konkretnego adresu. Jedyną wadą takiego rozwiązania jest brak możliwości zmiany adresu w panelu administracyjnym.

Sposób 2. Edycja bazy w phpmyadmin

Podobnie prosty sposób, jak poprzedni. W celu zmiany adresu strony należy zalogować się do phpMyAdmin, znaleźć tabelę, w której zapisane są nasze ustawienia (domyślnie wp_options) oraz odnaleźć dwie wartości: ‚siteurl’ oraz ‚home’, aby ułatwić sobie wyszukanie tych pól warto w „filtrowanie wierszy” wpisać „http”.

zmiana domeny wordpress

Cały zabieg polega na podmianie starego adresu na nowy, poprzez opcję Edytuj.

edycja bazy danych

Sposób 3. Użycie funkcji update_options

Trzecim sposobem, jaki chcielibyśmy przedstawić, jest aktualizacja ustawień, poprzez użycie funkcji update_options. Funkcja ta pozwala na nadpisanie ustawień w bazie danych bez konieczności logowania się i zmiany wartości ‚siteurl’ oraz ‚home’ poprzez phpMyAdmin. W tym celu korzystając z klienta FTP należy edytować plik functions.php, który znajduje się w głównym katalogu szablonu naszej strony, a następnie zaraz po <?php dodać poniższy kod:

Po zapisaniu zmian należy odświeżyć stronę główną, a ustawienia zostaną nadpisane. Po poprawnym wykonaniu skryptu należy usunąć powyższy kod z pliku functions.php.

UWAGA! W przypadku, jeśli Twój szablon nie posiada pliku functions.php, należy utworzyć nowy plik i dodać do niego poniższy kod:

Po umieszczeniu pliku na serwerze oraz odświeżeniu strony głównej adres strony powinien zostać zmieniony, a plik należy usunąć z serwera.

Sposób 4. Zmiana przed przeniesieniem strony

Wychodząc poza nasze początkowe założenia, możemy dokonać zmiany adresu strony poprzez Kokpit. Wystarczy przed zmianą adresu i przeniesieniem strony wgrać wtyczkę Automatic Domain Changer. Wtyczka ta pozwala na zmianę wszystkich adresów URL znajdujących się w naszej bazie danych. Również tych, które znajdują się we wpisach.

zmiana adresu przez kokpit

Przedstawione przez nas sposoby pozwalają na łatwą i bezproblemową zmianę adresu URL naszej strony. Przed wykonaniem któregokolwiek z nich radzimy wykonać zawsze kopię zapasową plików i ustawień zawartych w bazie danych.