Hur man installerar SilverStripe CMS på en CentOS 7 LAMP VPS

SilverStripe är ett flexibelt och utbyggbart gratis och öppen källkod för företagsklassat Content Management System (CMS) skrivet i PHP. Den är lätt att använda och lära sig, mycket robust och säker, har utmärkt återanvändbar, väloptimerad och läsbar kod, och inkluderar en kraftfull mallmotor som gör det enkelt och snabbt att skapa webbplatser.

Förutsättningar

  • En ren Vultr CentOS 7-serverinstans med SSH-åtkomst
  • En icke-root sudo-användare

Steg 1: Uppdatera CentOS System

Innan vi installerar några paket på CentOS-serverinstansen kommer vi först att uppdatera systemet.

Logga in på servern med en icke-rootanvändare sudooch kör följande kommando.

sudo yum -y update

Steg 2: Installera Apache Web Server

Installera Apache-webbservern.

sudo yum -y install httpd

Använd sedan systemctlkommandot för att starta och aktivera Apache att köras automatiskt vid uppstart.

sudo systemctl enable httpd
sudo systemctl start httpd

Nu måste vi se till att mod_rewriteApache-modulen är laddad. Vi kan göra detta genom att söka i CentOS Apache-basmodulernas konfigurationsfil efter termen " mod_rewrite". Du kan använda vilken terminalredigerare som helst för detta, i den här handledningen kommer vi att använda vieftersom den är så allmänt tillgänglig.

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

Sök efter termen mod_rewritei vigenom att skriva /mod_rewritei kommandoläge (efter att ha tryckt på " escape"-tangenten).

Om mod_rewriteApache-modulen är laddad bör konfigurationsraden se ut så här.

LoadModule rewrite_module modules/mod_rewrite.so

Om raden ovan börjar med ett semikolon måste du ta bort semikolonet för att avkommentera raden och ladda modulen. Detta gäller naturligtvis även alla andra nödvändiga Apache-moduler.

Om du använder vieditorn kan du spara filen genom att trycka på Escapetangenten " " (för att gå in i kommandoläge) och sedan skriva för :wqatt skriva eventuella ändringar i filen och avsluta editorn.

Vi behöver nu redigera Apaches standardkonfigurationsfil så att den mod_rewritefungerar korrekt med SilverStripe.

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

Hitta avsnittet som börjar med <Directory "/var/www/html">och ändra AllowOverride nonetill AllowOverride All. Slutresultatet (med alla kommentarer borttagna) bör se ut ungefär så här.

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

Se också till att ditt DocumentRootdirektiv pekar på rätt katalog. Konfigurationsalternativet ska se ut så här.

DocumentRoot "/var/www/html"

Du kan nu spara och stänga Apache-konfigurationsfilen.

Vi måste nu öppna standard HTTPoch HTTPSportar eftersom de kommer att blockeras som firewalldstandard.

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

Ladda om brandväggen för att tillämpa ändringarna.

sudo firewall-cmd --reload

Att starta om Apache efter någon konfigurationsändring är verkligen en god vana, så låt oss göra det nu.

sudo systemctl restart httpd

Steg 3: Inaktivera SELinux (om aktiverat)

SELinux står för "Security Enhanced Linux". Det är en säkerhetsförbättring till Linux som ger användare och administratörer mer kontroll över åtkomstkontroll. Den är inaktiverad som standard på Vultr CentOS 7-instanser, men vi kommer att täcka stegen för att inaktivera den, ifall du inte startar från en ren installation och den tidigare var aktiverad.

För att undvika filbehörighetsproblem med SilverStripe CMS måste vi se till att SELinux är inaktiverat.

Låt oss först kontrollera om SELinux är aktiverat eller inaktiverat med sestatuskommandot.

sudo sestatus

Om du ser något som: SELinux status: disableddå är det definitivt inaktiverat och du kan hoppa direkt till steg 4. Om du ser något annat meddelande måste du slutföra det här avsnittet.

Öppna SELinux-konfigurationsfilen med din favoritterminalredigerare.

sudo vi /etc/selinux/config

Och ändra SELINUX=enforcingtill SELINUX=disabledoch spara sedan filen.

För att tillämpa konfigurationsändringen kräver SELinux en omstart av servern, så du kan antingen starta om servern med Vultr-kontrollpanelen eller så kan du helt enkelt använda shutdownkommandot.

sudo shutdown -r now

När servern startar om kommer din SSH-session att kopplas bort och du kan se ett meddelande som klagar på en 'broken pipe'eller informerar dig 'Connection closed by remote host'. Detta är inget att oroa sig för, vänta bara i 20 sekunder eller så och sedan SSH tillbaka in igen (med ditt eget användarnamn och domän).

ssh [email protected]

Eller (med ditt eget användarnamn och IP-adress).

ssh [email protected]

När du har loggat in igen bör du kontrollera statusen för SELinux igen med sestatuskommandot för att se till att det är korrekt inaktiverat.

sudo sestatus

