WonderCMS je rychlý a přímočarý redakční systém, který pro tvorbu webových stránek nevyžaduje žádnou databázi. Nabízí bohaté funkce, jako je vlastní přihlašovací URL, SEO přátelský design s prvky WYSIWYG pro úpravu vašich stránek ve formátu prostého textu nebo HTML kódu; flexibilní rámec CSS, takže můžete změnit vzhled jednotlivých stránek, aniž byste ovlivnili ostatní části webové stránky, včetně nadpisů/velikostí písma atd. Spolu s nativní podporou markdown, která uživatelům umožňuje snadno publikovat články online pouze pomocí odstavců.
V následujícím tutoriálu se dozvíte, jak nainstalovat WonderCMS pomocí Nginx a PHP spolu s importem aktuálních repozitářů nebo pomocí výchozí verze a jak vytvořit blok serveru a nastavit jej pomocí terminálu příkazového řádku na Desktop nebo server Debian 11 Bullseye.
Nainstalujte Nginx
Chcete-li zahájit instalaci, budete muset nainstalovat Nginx webový server. Metodou je nainstalovat nejnovější hlavní řadu Nginx nebo stabilní z repozitáře Ondřeje Surého, abyste měli nejaktuálnější software. Mnoho uživatelů Ubuntu by znalo jeho PPA a vy můžete udělat totéž v Debianu.
Pro uživatele, kteří chtějí používat pouze výchozí APT verzi Nginx pro Debian, použijte následující příkaz nebo přeskočte a importujte nejnovější hlavní řadu nebo stabilní verzi NGINX.
Instalovat Nginx – úložiště Debian 11
sudo apt install nginx nginx-full
Chcete-li použít nejnovější verzi hlavní nebo stabilní verze Nginx, budete muset nejprve importovat úložiště.
Importujte POUZE JEDNO ÚLOŽIŠTĚ!
Možnost 1 – Importovat hlavní úložiště:
curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x
Možnost 2 – Import stabilního úložiště:
curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x
Aktualizujte své úložiště, aby odráželo novou změnu:
sudo apt update
Nyní, když jste nainstalovali úložiště Nginx a aktualizovali seznam úložišť, nainstalujte Nginx s následujícím:
sudo apt install nginx-core nginx-common nginx nginx-full -y
Upozorňujeme, že můžete být vyzváni k zachování nebo nahrazení stávajícího souboru /etc/nginx/nginx.conf
konfigurační soubor během instalace. Doporučujeme ponechat aktuální konfigurační soubor stisknutím (n)
.
Instalace Nginx s vlastním úložištěm přichází s dalšími kompilovanými moduly, jedním z nejtypičtějších a doporučených modulů pro aktivaci je modul Brotli.
Chcete-li nainstalovat brotli , otevřete svůj nginx.conf
konfigurační soubor:
nano /etc/nginx/nginx.conf
Nyní přidejte další řádky dříve do HTTP{} sekce:
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
brotli_comp_level lze nastavit v rozmezí 1 (nejnižší) a 11 (nejvyšší) . Většina serverů je obvykle uprostřed, ale pokud je váš server monstrum, nastavte hodnotu 11 a sledujte úrovně využití CPU.
Dále otestujte, abyste se ujistili, že změny fungují správně, než je spustíte:
sudo nginx -t
Pokud změny fungují správně, měli byste vidět následující:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nyní proveďte změny restartováním serveru:
sudo systemctl restart nginx
Dále povolte Nginx při spouštění systému:
sudo systemctl enable nginx --now
Nainstalujte PHP a PHP-FPM
Nyní instalujeme PHP, což je backendový komunikátor nebo prostředník. PHP 8.0 se stává relativně stabilním a nyní jsou k dispozici novější verze PHP 8.1.
Tutoriál se zaměří na import nejnovější verze PHP Ondřeje Surého, správce Debian PHP. Toto je vždy aktuální, i když jsou nové verze PHP zrušeny.
Importovat PHP repozitář Ondřej Surý
Prvním krokem je import a instalace GPG a úložiště.
Ve svém terminálu použijte následující příkaz.
curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x
Tento příkaz nainstaluje úložiště PHP a aktualizuje vaše úložiště APT.
Dále aktualizujte seznam úložišť, protože nové úložiště bude vyžadovat aktualizaci některých stávajících balíčků, což se doporučuje provést před instalací jakékoli verze PHP.
sudo apt upgrade
Možnost 1. Nainstalujte PHP 7.4
Výchozím nastavením mnoha minimálních verzí PHP CMS je instalace PHP 7.4. I když je to považováno za neuvěřitelně stabilní, v ideálním případě byste měli nainstalovat PHP 8.0, pokud je to možné, abyste získali výhody výkonu a zabezpečení.
Ve svém terminálu spusťte následující příkaz.
sudo apt install php7.4 php7.4-fpm php7.4-mbstring php7.4-curl php7.4-zip
Dále spusťte a povolte automatické spouštění PHP 7.4-FPM při bootování.
sudo systemctl enable php7.4-fpm --now
Možnost 2. Nainstalujte PHP 8.0
Většina uživatelů by měla instalovat PHP 8.0 pro své webové aplikace, přičemž 7.4 je považováno za staré stabilní, podobně jako 7.4 ve vašem terminálu; proveďte následující příkaz.
sudo apt install php8.0 php8.0-fpm php8.0-mbstring php8.0-curl php8.0-zip
Dále spusťte a povolte automatické spouštění PHP 8.0-FPM při bootování.
sudo systemctl enable php8.0-fpm --now
Možnost 3. Nainstalujte PHP 8.1
Třetí možností je nainstalovat PHP 8.1, nejnovější verzi v době tohoto tutoriálu. Podobně jako u 8.0 a 7.4 spusťte následující příkaz pro instalaci PHP 8.1 pro WonderCMS.
sudo apt install php8.1 php8.1-fpm php8.1-mbstring php8.1-curl php8.1-zip
Dále spusťte a povolte automatické spouštění PHP 8.1-FPM při bootování.
sudo systemctl enable php8.1-fpm --now
Nainstalujte WonderCMS
Stáhněte si WonderCMS
Nejprve si stáhněte archivní balíček WonderCMS na oficiální stránce stahování získat nejnovější odkaz a stáhnout pomocí příkazu terminálu buď wget
nebo curl
příkaz.
Příklad:
wget https://github.com/robiso/wondercms/releases/download/3.3.1/wondercms-331.zip
Vytvořte strukturu složek pro WonderCMS
Nyní máte archiv stažený, pokračujte v jeho rozbalení a přesunutí do vašeho adresáře www.
Vytvořte adresář pro WonderCMS:
sudo mkdir -p /var/www/wondercms
Rozbalte WonderCMS do adresáře www:
sudo unzip wondercms*.zip -d /var/www/
Musíte nastavit oprávnění vlastníka adresáře na WWW jinak budete mít potíže s oprávněními k zápisu WonderCMS.
Nastavit oprávnění chown (důležité):
sudo chown -R www-data:www-data /var/www/wondercms/
Nastavit oprávnění chmod (důležité):
sudo find /var/www/wondercms -type d -exec chmod 755 {} \;
sudo find /var/www/wondercms -type f -exec chmod 644 {} \;
Vytvořit konfiguraci bloku serveru Nginx
Další fází je vytvoření bloku serveru pro WonderCMS pro nové uživatele Nginx; toto je konfigurační soubor webu pro webovou aplikaci na back-endu, stejný jako virtuální hostitel pro uživatele migrující z webových aplikací typu Apache.
Nejprve vytvořte blok serveru pomocí následujícího příkazu, nezapomeňte nahradit example.com s názvem vaší domény nebo názvem podle vašeho výběru.
sudo nano /etc/nginx/sites-available/example.com.conf
Níže je uveden příklad; můžete si vybrat díly; nicméně „umístění ~ \.php$“ musí být v konfiguračním souboru Nginx.
POZNÁMKA:Nezapomeňte změnit adresy www.example.com a example.com a kořenovou cestu.
server {
listen 80;
# adapt to your server name
server_name www.wonder-example.com;
# adapt the path
root /var/www/wondercms;
index index.php;
# prevent directory listing
autoindex off;
# rewrite url to make it pretty
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.+)$ /index.php?page=$1 last;
}
# prevent access to database.js
location ~ database.js {
return 403;
}
location ~ cache.json {
return 403;
}
# use php-fpm for dealing with php files
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_intercept_errors on;
}
}
Všimněte si, že pokud používáte PHP 8.xx vyhledejte a nahraďte výše uvedený řádek “fastcgi_pass unix:/run/php/php7.4-fpm.sock;“ na "fastcgi_pass unix:/run/php/php8.0-fpm.sock;"
pro 8.0 nebo "fastcgi_pass unix:/run/php/php8.1-fpm.sock;"
pro 8.1.
Dále budete muset povolit konfigurační soubor Nginx z „sites-available“ . Chcete-li to provést, vytvořte symbolický odkaz na „sites-enabled“ následovně.
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Nezapomeňte nahradit "example.conf"
s názvem vašeho konfiguračního souboru.
Nyní můžete provést suchý běh a restartovat server Nginx, pokud je vše v pořádku.
sudo nginx -t
Poté, co zkontrolujete a je vše v pořádku s testem Nginx nasucho, restartujte službu Nginx.
sudo systemctl restart nginx
Konfigurace PHP.ini
Než přejdete na instalační část webového uživatelského rozhraní, měli byste upravit své PHP pro optimální použití pro WonderCMS. Tato nastavení jsou spíše orientační a můžete je zvýšit, jak uznáte za vhodné.
Nejprve vyvolejte svůj php.ini. Pamatujte, že vaše umístění se může lišit v závislosti na čísle vaší verze PHP.
sudo nano /etc/php/{version}/fpm/php.ini
Dále, v ideálním případě, můžete svůj CMS dále vylepšit úpravou některých níže uvedených nastavení. Všimněte si, že pokud máte nízký zdroj 1VCPU, 1GB, moc toho neuděláte. Níže uvedená nastavení jsou však pouze vodítkem, proveďte průzkum nebo je použijte a pohrajte si.
##increase upload max size recommend 50 to 100mb example only##
upload_max_filesize = 100MB
##increase post max size recommend 50 to 100mb example only##
post_max_size = 100MB
## increase max execution time recommend 120 to 300##
max_execution_time = 120
## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 5000
## increase memory limit recommend 256mb or 512mb##
memory_limit = 256M
Nyní restartujte server PHP-FPM.
sudo systemctl restart php{version}-fpm
Nastavení PHP, která jste upravili, platí pro backend PHP. Budete také muset změnit blok serveru Nginx, aby umožňoval velké velikosti těla. To se provede opětovným otevřením bloku serveru a přidáním následujícího řádku.
Otevřete blok serveru.
sudo nano /etc/nginx/sites-available/example.com
Upravte tuto čáru, abyste zvětšili velikost těla.
client_max_body_size 100M;
Pamatujte, že maximální velikost klienta musí být stejná jako nastavení souboru PHP .
Dále otestujte změny a restartujte server Nginx, pokud je vše v pořádku.
sudo nginx -t
Poté, co zkontrolujete a je vše v pořádku s testem Nginx nasucho, restartujte službu Nginx.
sudo systemctl restart nginx
Nainstalujte WonderCMS WebUI
Nyní, když jsou všechna nastavení a konfigurace backendu dokončena, můžete přejít do své domény a začít instalovat.
##go to installation address##
https://www.yoursite.com
První stránka, kterou uvidíte, je dočasné heslo a tlačítko pro přihlášení.
Pokračujte kliknutím na přihlášení.
Příklad:
Zadejte své heslo abyste mohli nadále používat heslo dostupné na přihlašovací stránce Vítejte na vašem webu. Pokud jste zapomněli nebo nekopírovali, klikněte zpět a znovu zkopírujte, poté se znovu přihlaste.
Příklad:
Jakmile se přihlásíte, dostanete se na svou CMS stránku, která vypadá jako původní přihlašovací stránka, nenechte se zmást; toto je stránka s otevřenými úpravami. V horní části uvidíte změnit nastavení, což se důrazně doporučuje okamžitě, abyste zajistili svůj web dále.
Příklad (kliknutím obrázek zvětšíte) :
Jakmile otevřete stránku nastavení, odtud můžete upravit nastavení zabezpečení zásuvných modulů a v podstatě začít přizpůsobovat back-end svého webu ještě předtím, než stisknete editor stránky WonderCMS.
Příklad (kliknutím obrázek zvětšíte) :
Gratulujeme, úspěšně jste nainstalovali nejnovější verzi WonderCMS s Nginx a PHP.
Zabezpečte Nginx pomocí bezplatného certifikátu Let's Encrypt SSL
V ideálním případě byste chtěli spustit svůj Nginx na HTTPS pomocí certifikátu SSL . Nejlepší způsob, jak toho dosáhnout, je použít Let’s Encrypt bezplatná, automatizovaná a otevřená certifikační autorita provozovaná neziskovou organizací Internet Security Research Group (ISRG) .
Nejprve nainstalujte balíček certbot takto:
sudo apt install python3-certbot-nginx -y
Po instalaci spusťte následující příkaz pro zahájení vytváření vašeho certifikátu:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com
Toto ideální nastavení zahrnuje vynucené přesměrování HTTPS 301, hlavičku Strict-Transport-Security a sešívání OCSP. Nezapomeňte upravit e-mail a název domény podle svých požadavků.
Nyní bude vaše adresa URL HTTPS://www.example.com namísto HTTP://www.example.com .
Pokud používáte starou URL HTTP , automaticky se přesměruje na HTTPS .
Volitelně můžete nastavit úlohu cron pro automatické obnovení certifikátů. Certbot nabízí skript, který to dělá automaticky, a vy můžete nejprve otestovat, abyste se ujistili, že vše funguje pomocí suchého běhu.
sudo certbot renew --dry-run
Pokud vše funguje, otevřete okno crontab pomocí následujícího příkazu terminálu.
sudo crontab -e
Dále prosím uveďte čas, kdy se má automaticky obnovit. Toto by mělo být kontrolováno minimálně denně, a pokud je potřeba certifikát obnovit, skript certifikát neaktualizuje. Pokud potřebujete pomoc s nalezením vhodného času pro nastavení, použijte crontab.guru bezplatný nástroj.
00 00 */1 * * /usr/sbin/certbot-auto renew