Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
Původní dokumentaci jsem tvořil formou adresářové strukturu, jejíž součástí byly různé txt, doc, pdf, schémata a další. Celé jsem to commitoval do svn. Toto řešení je ok pro menší věci, pak nastává problém. Čím větší obsah, tím jsou větší nároky na spoustu dalších fcí. Mezi základní požadavky patřilo:
Koukali jsme na spoustu projektů jako DokuWiki, Wiki.js, XWiki, DocBook a mnoho dalších. Nakonec jsme se rozhodli pro Mediawiki a nelitujeme toho.
Začátky byly trochu složitější, asi jako u každého jiného projektu. Tj. pochopit filozofii řešení, co a jak funguje, celkový koncept, nesnažit se věci ohýbat moc přes koleno apod. Za tu dobu už nějaké problémy přestaly existovat, projekt se vyvíjí velkým tempem a spousta dočasných nabastlených věcí se opravila. Např. WYSIWYG fungoval tak, že volal přes API službu, která běžela na serveru na pozadí (Parsoid). Tato služba neměla jednotné api, takže musel existovat compatibility matrix s různými verzemi Mediawiki apod. Pak to přepsali do php a nyní je to součásti Mediawiki projektu a není třeba se s tím dál babrat.
Vše budeme nasazovat na Debian 11. Mediawiki je MariaDB + php + Apache. Budeme nasazovat git verzi 1.39, protože ta obsahuje spoustu nových fcí včetně nového tématu vector-2022 (sice se mi moc nelíbí, ale má dynamický obsah generovaný do levého sidebaru). Před instalací je třeba si ověřit kompatibilitu php verze s verzí Mediawiki (Compatibility). Poté můžeme začít bojovat:
# instalace závislostí apt-get install php7.4 php7.4-curl php7.4-mbstring php7.4-xml php7.4-mysql php7.4-intl php7.4-gd apache2 mariadb-server mariadb-client git # konfigurace db mariadb-secure-installation
Nyní naladíme Mediawiki:
# stáhneme projekt cd /var/www git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_39 mediawiki cd mediawiki git submodule update --init --recursive # ověříme si, že máme správnou výchozí verzi php php -v PHP 7.4.33 # spustíme instalaci s příslušnýma parametrama php maintenance/install.php --dbname=wiki.devaine.cz --dbserver="localhost" --installdbuser=root --installdbpass=heslonaroota --dbuser=mediawiki --dbpass=hesloprodbuzivatelemediawiki --pass=hesloprouzivatelewiki "Devaine Wiki" admin
Pro jistotu ještě pořešíme práva (apache běží pod uživatelem a skupinou www-data)
chown -R root:root /var/www/mediawiki chown -R www-data:www-data /var/www/mediawiki/images chown -R www-data:www-data /var/www/mediawiki/cache
Nyní je třeba doladit konfigurační soubor Mediawiki, kterým je "LocalSettings.php". Je třeba definovat si jazyk, ve kterém bude Mediawiki. Tento jazyk by se pak během života wikiny neměl měnit. Závisí pak na něm spousta věcí, obzvláště pokud chceme používat např. překlady. Tady tedy základ, co změnit / nastavit do začátku:
# vlastní logo pro wiki $wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/Logo.svg", 'icon' => "$wgResourceBasePath/resources/assets/Logo.svg", ]; # hlavní jazyk wiki, nutné i do budoucna kvůli překladům $wgLanguageCode = "cs"; # správné kódování $wgShellLocale = "C.UTF-8"; $wgResponsiveImages = "true"; # timezone $wgLocaltimezone = "Europe/Prague"; # název wikiny $wgSitename = "Devaine Wiki"; $wgMetaNamespace = "Devaine_Wiki"; # správné url wikiny $wgServer = "https://wiki.devaine.cz"; $wgScriptPath = ""; # nastavení emailové komunikace (níže bez ověření, protože lokální postfix) $wgEnableEmail = true; $wgEnableUserEmail = true; $wgEmergencyContact = "wiki-noreply@devaine.cz"; $wgPasswordSender = "wiki-norelpy@devaine.cz"; $wgEnotifUserTalk = false; $wgEnotifWatchlist = false; $wgEmailAuthentication = true; $wgSMTP = [ 'host' => '127.0.0.1', 'IDHost' => 'devaine.cz', 'localhost' => 'devaine.cz', 'port' => 25, 'auth' => false, 'username' => 'wiki-norelpy@devaine.cz', 'password' => 'my_password' ]; # základní systém oprávnění (nepřihlášení uživatelé mohou číst) $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['read'] = true; # definice povolených souborů pro upload $wgFileExtensions = array('png','gif','jpg','jpeg','doc','xls','pdf','ppt','tiff','docx','xlsx','pptx','svg'); # úprava globálních proměnných $wgEnableWriteAPI = true; $wgEnableUploads = true; $wgAllowJavaUploads = true; $wgGroupPermissions['user']['upload'] = true; # default téma a jejich výběr pro uživatele $wgDefaultSkin = "vector-2022"; wfLoadSkin( 'MinervaNeue' ); wfLoadSkin( 'MonoBook' ); wfLoadSkin( 'Timeless' ); wfLoadSkin( 'Vector' ); # povolení wikieditoru wfLoadExtension( 'WikiEditor' ); # povolení grafického editoru wfLoadExtension( 'VisualEditor' ); $wgDefaultUserOptions['visualeditor-enable'] = 1; $wgHiddenPrefs[] = 'visualeditor-enable';
Wikina standardně nemá všechny rozšíření, které si tahá by default sebou, povolené. Je tedy možné, že např. ve výchozím nastavení nebude povolený grafický editor. Po potencionálním povolení/zakázání rozšíření tedy proveďte aplikaci těchto změn do db:
cd /var/www/mediawiki/maintenance php update.php
Po úspěšném prokousání se těmito kroky můžeme přistoupit na nastavení apache.
Povolíme si vhodné moduly.
a2enmod vhost_alias ssl rewrite php7.4 alias
Předgenerujeme si nějaký certifikát, ať máme základ.
mkdir /etc/apache2/ssl openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/wiki.devaine.cz.pem -out /etc/apache2/ssl/wiki.devaine.cz.cer Generating a RSA private key .............+++++ ............+++++ writing new private key to '/etc/apache2/ssl/wiki.devaine.cz.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:CS State or Province Name (full name) [Some-State]:Czech Republic Locality Name (eg, city) []:Prague Organization Name (eg, company) [Internet Widgits Pty Ltd]:Devaine s.r.o Organizational Unit Name (eg, section) []:Certificate Auth Common Name (e.g. server FQDN or YOUR name) []:wiki.devaine.cz Email Address []:webmaster@devaine.cz
Vytvoříme si konfiguraci webu. Pokud zatím nechcete řešit ssl, tak si ssl část zakomentujte + si nezapomeňte v "LocalSettings.php" změnit url pro wiki na verzi bez https (parametr $wgServer).
nano /etc/apache2/sites-available/wiki.devaine.cz.conf <VirtualHost *:80> ServerAdmin admin@devaine.cz ServerName wiki.devaine.cz VirtualDocumentRoot /var/www/mediawiki # prevent to access to git repository RedirectMatch 404 /\.git CustomLog /var/log/apache2/wiki.devaine.cz-access.log common RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L] </VirtualHost> <VirtualHost *:443> ServerAdmin admin@devaine.cz ServerName wiki.devaine.cz VirtualDocumentRoot /var/www/mediawiki # prevent to access to git repository RedirectMatch 404 /\.git SSLEngine on SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 SSLHonorCipherOrder on SSLCertificateFile /etc/apache2/ssl/wiki.devaine.cz.cer SSLCertificateKeyFile /etc/apache2/ssl/wiki.devaine.cz.pem # SSLCertificateChainFile /etc/apache2/ssl/DevaineChain.crt # SSLCACertificateFile /etc/apache2/ssl/DevaineRootCA-G2.crt LogLevel warn CustomLog /var/log/apache2/wiki.devaine.cz-access.log common ErrorLog /var/log/apache2/wiki.devaine.cz-ssl-error.log CustomLog /var/log/apache2/wiki.devaine.cz-ssl-access.log combined </VirtualHost>
Povolíme si naší konfiguraci webu a ověříme, že je vše ok. Pokud ano, reloadneme apache:
# povolíme konfiguraci webu a2ensite wiki.devaine.cz # ověříme nastavení apachectl configtest # reloadneme apache systemctl restart apache2
Pokud jste úspěšně prošli všemi kroky, můžete si otevřít webovou stránku "https://wiki.devaine.cz" a přihlásit se uživatelem "admin" a heslem, které jste si zvolili v parametrech při instalaci.
Toto nové téma nemá login vpravo nahoře, takže se lze třeba doklikat přes Speciální stránky -> Přihlásit se
Pokud vám nebude fungovat VisualEditor a v logu uvidíte chybu 404, je to tím, že nemůže najít url pro vnitřní api, přes kterou funguje. To může vyřešit třeba zápis v "/etc/hosts", kam se přidá fqdn wikiny a IP serveru, tj. v mém případě např.:
127.0.0.1 localhost 127.0.1.1 debian11.error.local debian11 192.168.200.153 wiki.devaine.cz
Nebo konfigurací, kam se přidá :
... $wgInternalServer = 'https://wiki.devaine.cz'; ...
Úplný základ tedy máme. Příště si ukážeme nějaké nice to have moduly, základní práci s wiki a šablonami. V třetím článku si pak ukážeme, jaké všechny moduly jsou potřeba pro překlady a jak správně překládat stránky (jak to funguje + jak by měl uživatel začátečník postupovat).
Zdar Max
PS: V současné době spravuji pět wikin, máme na nich založené i nápovědy pro vlastní projekty (prolinkování helpu z programu do wikin apod.). Dokumentaci pro ony programy tvoří zkušenější uživatelé. Ostatně do globálních wikipedií také nepřispívají jen admini. Jinými slovy, když člověk pochopí základy, není problém tvořit obsah klikacím způsobem ve velkém, rychle a hlavně konzistentně.Tiskni Sdílej:
kompletní verzování obsahu včetě příloh...podpora překladů (docela důležitá věc)MediaWiki obsah se verzuje jak? Do jakeho jazyka prekladate? Cz/en? K cemu to je potreba?
docker run --name mediawiki -p 80 -d /srv/mediawiki
..and that's it