Nefunguje alias
editovatPo instalaci mediawiki se na očekávaných URL nic nespustí:
V konfiguračním souboru
- /etc/apache2/conf-available/mediawiki.conf => /etc/mediawiki/apache.conf
podle pokynů odkomentujeme řádek:
# Uncomment this to add an alias. # This does not work properly with virtual hosts.. Alias /mediawiki /var/lib/mediawiki
restartujeme apache:
# apache2ctl restart
ale nepomůže to. Možná je problém s tím, jak se nahoře píše, že u virtuálů to moc nefunguje? Vypadá to, že apache2 v ubuntu už defaultně běží jako virtuál, protože je dostupný na 127.0.0.1 i na 127.0.1.1.
Dále v nových verzích apache2 už DocumentRoot není defaultně
/var/www
ale adresář
/var/www/html
Takže to obejdu tím, že v něm vytvořím symbolický link:
/var/www/html# ln -s /var/lib/mediawiki /mediawiki
CACHE_ACCEL requested
editovatProjdu celou instalaci na
nakonec mi to řekne, že je vše v pořádku, ale po pokusu o spuštění MediaWiki z
dostanu chybovou hlášku
CACHE_ACCEL requested but no suitable object cache is present. You may want to install APC. Backtrace: #0 [internal function]: ObjectCache::newAccelerator(Array) #1 /usr/share/mediawiki/includes/objectcache/ObjectCache.php(62): call_user_func('ObjectCache::ne...', Array) #2 /usr/share/mediawiki/includes/objectcache/ObjectCache.php(50): ObjectCache::newFromParams(Array) #3 /usr/share/mediawiki/includes/objectcache/ObjectCache.php(23): ObjectCache::newFromId(3) #4 /usr/share/mediawiki/includes/GlobalFunctions.php(3832): ObjectCache::getInstance(3) #5 /usr/share/mediawiki/includes/Setup.php(439): wfGetMainCache() #6 /usr/share/mediawiki/includes/WebStart.php(157): require_once('/usr/share/medi...') #7 /usr/share/mediawiki/index.php(54): require('/usr/share/medi...') #8 {main}
Přitom balík php5-apcu (APC User Cache for PHP 5) mám nainstalovaný. V čem je problém?
Dám si do DocumentRootu symlink:
# /var/www/html ln -s /usr/share/doc/php5-apcu/apc.php apc.php
tím pádem si mohu browserem spustit
http://localhost/apc.php
a dostanu hlášku:
No cache info available. APC does not appear to be running.
Gůglím a nacházím rady za poslední rok:
- MediaWiki (2010): Extension talk:APC
- oneminuteinfo.com (2013-08-28): Install APC PHP Opcode Cache on Ubuntu + Nginx in SECONDS!
- moodle (2013-09-12): Issues installing APC on shared server
Shodují se, že APC se dá správně nainstalovat jen přes PECL, takže instaluji balík:
- pkg-php-tools (various packaging tools and scripts for PHP packages – PHP PEAR, PECL and Composer packages)
To ale závisí na:
- php-pear
W: Chyba při získávání http://security.ubuntu.com/ubuntu/pool/main/p/php5/php-pear_5.5.9+dfsg-1ubuntu4.1_all.deb 404 Not Found [IP: 91.189.91.14 80]
Nejaký poškozený balíčkovací systém, dám
# apt-get install -f
pak se mi to podaří stáhnout a nainstalovat.
# pecl install apc downloading APC-3.1.13.tgz ... Starting to download APC-3.1.13.tgz (171,591 bytes) .....................................done: 171,591 bytes could not extract the package.xml file from "/build/buildd/php5-5.5.9+dfsg/pear-build-download/APC-3.1.13.tgz" Download of "pecl/apc" succeeded, but it is not a valid package archive Error: cannot download "pecl/APC" Download failed install failed
tak zase nevim co s tím, v PHP systémech se moc nevyznám :-(
Ach jo, tak nakonec:
APC is no longer needed in Ubuntu 14.04. It doesn't support PHP 5.5 which comes with its own built-in Opcache cache instead.
Edituji etc/php5/apache2/php.ini :
opcache.enable=1
Dále:
php5enmod opcache apache2ctl restart
Nastavení options:
- digitalocean.com: Enable PHP 5.5 Opcache on Ubuntu 14.04 with Nginx and PHP-FPM
Spustím znova instalaci MediaWiki 1.19.14+dfsg-1, ale stále mi to hlásí:
- Je nainstalováno PHP 5.5.9-1ubuntu4.2.
- Upozornění: Nebylo nalezeno APC, XCache, ani WinCache. Kešování objektů bude vypnuto
Nakonec nacházím na:
Sice Zend nemám, ale podle toho zkusím přesvědčit MediaWiki, aby furt nechtěla nějakou cache:
- Edituji LocalSettings.php a zakomentuji řádku:
$wgMainCacheType = CACHE_ACCEL
A pustím:
$ php rebuildLocalisationCache.php --force to flush