Du bör se ett meddelande som säger SELinux status: disabled. Om du ser ett meddelande som säger SELinux status: enabled(eller något liknande) måste du upprepa stegen ovan och se till att du startar om din server ordentligt.

Steg 4: Installera PHP 7.1

CentOS 7 kräver att vi lägger till en extern repo för att installera PHP 7.1.

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

Vi kan nu installera den senaste versionen av PHP 7.1 tillsammans med de nödvändiga PHP-modulerna som krävs av SilverStripe.

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

Observera: Om du använder en senare version av PHP som PHP 7.2, kan du behöva ändra versionsnumren för ovanstående PHP-moduler för att matcha din version av PHP. Så, till exempel, om du använder PHP 7.2 skulle du förmodligen ändra modulen php71w-xmltill php72w-xml. Observera att ibland modulnamn ändras mellan versioner, så om du upplever några problem, besök helt enkelt den utmärkta PHP-dokumentationssidan för vägledning, eller, alternativt, använd yum searchkommandot för att söka efter motsvarande PHP-moduler.

Den date.timezonekonfigurationsalternativ i php.inimåste ställas in på rätt sätt. Så öppna din php.inifil med din favoritterminalredigerare.

sudo vi /etc/php.ini

Ställ in date.timezonealternativet till din föredragna tidszon. Till exempel bör en London-instans se ut så här.

date.timezone = Europe/London

Steg 5: Installera MariaDB (MySQL) Server

CentOS 7 använder som standard MariaDB-databas, som är en förbättrad, helt öppen källkod, communityutvecklad, drop-in-ersättning för MySQL.

Installera MariaDB-databasen.

sudo yum -y install mariadb-server

Starta och aktivera MariaDB att köras automatiskt vid uppstart.

sudo systemctl enable mariadb
sudo systemctl start mariadb    

Säkra din MariaDB-installation.

sudo mysql_secure_installation

Det rootlösenord vara tomt, så enkelt hit " Enter" när du uppmanas för rootlösenord.

När du uppmanas att skapa en MariaDB/MySQL- rootanvändare, välj " Y" (för ja) och ange sedan ett säkert rootlösenord. Svara helt enkelt " Y" på alla andra ja/nej-frågor eftersom standardförslagen är de säkraste alternativen.

Steg 6: Skapa en databas för SilverStripe

Logga in på MariaDB-skalet som MariaDB- rootanvändare.

sudo mysql -u root -p

För att komma åt MariaDB-kommandotolken, ange bara MariaDB- rootlösenordet när du uppmanas.

Kör följande frågor för att skapa en MariaDB-databas och databasanvändare för 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 byta ut databasnamnet ss_dataoch användarnamnet ss_usermed något mer som du vill, om du föredrar det. (Observera att den maximala standardlängden för användarnamn i MariaDB på CentOS 7 är 16 tecken). Se också till att du ändrar "UltraSecurePassword" till ett faktiskt säkert lösenord.

Steg 7: Installera Silverstripe CMS-filer

Ändra din nuvarande arbetskatalog till standardwebbkatalogen.

cd /var/www/html/

Om du får ett felmeddelande som säger något i stil med, 'No such file or directory'prova följande kommando.

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

Din nuvarande arbetskatalog bör nu vara /var/www/html/. Du kan kontrollera detta med pwdkommandot (skriv ut arbetskatalog).

pwd

Använd nu för wgetatt ladda ner SilverStripe CMS tarball.

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

Observera: Du bör leta efter den senaste versionen genom att kolla nedladdningssidan för SilverStripe . Högerklicka helt enkelt på nedladdningsknappen på sidan och kopiera URL:en. Du kan sedan klistra in den mest uppdaterade tarball-URL:n i wgetkommandot som visas ovan.

Lista den aktuella katalogen för att kontrollera att vi har laddat ned filen.

ls -la

Packa nu upp tarbollen.

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

Och ändra äganderätten till webbfilerna för att undvika behörighetsproblem.

sudo chown -R apache:apache * .htaccess

Starta om Apache igen.

sudo systemctl restart httpd

Och nu är vi redo att gå vidare till det sista steget.

Steg 8: Slutför SilverStripe CMS-installationen

Det är dags att besöka IP-adressen för din CentOS-serverinstans i din webbläsare. Eller, om du redan har konfigurerat dina Vultr DNS-inställningar (och gett den tillräckligt med tid för att spridas) kan du helt enkelt besöka din domän istället.

Ange helt enkelt följande databasdetaljer (eller dina motsvarande val) på SilverStripes installationssida.

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

Fyll nu i din e-postadress och ditt lösenord (för att komma åt SilverStripes adminsektion) och ställ in ditt standardspråk.

Email: [email protected]
Password: AnotherUltraSecurePassword
Default language: English UK

När du har fyllt i alla nödvändiga detaljer kan du helt enkelt klicka på Install SilverStripeknappen så kommer ditt nya SilverStripe CMS att installeras.

Nu kan du börja lägga till ditt innehåll och konfigurera utseendet på din webbplats. Var noga med att kolla in SilverStripe CMS användarhjälpguide för mer vägledning om hur du bygger och konfigurerar din webbplats.


The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer