Forutsetninger
Trinn 1: Oppdater CentOS System
Trinn 2: Installer Apache Web Server
Trinn 3: Deaktiver SELinux (hvis aktivert)
Trinn 4: Installer PHP 7.1
Trinn 5: Installer MariaDB (MySQL) Server
Trinn 6: Opprett en database for SilverStripe
Trinn 7: Installer Silverstripe CMS-filer
Trinn 8: Fullfør SilverStripe CMS-installasjonen
SilverStripe er et fleksibelt og utvidbart gratis og åpen kildekode for enterprise-grade Content Management System (CMS) skrevet i PHP. Den er enkel å bruke og lære, veldig robust og sikker, har utmerket gjenbrukbar, godt optimert og lesbar kode, og inkluderer en kraftig malmotor som gjør det enkelt og raskt å lage nettsider.
Forutsetninger
- En ren Vultr CentOS 7-serverforekomst med SSH-tilgang
- En ikke-root sudo-bruker
Trinn 1: Oppdater CentOS System
Før vi installerer noen pakker på CentOS-serverforekomsten, vil vi først oppdatere systemet.
Logg på serveren med en ikke-rootbruker sudoog kjør følgende kommando.
sudo yum -y update
Trinn 2: Installer Apache Web Server
Installer Apache-nettserveren.
sudo yum -y install httpd
Bruk deretter systemctlkommandoen til å starte og aktivere Apache til å kjøre automatisk ved oppstart.
sudo systemctl enable httpd
sudo systemctl start httpd
Nå må vi sørge for at mod_rewriteApache-modulen er lastet. Vi kan gjøre dette ved å søke i konfigurasjonsfilen for CentOS Apache-basemoduler etter begrepet " mod_rewrite". Du kan bruke hvilken som helst terminalredigerer for dette, i denne opplæringen vil vi bruke visiden den er så allment tilgjengelig.
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Søk på ordet mod_rewritei vived å skrive /mod_rewritei kommando-modus (etter å ha trykket på " escape" -tasten).
Hvis mod_rewriteApache-modulen er lastet, skal konfigurasjonslinjen se slik ut.
LoadModule rewrite_module modules/mod_rewrite.so
Hvis linjen ovenfor starter med et semikolon, må du fjerne semikolonet for å fjerne kommentaren til linjen og laste inn modulen. Dette gjelder selvfølgelig også for alle andre nødvendige Apache-moduler.
Hvis du bruker viredigeringsprogrammet, kan du lagre filen ved å trykke " Escape"-tasten (for å gå inn i kommandomodus) og deretter skrive for :wqå skrive eventuelle endringer i filen og avslutte redigeringsprogrammet.
Vi må nå redigere Apaches standard konfigurasjonsfil slik at den mod_rewritevil fungere riktig med SilverStripe.
sudo vi /etc/httpd/conf/httpd.conf
Finn delen som begynner med <Directory "/var/www/html">og endre AllowOverride nonetil AllowOverride All. Sluttresultatet (med alle kommentarer fjernet) skal se omtrent slik ut.
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Sørg også for at DocumentRootdirektivet peker til riktig katalog. Konfigurasjonsalternativet skal se slik ut.
DocumentRoot "/var/www/html"
Du kan nå lagre og lukke Apache-konfigurasjonsfilen.
Vi må nå åpne standard HTTPog HTTPSporter, da de vil bli blokkert som firewalldstandard.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Last inn brannmuren på nytt for å bruke endringene.
sudo firewall-cmd --reload
Å starte Apache på nytt etter enhver konfigurasjonsendring er absolutt en god vane, så la oss gjøre det nå.
sudo systemctl restart httpd
Trinn 3: Deaktiver SELinux (hvis aktivert)
SELinux står for "Security Enhanced Linux". Det er en sikkerhetsforbedring til Linux som gir brukere og administratorer mer kontroll over tilgangskontroll. Den er deaktivert som standard på Vultr CentOS 7-forekomster, men vi vil dekke trinnene for å deaktivere den, i tilfelle du ikke starter fra en ren installasjon og den tidligere var aktivert.
For å unngå filtillatelsesproblemer med SilverStripe CMS må vi sørge for at SELinux er deaktivert.
La oss først sjekke om SELinux er aktivert eller deaktivert med sestatuskommandoen.
sudo sestatus
Hvis du ser noe sånt som: SELinux status: disabledså er det definitivt deaktivert, og du kan hoppe rett til trinn 4. Hvis du ser en annen melding, må du fullføre denne delen.
Åpne SELinux-konfigurasjonsfilen med din favorittterminalredigerer.
sudo vi /etc/selinux/config
Og endre SELINUX=enforcingtil SELINUX=disabled, og lagre deretter filen.
For å bruke konfigurasjonsendringen, krever SELinux en omstart av serveren, slik at du enten kan starte serveren på nytt ved å bruke Vultr-kontrollpanelet, eller du kan ganske enkelt bruke shutdownkommandoen.
sudo shutdown -r now
Når serveren starter på nytt, vil SSH-økten din bli frakoblet, og du kan se en melding som klager på 'broken pipe'eller informerer deg 'Connection closed by remote host'. Dette er ingenting å bekymre seg for, bare vent i 20 sekunder eller så og deretter SSH inn igjen (med ditt eget brukernavn og domene).
ssh example_sudo_user@example.net
Eller (med ditt eget brukernavn og IP-adresse).
ssh example_sudo_user@203.0.113.1
Når du har logget på igjen, bør du sjekke statusen til SELinux igjen med sestatuskommandoen for å sikre at den er deaktivert på riktig måte.
sudo sestatus
Du bør se en melding som sier SELinux status: disabled. Hvis du ser en melding som sier SELinux status: enabled(eller noe lignende), må du gjenta trinnene ovenfor og sørge for at du starter serveren på nytt.
Trinn 4: Installer PHP 7.1
CentOS 7 krever at vi legger til en ekstern repo for å installere PHP 7.1.
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Vi kan nå installere den nyeste versjonen av PHP 7.1 sammen med de nødvendige PHP-modulene som kreves av SilverStripe.
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-tidy
Vennligst merk: Hvis du bruker en nyere versjon av PHP som PHP 7.2, kan det hende du må endre versjonsnumrene til PHP-modulene ovenfor for å matche din versjon av PHP. Så hvis du for eksempel bruker PHP 7.2 vil du sannsynligvis endre modulen php71w-xmltil php72w-xml. Vær oppmerksom på at noen ganger modulnavn endres mellom versjoner, så hvis du opplever problemer, besøk den utmerkede PHP-dokumentasjonssiden for veiledning, eller, alternativt, bruk yum searchkommandoen til å søke etter tilsvarende PHP-moduler.
Den date.timezoneinnstilling i php.inimå være riktig innstilt. Så åpne php.inifilen med din favorittterminalredigerer.
sudo vi /etc/php.ini
Sett date.timezonealternativet til din foretrukne tidssone. For eksempel bør en London-instans se slik ut.
date.timezone = Europe/London
Trinn 5: Installer MariaDB (MySQL) Server
CentOS 7 bruker som standard MariaDB-databasen, som er en forbedret, fullstendig åpen kildekode, fellesskapsutviklet drop-in-erstatning for MySQL.
Installer MariaDB-databasen.
sudo yum -y install mariadb-server
Start og aktiver MariaDB til å kjøre automatisk ved oppstart.
sudo systemctl enable mariadb
sudo systemctl start mariadb
Sikre din MariaDB-installasjon.
sudo mysql_secure_installation
Den rootpassord vil bli tomt, så bare trykke " Enter" når du blir bedt om rootpassord.
Når du blir bedt om å opprette en MariaDB/MySQL- rootbruker, velg " Y" (for ja) og skriv deretter inn et sikkert rootpassord. Bare svar " Y" på alle de andre ja/nei-spørsmålene, da standardforslagene er de sikreste alternativene.
Trinn 6: Opprett en database for SilverStripe
Logg inn på MariaDB-skallet som MariaDB- rootbrukeren.
sudo mysql -u root -p
For å få tilgang til MariaDB-ledeteksten, skriv ganske enkelt inn MariaDB- rootpassordet når du blir bedt om det.
Kjør følgende spørringer for å opprette en MariaDB-database og databasebruker for 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 brukernavnet ss_usermed noe mer du liker, hvis du foretrekker det. (Vær oppmerksom på at standard maksimal lengde for brukernavn i MariaDB på CentOS 7 er 16 tegn). Pass også på at du endrer "UltraSecurePassword" til et faktisk sikkert passord.
Trinn 7: Installer Silverstripe CMS-filer
Endre gjeldende arbeidskatalog til standard nettkatalog.
cd /var/www/html/
Hvis du får en feilmelding som sier noe sånt, 'No such file or directory'kan du prøve følgende kommando.
cd /var/www/ ; sudo mkdir html ; cd html
Din nåværende arbeidskatalog skal nå være /var/www/html/. Du kan sjekke dette med pwdkommandoen (skriv ut arbeidskatalog).
pwd
Bruk nå wgettil å laste ned SilverStripe CMS tarball.
sudo wget https://silverstripe-ssorg-releases.s3.amazonaws.com/sssites-ssorg-prod/assets/releases/SilverStripe-cms-v3.6.2.tar.gz
Merk: Du bør se etter den nyeste versjonen ved å sjekke nedlastingssiden for SilverStripe . Bare høyreklikk på nedlastingsknappen på siden og kopier URL-en. Du kan deretter lime inn den mest oppdaterte tarball-URLen i wgetkommandoen vist ovenfor.
List opp gjeldende katalog for å sjekke at vi har lastet ned filen.
ls -la
Dekomprimer nå tarballen.
sudo tar xvzf SilverStripe-cms-v3.6.2.tar.gz
Og endre eierskap til nettfilene for å unngå problemer med tillatelser.
sudo chown -R apache:apache * .htaccess
Start Apache på nytt.
sudo systemctl restart httpd
Og nå er vi klare til å gå videre til det siste trinnet.
Trinn 8: Fullfør SilverStripe CMS-installasjonen
Det er på tide å besøke IP-adressen til CentOS-serverforekomsten i nettleseren din. Eller, hvis du allerede har konfigurert Vultr DNS-innstillingene (og gitt det nok tid til å spre seg), kan du ganske enkelt besøke domenet ditt i stedet.
Bare skriv inn følgende databasedetaljer (eller tilsvarende valg) på SilverStripe-installasjonssiden.
Database server: localhost
Database username: ss_user
Database password: UltraSecurePassword
Database name: ss_data
Fyll nå inn e-post og passord (for å få tilgang til SilverStripe-admin-delen), og angi standardspråket ditt.
Email: my_email@example.net
Password: AnotherUltraSecurePassword
Default language: English UK
Når du har fylt ut alle nødvendige detaljer, kan du ganske enkelt klikke på Install SilverStripeknappen og ditt nye SilverStripe CMS vil bli installert.
Nå kan du begynne å legge til innholdet ditt og konfigurere utseendet til nettstedet ditt. Sørg for å sjekke ut brukerhjelpeveiledningen for SilverStripe CMS for mer veiledning om hvordan du bygger og konfigurerer nettstedet ditt.