Joomla! je vedle WordPressu jedním z nejpopulárnějších systémů pro správu obsahu (CMS). S Joomlou můžete vytvářet blogy, diskusní fóra a další webové stránky.
Je zdarma, s otevřeným zdrojovým kódem a funguje dobře s téměř jakoukoli webhostingovou službou, takže je jednou z nejjednodušších k instalaci a použití.
Pokud ještě nemáte žádný webhosting, doporučujeme nainstalovat Joomlu na váš místní systém Debian nebo VPS.
Zde uvidíme, jak nainstalovat Joomla s Nginx na Debian 11.
Předpoklady
Instalovat LEMP Stack
Pomocí níže uvedených odkazů nainstalujte LEMP stack na váš systém Debian pro instalaci Joomly.
Nainstalujte EMP (Nginx, MariaDB a PHP) na Debian 11
Nainstalujte rozšíření PHP
Použijte příkaz apt k instalaci rozšíření PHP požadovaných pro Joomla.
sudo apt update sudo apt install -y php-gd php-xmlrpc php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath
Nakonfigurujte nastavení PHP pro Joomla
Joomla vyžaduje několik konfigurací PHP, jako je dočasný adresář PHP, maximální povolená velikost pro správné fungování nahraných souborů. Upravte tedy php.ini
soubor.
sudo nano /etc/php/7.4/fpm/php.ini
Poté aktualizujte níže uvedené hodnoty podle svých požadavků.
output_buffering = off # Required for Joomla upload_tmp_dir = "/tmp" upload_max_filesize = 64M post_max_size = 64M
Nastavení virtuálního hostitele Nginx pro Joomla
Začneme vytvořením virtuálního hostitele pro instalaci Joomly. Všechny konfigurační soubory virtuálního hostitele Nginx najdete pod /etc/nginx/conf.d
adresář.
Soubor virtuálního hostitele obvykle obsahuje název domény, číslo portu, kořen dokumentu, umístění protokolu, rychlé CGI atd.
U tohoto článku předpokládám následující:
Název domény:itzgeek.net, www.itzgeek.net
Číslo portu:80
Kořenový adresář dokumentu:/usr/share/nginx/www.itzgeek.net/html
Protokoly:/usr/share/nginx/www.itzgeek.net/logs
Nejprve vytvořte konfiguraci virtuálního hostitele.
sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf
Poté vložte následující obsah do výše uvedeného konfiguračního souboru. Budete muset změnit server_name
podle vašeho požadavku.
server { server_name itzgeek.net www.itzgeek.net; root /usr/share/nginx/www.itzgeek.net/html; index index.php index.html; access_log /usr/share/nginx/www.itzgeek.net/logs/access.log; error_log /usr/share/nginx/www.itzgeek.net/logs/error.log; # Prevent access to certain file extensions location ~\.(ini|log|conf)$ { deny all; } location ~ \.php$ { # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Vytvořte kořenový adresář dokumentů a adresář protokolů.
sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/ sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/
Ověřte konfigurační soubor Nginx pomocí níže uvedeného příkazu.
sudo nginx -t
Pokud se zobrazí následující, znamená to, že konfigurace virtuálního hostitele je správná.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Restartujte služby Nginx a PHP-FPM.
sudo systemctl reload nginx php7.4-fpm
Nainstalujte Let's Encrypt SSL certifikát
Vytvořit záznam DNS
Přejděte ke svému registrátorovi domény a vytvořte záznam DNS [A a CNAME (volitelné, pokud nechcete používat subdoménu www)] pro svou doménu.
- Název domény bez www (např. itzgeek.net)>> A zaznamenat bod k IP serveru
- Název domény www (např. www.itzgeek.net)>> CNAME rekordní bod na itzgeek.net
Pro toto demo jsem vytvořil dva záznamy, takže moje webová stránka Joomla bude přístupná na adrese www.itzgeek.net.
Nainstalujte klienta Certbot
Klient Certbot, který nám pomáhá generovat a instalovat certifikát Let’s Encrypt SSL, je nyní k dispozici jako snap balíček pro operační systém Debian. Nejprve tedy nainstalujte snapd do systému.
sudo apt update sudo apt install -y snapd
Poté aktualizujte snapd na nejnovější verzi.
sudo snap install core && sudo snap refresh core
Nakonec nainstalujte klienta Certbot pomocí příkazu snap.
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
Nainstalujte certifikát SSL
Použijte certbot
příkaz k vygenerování a instalaci certifikátu Let’s Encrypt SSL pro webový server Nginx.
sudo certbot --nginx1. Zadejte e-mailovou adresu dostávat upozornění na naléhavé obnovení a bezpečnostní upozornění
2. Napište Y a stiskněte Enter zaregistrovat se na serveru ACME
3. Zadejte A nebo N k zasílání e-mailů o novinkách, kampaních a newsletterech EFF.
4. Certbot automaticky detekuje doménu Joomla a požádá vás o povolení aktivovat HTTPS pro váš web Joomla. Zadejte 1 nebo vhodná čísla oddělená čárkou v případě, že máte více webových stránek.
Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1. itzgeek.net 2: www.itzgeek.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1,2
Počkejte na dokončení instalace SSL. Nyní budete mít přístup k webu pomocí HTTPS.
Poznámka: Pokud nyní vstoupíte na webovou stránku, dostanete zakázanou chybu 403, protože jste ještě nevložili instalační soubor Joomly.
Přesměrujte požadavky HTTP bez www na www HTTPS pomocí Nginx
Možná budete chtít nakonfigurovat server Nginx tak, aby přesměroval provoz z webu bez www HTTP na web WWW HTTPS, tj. http://itzgeek.net>> https://www.itzgeek.net. Toto můžete přeskočit, pokud ve své doméně nepoužíváte www.
Automaticky obnovit certifikát SSL
Klient Certbot nyní zahrnuje automatickou obnovu SSL certifikátů prostřednictvím systemd. Nebudete tedy muset obnovovat certifikáty ručně.
Nainstalujte Joomla s Nginx
Vytvořit databázi pro instalaci Joomly
Nejprve se přihlaste k databázovému serveru MariaDB/MySQL.
sudo mysql -u root -p
Poté vytvořte databázi pro instalaci Joomly spolu s uživatelem databáze a heslem.
CREATE DATABASE joomladb; CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost'; EXIT
Stáhněte si balíček Joomla
Stáhněte si nejnovější verzi balíčku Joomla pomocí následujícího příkazu v terminálu.
mkdir /tmp/joomla && cd /tmp/joomla wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.tar.gz?format=gz -O Joomla_4-0-3-Stable-Full_Package.tar.gz
Poté rozbalte stažený soubor.
tar -zxvf Joomla_4-0-3-Stable-Full_Package.tar.gz
A pak přesuňte soubory do kořenového adresáře dokumentů vašeho webu.
sudo mv * /usr/share/nginx/www.itzgeek.net/html/
Aktualizujte vlastnictví a skupinu adresáře webu Joomla.
sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/
Nainstalujte Joomla CMS
Otevřete svůj prohlížeč a navštivte doménu svého webu Joomla a proveďte instalaci Joomly.
https://your-joomla-web
1. Vyberte jazyk pro instalační program a zadejte Název webu pro váš web Joomla a poté klikněte na Nastavit přihlašovací údaje
2. Zadejte Joomla Administrator jméno, uživatelské jméno, heslo a e-mailovou adresu a poté klikněte na Nastavit datové připojení
3. Vyberte typ databáze MySQL (PDO) a poté zadejte podrobnosti databáze Joomla [Ponechte předponu tabulky a Šifrování připojení jak to je] a poté klikněte na Instalovat Joomla
4. Nyní dostaneteGratulujeme! Váš web Joomla je připraven. Na web se dostanete kliknutím na Dokončit a otevřít web nebo back-end Joomla kliknutím naDokončit a otevřít správce. Pokud chcete, můžete také přidat další jazyk pro front-end a back-end svého webu kliknutím naInstalovat další jazyky.
5. K back-endu Joomly se můžete dostat kdykoli tak, že přejdete na https://your-joomla-website/administrator
Přístup k webu Joomla
Nyní budete mít přístup k webu pomocí názvu vaší domény.
https://your-joomla-webZávěr
To je vše. Doufám, že jste se naučili, jak nainstalovat Joomla s Nginx na Debian 11.