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 metmod_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 installationscript uit om MariaDB beter te beveiligen en stel het wachtwoord in voor MariaDBrootgebruiker:

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--stagingvlag aan de bovenstaande commando's toevoegen.

Na het uitvoeren van de bovenstaande commando's staan jecertificaten ensleutels in:

  • VoorRSA:~/example.comdirectory.
  • VoorECC/ECDSA:~/example.com_eccdirectory.

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.confconfiguratie 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/octoberdirectory 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/octoberinwww-data:

sudo chown -R www-data:www-data /var/www/october

Navigeer in je webbrowser naar hetinstall.phpscript, net alsexample.com/install.phpen 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.

Oktober CMS opzet

Configureer je database en admin gebruikersinstellingen.

Database instellingen

Instellen van Administrator gebruikers

Je kunt ook enkele geavanceerde instellingen configureren of je kunt de standaardwaarden laten staan.

Geavanceerde instellingen

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.

Aan de slag met Oktober CMS

Om toegang te krijgen tot het beheer van het October CMS platform, voeg je gewoon/backendtoe aan je URL/IP.

Na de installatie moet je om veiligheidsredenen de installatiebestanden, hetinstall.phpscript en de mapinstall_filesverwijderen:

sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files

Links