FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.
Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.
SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.
Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…
Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.
Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.
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