Forutsetninger
Installer Nginx
Installer PHP 7.2
Installer MariaDB
Installer MODX
Opprett virtuell vert
Innpakning
MODX er et gratis innholdsstyringssystem med åpen kildekode skrevet i PHP. Den bruker MySQL eller MariaDB til å lagre databasen. MODX er designet for virksomheten der vedlikehold av en nettside er kritisk. Det gir fleksibilitet til utviklere til å lage et nettsted ved å velge sin egen design og struktur. Den har også en WYSIWYGeditor for ikke-tekniske brukere i virksomheten. I tillegg til å være fleksibel, kan den optimaliseres for lynrask hastighet.
Denne opplæringen ble skrevet for MODX 2.6.1 og kan også fungere for nyere versjoner.
Forutsetninger
- En Vultr CentOS 7-serverforekomst.
- En sudo-bruker .
- Et domenenavn pekte mot forekomsten.
For denne opplæringen vil vi bruke modx.example.comsom domenenavnet peker mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempeldomenenavnet med det faktiske.
Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere CentOS 7 . Når systemet ditt har blitt oppdatert, fortsett å installere avhengighetene.
Installer Nginx
Nginx er en produksjonswebserver for å kjøre webapplikasjoner. Installer Nginx.
sudo yum -y install epel-release
sudo yum -y install nginx
Start Nginx og aktiver den til å kjøre automatisk ved oppstart.
sudo systemctl start nginx
sudo systemctl enable nginx
Installer PHP 7.2
MODX støtter alle PHP-versjoner over 5.4. Vi vil installere den siste tilgjengelige versjonen av PHP. Bruk av PHP 7.2 vil sikre maksimal hastighet og sikkerhet. Legg til og aktiver Remi-depotet da PHP versjon 7.2 ikke er tilgjengelig i standarddepotet YUM.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72
Installer PHP versjon 7.2 sammen med modulene som kreves av MODX.
sudo yum -y install php php-zlib php-mysqli php-curl php-json php-cli php-pear php-gd php-openssl php-xml php-mbstring php-fpm ImageMagick
Rediger den innlastede PHP-konfigurasjonsfilen.
sudo nano /etc/php.ini
Finn følgende linje. Fjern kommentaren og angi riktig tidssone.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone
Sett også en passende minnegrense på følgende linje. Hvis du setter den til -1vil et skript gi ubegrenset tilgjengelig minne.
memory_limit = -1
Finn deretter følgende linje og sett verdien til 0etter å ha fjernet den.
cgi.fix_pathinfo=0
Lagre filen og åpne php-fpmkonfigurasjonsfilen.
sudo nano /etc/php-fpm.d/www.conf
Finn den eksisterende listen = 127.0.0.1:9000, kommenter den og legg til en ny linje som vist nedenfor.
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock
Endre også brukerne som vist nedenfor.
listen.owner = nginx
listen.group = nginx
...
user = nginx
group = nginx
Lagre filen og start php-fpmog aktiver den til å starte automatisk ved oppstart.
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm
Gi skrivetillatelser til øktkatalogen.
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session
Fortsett nå til installasjonen av MariaDB.
Installer MariaDB
MariaDB er en gaffel av MySQL. Legg til MariaDB-depotet til systemet ditt. Standarddepotet YUMinneholder en eldre versjon av MariaDB.
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo
Installer MariaDB.
sudo yum -y install mariadb mariadb-server
Start MariaDB og la den starte automatisk ved oppstart.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Før du konfigurerer databasen, må du sikre MariaDB.
sudo mysql_secure_installation
Du vil bli bedt om det gjeldende MariaDB-rotpassordet. Som standard er det ikke noe root-passord i en fersk MariaDB-installasjon. Trykk på " Enter"-tasten for å fortsette. Angi et sterkt passord for rootbrukeren av MariaDB-serveren din og svar " Y" på alle de andre spørsmålene som blir stilt. Spørsmålene som stilles er selvforklarende.
Logg inn på MySQL-skallet som root.
mysql -u root -p
Oppgi passordet for MariaDB-rotbrukeren for å logge på.
Kjør følgende spørringer for å opprette en database og en databasebruker for MODX-installasjonen.
CREATE DATABASE modx_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'modx_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON modx_data.* TO 'modx_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Du kan erstatte databasenavnet modx_dataog brukernavnet modx_useretter eget valg. Sørg for å endre StrongPasswordtil et veldig sterkt passord.
Installer MODX
Last ned MODX zip-arkivet.
wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip
Du kan alltid se etter lenken til den nyeste versjonen av applikasjonen på MODX-nedlastingssiden .
Installer unzip.
sudo yum -y install unzip
Pakk ut arkivet til webroot-katalogen til Nginx.
sudo unzip modx.zip -d /usr/share/nginx/
Endre navnet på katalogen.
cd /usr/share/nginx/
sudo mv modx-*/ modx/
Gi også nytt navn til ht.accessfilen til .htaccess.
sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess
Opprett en sesjonsbufferkatalog og gi eierskap til nginx-brukeren.
sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache
Til slutt oppretter du en tom konfigurasjonsfil og gir passende tillatelser.
sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/
Tillat trafikk på porter 80og 443gjennom brannmuren.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Opprett virtuell vert
For å være vert for ditt MODX-nettsted, opprett en ny virtuell vert.
sudo nano /etc/nginx/conf.d/modx.example.com.conf
Fyll ut filen.
server {
listen 80;
server_name modx.example.com;
root /usr/share/nginx/modx;
index index.php;
client_max_body_size 30M;
location / {
root /usr/share/nginx/modx;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_ignore_client_abort on;
fastcgi_param SERVER_NAME $http_host;
}
location ~ /\.ht {
deny all;
}
}
Test Nginx-nettserverkonfigurasjonen.
sudo nginx -t
Du vil se følgende utgang.
[user@vultr nginx]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Hvis du ikke ser noen feil i konfigurasjonen, start Nginx på nytt slik at den nye konfigurasjonen kan tre i kraft.
sudo systemctl restart nginx
Innpakning
Før du får tilgang til installasjonen, må du fullføre installasjonen via nettinstallasjonsprogrammet. Få tilgang til den nettbaserte installasjonen på http://modx.example.com/setup. Du vil se et grensesnitt for å endre språket for installasjonen.
Velg språk i henhold til dine preferanser og på neste side, velg alternativet " New Installation". På den følgende siden oppgir du MySQL- eller MariaDB-databaselegitimasjonen din og oppretter en ny administratorkonto. Til slutt klikker du på " Install"-knappen og installasjonsprogrammet vil skrive dataene inn i databasen.
På dette tidspunktet er du klar til å lage nettstedet ditt fra det administrative dashbordet.