Mediawiki на dom.bg

Наскоро писах как можете лесно и бързо да инсталирате и пуснете в употреба уеблог-системата WordPress на хостинг-място, осигурено от доставчика dom.bg. Причината да смятам това изобщо за полезно по някакъв начин е, че въпросният хостинг е много евтин. Има по-добри, не казвам, че е добър. Макар на всички мои писма да е било отговаряно винаги в рамките на най-много няколко часа, дори и привечер и нощем. Но все пак този хостинг има едно отличително качество и то е ниската цена. Не, изобщо не рекламирам този доставчик! Достатъчно съм се измъчил с услугата му, за да пожелавам такива кахъри на хората… Причината да пиша тези малки “спасяващи” решения е, че сигурно има и други хора, които като мен вече са се подлъгали и са си купили хостинг именно от dom.bg. Надявам се тези неща да помогнат на някого, който е при такъв или подобен доставчик, да осъщетвява идеите си в мрежата поне малко по-лесно и удобно.

—-

Ако сте опитвали да инсталирате MediaWiki на акаунт в dom.bg, сте забелязали, че се появява същият проблем, както при WordPress – след инсталация страницата не се зарежда, връща се грешка 500. Причината отново е във факта, че PHP се изпълнява не като модул, а през CGI. Работил съм с повечето от свободните проекти за малки уеб-сървъри и много често ми се е налагало да пускам PHP през CGI. Но винаги, когато натоварването е било по-голямо, тоест въпросното php не е било “за кратко”, “инцидентно” или “единствено”, съм сменял малкия сървър с Apache. Именно защото за Apache има модули за такива неща. Използват повторно заделената си памет и т.н. Не мога да си представя как работи уеб-сървър в условия на голямо натоварване (защото каквото и да си говорим, dom.bg е един от масовите доставчици, доста страници търкаля това CGI…) с PHP, извикван всеки път през CGI, за всяка php-страница.

Но все едно, ето как да си пуснете MediaWiki на dom.bg:

Отваряте файла /includes/OutputPage.php и закоментирате реда

header(“HTTP/1.1 {$this->mRedirectCode} Moved Permanently”);

При мен беше под номер 427. Под него добявате следния ред:

header(“Status: {$this->mRedirectCode} Moved Permanently”);

Закоментирате и реда

header(“HTTP/1.1 304 Not Modified” );

При мен беше под номер 122. Под него добавяте следния ред:

header(“Status: 304 Not Modified” );

И след това MediaWiki вече е готово за “пълнене” със съдържание. Само първата промяна ще е достатъчна, за да “тръгне” сайтът. Но променете и втория указан ред, за да избегнете всички възможни връщания на грешка 500 по такава “cgi”-причина.

Отново, както ии при WordPress, може да се постави кратка проверка на местата, където се изпращат http-заглавките и да се изпраща адекватен отговор, в зависимост от това дали PHP е като модул или е през CGI. Ако има интерес, ще публикувам такава проверка и може да пиша на разработчиците да я добавят. За улеснение на обновленията на версиите за такива cgi-потребители. Но мисля че засега с такъв малък хак всички ще се справят. А и dom.bg може да обновят някой ден сървърите си. Не само че са през CGI, ами и версиите на софтуера им са едни… стари, де… Ама няма значение, тяхна си работа… ;)

Смятам да не пиша повече за този проблем. Принципът ви е ясен и сигурно има страшно много други програми, които ще връщат грешки в такава среда. Ясно е какво трябва да се промени. Ако имам друг хак за “справяне” с dom.bg, принципно различен, тогава ще пиша.

Leave a Reply

Your email address will not be published.