Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »
Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.
Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.
Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.
Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).
Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.
Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.
Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.
Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.
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