GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Typo3 CMS na Debian 9

V této příručce se naučíme, jak nainstalovat a nakonfigurovat nejnovější verzi Typo3 CMS v Debianu 9.

Typo3 je výkonný open source redakční systém s většinou částí napsaných v programovacím jazyce PHP. Často se nasazuje v Linuxu pod webovými servery Apache/Nginx, programovacím jazykem PHP na straně serveru a systémem správy databází MySQL/MariaDB, také známým jako LAMP nebo LEMP stack. Platforma Typo3 CMS je vysoce flexibilní a škálovatelná a lze ji rozšířit bez psaní jakéhokoli řádku kódu, což z ní činí ideálního kandidáta pro nasazení malých webových stránek nebo výkonných vícejazyčných podnikových portálů.

Požadavky

  • Minimální instalace Debianu 9 na holém počítači nebo na virtuálním privátním serveru
  • práva sudo root pro místní nebo vzdálený účet nebo přímý přístup k účtu root
  • Statická adresa IP nakonfigurovaná pro jednu z vašich systémových síťových karet
  • Název domény, soukromý nebo veřejný, v závislosti na vašem nasazení, se správnými záznamy DNS nakonfigurovanými pro webové služby. Pokud nemáte platný nebo registrovaný název domény, můžete provést instalaci a přistupovat na web přes IP adresu vašeho serveru
  • Pokud chcete používat registraci webových stránek, moderování komentářů a další funkce, měli byste mít ve svých prostorách správně nakonfigurovaný běžící poštovní server se vzdáleným přístupem k jeho službám IMAP a SMTP.

Připravte server

Před zahájením instalace a konfigurace Typo ze zdrojů na vašem vlastním serveru se nejprve ujistěte, že systém splňuje všechny softwarové požadavky pro kompilaci a instalaci aplikace. V prvním kroku aktualizujte systémová úložiště a softwarové balíčky vydáním následujícího příkazu.

apt update
apt upgrade

Po úplné aktualizaci systému nastavte název systému provedením následujícího příkazu. Podle toho nahraďte proměnnou názvu hostitele.

Nastavte název hostitele

hostnamectl set-hostname typo

Ověřte název hostitele počítače a soubor hostitelů zadáním níže uvedených příkazů.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Nakonec restartujte server Debian, aby se mohly správně aplikovat aktualizace jádra a název hostitele.

systemctl reboot

Nainstalujte požadované nástroje

V dalším kroku spusťte následující příkaz, abyste nainstalovali některé potřebné nástroje, které budou použity k další správě vašeho systému z příkazového řádku.

apt install wget bash-completion zip unzip

Nainstalujte také software imagemagick, který Typo3 vyžaduje k vytváření, úpravě, skládání nebo převodu bitmapových nebo jiných typů formátů obrázků nahraných na web.

apt install imagemagick

Typo3 je webová platforma CMS napsaná převážně v programovacím jazyce PHP na straně serveru. Aby bylo možné spouštět skripty souboru PHP aplikace, musí být v systému nainstalován a zprovozněn webový server, jako je HTTP server Apache, a brána zpracování PHP.

Nainstalujte Apache a PHP

Chcete-li nainstalovat webový server Apache a interpret PHP spolu se všemi požadovanými moduly PHP, které aplikace potřebuje ke správnému fungování, zadejte na konzole serveru následující příkaz.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-zip php7.0-gd php7.0-xml php7.0-gd php7.0-json php7.0-opcache php-imagick  php7.0-curl php7.0-mbstring php7.0-bcmath php7.0-gmp

Po instalaci Apache a PHP otestujte, zda je webový server v provozu a naslouchá síťovým připojením na portu 80 zadáním následujícího příkazu s právy root.

netstat –tlpn

V případě, že síťová utilita netstat není ve vašem systému Debian standardně nainstalována, nainstalujte ji provedením následujícího příkazu.

apt install net-tools

