Pico CMS te installeren op Ubuntu 18.04 LTS

Pico is een open bron eenvoudig en snel flat file CMS geschreven in PHP. Dit betekent dat er geen administratie backend en databank is om mee om te gaan. Je maakt eenvoudig .md bestanden aan in de inhoudsmap en dat wordt een pagina.Pico gebruikt deTwigtemplating engine, voor krachtige en flexibele thema’s.De Pico broncode is beschikbaar op Github. In deze zelfstudie installeren we Pico CMS met Nginx op een Ubuntu 18.04 LTS systeem.

Vereisten

Vereisten om Pico te draaien zijn:

  • Nginx
  • PHP versie 5.3.6 of hoger
  • Composer

Vereisten

  • Een Ubuntu 18.04 LTS besturingssysteem.
  • Een niet-root gebruiker metsudo privileges.

Eerste stappen

Controleer je Ubuntu versie:

lsb_release -ds
# Ubuntu 18.04.2 LTS

Stel de tijdzone in:

sudo 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 hebt voor de standaard softwarepakketten van je besturingssysteem:

sudo apt update && sudo apt upgrade -y

Installeer enkele essentiƫle pakketten die nodig zijn voor het basisbeheer van het Ubuntu besturingssysteem:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Stap 1 – Installeer PHP

Installeer PHP, en ook de nodige PHP uitbreidingen:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-zip php7.2-xml php7.2-mbstring

Om PHP gecompileerd in modules te laten zien, kun je:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controleer de PHP versie:

php --version

# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

De PHP-FPM dienst wordt automatisch gestart en ingeschakeld bij het opnieuw opstarten op Ubuntu 18.04 systeem, dus het is niet nodig hem handmatig te starten en in te schakelen. We kunnen verder gaan met de volgende stap, namelijk de installatie en instelling van de databank.

Stap 2 – Installeeracme.shclient en verkrijg het Let’s Encrypt certificaat(optioneel)

Je forum beveiligen met HTTPS is niet noodzakelijk, maar het is wel een goed gebruik om je site verkeer te beveiligen. Om een TLS certificaat van Let’s Encrypt te krijgen gebruiken we het acme.sh programma. Acme.sh is een pure UNIX shell software om TLS 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

VerkrijgRSA enECC/ECDSAcertificaten voor je domein/hostname:

# 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:/home/username/example.commap.
  • VoorECC/ECDSA:/home/username/example.com_eccmap.

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/letsecnrypt/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 3 - Installeer en configureer NGINX

Installeer NGINX:

sudo apt install -y nginx

Controleer de versie van NGINX:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Configureer vervolgensNGINXvoor Pico CMS. Voersudo vim /etc/nginx/sites-available/pico.confuit en voeg de volgende configuratie toe.

server {
  
  listen 80;
  listen 443 ssl;
  server_name example.com;
  root /var/www/pico;
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;
index index.php; location ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) { deny all; } location / { index index.php; try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PICO_URL_REWRITING 1; } }

Activeer de nieuwepico.confconfiguratie door het bestand te koppelen aan demapsites-enabled:

sudo ln -s /etc/nginx/sites-available/pico.conf /etc/nginx/sites-enabled

ControleerNGINXconfiguratie op syntaxisfouten:

sudo nginx -t

HerlaadNGINXdienst:

sudo systemctl reload nginx.service

Stap 4 - Installeer Composer

Installeer Composer, de PHP dependency manager globaal:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Controleer de Composer versie:

composer --version
# Composer version 1.8.5 2019-04-09 17:46:47

OPMERKING:Composer installatiecommando's zullen in de toekomst veranderen, dus kijk op https://getcomposer.org/download/voor de meest actuele commando's als de bovenstaande commando's niet werken.

Stap 5 - Installeer Pico CMS

Maak een document root directory voor Pico CMS:

sudo mkdir -p /var/www/pico

Verander het eigendom van de/var/www/picomap in[jour_username]:

sudo chown -R [your_username]:[your_username] /var/www/pico

Navigeer naar de document root directory:

cd /var/www/pico

Download Pico met componist:

composer create-project picocms/pico-composer .

Verander eigendom van de/var/www/picomap inwww-data:

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

Je hebt met succes Pico CMS geĆÆnstalleerd op de Ubuntu 18.04 server. Je kunt nu eenvoudig je eigen inhoudsmap maken in de hoofdmap van Pico, maak .md bestanden in de inhoudsmap en die bestanden worden je pagina's.

Links