Croogo CMS installeren op Ubuntu 18.04 LTS

Croogois een gratis, open bronContent Management Systeem (CMS) geschreven in PHP.Het wordt aangedreven doorhet CakePHPMVC raamwerk.De broncode van Croogo CMS wordt gehost op Github. In deze handleiding lopen we met je door het installatieproces van Croogo CMS op een verse Ubuntu 18.04 LTS server.

Vereisten

  • PHP 5.6 of hoger
  • MySQL 5.7 of hoger
  • Apache metmod_rewrite of Nginx

Vereisten

  • Een server met Ubuntu 18.04
  • Een niet-root gebruiker met sudo privileges.

Eerste stappen

Controleer de Ubuntu versie:

lsb_release -ds
# Ubuntu 18.04 LTS

Stel de tijdzone in:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Werk de pakketten van je besturingssysteem bij:

sudo apt update && sudo apt upgrade -y

Installeer vim, git en socat pakketten:

sudo apt install -y vim git socat

Stap 1 – Installeer PHP

Installeer PHP en de vereiste PHP uitbreidingen:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-xml php7.2-intl php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-xmlrpc php7.2-zip php7.2-gd

Controleer de PHP versie:

php --version
# PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )

Voer uit

sudo vim /etc/php/7.2/fpm/php.ini

en stel de volgende directieven in:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Region/City

Start na de verandering de PHP-FPM dienst opnieuw op:

sudo systemctl restart php7.2-fpm.service

Stap 2 – Installeer MySQL en maak een databank voor Croogo

Croogo ondersteunt MySQL/MariaDB, PostgreSQL en SQLite3 databases. In deze handleiding zullen we MySQL als databaseserver gebruiken.

Installeer MySQL databaseserver:

sudo apt install -y mysql-server

Controleer de MySQL versie:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper

Voermysql_secure installationscript om MySQL beter te beveiligen en stel het wachtwoord in voor MySQLrootgebruiker:

sudo mysql_secure_installation

Beantwoord elk van de vragen:

Would you like to setup VALIDATE PASSWORD plugin? N
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

Maak verbinding met MySQL shell als de root gebruiker:

sudo mysql -u root -p
# Enter password

Maak een lege MySQL database metutf8mb4 charset enutf8m4_unicode_cicollatieen gebruiker voor Croogo en onthoud de credentials:

mysql> CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Sluit MySQL af:

mysql> exit

Vervang dbname, gebruikersnaam en wachtwoord door je eigen namen.

Stap 3 – Installeer Acme.sh client en verkrijg Let’s Encrypt certificaat (optioneel)

Je website met HTTPS beveiligen is niet noodzakelijk, maar het is een goed gebruik om het verkeer op je site te beveiligen. Om een SSL certificaat van Let’s Encrypt te verkrijgen gebruiken we het Acme.sh programma. Acme.sh is een zuivere unix shell software om SSL certificaten te verkrijgen van Let’s Encrypt zonder afhankelijkheden.

Download en installeer Acme.sh:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Controleer de versie van Acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

VerkrijgRSAenECC/ECDSAcertificaten voor je domein/hostnaam:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256

Na het uitvoeren van de bovenstaande commando’s zijn jecertificatenensleutelszich in:

  • VoorRSA:/etc/letsencrypt/example.commap.
  • VoorECC/ECDSA:/etc/letsencrypt/example.com_eccmap.

Stap 4 – Installeer en configureer Nginx

Croogo kan prima werken met veel webservers. In deze handleiding kiezen we Nginx.

Installeer Nginx:

sudo apt install -y nginx

Controleer de Nginx versie:

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

Configureer Nginx voor Croogo door te draaien:

sudo vim /etc/nginx/sites-available/croogo.conf

En vul het bestand met de volgende configuratie:

server {

  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;

  server_name example.com;

  root /var/www/croogo/webroot;

  index index.php;

  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

  location / {
    try_files $uri /index.php$is_args$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
    fastcgi_keep_conn on;
  }

}

Activeer de nieuwe croogo.confconfiguratie door het bestand te koppelen aan desites-enableddirectory:

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

Test de NGINX configuratie:

sudo nginx -t

Herlaad Nginx:

sudo systemctl reload nginx.service

Stap 5 – 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') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { 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 versie van Composer:

composer --version
# Composer version 1.7.2 2018-08-16 16:57:12

Stap 6 – Installeer Croogo

Maak een document root directory waar Croogo in moet komen te staan:

sudo mkdir -p /var/www/croogo

Navigeer naar de document root directory:

cd /var/www/croogo

Verander het eigendom van de/var/www/croogomap injohndoe.

sudo chown -R johndoe:johndoe /var/www/croogo

Installeer hetunzip pakket:

sudo apt install -y unzip

Download de nieuwste versie van Croogo CMS door gebruik te maken van Composer:

composer create-project croogo/app .
composer install

Bewerk de databankinstellingen inconfig/app.phpbestand door te draaien:

vim config/app.php

Bewerk de volgende instellingen volgens de door jou gekozen namen:

'username' => 'your_db_username',
'password' => 'your_db_password',
'database' => 'your_db_name',
'encoding' => 'utf8mb4'

Wijzig de bovenstaande instellingen in zowel,defaultentestsecties.

Verander het eigendom van de/var/www/croogomap inwww-data:

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

Open je site in een web browser en volg de instructies op het scherm om de Croogo installatie te voltooien.

Stap 7 – Voltooi de Croogo installatie

Open je site in een web browser. Als aan alle eisen is voldaan start je de installatie door op de knop “Start installatie” te drukken:

Begin de installatie

Voer je database instellingen in:

Database instellingen

Maak een admin gebruikersaccount aan:

Maak een admin account aan

Voltooi de installatie:

Croogo installatie geslaagd

Om toegang te krijgen tot Croogo admin voeg je/adminaan je site URL/IP adres.