Prozkoumáním výstupu příkazu netstat můžete vidět, že webový server Apache naslouchá příchozím síťovým připojením na portu 80. Pro stejný úkol můžete také použít ss příkaz, který je automaticky nainstalován ve výchozím nastavení v Debianu 9.

ss- tulpn

Nakonfigurujte bránu firewall

V případě, že máte ve svém systému povolenou bránu firewall, jako je například aplikace brány firewall UFW, měli byste přidat nové pravidlo, které umožní průchod HTTP provozu přes bránu firewall, zadáním následujícího příkazu.

ufw allow WWW

nebo

ufw allow 80/tcp

Pokud používáte iptables nezpracovaných pravidel pro správu pravidel firewallu na vašem serveru Debian přidejte následující pravidlo, které povolí příchozí provoz na portu 80 na firewallu, aby návštěvníci mohli procházet web.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Konfigurovat Apache

Dále povolte a použijte následující moduly Apache, které webová aplikace vyžaduje ke správnému fungování, zadáním následujícího příkazu.

a2enmod rewrite deflate headers
systemctl restart apache2

Nakonec otestujte, zda lze výchozí webovou stránku webového serveru Apache zobrazit v prohlížečích vašeho klienta návštěvou IP adresy vašeho počítače Debian nebo názvu vaší domény nebo FQDN serveru prostřednictvím protokolu HTTP, jak je znázorněno na obrázku níže. Pokud neznáte IP adresu svého počítače, spusťte ifconfig nebo ip a příkazy k odhalení IP adresy vašeho serveru.

http://vase_domena.tld

Chcete-li nainstalovat a získat přístup k panelu webového administrátora Typo3 a frontendu prostřednictvím protokolu HTTPS, který zajistí provoz pro vaše klienty, zadejte následující příkaz pro povolení modulu SSL webového serveru Apache a konfiguračního souboru webu SSL.

a2enmod ssl
a2ensite default-ssl.conf

Dále otevřete výchozí konfigurační soubor webu Apache SSL pomocí textového editoru a povolte pravidla pro přepis URL přidáním následujících řádků kódu za DocumentRoot direktivu, jak je znázorněno v následujícím příkladu:

nano /etc/apache2/sites-enabled/default-ssl.conf

Výňatek z konfiguračního souboru webu SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Proveďte také následující změnu řádku VirtualHost, aby vypadal tak, jak je znázorněno na níže uvedeném úryvku:

        <VirtualHost *:443>

Zavřete soubor SSL Apache a otevřete /etc/apache2/sites-enabled/000-default.conf soubor pro úpravy a přidejte stejná pravidla pro přepis URL jako pro konfigurační soubor SSL. Vložte řádky kódu za DocumentRoot prohlášení, jak je znázorněno v následujícím příkladu.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Nakonec restartujte démona Apache, abyste použili všechna dosud nakonfigurovaná pravidla a navštivte svou doménu prostřednictvím protokolu HTTP. Vzhledem k tomu, že při instalaci používáte automaticky dvojice certifikátů Self-Signed vydané Apache, mělo by se v prohlížeči zobrazit varování o chybě.

systemctl restart apache2

https://vasedomena.tld

Přijměte varování, abyste mohli používat nedůvěryhodný certifikát a pokračovat a byli přesměrováni na výchozí webovou stránku Apache, jak je znázorněno na následujícím obrázku.

V případě, že aplikace brány firewall UFW blokuje příchozí síťová připojení k portu HTTPS, měli byste přidat nové pravidlo, které povolí průchod HTTPS přes bránu firewall, a to zadáním následujícího příkazu.

ufw allow 'WWW Full'

nebo

ufw allow 443/tcp

Pokud iptables je výchozí firewallová aplikace nainstalovaná pro ochranu vašeho systému Debian na úrovni sítě, přidejte následující pravidlo, které povolí příchozí provoz na portu 443 ve firewallu, aby návštěvníci mohli procházet název vaší domény.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Konfigurace PHP

