oscloud-docs/site/apps/wordpress-developer/index.html
2024-11-30 21:05:50 +01:00

2184 lines
55 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Oscloud je váš osobní cloud a hosting webových aplikací.">
<link rel="canonical" href="https://docs.oscloud.cz/apps/wordpress-developer/">
<link rel="prev" href="../wallabag/">
<link rel="next" href="../wordpress-managed/">
<link rel="icon" href="../../img/favicon.ico">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.39">
<title>WordPress (Developer) - Oscloud Docs</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.8c3ca2c6.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
<link rel="stylesheet" href="../../styly/extra.css">
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#wordpress-vyvojarska-verze" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="Oscloud Docs" class="md-header__button md-logo" aria-label="Oscloud Docs" data-md-component="logo">
<img src="../../img/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Oscloud Docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
WordPress (Developer)
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="light-blue" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="light-blue" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="Oscloud Docs" class="md-nav__button md-logo" aria-label="Oscloud Docs" data-md-component="logo">
<img src="../../img/logo.png" alt="logo">
</a>
Oscloud Docs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<span class="md-ellipsis">
Úvodní stránka
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
Podpora a kontakty
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Podpora a kontakty
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../support/" class="md-nav__link">
<span class="md-ellipsis">
Podpora
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../contact/" class="md-nav__link">
<span class="md-ellipsis">
Kontaktujte nás
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
Znalostní báze
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Znalostní báze
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../" class="md-nav__link">
<span class="md-ellipsis">
App
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../certificates/" class="md-nav__link">
<span class="md-ellipsis">
Certifikáty
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../profile/" class="md-nav__link">
<span class="md-ellipsis">
Profil
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../security/" class="md-nav__link">
<span class="md-ellipsis">
Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../backups/" class="md-nav__link">
<span class="md-ellipsis">
Zálohy
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
Aplikace
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Aplikace
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../bookstack/" class="md-nav__link">
<span class="md-ellipsis">
BookStack
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../castopod/" class="md-nav__link">
<span class="md-ellipsis">
Castopod
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cryptpad/" class="md-nav__link">
<span class="md-ellipsis">
CryptPad
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../discourse.md" class="md-nav__link">
<span class="md-ellipsis">
Discourse
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../dokuwiki.md" class="md-nav__link">
<span class="md-ellipsis">
Dokuwiki
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../gitea/" class="md-nav__link">
<span class="md-ellipsis">
Gitea
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../githubpages.md" class="md-nav__link">
<span class="md-ellipsis">
GitHub Pages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../hedgedoc/" class="md-nav__link">
<span class="md-ellipsis">
HedgeDoc
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../immich.md" class="md-nav__link">
<span class="md-ellipsis">
Immich
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../joplin-server/" class="md-nav__link">
<span class="md-ellipsis">
Joplin Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lamp/" class="md-nav__link">
<span class="md-ellipsis">
LAMP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../linkding.md" class="md-nav__link">
<span class="md-ellipsis">
Linkding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lychee.md" class="md-nav__link">
<span class="md-ellipsis">
Lychee
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../mastodon/" class="md-nav__link">
<span class="md-ellipsis">
Mastodon
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../miniflux.md" class="md-nav__link">
<span class="md-ellipsis">
Miniflux
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../mirotalk/" class="md-nav__link">
<span class="md-ellipsis">
MiroTalk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../nextcloud/" class="md-nav__link">
<span class="md-ellipsis">
Nextcloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../ntfy.md" class="md-nav__link">
<span class="md-ellipsis">
ntfy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../pairdrop/" class="md-nav__link">
<span class="md-ellipsis">
PairDrop
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../peertube.md" class="md-nav__link">
<span class="md-ellipsis">
Peertube
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../piwigo.md" class="md-nav__link">
<span class="md-ellipsis">
Piwigo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../pixelfed.md" class="md-nav__link">
<span class="md-ellipsis">
Pixelfed
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../privatebin/" class="md-nav__link">
<span class="md-ellipsis">
PrivateBin
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../rallly.md" class="md-nav__link">
<span class="md-ellipsis">
Rallly
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../roundcube.md" class="md-nav__link">
<span class="md-ellipsis">
Roundcube
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../searxng/" class="md-nav__link">
<span class="md-ellipsis">
SearXNG
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../surfer/" class="md-nav__link">
<span class="md-ellipsis">
Surfer
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../tinytinyrss.md" class="md-nav__link">
<span class="md-ellipsis">
TinyTinyRSS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../umami/" class="md-nav__link">
<span class="md-ellipsis">
Umami
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../vaultwarden/" class="md-nav__link">
<span class="md-ellipsis">
Vaultwarden
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../vikunja.md" class="md-nav__link">
<span class="md-ellipsis">
Vikunja
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../wallabag/" class="md-nav__link">
<span class="md-ellipsis">
Wallabag
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
WordPress (Developer)
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
WordPress (Developer)
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#o-aplikaci" class="md-nav__link">
<span class="md-ellipsis">
O aplikaci
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#admin-stranka" class="md-nav__link">
<span class="md-ellipsis">
Admin stránka
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pouziti-sftp" class="md-nav__link">
<span class="md-ellipsis">
Použití SFTP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#limity-pameti" class="md-nav__link">
<span class="md-ellipsis">
Limity paměti
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#konfigurace-apache" class="md-nav__link">
<span class="md-ellipsis">
Konfigurace Apache
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cron-ulohy" class="md-nav__link">
<span class="md-ellipsis">
Cron úlohy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pluginy" class="md-nav__link">
<span class="md-ellipsis">
Pluginy
</span>
</a>
<nav class="md-nav" aria-label="Pluginy">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#deaktivace-pluginu" class="md-nav__link">
<span class="md-ellipsis">
Deaktivace pluginu
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#deaktivace-vsech-pluginu" class="md-nav__link">
<span class="md-ellipsis">
Deaktivace všech pluginů
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#vykon" class="md-nav__link">
<span class="md-ellipsis">
Výkon
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pristup-k-databazi" class="md-nav__link">
<span class="md-ellipsis">
Přístup k databázi
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#wp-cli" class="md-nav__link">
<span class="md-ellipsis">
WP CLI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#nastaveni-php" class="md-nav__link">
<span class="md-ellipsis">
Nastavení PHP
</span>
</a>
<nav class="md-nav" aria-label="Nastavení PHP">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#velikost-nahravanych-souboru" class="md-nav__link">
<span class="md-ellipsis">
Velikost nahrávaných souborů
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#migrace-existujiciho-webu" class="md-nav__link">
<span class="md-ellipsis">
Migrace existujícího webu
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#uprava-souboru" class="md-nav__link">
<span class="md-ellipsis">
Úprava souborů
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#email" class="md-nav__link">
<span class="md-ellipsis">
Email
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#neomezeny-html" class="md-nav__link">
<span class="md-ellipsis">
Neomezený HTML
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#multisite" class="md-nav__link">
<span class="md-ellipsis">
Multisite
</span>
</a>
<nav class="md-nav" aria-label="Multisite">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#nastaveni-emailu-multisite" class="md-nav__link">
<span class="md-ellipsis">
Nastavení emailu (Multisite)
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../wordpress-managed/" class="md-nav__link">
<span class="md-ellipsis">
WordPress (Managed)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
Ceny
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Ceny
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../podporte-nas.md" class="md-nav__link">
<span class="md-ellipsis">
Jak nás podpořit
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#o-aplikaci" class="md-nav__link">
<span class="md-ellipsis">
O aplikaci
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#admin-stranka" class="md-nav__link">
<span class="md-ellipsis">
Admin stránka
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pouziti-sftp" class="md-nav__link">
<span class="md-ellipsis">
Použití SFTP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#limity-pameti" class="md-nav__link">
<span class="md-ellipsis">
Limity paměti
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#konfigurace-apache" class="md-nav__link">
<span class="md-ellipsis">
Konfigurace Apache
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cron-ulohy" class="md-nav__link">
<span class="md-ellipsis">
Cron úlohy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pluginy" class="md-nav__link">
<span class="md-ellipsis">
Pluginy
</span>
</a>
<nav class="md-nav" aria-label="Pluginy">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#deaktivace-pluginu" class="md-nav__link">
<span class="md-ellipsis">
Deaktivace pluginu
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#deaktivace-vsech-pluginu" class="md-nav__link">
<span class="md-ellipsis">
Deaktivace všech pluginů
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#vykon" class="md-nav__link">
<span class="md-ellipsis">
Výkon
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pristup-k-databazi" class="md-nav__link">
<span class="md-ellipsis">
Přístup k databázi
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#wp-cli" class="md-nav__link">
<span class="md-ellipsis">
WP CLI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#nastaveni-php" class="md-nav__link">
<span class="md-ellipsis">
Nastavení PHP
</span>
</a>
<nav class="md-nav" aria-label="Nastavení PHP">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#velikost-nahravanych-souboru" class="md-nav__link">
<span class="md-ellipsis">
Velikost nahrávaných souborů
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#migrace-existujiciho-webu" class="md-nav__link">
<span class="md-ellipsis">
Migrace existujícího webu
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#uprava-souboru" class="md-nav__link">
<span class="md-ellipsis">
Úprava souborů
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#email" class="md-nav__link">
<span class="md-ellipsis">
Email
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#neomezeny-html" class="md-nav__link">
<span class="md-ellipsis">
Neomezený HTML
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#multisite" class="md-nav__link">
<span class="md-ellipsis">
Multisite
</span>
</a>
<nav class="md-nav" aria-label="Multisite">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#nastaveni-emailu-multisite" class="md-nav__link">
<span class="md-ellipsis">
Nastavení emailu (Multisite)
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="wordpress-vyvojarska-verze"><img src="/img/wordpress-developer-logo.png" width="25px"> WordPress (Vývojářská verze)</h1>
<h2 id="o-aplikaci">O aplikaci</h2>
<p>Tato aplikace je určena pro uživatele, kteří chtějí mít plnou kontrolu nad svou instalací WordPressu.</p>
<p>Funkce:</p>
<ul>
<li>Kód WordPressu lze upravovat. To znamená, že aktualizace WordPressu musíte spravovat sami pomocí vestavěného aktualizačního nástroje.</li>
<li>Vlastní konfigurace Apache pomocí <code>.htaccess</code></li>
<li>Podpora <a href="#multisite">multisite</a></li>
</ul>
<p>Pokud raději přenecháte odpovědnost za aplikaci aktualizací týmu Oscloud, použijte <a href="/apps/wordpress-managed">Spravovanou aplikaci WordPress</a>.</p>
<h2 id="admin-stranka">Admin stránka</h2>
<p>Admin stránka WordPressu se nachází na adrese <code>https://&lt;moje.example.com&gt;/wp-login.php</code>.</p>
<h2 id="pouziti-sftp">Použití SFTP</h2>
<p>Aplikaci lze nahrát pomocí SFTP klienta, jako je <a href="https://filezilla-project.org/">FileZilla</a>.</p>
<p>Přihlašovací údaje pro SFTP najdete po kliknutí na ikonu <code>i</code> v mřížce aplikací.</p>
<p><center>
<img src="/img/lamp-filezilla.png" class="shadow" width="500px">
</center></p>
<div class="admonition poznámka">
<p class="admonition-title">Přístup přes SFTP</p>
<p>Přístup přes SFTP pro uživatele bez administrátorských práv lze nastavit pomocí <a href="/apps/#restricting-app-access-to-specific-users">rozhraní pro správu přístupu</a>.</p>
</div>
<h2 id="limity-pameti">Limity paměti</h2>
<p>Pro úpravu paměti přidělené WordPressu upravte soubor <code>/app/data/wp-config.php</code> pomocí <a href="/apps#file-manager">správce souborů</a>
a na konec souboru přidejte následující řádek:</p>
<div class="codehilite"><pre><span></span><code>define<span class="o">(</span><span class="s1">&#39;WP_MEMORY_LIMIT&#39;</span>,<span class="w"> </span><span class="s1">&#39;128M&#39;</span><span class="o">)</span><span class="p">;</span><span class="w"> </span>define<span class="o">(</span><span class="s1">&#39;WP_MAX_MEMORY_LIMIT&#39;</span>,<span class="w"> </span><span class="s1">&#39;256M&#39;</span><span class="o">)</span><span class="p">;</span>
</code></pre></div>
<p>Všimněte si, že aplikace má také samostatný paměťový limit, který lze nastavit prostřednictvím <a href="/apps/#increasing-the-memory-limit-of-an-app">limitu paměti aplikace</a>. Pokud zvýšíte <code>WP_MEMORY_LIMIT</code>, nezapomeňte také zvýšit limit paměti aplikace. Dobrou praxí je nastavit aplikaci minimálně 6násobek hodnoty <code>WP_MEMORY_LIMIT</code>.</p>
<p><code>WP_MAX_MEMORY_LIMIT</code> je limit pro administrativní úlohy, které často vyžadují více paměti.</p>
<p>Podrobné vysvětlení najdete v <a href="https://wordpress.org/support/article/editing-wp-config-php/#increasing-memory-allocated-to-php">dokumentaci WordPressu</a>.</p>
<h2 id="konfigurace-apache">Konfigurace Apache</h2>
<p>Konfigurace Apache může být upravena pomocí mechanismu <code>htaccess</code>. Ve výchozím nastavení aplikace nemá soubor <code>.htaccess</code>. Tento soubor lze přidat pomocí <a href="/apps/wordpress-developer/#using-sftp">SFTP</a> nebo <a href="/apps#file-manager">správce souborů</a> v umístění <code>/app/data/public/.htaccess</code>. Stejně jako u jakékoli jiné standardní instalace Apache lze <code>.htaccess</code> přidat i do dalších podadresářů WordPressu v <code>/app/data/public/</code>, pokud je to potřeba.</p>
<h2 id="cron-ulohy">Cron úlohy</h2>
<p>Aplikace je nastavena tak, aby spouštěla cron úlohy WordPressu každou minutu.</p>
<p>Pro ruční spuštění cron úloh použijte následující příkaz v
<a href="/apps#web-terminal">webovém terminálu</a>:</p>
<div class="codehilite"><pre><span></span><code>wp<span class="w"> </span>cron<span class="w"> </span>event<span class="w"> </span>run<span class="w"> </span>--due-now
</code></pre></div>
<p>Vestavěný plánovač úloh <code>wp-cron</code> je zakázán, protože je <a href="https://www.lucasrolff.com/wordpress/why-wp-cron-sucks/">neefektivní</a> pro weby s nízkou návštěvností.</p>
<p>Pro přidání vlastních cron událostí použijte vestavěný <a href="https://docs.cloudron.io/apps/#cron">cron Oscloud</a> nebo plugin, jako je <a href="https://wordpress.org/plugins/wp-crontrol/">WP Crontrol</a>.</p>
<h2 id="pluginy">Pluginy</h2>
<p>Na rozdíl od <a href="/apps/wordpress-managed">spravované aplikace WordPress</a> můžete instalovat pluginy, které upravují kód.</p>
<h3 id="deaktivace-pluginu">Deaktivace pluginu</h3>
<p>Pokud některý plugin brání spuštění WordPressu, otevřete <a href="/apps/#file-manager">správce souborů</a>. Přejděte na
<code>/app/data/public/wp-content/plugins</code> a přejmenujte adresář s problémovým pluginem z <code>plugin-name</code> na například <code>plugin-name-broken</code>.</p>
<p>Pro opětovnou aktivaci pluginu je nutné nejen přejmenovat složku zpět, ale také plugin znovu aktivovat v administračním rozhraní WordPressu.</p>
<h3 id="deaktivace-vsech-pluginu">Deaktivace všech pluginů</h3>
<p>Pro deaktivaci všech pluginů přejmenujte <code>/app/data/public/wp-content/plugins</code> na <code>/app/data/public/wp-content/plugins-broken</code> pomocí
<a href="/apps/#file-manager">správce souborů</a>.</p>
<p>Pro opětovné povolení všech pluginů je nutné nejen přejmenovat složku zpět, ale také pluginy znovu aktivovat v administračním rozhraní WordPressu.</p>
<h2 id="vykon">Výkon</h2>
<p><a href="https://gtmetrix.com">GTmetrix</a> je skvělý nástroj pro získání metrik výkonu instalace WordPressu.</p>
<ul>
<li>
<p>Pro nastavení vypršení záhlaví pro všechny stránky lze nainstalovat plugin <a href="https://wordpress.org/plugins/wp-fastest-cache/">WP Fastest Cache</a>.</p>
</li>
<li>
<p>Pro CDN cache doporučujeme použít <a href="https://wordpress.org/plugins/wp-fastest-cache/">WP Fastest Cache</a> nebo
<a href="https://wordpress.org/plugins/w3-total-cache/">W3 Total Cache</a> pro cache na bázi CDN. Ryan Kite má
<a href="https://ryan-kite.com/how-to-create-a-cdn-for-wp-fastest-cache-with-aws-cloudfront/">dobrý návod</a> na nastavení AWS Cloudfront s WP Fastest Cache.</p>
</li>
</ul>
<h2 id="pristup-k-databazi">Přístup k databázi</h2>
<p>Oscloud nepodporuje PHPMyAdmin. Přístup k databázi je však možný následujícími způsoby:</p>
<ul>
<li>
<p>Otevřete <a href="/apps#web-terminal">webový terminál</a> a stiskněte tlačítko 'MySQL' pro přístup do konzole.
Můžete přímo zadávat SQL příkazy.</p>
</li>
<li>
<p>Použijte plugin jako <a href="https://wordpress.org/plugins/wp-phpmyadmin-extension/">WP phpMyAdmin</a>.</p>
</li>
</ul>
<h2 id="wp-cli">WP CLI</h2>
<p><a href="http://wp-cli.org/">WP CLI</a> je příkazová řádka pro WordPress. Pro spuštění příkazů
pomocí CLI nástroje otevřete <a href="/apps#web-terminal">webový terminál</a> a
provádějte příkazy WP CLI jednoduše pomocí <code>wp</code>. Je již přednastaven tak, aby běžel jako správný uživatel.
Například:</p>
<div class="codehilite"><pre><span></span><code>wp<span class="w"> </span>user<span class="w"> </span>list
</code></pre></div>
<p>Pokud jeden nebo více pluginů/témat způsobuje chyby, můžete při spuštění WP CLI přeskočit načítání pluginů/témat pomocí:</p>
<div class="codehilite"><pre><span></span><code>wp --skip-plugins --skip-themes
</code></pre></div>
<p>Další nastavení PHP lze konfigurovat při ručním spuštění s <code>php -d key=value</code>:</p>
<div class="codehilite"><pre><span></span><code>sudo<span class="w"> </span>-E<span class="w"> </span>-u<span class="w"> </span>www-data<span class="w"> </span>php<span class="w"> </span>-d<span class="w"> </span><span class="nv">max_execution_time</span><span class="o">=</span><span class="m">100</span><span class="w"> </span>/app/pkg/wp<span class="w"> </span>--path<span class="o">=</span>/app/data/public/
</code></pre></div>
<p>V tomto případě se maximální doba vykonávání nastaví na 100 sekund.</p>
<h2 id="nastaveni-php">Nastavení PHP</h2>
<p>Vlastní <a href="http://php.net/manual/en/ini.core.php">nastavení PHP</a> můžete přidat do souboru <code>/app/data/php.ini</code></p>
<h3 id="velikost-nahravanych-souboru">Velikost nahrávaných souborů</h3>
<p>Upravte následující hodnoty v souboru <code>/app/data/php.ini</code>:</p>
<div class="codehilite"><pre><span></span><code><span class="x">post_max_size = 256M </span>
<span class="x">upload_max_filesize = 256M </span>
<span class="x">memory_limit = 256M</span>
</code></pre></div>
<h2 id="migrace-existujiciho-webu">Migrace existujícího webu</h2>
<p>Podívejte se na náš <a href="https://blog.cloudron.io/migrating-a-wordpress-site-to-cloudron/">blog</a> ohledně migrace
existujícího WordPress webu na Oscloud.</p>
<h2 id="uprava-souboru">Úprava souborů</h2>
<p>Vestavěná funkce pro úpravu souborů WordPressu je ve výchozím nastavení povolena. Z bezpečnostních důvodů doporučujeme
tuto možnost vypnout, a to úpravou souboru <code>/app/data/wp-config.php</code> a nastavením <code>DISALLOW_FILE_EDIT</code> na hodnotu true.</p>
<div class="codehilite"><pre><span></span><code>define<span class="o">(</span><span class="s1">&#39;DISALLOW_FILE_EDIT&#39;</span>,<span class="w"> </span><span class="nb">true</span><span class="o">)</span><span class="p">;</span>
</code></pre></div>
<h2 id="email">Email</h2>
<p>Ve výchozím nastavení je aplikace nakonfigurována tak, aby používala plugin <a href="https://wordpress.org/plugins/smtp-mailer/">smtp-mailer</a>.</p>
<p>Vlastní plugin pro odesílání emailů lze použít následovně:</p>
<ul>
<li><a href="/apps/#disable-email-configuration">Zakázat konfiguraci emailu</a> v App -&gt; Email -&gt; <code>Nepoužívat nastavení emailu aplikace</code>. Pokud je zakázáno, Oscloud nebude při každém restartu konfigurovat <code>smtp-mailer</code>.</li>
</ul>
<p><center>
<img src="/img/wordpress-mailbox-disable.png" class="shadow" width="90%">
</center></p>
<ul>
<li>
<p>Nainstalujte preferovaný plugin pro odesílání emailů ve WordPressu.</p>
</li>
<li>
<p>Přihlašovací údaje k emailu závisí na vaší konfiguraci. Pokud používáte externí poštovní službu, jako je Mailgun/SES/Postmark, můžete tyto údaje použít přímo ve WordPressu. Alternativně si můžete vytvořit přihlašovací údaje pro relay nebo poštovní schránku u vašeho poskytovatele emailu.</p>
</li>
<li>
<p>Pokud používáte Oscloud jako svůj emailový server, jednoduše vytvořte poštovní schránku a použijte <a href="/profile/#app-passwords">heslo k aplikaci</a>. Jako odesílací server použijte konfiguraci <a href="/email/#smtp">SMTP</a> serveru. Pro větší bezpečnost můžete zvážit vytvoření samostatného uživatele Oscloud, který bude vlastnit vytvořenou poštovní schránku (tím se zabrání tomu, aby mohl špatný plugin přistupovat k vašim osobním schránkám). Upozorňujeme, že uživatelské jméno SMTP je stejné jako adresa poštovní schránky (nikoli uživatelské jméno Oscloud).</p>
</li>
</ul>
<p><center>
<img src="/img/wordpress-email-app-password.png" class="shadow" width="500px">
</center></p>
<p>Konfigurace pluginu Fluent SMTP:</p>
<p><center>
<img src="/img/wordpress-fluent-smtp.png" class="shadow" width="500px">
</center></p>
<h2 id="neomezeny-html">Neomezený HTML</h2>
<p>Ne-admin uživatelům je povoleno vkládat neomezený HTML obsah. Tuto možnost lze zakázat úpravou
souboru <code>/app/data/wp-config.php</code> a nastavením <code>DISALLOW_UNFILTERED_HTML</code> na hodnotu true.</p>
<div class="codehilite"><pre><span></span><code>define(&#39;DISALLOW_UNFILTERED_HTML&#39;, true);
</code></pre></div>
<h2 id="multisite">Multisite</h2>
<div class="admonition poznámka">
<p class="admonition-title">Použít nebo nepoužít multisite</p>
<p>WordPress multisite je složitý systém s mnoha problémy kompatibility. Pokud nemáte zásadní důvod, doporučujeme
instalovat samostatnou aplikaci WordPress pro každou stránku.</p>
</div>
<p>Pro aktivaci WordPress multisite začněte s novou instalací a použijte nástroj pro nastavení sítě (Network Setup Tool).</p>
<ul>
<li>Aktivujte multisite v souboru <code>/app/data/public/wp-config.php</code> přidáním následujícího řádku pomocí <a href="/apps/#file-manager">správce souborů</a>.
Tento řádek vložte nad text "Thats all, stop editing! Happy blogging.":</li>
</ul>
<div class="codehilite"><pre><span></span><code>/*<span class="w"> </span>Multisite<span class="w"> </span>*/<span class="w"> </span>define<span class="o">(</span><span class="w"> </span><span class="s1">&#39;WP_ALLOW_MULTISITE&#39;</span>,<span class="w"> </span><span class="nb">true</span><span class="w"> </span><span class="o">)</span><span class="p">;</span>
</code></pre></div>
<ul>
<li>V administračním rozhraní WordPressu přejděte do <code>Nástroje</code> -&gt; <code>Nastavení sítě</code>. Podle pokynů na této stránce deaktivujte všechny pluginy před pokračováním. Oscloud podporuje instalaci jak na subdoménách, tak v podadresářích.</li>
</ul>
<p><center>
<img src="/img/wordpress-tools-network-setup.png" class="shadow" width="500px">
</center></p>
<ul>
<li>Po kliknutí na instalaci se zobrazí zpráva <code>Upozornění! Wildcard DNS možná není správně nakonfigurováno!</code>. Pro opravu přejděte do
zobrazení <code>Umístění</code> na Oscloud dashboardu a nastavte alias s hvězdičkou (Wildcard alias). Jakmile je alias přidán, upozornění zmizí
(obnovte administrační rozhraní WordPressu).</li>
</ul>
<p><center>
<img src="/img/wordpress-multisite-alias.png" class="shadow" width="500px">
</center></p>
<ul>
<li>Pro dokončení instalace sítě přidejte do <code>/app/data/public/wp-config.php</code> následující řádky podle pokynů.</li>
</ul>
<div class="codehilite"><pre><span></span><code>define(&#39;MULTISITE&#39;, true);
define(&#39;SUBDOMAIN_INSTALL&#39;, true);
define(&#39;DOMAIN_CURRENT_SITE&#39;, &#39;msite.cloudron.club&#39;);
define(&#39;PATH_CURRENT_SITE&#39;, &#39;/&#39;);
define(&#39;SITE_ID_CURRENT_SITE&#39;, 1);
define(&#39;BLOG_ID_CURRENT_SITE&#39;, 1);
</code></pre></div>
<p>Dále kompletně nahraďte obsah souboru <code>/app/data/public/.htaccess</code> podle pokynů. Upozorňujeme, že pravidla přepisování (Rewrite rules) se mírně liší pro instalaci na subdoménách a v podadresářích. Následující konfigurace je pro nastavení na subdoménách:</p>
<div class="codehilite"><pre><span></span><code>RewriteEngine<span class="w"> </span>On
RewriteRule<span class="w"> </span>.*<span class="w"> </span>-<span class="w"> </span><span class="o">[</span><span class="nv">E</span><span class="o">=</span>HTTP_AUTHORIZATION:%<span class="o">{</span>HTTP:Authorization<span class="o">}]</span>
RewriteBase<span class="w"> </span>/
RewriteRule<span class="w"> </span>^index<span class="se">\.</span>php$<span class="w"> </span>-<span class="w"> </span><span class="o">[</span>L<span class="o">]</span>
<span class="c1"># add a trailing slash to /wp-admin</span>
RewriteRule<span class="w"> </span>^wp-admin$<span class="w"> </span>wp-admin/<span class="w"> </span><span class="o">[</span><span class="nv">R</span><span class="o">=</span><span class="m">301</span>,L<span class="o">]</span>
RewriteCond<span class="w"> </span>%<span class="o">{</span>REQUEST_FILENAME<span class="o">}</span><span class="w"> </span>-f<span class="w"> </span><span class="o">[</span>OR<span class="o">]</span>
RewriteCond<span class="w"> </span>%<span class="o">{</span>REQUEST_FILENAME<span class="o">}</span><span class="w"> </span>-d
RewriteRule<span class="w"> </span>^<span class="w"> </span>-<span class="w"> </span><span class="o">[</span>L<span class="o">]</span>
RewriteRule<span class="w"> </span>^<span class="o">(</span>wp-<span class="o">(</span>content<span class="p">|</span>admin<span class="p">|</span>includes<span class="o">)</span>.*<span class="o">)</span><span class="w"> </span><span class="nv">$1</span><span class="w"> </span><span class="o">[</span>L<span class="o">]</span>
RewriteRule<span class="w"> </span>^<span class="o">(</span>.*<span class="se">\.</span>php<span class="o">)</span>$<span class="w"> </span><span class="nv">$1</span><span class="w"> </span><span class="o">[</span>L<span class="o">]</span>
RewriteRule<span class="w"> </span>.<span class="w"> </span>index.php<span class="w"> </span><span class="o">[</span>L<span class="o">]</span>
</code></pre></div>
<ul>
<li>
<p>Nové stránky můžete přidávat z nabídky <code>Správce sítě</code>. Stránku můžete přidat jako subdoménu nebo podadresář. Adresu stránky lze po přidání upravit v nastavení stránky.</p>
</li>
<li>
<p>Pokud nastavíte adresu stránky na jinou doménu, stačí ji přidat do aliasů domény v sekci <code>Umístění</code> na Oscloud Dashboardu.</p>
</li>
</ul>
<p><center>
<img src="/img/wordpress-multisite-new-site.png" class="shadow" width="500px">
</center></p>
<h3 id="nastaveni-emailu-multisite">Nastavení emailu (Multisite)</h3>
<p>V režimu multisite lze plugin pro SMTP odesílání nastavit pro každou stránku zvlášť. Po přidání nové stránky restartujte aplikaci, aby se plugin automaticky nakonfiguroval v kódu balíčku.</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2024 Oscloud CZ
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://git.arch-linux.cz/Oscloud" target="_blank" rel="noopener" title="git.arch-linux.cz" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11m-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16m133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61M512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z"/></svg>
</a>
<a href="https://mamutovo.cz/@oscloud" target="_blank" rel="noopener me" title="mamutovo.cz" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.5 102.5 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5m-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
</a>
<a href="https://matrix.to/#/!nnrBXdWbSiXkfiYtWR:mxchat.cz?via=mxchat.cz" target="_blank" rel="noopener" title="matrix.to" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6-10.4-2-21.2-.6-30.7 4.2q-6.15 3.15-12.6 6c-16 7.2-32.9 13.5-49.9 18 2.8-4.6 5.4-9.1 7.9-13.6 1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0 0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3-.9 1.7-1.9 3.5-2.8 5.1-10.3 18.4-22.3 36.5-36.6 52.1-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7 4.8-2.2 9.6-4.5 14.2-6.8 15.1 3 30.9 4.5 47.1 4.5m224 128c16.2 0 31.9-1.6 47.1-4.5 4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5s2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1-.9-1.7-1.9-3.4-2.8-5.1 28.8-30.3 46-68.6 46-110.4 0-94.4-87.9-171.5-198.2-175.8 4.1 15.2 6.2 31.2 6.2 47.8v.6c87.2 6.7 144 67.5 144 127.4 0 28-11.4 54.9-32.7 77.2-14.3 15-17.3 37.6-7.5 55.8 1.1 2 2.2 4 3.2 5.9 2.5 4.5 5.2 9 7.9 13.6-17-4.5-33.9-10.7-49.9-18q-6.45-2.85-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2-12.1 2.4-24.8 3.6-37.8 3.6-61.7 0-110-26.5-136.8-62.3-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": ["search.suggest", "navigation.indexes"], "search": "../../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
<script src="../../assets/javascripts/bundle.525ec568.min.js"></script>
<script src="../../javascripts/extra.js"></script>
</body>
</html>