Tiki Wiki met Apache en Let’s encrypt SSL installeren op Debian 10

TikiWiki is een gratis en open bron inhoud-beheersysteem, geschreven in de PHP taal. Het is zeer krachtig, volwaardig en kan gebruikt worden voor het maken van websites, wiki’s, web-applicaties, kennis-databases, portalen, beeldgalerijen en nog veel meer. TikiWiki bestaat uit vier hoofdcomponenten hulpmiddelen voor het maken en beheren van inhoud, hulpmiddelen voor communicatie, en hulpmiddelen voor configuratie en beheer, en hulpmiddelen voor het organiseren van inhoud en navigatie. Deze stellen je in staat inhoud te maken en te beheren, en sites te configureren. TikiWiki wordt geleverd met een rijke verzameling functies, waaronder, Forums, Blog, Kaarten, Werkruimte, Diavoorstelling, Winkelwagentje, Bug en issue tracker, Meertalig, Bestands- en afbeeldingsgalerij, Evenementen en nog veel meer.

In deze handleiding leren we hoe je TikiWiki CMS op Debian 10 kunt installeren.

Vereisten

  • Een server waarop Debian 10 draait.
  • Een root wachtwoord is ingesteld op je server.

Aan de slag

Voor je begint moet je je systeem bijwerken met de nieuwste versie. Je kunt dit doen door het volgende commando uit te voeren:

apt-get update -y
apt-get upgrade -y

Als je server bijgewerkt is, herstart je je server om de veranderingen toe te passen.

Installeer een LAMP server

TikiWiki draait op een Apache / Nginx webserver, geschreven in de taal PHP en gebruikt MariaDB/MySQL om zijn gegevens op te slaan. Je zult dus Apache, MariaDB, PHP en andere vereiste uitbreidingen op je server moeten installeren. Installeer eerst Apache en MariaDB server met het volgende commando:

apt-get install apache2 mariadb-server unzip -y

Standaard wordt Debian 10 geleverd met PHP versie 7.3. Maar TikiWiki ondersteunt PHP 7.3 niet. Je zult dus PHP 7.2 en andere vereiste uitbreidingen moeten installeren.

Om de SURY repository toe te voegen, download je eerst en GPG sleutel met het volgende commando:

wget https://packages.sury.org/php/apt.gpg
apt-key add apt.gpg

Voeg vervolgens de SURY repository aan APT toe met het volgende commando:

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

Werk vervolgens de repository bij en installeer PHP7.2 samen met alle vereiste uitbreidingen met de volgende commando’s:

apt-get update -y
apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip -y

Open na de installatie van PHP7.2 het php.ini bestand en pas enkele instellingen aan:

nano /etc/php/7.2/apache2/php.ini

Voeg de volgende regels toe:

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

Sla het bestand op en sluit het als je klaar bent. Ga dan verder met de volgende stap.

Maak een databank voor TikiWiki

MariaDB is standaard niet beveiligd. Je zult het dus eerst moeten beveiligen. Je kunt het beveiligen met het volgende script:

mysql_secure_installation

Je moet alle vragen beantwoorden zoals hieronder aangegeven:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Zodra MariaDB beveiligd is, log je in op MariaDB shell:

mysql -u root -p

Geef je root wachtwoord als daarom wordt gevraagd en maak dan een database en gebruiker voor TikiWiki met het volgende commando:

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

Verleen vervolgens alle rechten aan de TikiWiki Database met het volgende commando:

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

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

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

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

TikiWiki downloaden

Eerst moet je de nieuwste versie van TikiWiki downloaden van de Sourceforge website. Je kunt het downloaden met het volgende commando:

cd /var/www/html/
wget https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip

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

unzip tikiwiki.zip

Hernoem vervolgens de uitgepakte map tot tikiwiki met het volgende commando:

mv tiki-20.0 tikiwiki

Geef vervolgens de juiste rechten aan de tikiwiki map met het volgende commando:

chown -R www-data:www-data /var/www/html/tikiwiki/
chmod -R 755 /var/www/html/tikiwiki/

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

Configureer Apache voor TikiWiki

Vervolgens moet je een Apache virtual host configuratiebestand maken voor TikiWiki. Je kunt het maken met het volgende commando:

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

Voeg de volgende inhoud toe:

<VirtualHost *:80>
     ServerAdmin [email protected]om
     DocumentRoot /var/www/html/tikiwiki
     ServerName example.com

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

     ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log
     CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined

</VirtualHost>

Sla het bestand op en sluit het. Schakel dan het virtuele host configuratiebestand in met het volgende commando:

a2ensite tikiwiki.conf

Schakel tenslotte de Apache herschrijfmodule in en herstart de Apache dienst om de configuratiewijzigingen opnieuw te laden met het volgende commando:

a2enmod rewrite
systemctl restart apache2

Open de TikiWiki Web Interface

Open nu je web browser en typ de URL http://example.com. Je wordt doorverwezen naar de TikiWiki welkomstpagina:

Tiki Installateur

Kies je taal en klik op de Ga verder knop. Je zou de volgende pagina moeten zien:

Licentie aanvaarden

Accepteer de Licentie-overeenkomst en klik op de Ga verder knop. Je zou de volgende pagina moeten zien:

Controleer systeemvereisten

Bevestig dat je systeem aan de minimum eisen voldoet en klik op de Ga door knop. Je zou de volgende pagina moeten zien:

Stel database verbinding in

Database naam en gebruiker

Geef je databasenaam, databank gebruikersnaam en wachtwoord op. Klik dan op het knopje Continue. Je zou de volgende pagina moeten zien:

Kies een database motor

Kies de database engine en klik op de Install knop om de installatie te starten. Als de installatie met succes voltooid is, zou je de volgende pagina moeten zien:

Tiki Installatie compleet

Klik nu op de Ga door knop, je zou de volgende pagina moeten zien:

Configureer algemene instellingen

Log instellingen

Geef alle vereiste informatie op zoals Wiki titel, Afzender email, Beveiligde login, Admin email en klik op de Ga door knop. Je zou de volgende pagina moeten zien:

Opmerkingen over de installatie

Lees alle informatie en klik op het knopje Doorgaan. Je zou de volgende pagina moeten zien:

Voer je Tiki in

Klik nu op de knop“Enter Tiki and Lock Installer“. Je zou de volgende pagina moeten zien:

Voer Tiki en Lock Installer in

Stel nu je admin wachtwoord in en klik op de Apply knop. Je zou de volgende pagina moeten zien:

Aan de slag met Tiki

Beveilig TikiWiki met Let’s Encrypt

In dit gedeelte leggen we uit hoe je je TikiWiki site kunt beveiligen met Let’s Encrypt gratis SSL.

Eerst moet je het Certbot gereedschap installeren om Let’s Encrypt gratis SSL voor je website te downloaden en te installeren. Standaard is de nieuwste versie van Certbot niet beschikbaar in de standaard repository van Debian 10. Je zult dus de Certbot repository aan je systeem moeten toevoegen.

Je kunt de Certbot repository toevoegen met het volgende commando:

apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot

Werk vervolgens de repository bij en installeer Certbot met het volgende commando:

apt-get update -y
apt-get install certbot python-certbot-apache -y

Eenmaal ge├»nstalleerd, maak je een well-known.conf bestand aan zodat Let’s Encrypt je domein kan valideren.

Maak eerst een .well-known directory aan en geef de juiste permissies:

mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt

Maak vervolgens een well-known.conf bestand aan met het volgende commando:

nano /etc/apache2/conf-available/well-known.conf

Voeg de volgende regels toe:

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Sla het bestand op en sluit het. Schakel dan de vereiste modules in met het volgende commando:

a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-known

Herstart vervolgens de Apache dienst om alle configuratiewijzigingen toe te passen:

systemctl restart apache2

Laten we nu beginnen het gratis SSL certificaat voor je domein example.com te installeren met het volgende commando:

certbot --apache -d example.com

Eerst moet je een geldig e-mail adres opgeven en akkoord gaan met de servicevoorwaarden zoals hieronder getoond:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
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
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf

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

Kies vervolgens optie 2 om het gratis SSL certificaat voor je domein te downloaden en te installeren. Als de installatie met succes voltooid is. Je zou de volgende uitvoer moeten krijgen:

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

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-10-22. 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"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

Dat is het. Open nu je web browser en bezoek je TikiWiki CMS met de URL https://example.com. Je zou nu moeten zien dat je TikiWiki site goed beveiligd is met een gratis SSL certificaat.