Como posso fazer com que meu mediawiki pare de pensar que tenho cookies desativados?

2

Eu pesquisei meio dia sobre como resolver esse problema e não consigo descobrir. Logo depois que eu fiz o meu wiki um simples wiki privado de acordo com as instruções no site da Mediawiki, ele começou a me dar esta estranha mensagem de erro: Wiki usa cookies para logar usuários. Você tem cookies desativados. Por favor, habilite-os e tente novamente.

Se eu remover essas configurações particulares do wiki, o erro desaparece, mesmo se eu tentar fazer o login. Mas eu preciso que seja um wiki privado apenas para minha equipe. Então, o que eu faço?

Aqui está o que eu fiz até agora. Só por segurança, depois de alguma mudança, eu tento reiniciar o Apache usando:

  • sudo /etc/init.d/apache2 restart

No meu arquivo php.ini, eu tenho o seguinte conjunto:

  • session.save_path="/ var / lib / php5"
  • session.cookie_secure = seguro
  • session.cookie_path = / tmp session.cookie_domain = URL interna do meu servidor (devo definir isso? este campo estava em branco antes, mas não comentado)
  • session.referer_check = Desativado

Eu executei o seguinte para garantir que as pastas sejam graváveis:

  • chmod sudo -R 1777 / var / lib / php5
  • chmod sudo -R 1777 / tmp

No meu arquivo LocalSettings.php, eu adicionei o seguinte na parte inferior do arquivo de configurações:

  • session_save_path ("tmp");
  • $ wgSessionsInObjectCache = true;
  • $ wgMainCacheType = CACHE_ANYTHING;
  • $ wgDebugToolbar = true;
  • $ wgDebugLogFile = '/ var / log / mediawiki / mediawiki.log';
  • $ wgShowExceptionDetails = true;
  • $ wgShowDebug = true;
  • $ wgDevelopmentWarnings = true;

Para o tmp acima, criei a pasta / etc / mediawiki / tmp e também executei o seguinte:

  • sudo chmod -R 1777 / etc / mediawiki / tmp

Eu sei que o cookie está chegando ao navegador porque posso ver o cookie no Firebug e verificar se o mesmo cookie foi criado na pasta / tmp.

O SSL parece estar configurado corretamente, porque recebo o bloqueio verde.

Esta é minha saída de depuração depois de tentar efetuar login:

Debug data:

  • Start request

  • POST /mediawiki/index.php?title=Special:UserLogin&action=submitlogin&type=login&returnto=Special:RecentChanges

  • HTTP HEADERS:
  • HOST: bs-wiki.sis.org.cn
  • CONNECTION: keep-alive
  • CONTENT-LENGTH: 122
  • CACHE-CONTROL: max-age=0
  • ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
  • ORIGIN: https://bs-wiki.sis.org.cn
  • UPGRADE-INSECURE-REQUESTS: 1
  • USER-AGENT: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36
  • CONTENT-TYPE: application/x-www-form-urlencoded
  • DNT: 1
  • REFERER: https://bs-wiki.sis.org.cn/mediawiki/index.php?title=Special:UserLogin&returnto=Special%3ARecentChanges&returntoquery=
  • ACCEPT-ENCODING: gzip, deflate
  • ACCEPT-LANGUAGE: en-US,en;q=0.8
  • COOKIE: __gads=ID=f46767e352615a06:T=1453974579:S=ALNI_MaImAtsIj8Xb-3kERZtmSWx82DxNA; bs_wikiUserName=Rpark1; bs_wikiLoggedOut=20160128105049; bs_wiki_session=3fck92pn1uq1l1s852oq6rfdl3

  • CACHES: SqlBagOStuff[main] SqlBagOStuff[message] SqlBagOStuff[parser]

  • Connecting to localhost bs_wiki...
  • Profiler::instance called without $wgProfiler['class'] set, falling back to ProfilerStub for safety
  • Connected to localhost bs_wiki.
  • Connecting to localhost bs_wiki...
  • Connected to localhost bs_wiki.
  • DatabaseBase::query: Writes done: DELETE FROM objectcache WHERE keyname = 'bs_wiki:stats:request_with_session'
  • LocalisationCache: using store LCStore_DB
  • Unstubbing $wgParser on call of $wgParser::setFunctionHook from unknown
  • Parser: using preprocessor: Preprocessor_DOM
  • Fully initialised
  • Unstubbing $wgAuth on call of $wgAuth::validDomain from unknown
  • IP: 172.18.12.59
  • MessageCache::load: Loading en... got from global cache
  • Unstubbing $wgLang on call of $wgLang::_unstub from unknown
  • MWCryptRand::realGenerate: Generating cryptographic random bytes for LoginForm::setLoginToken/MWCryptRand::generateHex/MWCryptRand::realGenerateHex/MWCryptRand::generate/MWCryptRand::realGenerate
  • MWCryptRand::realGenerate: openssl_random_pseudo_bytes generated 16 bytes of strong randomness.
  • MWCryptRand::realGenerate: 0 bytes of randomness leftover in the buffer.
  • Class SkinVector not found; skipped loading
  • Class PEAR_Error not found; skipped loading
    
por PakG1 28.01.2016 / 12:57

3 respostas

1

Não sei por que funciona agora, mas comecei do zero e voltei às instruções originais no link e agora funciona.

Bem, não completamente do zero, eu não reverti minhas alterações para o php.ini. Então não tenho certeza se isso foi consertado ou não. De qualquer forma, está funcionando agora, e estou feliz ....:)

    
por 15.02.2016 / 08:17
1

Basd82 em outro lugar informa que você precisa definir session.referer_check = Off em php.ini.

session_save_path("tmp") está certamente errado, seu diretório é chamado de /tmp . (Se você seguiu o conselho de JesseG17 , esqueceu a etapa 3.) No entanto, com $wgSessionsInObjectCache = true , o session.save_path deve ser irrelevante.

Você tem $wgMainCacheType = CACHE_ANYTHING , mas verificou se o cache realmente funciona? Siga o manual de cache e instale o cache de objetos apropriado (isso é sempre uma boa ideia).

    
por 13.02.2016 / 10:37
0

Acabei de ter o mesmo problema - aqui o servidor ficou sem espaço em disco. Limpar algum espaço fez o truque.

    
por 24.05.2017 / 09:37