Textpattern CMS instellen op CentOS 8

Textpattern is een gratis en open-source PHP inhoud-beheersysteem. Het is tamelijk licht, snel en gemakkelijk te gebruiken, terwijl het een behoorlijke aanpasbaarheid biedt via thema’s en plugins. In deze gids installeren we Textpattern op een vers CentOS 8 systeem.

Vereisten

  • Een vers CentOS 8 systeem waarop je toegang hebt tot de root gebruiker of een andere gebruiker met sudo rechten.
  • Een geregistreerde domeinnaam die naar je server wijst.

Als je ingelogd bent als sudo gebruiker, schakel dan voor deze opstelling over naar root:

sudo su -

Stel de omgevingsvariabele $VISUAL in op een teksteditor van je voorkeur. Bijvoorbeeld om nano te gebruiken:

echo "export VISUAL=nano" >> ~/.bash_profile
. ~/.bash_profile

Stap 1: Vereiste software installeren

Update eerst je systeem:

dnf update -y

Installeer dan wget, tar, Apache, PHP, de vereiste PHP uitbreidingen, MariaDB en hulpprogramma’s voor het beheer van SELinux:

dnf install -y wget tar httpd mariadb-server php php-xml php-mysqli php-json php-mbstring php-zip php-zlib policycoreutils-python-utils

Zorg ervoor dat de Apache en MariaDB diensten ingeschakeld zijn en draaien:

systemctl enable --now httpd.service mariadb.service

Omdat de CentOS 8 repositories geen certbot bevatten, zullen we een script, certbot-auto, gebruiken om het te installeren. Download en installeer certbot-auto als volgt:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Gebruik dan het volgende commando om certbot te installeren:

certbot-auto --install-only

Voer ‘y’ in als dnf vraagt om afhankelijkheden te installeren.

Herstart de Apache dienst:

systemctl restart httpd.service

Stap 2: Installatie van Textpattern CMS

Kopieer de download link (in .tar.gz formaat) voor de nieuwste textpattern release van hun Releases op Github en download het als volgt naar je server met wget:

wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz

Pak dan het archief uit en verplaats de inhoud naar de web root directory:

tar -xzf textpattern*.tar.gz
rm -f textpattern*.tar.gz
mv textpattern* /var/www/html/textpattern

Om Textpattern goed te laten werken heeft het schrijftoegang tot bepaalde directories nodig. Om die toegang te verlenen geef je de Apache systeemgebruiker eigenaarschap van de hele directory:

chown -R apache:apache /var/www/html/textpattern

En gebruik de volgende commando’s om de mappenstructuur met de juiste SELinux contexten te labelen:

semanage fcontext -a -t httpd_sys_content_t "/var/www/html/textpattern(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/themes(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/images(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/files(/.*)?"
restorecon -Rv /var/www/html

Stap 3: Database opzetten

Begin met het draaien van het mysql_secure_installation script om basis beveiligingsverbeteringen uit te voeren:

mysql_secure_installation

Beantwoord de vragen zoals hieronder getoond en zorg ervoor dat je een veilig wachtwoord kiest voor de root gebruiker:

Enter current password for root (enter for none): 
Set root password? [Y/n] y
New password: your_password
Re-enter new password: your_password
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

Vervolgens maken we een database en gebruiker aan die door Textpattern gebruikt zullen worden. Log in op de MySQL shell met:

mysql -u root -p

Geef je root wachtwoord in en voer dan de volgende statements uit. Zorg ervoor dat je textpattern_user_password vervangt door een juist wachtwoord.

MariaDB [(none)]> CREATE DATABASE textpattern_db;
MariaDB [(none)]> CREATE USER textpattern_user IDENTIFIED BY 'textpattern_user_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON textpattern_db.* TO textpattern_user;
MariaDB [(none)]> \q

Stap 4: Apache configuratie

Schakel eerst HTTP en HTTPS verkeer door de firewall van de host in:

firewall-cmd --add-service http --add-service https --permanent
firewall-cmd --reload

Maak dan een nieuwe virtuele host voor je Textpattern site:

$VISUAL /etc/httpd/conf.d/textpattern.conf

En voer de volgende configuratie in, waarbij je your_domain door je domeinnaam vervangt.

<VirtualHost *:80>
DocumentRoot "/var/www/html/textpattern"
ServerName your_domain
<Directory "/">
AllowOverride All
</Directory>
</VirtualHost>

Sla op en sluit af, laad dan de nieuwe configuratie:

systemctl reload httpd.service

Om een SSL certificaat voor je domein te verkrijgen en Apache in te stellen om HTTPS te gebruiken, voer je het volgende commando uit:

certbot-auto --apache -d "your_domain" -m "[email protected]" --redirect

Dit commando volbrengt een aantal taken:

  • Verkrijg een certificaat voor je domein (opgeslagen onder /etc/letsencrypt/your_domain/).
  • Maak een Apache configuratiebestand met de naam textpattern-le-ssl.conf.
  • Bewerk textpattern.conf om alle HTTP verzoeken om te leiden naar HTTPS.

Stap 5: Textpattern CMS Configuratie

Je Textpattern installatie zou nu toegankelijk moeten zijn, maar is nog niet geconfigureerd. Blader naar https://your_domain/textpattern/setup/ om het web-installatieprogramma te starten. Na het kiezen van een taal voer je de gegevens van de databank in:

  • MySQL gebruikersnaam: textpattern_user
  • MySQL wachtwoord: Voer het wachtwoord in dat bij stap 2 voor textpattern_user gekozen is.
  • MySQL server: localhost
  • MySQL database: textpattern_db
  • Tabel prefix: laat dit veld leeg

Het installatieprogramma controleert de databankgegevens die je hebt ingevoerd voordat het de bijbehorende configuratie genereert. Maak het vereiste bestand:

$VISUAL /var/www/html/textpattern/textpattern/config.php

Plak de gegenereerde configuratie, sla het bestand op en sluit af. Ga verder naar de volgende stap in het web-installatieprogramma, waar je gevraagd wordt informatie in te voeren voor de CMS beheerdersaccount en de site configuratie. Als dat gedaan is, verwijder je de setup directory:

rm -rf /var/www/html/textpattern/textpattern/setup

Je Textpattern site is nu klaar voor gebruik.

Meer info