Sådan installeres SilverStripe CMS på en CentOS 7 LAMP VPS

SilverStripe er et fleksibelt og udvidelsesvenligt gratis og open source enterprise-grade Content Management System (CMS) skrevet i PHP. Den er nem at bruge og lære, meget robust og sikker, har fremragende genanvendelig veloptimeret og læsbar kode og inkluderer en kraftfuld skabelonmotor, der gør det nemt og hurtigt at oprette hjemmesider.

Forudsætninger

  • En ren Vultr CentOS 7-serverinstans med SSH-adgang
  • En ikke-root sudo-bruger

Trin 1: Opdater CentOS System

Før vi installerer nogen pakker på CentOS-serverinstansen, opdaterer vi først systemet.

Log ind på serveren med en ikke-rootbruger sudoog kør følgende kommando.

sudo yum -y update

Trin 2: Installer Apache Web Server

Installer Apache-webserveren.

sudo yum -y install httpd

Brug derefter systemctlkommandoen til at starte og aktivere Apache til at køre automatisk ved opstart.

sudo systemctl enable httpd
sudo systemctl start httpd

Nu skal vi sikre os, at mod_rewriteApache-modulet er indlæst. Vi kan gøre dette ved at søge i CentOS Apache-basemodulernes konfigurationsfil efter udtrykket " mod_rewrite". Du kan bruge en hvilken som helst terminaleditor til dette, i denne tutorial vil vi bruge, vida den er så bredt tilgængelig.

sudo vi /etc/httpd/conf.modules.d/00-base.conf

Søg efter udtrykket mod_rewritei vived at skrive /mod_rewritei kommando-tilstand (efter at have trykket på tasten " escape").

Hvis mod_rewriteApache-modulet er indlæst, skal konfigurationslinjen se sådan ud.

LoadModule rewrite_module modules/mod_rewrite.so

Hvis ovenstående linje starter med et semikolon, skal du fjerne semikolonet for at fjerne kommentering af linjen og indlæse modulet. Dette gælder selvfølgelig også for alle andre påkrævede Apache-moduler.

Hvis du bruger vieditoren, kan du gemme filen ved at trykke på tasten " Escape" (for at gå ind i kommandotilstand) og derefter skrive for :wqat skrive eventuelle ændringer til filen og afslutte editoren.

Vi skal nu redigere Apaches standardkonfigurationsfil, så den mod_rewritefungerer korrekt med SilverStripe.

sudo vi /etc/httpd/conf/httpd.conf

Find det afsnit, der starter med, <Directory "/var/www/html">og skift AllowOverride nonetil AllowOverride All. Slutresultatet (med alle kommentarer fjernet) skulle se nogenlunde sådan ud.

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Sørg også for, at dit DocumentRootdirektiv peger på den korrekte mappe. Konfigurationsindstillingen skulle se sådan ud.

DocumentRoot "/var/www/html"

Du kan nu gemme og lukke Apache-konfigurationsfilen.

Vi skal nu åbne standard HTTPog HTTPSporte, da de firewalldsom standard vil blive blokeret .

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

Genindlæs firewallen for at anvende ændringerne.

sudo firewall-cmd --reload

At genstarte Apache efter enhver konfigurationsændring er bestemt en god vane, så lad os gøre det nu.

sudo systemctl restart httpd

Trin 3: Deaktiver SELinux (hvis aktiveret)

SELinux står for "Security Enhanced Linux". Det er en sikkerhedsforbedring til Linux, som giver brugere og administratorer mere kontrol over adgangskontrol. Det er som standard deaktiveret på Vultr CentOS 7-forekomster, men vi vil dække trinene for at deaktivere det, bare hvis du ikke starter fra en ren installation, og det tidligere var aktiveret.

For at undgå filtilladelsesproblemer med SilverStripe CMS er vi nødt til at sikre, at SELinux er deaktiveret.

Lad os først kontrollere, om SELinux er aktiveret eller deaktiveret med sestatuskommandoen.

sudo sestatus

Hvis du ser noget som: SELinux status: disabledså er det helt sikkert deaktiveret, og du kan springe direkte til trin 4. Hvis du ser en anden meddelelse, skal du fuldføre dette afsnit.

Åbn SELinux-konfigurationsfilen med din foretrukne terminaleditor.

sudo vi /etc/selinux/config

Og skift SELINUX=enforcingtil SELINUX=disabledog gem derefter filen.

For at anvende konfigurationsændringen kræver SELinux en servergenstart, så du kan enten genstarte serveren ved hjælp af Vultr kontrolpanelet, eller du kan blot bruge shutdownkommandoen.

sudo shutdown -r now

Når serveren genstarter, vil din SSH-session blive afbrudt, og du kan muligvis se en meddelelse, der klager over en 'broken pipe'eller informerer dig 'Connection closed by remote host'. Dette er ikke noget at bekymre sig om, vent blot i 20 sekunder eller deromkring og derefter SSH ind igen (med dit eget brugernavn og domæne).

ssh example_sudo_user@example.net

Eller (med dit eget brugernavn og IP-adresse).

ssh example_sudo_user@203.0.113.1

Når du har logget ind igen, bør du kontrollere status for SELinux igen med sestatuskommandoen for at sikre, at den er korrekt deaktiveret.

sudo sestatus

Du bør se en besked, der siger SELinux status: disabled. Hvis du ser en besked, der siger SELinux status: enabled(eller noget lignende), skal du gentage ovenstående trin og sikre, at du genstarter din server korrekt.

Trin 4: Installer PHP 7.1