V dalším kroku musíme provést nějaké další změny ve výchozím konfiguračním souboru PHP, abychom se ujistili, že jsou povoleny následující proměnné PHP a časové pásmo PHP je správně nakonfigurováno a odpovídá zeměpisné poloze vašeho systému. Otevřete /etc/php/7.0/apache2/php.ini soubor pro úpravu a ujistěte se, že následující řádky jsou nastaveny následovně. Nejprve si také vytvořte zálohu konfiguračního souboru PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Hledejte, upravujte a měňte následující proměnné v php.ini konfigurační soubor:

file_uploads = On
memory_limit = 128 M
upload_max_file_size = 64M
max_execution_time = 240
max_input_vars = 1500
date.timezone = Europe/London

Zvětšete upload_max_file_size proměnnou jako vhodnou pro podporu příloh velkých souborů a nahrazující time.zone proměnná podle vašeho fyzického času pomocí seznamu časových pásem poskytovaných dokumenty PHP na následujícím odkazu http://php.net/manual/en/timezones.php

Chcete-li zvýšit rychlost načítání svých webových stránek prostřednictvím pluginu OPCache dostupného pro PHP7, přidejte následující nastavení OPCache na konec konfiguračního souboru PHP interpretu, jak je podrobně popsáno níže:

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Zavřete konfigurační soubor php.ini a zkontrolujte, zda je ověřte konec konfiguračního souboru PHP, abyste zkontrolovali, zda byly proměnné správně přidány zadáním níže uvedeného příkazu.

tail /etc/php/7.0/apache2/php.ini

Poté, co provedete všechny výše popsané změny, povolte modul OPCache a restartujte démona apache, aby se nové změny aplikovaly pomocí následujících příkazů.

phpenmod opcache
systemctl restart apache2

Nakonec vytvořte soubor s informacemi o PHP provedením následujícího příkazu a zkontrolujte, zda bylo časové pásmo PHP správně nakonfigurováno tím, že navštívíte soubor skriptu PHP info z prohlížeče na následující adrese URL, jak je znázorněno na obrázku níže. Přejděte dolů na datum nastavení pro kontrolu konfigurace časového pásma PHP.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://domena.tld/info.php

Instalovat MariaDB

Platforma Typo3 CMS ukládá různé konfigurace, jako jsou uživatelé, relace, kontakty, články, stránky a další nastavení, v relační databázi. V této příručce nakonfigurujeme Typo3 tak, aby používal databázi MariaDB jako backend. Vydáním níže uvedeného příkazu nainstalujte databázi MariaDB a modul PHP potřebný pro přístup k databázi mysql.

apt install mariadb-server php7.0-mysql mariadb-client

Po instalaci MariaDB ověřte, zda démon běží a naslouchá připojení na localhost, port 3306, spuštěním netstat příkaz.

netstat –tlpn | grep mysql

Poté se přihlaste do konzole MySQL a zabezpečte root účet MariaDB vydáním následujících příkazů.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

V dalším kroku zabezpečte MariaDB spuštěním skriptu mysql_secure_installation poskytované instalačními balíčky z repozitářů Debian stretch. Při spuštění skriptu bude položena řada otázek určených k zabezpečení databáze MariaDB, jako například:změna hesla root MySQL, odstranění anonymních uživatelů, zakázání vzdáleného přihlášení root a odstranění testovací databáze. Spusťte skript vydáním následujícího příkazu a ujistěte se, že na všechny položené otázky zadáte ano, abyste plně zabezpečili démona MySQL. Jako vodítko použijte následující úryvek výstupu skriptu.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

 

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

Chcete-li otestovat nastavení zabezpečení MariaDB, zkuste se přihlásit do databáze z konzole pomocí účtu root a nezadávejte žádné heslo. Přístup k databázi by měl být odepřen, pokud není pro účet root poskytnuto žádné heslo, jak je znázorněno na následujícím úryvku příkazu:

[email protected]:~# mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Pokud je zadáno heslo uživatele root, měl by být proces přihlášení povolen konzoli MySQL, jak je znázorněno v následujícím příkladu příkazu:

[email protected]:~# mysql -h localhost -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
exit
Bye

Dále se přihlaste do databázové konzole MariaDB, vytvořte databázi pro Typo3 CMS a uživatele s heslem, který bude použit pro správu databáze aplikace, zadáním následujících příkazů. Podle toho nahraďte název databáze, uživatele a heslo.

mysql –u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
create database typo;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on typo.* to 'typo_user' identified by 'password1';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;  
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

Chcete-li použít všechny dosud provedené změny, restartujte démony MySQL a Apache a ověřte, zda démoni běží, zadáním následujících příkazů.

systemctl restart mysql apache2
systemctl status mysql apache2

Instalovat Typo3

Po splnění všech systémových požadavků pro instalaci platformy Typo3 navštivte oficiální stránku ke stažení Typo3 CMS na https://typo3.org/download/ a stáhněte si nejnovější komprimovaný archiv balíčku zip pomocí nástroje wget zadáním následujícího příkazu.

wget --content-disposition https://get.typo3.org/current/zip 

Po dokončení stahování archivu zip rozbalte komprimovaný archiv zip Typo3 do svého aktuálního pracovního adresáře a vypište extrahované soubory pomocí následujících příkazů.

unzip typo3_src-8.7.8.zip
ls -al typo3_src-8.7.8

Odstraňte také výchozí soubor index.html nainstalovaný webovým serverem Apache na cestu webroot a také odstraňte dříve vytvořený soubor info.php.

rm /var/www/html/index.html
rm /var/www/html/info.php

Instalační soubory pro Typo3 jsou umístěny ve vašem aktuálním pracovním adresáři v  typo3_src-8.7.8 adresář. Zkopírujte veškerý obsah extrahovaného adresáře Typo3 do kořenové cesty dokumentu vašeho webového serveru zadáním následujícího příkazu.

