Textpattern CMS met Nginx op Debian 10 installeren
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 verse Debian 10 installatie.
Vereisten
- Een vers Debian 10 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" >> ~/.profile . ~/.profile
Stap 1: Vereiste software installeren.
Werk de pakket-cache op je systeem bij:
apt update
Installeer dan Nginx, PHP-FPM, de vereiste PHP uitbreidingen, MariaDB, en certbot:
apt install -y nginx mariadb-server php-fpm php-xml php-mysql php-json php-mbstring php-zip certbot
Zorg ervoor dat de diensten Nginx en MariaDB ingeschakeld zijn en draaien:
systemctl enable --now nginx.service mariadb.service
Stap 2: Tekstpatroon downloaden
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 een plaats binnen de webroot directory:
tar -xzf textpattern*.tar.gz rm textpattern*.tar.gz mv textpattern* /var/www/html/textpattern
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: Nginx configuratie
Haal eerst een SSL certificaat voor je domein door het volgende commando uit te voeren:
certbot certonly --webroot --webroot-path /var/www/html -d "your_domain" -m "[email protected]"
Ervan uitgaande dat je domein correct geconfigureerd is, zal certbot automatisch een certificaat verkrijgen dat we zullen gebruiken om HTTPS in te stellen.
Schakel vervolgens het standaard Nginx server configuratiebestand uit:
rm /etc/nginx/sites-enabled/default
Open dan een nieuw configuratiebestand onder /etc/nginx/sites-available:
$VISUAL /etc/nginx/sites-available/textpattern
En voer de volgende verstandige configuratie in, waarbij je je_domein vervangt door je domeinnaam:
server { listen 80; #replace your_domain below server_name your_domain; return 301 https://$server_name$request_uri; } server { listen 443 ssl; #replace your_domain below server_name your_domain; root /var/www/html/textpattern; index index.php; ssl on; #replace your_domain below ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem; location ~* \.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
Merk op dat deze configuratie alle HTTP verzoeken omleidt naar HTTPS. Misschien wil je hem aanpassen als je specifieke voorkeuren of eisen hebt. Als je er tevreden mee bent, maak je een symbolische link in de directory sites-enabled:
ln -s /etc/nginx/sites-available/textpattern /etc/nginx/sites-enabled/
Controleer dan op eventuele syntaxfouten met:
nginx -t
Geef tenslotte het volgende commando om de nieuwe configuratie te laden:
systemctl reload nginx.service
Stap 5: Textpattern 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: leeg laten
Het installatieprogramma controleert de ingevoerde databankgegevens 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
En geef de Nginx systeemgebruiker eigenaarschap van de mappen waartoe Textpattern schrijftoegang nodig heeft:
chown -R www-data /var/www/html/textpattern/{files,images,themes}
Je Textpattern site is nu klaar voor gebruik. De beheerinterface is te bereiken op https://your_domain/textpattern.