CentOS 7 kræver, at vi tilføjer en ekstern repo for at installere PHP 7.1.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Vi kan nu installere den seneste version af PHP 7.1 sammen med de nødvendige PHP-moduler, der kræves af SilverStripe.

sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-tidy

Bemærk venligst: Hvis du bruger en nyere version af PHP, såsom PHP 7.2, skal du muligvis ændre versionsnumrene på ovenstående PHP-moduler, så de matcher din version af PHP. Så hvis du for eksempel bruger PHP 7.2, ville du sandsynligvis ændre modulet php71w-xmltil php72w-xml. Bemærk venligst, at nogle gange ændrer modulnavne sig mellem versioner, så hvis du oplever problemer, skal du blot besøge den fremragende PHP-dokumentationsside for vejledning, eller alternativt bruge yum searchkommandoen til at søge efter tilsvarende PHP-moduler.

Den date.timezonekonfiguration mulighed i php.iniskal være indstillet korrekt. Så åbn din php.inifil med din foretrukne terminaleditor.

sudo vi /etc/php.ini

Indstil date.timezoneindstillingen til din foretrukne tidszone. For eksempel skulle en London-instans se sådan ud.

date.timezone = Europe/London

Trin 5: Installer MariaDB (MySQL) Server

CentOS 7 bruger som standard MariaDB-databasen, som er en forbedret, fuldt open source, community-udviklet drop-in-erstatning for MySQL.

Installer MariaDB-databasen.

sudo yum -y install mariadb-server

Start og aktiver MariaDB til at køre automatisk ved opstart.

sudo systemctl enable mariadb
sudo systemctl start mariadb    

Sikre din MariaDB-installation.

sudo mysql_secure_installation

Den rootadgangskode vil være tom, så bare hit " Enter" når du bliver bedt om rootadgangskoden.

Når du bliver bedt om at oprette en MariaDB/MySQL- rootbruger, skal du vælge " Y" (for ja) og derefter indtaste en sikker rootadgangskode. Du skal blot svare " Y" på alle de andre ja/nej-spørgsmål, da standardforslagene er de mest sikre muligheder.

Trin 6: Opret en database til SilverStripe

Log ind på MariaDB-skallen som MariaDB- rootbrugeren.

sudo mysql -u root -p

For at få adgang til MariaDB-kommandoprompten skal du blot indtaste MariaDB- rootadgangskoden, når du bliver bedt om det.

Kør følgende forespørgsler for at oprette en MariaDB-database og databasebruger til SilverStripe.

CREATE DATABASE ss_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'ss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON ss_data.* TO 'ss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Du kan erstatte databasenavnet ss_dataog brugernavnet ss_usermed noget mere efter din smag, hvis du foretrækker det. (Bemærk venligst, at den maksimale standardlængde for brugernavne i MariaDB på CentOS 7 er 16 tegn). Sørg også for, at du ændrer "UltraSecurePassword" til en faktisk sikker adgangskode.

Trin 7: Installer Silverstripe CMS-filer

Skift din nuværende arbejdsmappe til standardwebbiblioteket.

cd /var/www/html/

Hvis du får en fejlmeddelelse, der siger noget i stil med, 'No such file or directory'så prøv følgende kommando.

cd /var/www/ ; sudo mkdir html ; cd html

Din nuværende arbejdsmappe skulle nu være /var/www/html/. Du kan kontrollere dette med pwdkommandoen (print working directory).

pwd

Brug nu wgettil at downloade SilverStripe CMS tarball.

sudo wget https://silverstripe-ssorg-releases.s3.amazonaws.com/sssites-ssorg-prod/assets/releases/SilverStripe-cms-v3.6.2.tar.gz

Bemærk venligst: Du bør tjekke efter den seneste version ved at tjekke SilverStripe-downloadsiden . Du skal blot højreklikke på download-knappen på siden og kopiere URL'en. Du kan derefter indsætte den mest opdaterede tarball-URL i wgetkommandoen vist ovenfor.

List den aktuelle mappe for at kontrollere, at vi har downloadet filen.

ls -la

Udpak nu tarballen.

sudo tar xvzf SilverStripe-cms-v3.6.2.tar.gz

Og skift ejerskab af webfilerne for at undgå problemer med tilladelser.

sudo chown -R apache:apache * .htaccess

Genstart Apache igen.

sudo systemctl restart httpd

Og nu er vi klar til at gå videre til det sidste trin.

Trin 8: Fuldfør SilverStripe CMS-installationen

Det er tid til at besøge IP-adressen på din CentOS-serverinstans i din browser. Eller, hvis du allerede har konfigureret dine Vultr DNS-indstillinger (og givet det nok tid til at sprede sig), kan du blot besøge dit domæne i stedet for.

Indtast blot følgende databasedetaljer (eller dine tilsvarende valg) på SilverStripe-installationssiden.

Database server: localhost
Database username: ss_user
Database password: UltraSecurePassword
Database name: ss_data

Udfyld nu din e-mail og adgangskode (for at få adgang til SilverStripe-administratorsektionen), og indstil dit standardsprog.

Email: my_email@example.net
Password: AnotherUltraSecurePassword
Default language: English UK

Når du har udfyldt alle de nødvendige detaljer, kan du blot klikke på Install SilverStripeknappen og dit nye SilverStripe CMS vil blive installeret.

Nu kan du begynde at tilføje dit indhold og konfigurere udseendet af dit websted. Sørg for at tjekke SilverStripe CMS User Help Guide for mere vejledning om, hvordan du opbygger og konfigurerer dit websted.

Blogging, CentOS, Linux-vejledninger

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere