Sokan használjuk a WordFence biztonsági bővítményt és ez bizony ajánlott is, mert segítségével biztonságosabbá tehető a WordPress oldalunk. Ennek az egyik fontos komponense a WAF, azaz a beépített tűzfal, amit szintén javasolt a telepítés után rögtön engedélyezni. Előfordul azonban, hogy a WordFence beállítása után egy másik tárhelyre vagy szerverre kell költöztetnünk a weboldalunkat, ami sokaknak már rutin feladat. (Ha mégsem lenne az, akkor EZ a cikkünk segíthet a folyamat levezénylésében.)
Mi a teendő viszont akkor, ha a költözés után egy rejtélyes “500 – Internal Server Error” hibaüzenettel találjuk szembe magunkat? Többször is meggyőződtünk róla, hogy minden sikeresen lezajlott, az adatbázis importálva lett, a fájlrendszer és a domain változatlan, a wp-config.php-ban pedig cseréltük az új adatbázisunkra vonatkozó adatokat. Akkor mégis mi lehet a gond?
A megfejtéshez meg kell vizsgálnunk a WordFence konfigurációját, ugyanis engedélyezett tűzfal esetén létrehoz a gyökérkönyvtárban egy új rejtett fájlt “.user.ini” néven, ennek tartalma pedig valami ilyesmi lesz:
; Wordfence WAF auto_prepend_file = '/home/domain/public_html/wordfence-waf.php' ; END Wordfence WAF
Amikor új tárhelyre költöztetünk egy weboldalt, akkor minden esetben változik a document root, azaz a webhely teljes elérési útvonala. A fenti “.user.ini” fájl tartalmazza ezt, és természetesen próbálja betölteni a régi útvonalon keresztül a “wordfence-waf.php” fájlt, de ez értelemszerűen nem fog sikerülni, mivel az új tárhelyen ez nem létezik. Ezért is jelenik meg az 500-as hibaüzenet.
A javítás szerencsére gyors és egyszerű. Első körben engedélyezzük a rejtett fájlok megjelenítését az FTP kliensünkben vagy a cPanel beépített fájlkezelőjében (jobb felső sarok / beállítások), enélkül ugyanis nem fogjuk tudni megtalálni a “.user.ini” fájlt. Ha megvan, akkor nyissuk meg szerkesztésre és cseréljük le a régi útvonalat a “/wordfence-waf.php” előtt. Az új útvonal könnyedén kideríthető a cPanel fájlkezelőjében (bal felső rész). Általában ilyen a formátum “/home/domainkezdete/public_html”. Természetesen ez szerverenként és tárhelyenként eltérő lehet. Ha nem vagyunk biztosak benne, akkor kérdezzük meg a szolgáltatónkat. Ideiglenesen ki is kapcsolhatjuk a WordFence plugint, ha átnevezzük a “/wp-content/plugins/wordfence” mappát mondjuk “wordfence_off”-ra és töröljük vagy átnevezzük a “.user.ini” fájlt is.
Ha előrelátóak vagyunk, akkor még a költöztetés előtt megelőzhetjük a problémát azzal, ha még a régi tárhelyen inaktiváljuk a tűzfalat a WordFence beállításaiban az “Advanced Configuration” szekció alatt található “Remove Extended Protection” gombbal. Ez egy úttal törölni fogja a “.user.ini” fájlt is a második lépés során (természetesen előtti készíthetünk róla biztonsági másolatot).