Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].
Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.
Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.
Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.
Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.
Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.
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