cp -rf typo3_src-8.7.8/* /var/www/html/

Dále vytvořte soubor FIRST_INSTALL v cestě webroot vaší domény a spusťte následující příkazy, abyste udělili uživateli Apache runtime plná oprávnění k zápisu do kořenové cesty dokumentu webového serveru. Použijte ls příkaz k zobrazení seznamu oprávnění pro nainstalované soubory aplikace umístěné v adresáři /var/www/html/.

touch /var/www/html/FIRST_INSTALL
chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Dále pokračujte v procesu instalace Typo3 CMS otevřením prohlížeče a procházením IP adresy nebo názvu domény nebo FQDN serveru přes protokol HTTPS. Na první instalační obrazovce zkontroluje instalátor Typo3 vaše systémové prostředí, aby zjistil, zda jsou splněny všechny požadavky pro instalaci aplikace, jak je znázorněno na obrázku níže. Pokud jsou splněny všechny požadavky, klikněte na Systém vypadá dobře. Pokračujte! pro zahájení procesu instalace.

https://vasedomena.tld

Na další instalační obrazovce vyberte ručně nakonfigurované připojení MySQL TCP/IP a přidejte adresu databáze MySQL, jméno a přihlašovací údaje vytvořené dříve pro databázi Typo3 CMS. Použijte adresu 127.0.0.1 pro hostitele MySQL a ponechte číslo portu na výchozí (3306), jak je znázorněno na obrázku níže. Po dokončení klepněte na tlačítko Pokračovat a přejděte k dalšímu kroku instalace.

V dalším kroku zvolte 'Použít existující prázdnou databázi' vyberte název databáze vytvořený dříve pro Typo3 a stiskněte tlačítko Pokračovat, abyste mohli pokračovat v procesu instalace.

Po importu schématu databáze vytvořte administrátora pro Typo3 CMS a napište silné heslo pro administrátorský účet. Přidejte také název webové stránky Typo3, jak je znázorněno na obrázku níže, a kliknutím na tlačítko Pokračovat dokončete proces instalace.

Po dokončení instalace se vás instalační program zeptá, zda chcete předem nakonfigurovaný web. Zvolte Ano, stáhnout seznam distribucí a klikněte na Otevřít backend TYPO3 tlačítko pro přesměrování na panel panelu webové stránky.

Můžete také navštívit webový panel správce Typo3 tak, že přejdete na adresu IP vašeho serveru nebo název domény pomocí protokolu HTTPS na adrese /typo3/index.php URL. Přihlaste se k řídicímu panelu Typo3 pomocí přihlašovacích údajů účtu správce nakonfigurovaných během procesu instalace, jak je znázorněno na obrázku níže.

https://yourdomain.tld/typo3/index.php

Po přihlášení do administračního panelu Typo3 vyberte a nainstalujte předkonfigurovaný distribuční balíček ze zobrazeného seznamu. V této příručce nainstalujeme a použijeme oficiální úvodní balíček distribuce nabízená Typo3 za účelem snadného vytváření struktury stránky a prvků obsahu.

A konečně, chcete-li návštěvníky přinutit k procházení frontendového webu Typo3 a k bezpečnému přístupu k backendovému rozhraní prostřednictvím protokolu HTTPS, který šifruje provoz mezi serverem a klientskými prohlížeči, vraťte se na terminál vašeho serveru a upravte soubor .htaccess umístěný v cestě vašeho webu.

Nejprve vytvořte soubor .htaccess na základě vzorového souboru poskytnutého Typo3 provedením níže uvedeného příkazu.

cp /var/www/html/_.htaccess /var/www/html/.htaccess

Poté otevřete a upravte soubor .htaccess a v dolní části souboru upravte nativní nastavení PHP pomocí níže uvedených konfigurací. Nastavení PHP můžete změnit tak, aby odpovídalo vašim vlastním zdrojům serveru.

nano /var/www/html/.htaccess

 .htaccess úryvek ze souboru:

# Modify PHP settings
php_flag register_globals off
php_flag magic_quotes_gpc Off
php_value upload_max_filesize 500M
php_value post_max_size 500M

Nakonec vložte následující pravidla na konec souboru, abyste přesměrovali provoz domény na HTTPS.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Vytvořte také nový soubor .htaccess v typo3 adresář umístěný v cestě webroot domény, aby bylo možné automaticky přesměrovat relace administračního panelu na HTTPS.

nano /var/www/html/typo3/.htaccess

.htaccess úryvek ze souboru:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Nakonec navštivte výchozí frontendovou stránku webu Typo3 tak, že přejdete na IP adresu vašeho serveru nebo název domény pomocí protokolu HTTPS, jak je znázorněno na následujícím snímku obrazovky.

https://www.yourdomain.tld

To je vše! Úspěšně jste nainstalovali a nakonfigurovali webovou platformu Typo3 CMS v Debianu 9. Protože však server Apache HTTP používá nedůvěryhodný certifikát Self-Signed k šifrování provozu mezi serverem a prohlížeči návštěvníků, vždy se v jejich prohlížečích vygeneruje a zobrazí varovná zpráva . Toto varování je špatné pro klienty, kteří navštíví frontendovou stránku vašeho webu. V takovém případě byste si měli zakoupit certifikát vydaný důvěryhodnou certifikační autoritou nebo získat pár certifikátů zdarma od Let’s Encrypt CA.

Pro další vlastní konfigurace týkající se webové aplikace Typo3 CMS navštivte stránku dokumentace na následující adrese:https://docs.typo3.org/


Debian
  1. Jak nainstalovat Nextcloud 14 na Debian 9

  2. Jak nainstalovat ClickHouse na Debian 9

  3. Jak nainstalovat Roadiz CMS na Debian 9

  1. Jak nainstalovat Redis Server na Debian 11

  2. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  3. Jak nainstalovat TYPO3 na Debian 9

  1. Jak nainstalovat ProFTPD na Debian 8

  2. Jak nainstalovat MySQL Server na Debian 9

  3. Jak nainstalovat Odoo 12 na Debian 9