Si të instaloni Craft CMS në Ubuntu 18.04 LTS


Craft është një CMS me burim të hapur i shkruar në PHP. Craft ju lejon të krijoni dhe menaxhoni me lehtësi përmbajtje me pamje të mrekullueshme, dhe të dizajnoni dhe ndërtoni pikërisht atë që ju nevojitet. CMS-ja e tij e sigurt dhe e shkallëzueshme me ekosistemin e madh të shtojcave dhe kodin burimor Craft është pritur në GitHub. Ky tutorial do t'ju përcjellë procedurën e instalimit të Craft CMS në një server të ri Ubuntu 18.04 LTS duke përdorur Nginx si server në internet dhe ne do ta sigurojmë faqen e internetit me një certifikatë Lets encrypt SSL.

Kërkesat

Artizanati kërkon sa më poshtë:

  • Versioni PHP 7.0 ose më i ri me shtesat e mëposhtme PHP: (ctype, cURL, GD ose ImageMagick, iconv, JSON, Multibyte String, OpenSSL, PCRE, PDO MySQL Driver ose PDO PostgreSQL Driver, PDO, Reflection, SPL, Zip, Intl, DOM)
  • MySQL 5.5+ me InnoDB, MariaDB 5.5+ ose PostgreSQL 9.5+
  • Të paktën 256 MB memorie i është ndarë PHP
  • Të paktën 200 MB hapësirë të lirë në disk

Parakushtet

  • Një sistem operativ që ekzekuton Ubuntu 18.04
  • Një përdorues jo-root me privilegje sudo.

Hapat fillestarë

Kontrolloni versionin tuaj të Ubuntu:

lsb_release -ds
# Ubuntu 18.04.1 LTS

Vendosni zonën kohore:

sudo dpkg-reconfigure tzdata

Përditësoni paketat e sistemit tuaj operativ (software). Ky është një hap i parë i rëndësishëm sepse siguron që të keni përditësimet më të fundit dhe rregullimet e sigurisë për paketat e paracaktuara të softuerit të sistemeve tuaja operative:

sudo apt update && sudo apt upgrade -y

Instaloni disa paketa thelbësore që janë të nevojshme për administrimin bazë të sistemit operativ Ubuntu:

sudo apt install -y curl wget vim git unzip socat

Hapi 1 - Instaloni PHP dhe shtesat e kërkuara PHP

Instaloni PHP, si dhe shtesat e nevojshme PHP:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php-imagick php7.2-json php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-zip php7.2-intl php7.2-xml

Kontrolloni versionin e PHP:

php --version

# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( 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

Ekzekutoni sudo vim /etc/php/7.2/fpm/php.ini dhe vendosni memory_limit në të paktën 256 MB:

memory_limit = 256M

Shërbimi PHP-FPM niset automatikisht dhe aktivizohet gjatë rindezjes në sistemin Ubuntu 18.04, kështu që nuk ka nevojë ta nisni dhe aktivizoni manualisht. Mund të kalojmë në hapin tjetër, që është instalimi dhe konfigurimi i bazës së të dhënave.

Hapi 2- Instaloni MySQL/MariaDB dhe krijoni një bazë të dhënash

Craft CMS mbështet bazat e të dhënave MySQL/MariaDB dhe PostgreSQL. Në këtë tutorial, ne do të përdorim MySQL si server të bazës së të dhënave.

Instalo serverin e bazës së të dhënave MySQL:

sudo apt install -y mysql-server

Kontrollo versionin e MySQL:

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

Ekzekutoni skriptin mysql_secure për të përmirësuar sigurinë MySQL dhe vendosni fjalëkalimin për përdoruesin e MySQL root :

sudo mysql_secure_installation

Përgjigjuni secilës prej pyetjeve:

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

Lidhu me MySQL shell si përdorues rrënjë:

sudo mysql -u root -p
# Enter password

Krijoni një bazë të dhënash të zbrazët të MySQL dhe përdorues për Craft CMS dhe mbani mend kredencialet:

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Dil nga MySQL:

mysql> exit

Zëvendësoni dbname, username dhe password me emrat tuaj.

Hapi 3 - Instaloni klientin acme.sh dhe merrni certifikatën Lets Encrypt (opsionale)

Sigurimi i faqes suaj të internetit me HTTPS nuk është i nevojshëm, por është një praktikë e mirë për të siguruar trafikun e faqes tuaj. Për të marrë çertifikatën TLS nga Lets Encrypt, ne do të përdorim klientin Acme.sh. Acme.sh është një softuer i pastër i guaskës unix për marrjen e certifikatave TLS nga Lets Encrypt me zero varësi.

Shkarkoni dhe instaloni 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 
cd ~

Kontrolloni versionin Acme.sh:

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

Merrni certifikatat RSA dhe ECC/ECDSA për domenin/emrin tuaj të hostit:<br>

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

Pas ekzekutimit të komandave të mësipërme, certifikatat dhe çelësat do të jenë në:

  • Për RSA/etc/letsencrypt/example.com.
  • Për drejtorinë ECC/ECDSA/etc/letsencrypt/example.com_ecc.

Hapi 4 - Instaloni dhe konfiguroni Nginx

Craft CMS mund të funksionojë mirë me shumë programe të njohura të serverëve të uebit. Në këtë tutorial, ne zgjodhëm Nginx.

Shkarkoni dhe instaloni versionin më të fundit kryesor të Nginx nga depoja zyrtare e Nginx.

Filloni duke shkarkuar çelësin PGP të depove Nginx:

wget https://nginx.org/keys/nginx_signing.key

Shto çelësin te tastiera e programit apt:

sudo apt-key add nginx_signing.key

Shtoni dhe konfiguroni depo Nginx APT kryesore:

sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit

Përditësoni listën e depove:

sudo apt update

Instaloni paketat më të fundit kryesore Nginx:

sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

Filloni dhe aktivizoni shërbimin Nginx:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Kontrolloni versionin Nginx:

sudo nginx -v
# nginx version: nginx/1.15.8

Konfiguro Nginx për Craft CMS duke ekzekutuar:

sudo vim /etc/nginx/conf.d/craft.conf

Dhe plotësoni skedarin me konfigurimin e mëposhtëm:

server {

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

  server_name example.com www.example.com;

  root /var/www/craft/web;

  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.html $uri $uri/ /index.php?$query_string;
  }

  location ~ [^/]\.php(/|$) {
    try_files $uri $uri/ /index.php?$query_string;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTP_PROXY "";
  }

}

SHËNIM: Për konfigurimin e plotë dhe të gatshëm të Nginx për Craft, vizitoni https://github.com/nystudio107/nginx-craft. Konfigurimi është thjeshtuar qëllimisht për ta mbajtur konfigurimin të dendur dhe të thjeshtë.

Hapni skedarin nginx.conf dhe vendosni userwww-data.

sudo vim /etc/nginx/nginx.conf
user www-data www-data;

Testoni konfigurimin Nginx:

sudo nginx -t

Rifresko Nginx:

sudo systemctl reload nginx.service

Hapi 5 - Instaloni Composer

Instaloni Composer, menaxherin e varësisë PHP globalisht:

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

php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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

Kontrolloni versionin e Kompozitorit:

composer --version
# Composer version 1.8.0 2018-12-03 10:31:16

SHËNIM: Komandat e instalimit të kompozitorit do të ndryshojnë në të ardhmen, prandaj kontrolloni https://getcomposer.org/download/ për komandat më të përditësuara nëse komandat e mësipërme nuk funksionojnë.

Hapi 6 - Instaloni Craft CMS

Craft CMS mund të shkarkohet me Composer ose duke shkarkuar manualisht një arkiv .zip ose tar.gz. Në këtë tutorial ne do të përdorim Composer për të shkarkuar Craft CMS.

Krijo një direktori rrënjësore të dokumentit ku duhet të vendoset Craft CMS:

sudo mkdir -p /var/www/craft

Navigoni në direktorinë rrënjë të dokumentit:

cd /var/www/craft

Ndrysho pronësinë e drejtorisë /var/www/craft në johndoe.

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

Për të krijuar një projekt të ri Craft, ekzekutoni këtë komandë:

composer create-project craftcms/craft .

Ndrysho pronësinë e drejtorisë /var/www/craft në www-data:

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

Në shfletuesin tuaj të internetit, shkoni te http:///index.php?p=admin/install (duke zëvendësuar  me emrin e hostit të serverit tuaj të internetit) . Nëse keni bërë gjithçka siç duhet deri më tani, duhet të përshëndeteni nga magjistari i konfigurimit të Craft.

Hapi 7 - Plotësoni konfigurimin e Craft CMS

Pas hapjes së URL-së së instalimit, faqja si më poshtë duhet të shfaqet. Klikoni në butonin \Instalo Craft\:

Prano licencën duke klikuar në butonin \E kuptova\:

Plotësoni detajet e bazës së të dhënave dhe klikoni në butonin \Tjetër\:

Krijoni llogarinë Craft dhe klikoni në butonin \Tjetër\:

Konfiguro faqen tuaj dhe klikoni në butonin \Përfundo\:

Pas kësaj, ju duhet të ridrejtoheni në faqen e administratorit të Craft:

Lidhjet

  • https://craftcms.com/
  • https://github.com/nystudio107/nginx-craft