het October CMS platform installeren op Debian 9
Oktober CMS is een gratis, open-source, zelf gehost CMS platform gebaseerd op hetLaravel PHP Framework.De broncodevan October CMSwordt gehost op Github.In deze handleiding lopen we je door het installatieproces van October CMS op een Debian 9 (stretch) besturingssysteemmetNGINXals webserver, MariaDB als databaseserver, en optioneel kun je de transportlaag beveiligen door acme.sh client en Let’s Encrypt certificaatautoriteit te gebruiken om SSL ondersteuning toe te voegen.
Vereisten
Voor je verder gaat, moet je controleren of je server aan de minimale systeemvereisten voldoet. Oktober CMS heeft de volgende serververeisten voor webhosting:
- PHP versie 7.0 of hoger
- PHP PDO uitbreiding
- cURL PHP Uitbreiding
- OpenSSL PHP Uitbreiding
- Mbstring PHP Bibliotheek
- Zip PHP Bibliotheek
- GD PHP Bibliotheek
- XML PHP Uitbreiding
- JSON PHP Uitbreiding
- Apache met
mod_rewrite
ofNGINX - Database server (MariaDB, MySQL, PostgreSQL)
Vereisten
- Een systeem waarop Debian 9 (stretch) draait.
- Een niet-root gebruiker met sudo privileges.
Eerste stappen
Controleer je Debian systeemversie:
lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)
Stel de tijdzone in:
dpkg-reconfigure tzdata
Werk je besturingssysteem pakketten (software) bij. Dit is een belangrijke eerste stap omdat je er zeker van bent dat je de laatste updates en beveiligingsfixes voor de standaard softwarepakketten van je besturingssysteem hebt:
apt update && apt upgrade -y
Installeer enkele essentiële pakketten die nodig zijn voor het basisbeheer van het Debian besturingssysteem:
apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https
Stap 1 – Installeer PHP en de nodige PHP uitbreidingen
Het Oktober CMS platform vereist PHP versie 7.0 of hoger. Standaard heeft Debian 9 PHP versie 7.0 in zijn standaard software repositories, wat prima is voor Oktober CMS.
Installeer PHP, en ook de nodige PHP uitbreidingen:
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0-gd php7.0-xml php7.0-mbstring
Om PHP gecompileerd in modules te tonen, kun je uitvoeren:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Controleer de PHP versie:
php --version
# PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
De PHP-FPM dienst wordt op een Debian 9 systeem automatisch gestart en ingeschakeld bij het herstarten, dus het is niet nodig hem handmatig te starten en in te schakelen.We kunnen overgaan tot de volgende stap, namelijk de installatie en instelling van de databank.
Stap 2 – Installeer MariaDB en maak een database voor October
Oktober ondersteunt MySQL/MariaDB, PostgreSQL, SQLite, en SQL databases.Het Debian team verving MySQL door MariaDB als de standaard database vanaf Debian 9 (stretch), dus indeze handleiding zullen we MariaDB gebruiken als de databaseserver. Als je de originele MySQL wilt installeren, kun je de officiële MySQL repository, die door Oracle wordt onderhouden, toevoegen en gebruiken.
Installeer MariaDB databaseserver uit de officiële MariaDB repo:
sudo apt install -y software-properties-common dirmngr apt-transport-https
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server
Controleer de MariaDB versie:
mysql --version
# mysql Ver 15.1 Distrib 10.2.21-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Voermysql_secure installation
script uit om MariaDB beter te beveiligen en stel het wachtwoord in voor MariaDBroot
gebruiker:
sudo mysql_secure_installation
Beantwoord elk van de vragen:
Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
New password: your_secure_password
Re-enter new password: your_secure_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
Log in MariaDB in als de root gebruiker:
sudo mysql -u root -p
# Enter password
Maak een MariaDB database en gebruiker die je voor je installatie van October zult gebruiken, en onthoud de credentials:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Sluit de MariaDB shell af:
quit
Stap 3 - Installeer Acme.sh client en verkrijg het Let's Encrypt certificaat (optioneel)
Je website met HTTPS beveiligen is niet noodzakelijk, maar het is een goed gebruik om je site verkeer te beveiligen. Om een SSL certificaat van Let's Encrypt te verkrijgen zullen we Acme.sh client gebruiken. Acme.sh is een pure UNIX shell software om SSL certificaten te verkrijgen van Let's Encrypt zonder afhankelijkheden.
Download en installeer Acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Controleer de versie van acme.sh:
acme.sh --version
# v2.8.0
VerkrijgRSAenECC/ECDSAcertificaten voor je domein/hostnaam:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Als je nep certificaten wilt om te testen kun je de--staging
vlag aan de bovenstaande commando's toevoegen.
Na het uitvoeren van de bovenstaande commando's staan jecertificaten ensleutels in:
- VoorRSA:
~/example.com
directory. - VoorECC/ECDSA:
~/example.com_ecc
directory.
Om je uitgegeven certs op te sommen kun je uitvoeren:
acme.sh --list
Maak een directory om je certs in op te slaan. We zullen/etc/letsencrypt
directory gebruiken.
mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installeer/kopieer certificaten naar/etc/letsencryptmap.
# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"
Alle certificaten worden om de 60 dagen automatisch vernieuwd.
Verlaat na het verkrijgen van de certs de root gebruiker en ga terug naar de gewone sudo gebruiker:
exit
Stap 4 - Installeer NGINX en configureer NGINX voor oktober
Installeer NGINX webserver:
sudo apt install -y nginx
Controleer de versie van NGINX:
sudo nginx -v
# nginx version: nginx/1.10.3
ConfigureerNGINX voor oktober door te draaien:
sudo vim /etc/nginx/sites-available/october.conf
En vul het bestand met de volgende configuratie:
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name example.com;
index index.php index.html;
root /var/www/october;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_read_timeout 120s;
}
location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }
}
Activeer de nieuweoctober.conf
configuratie door het bestand te koppelen aan de mapsites-enabled
.
sudo ln -s /etc/nginx/sites-available/october.conf /etc/nginx/sites-enabled
Controleerde NGINX configuratie op syntaxisfouten:
sudo nginx -t
Herlaadde NGINX dienst:
sudo systemctl reload nginx.service
Stap 5 - Download en installeer het October CMS platform
Maak een document root directory:
sudo mkdir -p /var/www/october
Verander het eigendom van de/var/www/october
directory in[your_user]:
sudo chown -R [your_user]:[your_user] /var/www/october
Navigeer naar de document root:
cd /var/www/october
Download het October CMS installatieprogramma:
wget https://octobercms.com/download -O october.zip
Pak het October CMS installatieprogramma uit:
unzip october.zip
rm october.zip
mv install-master/* .
Verander eigendom van de map/var/www/october
inwww-data:
sudo chown -R www-data:www-data /var/www/october
Navigeer in je webbrowser naar hetinstall.php
script, net alsexample.com/install.php
en volg de installatie-instructies.
Stap 6 - Voltooi de installatie van oktober
Controleer of je Systeemcontrole in orde is, en ga verder door op de knop"Agree & Continue"te drukken.
Configureer je database en admin gebruikersinstellingen.
Je kunt ook enkele geavanceerde instellingen configureren of je kunt de standaardwaarden laten staan.
En als alles ingesteld is druk je tenslotte op het blauwe"Continue" knopje.
Vervolgens wordt je gevraagd"Hoe wil je je site inrichten?". Je krijgt 3 opties:Begin vanaf nul,Begin vanaf een thema,Gebruik een project ID. Kies de optie die je voorkeur heeft.
Om toegang te krijgen tot het beheer van het October CMS platform, voeg je gewoon/backend
toe aan je URL/IP.
Na de installatie moet je om veiligheidsredenen de installatiebestanden, hetinstall.php
script en de mapinstall_files
verwijderen:
sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files