TYPO3 CMS met Let’s Encrypt SSL installeren op Ubuntu 20.04

TYPO3 is een gratis en open-source inhoud-beheersysteem geschreven in PHP. Het is een enterprise-class CMS dat open bron code combineert met betrouwbaarheid en echte schaalbaarheid. Het draait op een webserver en ondersteunt een heleboel besturingssystemen, waaronder, Windows, Linux, macOS, enz. Het is een eenvoudig, responsive, mobile ready en veilig CMS en kan gemakkelijk aangepast en uitgebreid worden zonder enige code te schrijven. Het is een zeer populaire en goede keuze om je website snel op te zetten.

In deze handleiding laten we je zien hoe je TYPO3 CMS met Apache webserver en Let’s Encrypt SSL installeert op Ubuntu 20.04.

Vereisten

  • Een server met Ubuntu 20.04.
  • Een geldige domeinnaam gericht met je server IP.
  • Een root wachtwoord is op de server geconfigureerd.

Aan de slag

Eerst is het aan te bevelen je systeempakketten bij te werken met de nieuwste versie. Je kunt alle pakketten bijwerken door het volgende commando uit te voeren:

apt-get update -y

Als alle pakketten up-to-date zijn, kun je verder gaan met de volgende stap.

Installeer LAMP Server

Vervolgens moet je Apache webserver, MariaDB, PHP en andere PHP uitbreidingen in je server installeren. Je kunt ze allemaal installeren met het volgende commando:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-gmp php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-xml php-cli php-zip curl git gnupg2 -y

Nadat je alle pakketten geïnstalleerd hebt, bewerk je het php.ini bestand en verander je enkele aanbevolen instellingen:

nano /etc/php/7.4/apache2/php.ini

Verander de volgende regels:

memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 360
max_input_vars = 1500
date.timezone = Asia/Kolkata

Bewaar en sluit het bestand en herstart dan de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

Maak een Database voor TYPO3

Vervolgens moet je een databank en gebruiker voor TYPO3 aanmaken. Meld je eerst aan in de MariaDB shell met het volgende commando:

mysql

Eenmaal ingelogd, maak je een databank en een gebruiker aan met het volgende commando:

MariaDB [(none)]> CREATE DATABASE typo3db;
MariaDB [(none)]> CREATE USER ''@'localhost' IDENTIFIED BY 'password';

Verleen vervolgens alle privileges aan de typo3db met het volgende commando:

MariaDB [(none)]> GRANT ALL ON typo3db.* TO 'typo3'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Spoel vervolgens de privileges door en verlaat de MariaDB met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Op dit punt is je MariaDB databank geconfigureerd.

Installeer TYPO3 CMS

Eerst moet je de nieuwste versie van TYPO3 downloaden van hun officiële website. Je kunt het curl commando gebruiken om het te downloaden:

curl -L -o typo3_src.tgz https://get.typo3.org/10.4.9

Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

tar -xvzf typo3_src.tgz

Verplaats vervolgens de uitgepakte directory naar de Apache web root directory:

mv typo3_src-10.4.9 /var/www/html/typo3

Geef vervolgens de juiste toestemming en toelating met het volgende commando:

chown -R www-data:www-data /var/www/html/typo3
chmod -R 775 /var/www/html/typo3

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor TYPO3

Maak vervolgens een Apache virtual host configuratiebestand om TYPO3 CMS te hosten. Je kunt het maken met het volgende commando:

nano /etc/apache2/sites-available/typo3.conf

Voeg de volgende regels toe:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/typo3
     ServerName typo3.example.com
     <Directory /var/www/html/typo3>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Sla het bestand op en sluit het af, schakel dan het virtuele host configuratiebestand en de herschrijfmodule in met het volgende commando:

a2ensite typo3.conf
a2enmod rewrite

Herstart vervolgens de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

Op dit punt is Apache webserver geconfigureerd om TYPO3 te serveren. Je kunt nu verder gaan met de volgende stap.

Toegang tot TYPO3 CMS

Open nu je webbrowser en benader TYPO3 met de URL http://typo3.example.com. Je zou de volgende pagina moeten zien:

Typo3 installatie

Als je TYPO3 in een verse server installeert, dan moet je een FIRST_INSTALL bestand maken binnen de TYPO3 web root directory. Je kunt het aanmaken met het volgende commando:

touch /var/www/html/typo3/FIRST_INSTALL

Vernieuw vervolgens de webpagina. Je zou de volgende pagina moeten zien:

Milieu overzicht

Klik op de knop No problems detected, continue with installation, je zou de volgende pagina moeten zien:

Configureer de databank

Geef je database gebruikersnaam, wachtwoord, host op en klik op de knop Doorgaan. Je zou de volgende pagina moeten zien:

Gebruik bestaande databank

Kies de naam van je TYPO3 database en klik op het Ga verder knopje. Je zou de volgende pagina moeten zien:

Maak een admin gebruiker aan

Geef vervolgens je admin gebruikersnaam, wachtwoord, sitenaam op en klik op het Ga door knopje. Je wordt doorverwezen naar de TYPO3 login pagina:

Typo3 login

Geef je admin gebruikersnaam, wachtwoord en klik op de Login knop. Je zou het TYPO3 dashboard op de volgende pagina moeten zien:

Typo3 admin dashboard

Beveilig TYPO3 met Let’s Encrypt

Het is aan te bevelen je website te beveiligen met Let’s Encrypt Free SSL. Installeer eerst het Certbot programma om de SSL te installeren en te beheren. Je kunt het installeren met het volgende commando:

apt-get install python3-certbot-apache -y

Eenmaal geïnstalleerd, voer je het volgende commando uit om je website met Let’s Encrypt SSL te beveiligen:

certbot --apache -d typo3.example.com

Je wordt gevraagd je emailadres op te geven en de servicevoorwaarden te accepteren, zoals hieronder:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for typo3.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/typo3-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/typo3-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/typo3-le-ssl.conf

Kies vervolgens of je HTTP verkeer al dan niet wilt omleiden naar HTTPS zoals hieronder:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Typ 2 en druk op Enter om de Let’s Encrypt SSL voor je website te installeren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/typo3.conf to ssl vhost in /etc/apache2/sites-available/typo3-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://typo3.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=typo3.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/typo3.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/typo3.example.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Nu kun je het TYPO3 CMS veilig benaderen met de URL https://typo3.example.com.

Conclusie

Gefeliciteerd! Je hebt met succes TYPO3 CMS geïnstalleerd en het beveiligd met Let’s Encrypt SSL op Ubuntu 20.04. Je kunt nu je website en blog gemakkelijk via de web browser maken. Voel je vrij me te vragen als je vragen hebt.