Jak zainstalować MODX CMS i Nginx na CentOS 7

MODX to darmowy i otwarty system zarządzania treścią napisany w PHP. Używa MySQL lub MariaDB do przechowywania swojej bazy danych. MODX jest przeznaczony dla firm, w których utrzymanie strony internetowej ma kluczowe znaczenie. Zapewnia programistom elastyczność w tworzeniu stron internetowych poprzez wybór własnego projektu i struktury. Posiada również WYSIWYGedytor dla nietechnicznych użytkowników w branży. Oprócz elastyczności, można go zoptymalizować pod kątem niesamowitej prędkości.

Ten samouczek został napisany dla MODX 2.6.1 i może również działać dla nowszych wersji.

Wymagania wstępne

  • Instancja serwera Vultr CentOS 7.
  • Użytkownik sudo .
  • Nazwa domeny wskazuje na instancję.

W tym samouczku użyjemy modx.example.comjako nazwy domeny wskazanej na instancję Vultr. Pamiętaj, aby zamienić wszystkie wystąpienia przykładowej nazwy domeny na rzeczywistą.

Zaktualizuj system podstawowy za pomocą przewodnika Jak zaktualizować CentOS 7 . Po zaktualizowaniu systemu przejdź do instalacji zależności.

Zainstaluj Nginx

Nginx to produkcyjny serwer WWW do uruchamiania aplikacji internetowych. Zainstaluj Nginx.

sudo yum -y install epel-release
sudo yum -y install nginx

Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.

sudo systemctl start nginx
sudo systemctl enable nginx

Zainstaluj PHP 7.2

MODX obsługuje wszystkie wersje PHP powyżej 5.4. Zainstalujemy najnowszą dostępną wersję PHP. Korzystanie z PHP 7.2 zapewni maksymalną prędkość i bezpieczeństwo. Dodaj i włącz repozytorium Remi, ponieważ PHP wersja 7.2 nie jest dostępne w domyślnym YUMrepozytorium.

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

Zainstaluj PHP w wersji 7.2 wraz z modułami wymaganymi przez 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

Edytuj załadowany plik konfiguracyjny PHP.

sudo nano /etc/php.ini

Znajdź następujący wiersz. Anuluj komentarz i ustaw odpowiednią strefę czasową.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone

Ustaw także odpowiedni limit pamięci w następnym wierszu. Ustawienie go na -1daje nieograniczoną dostępną pamięć dla skryptu.

memory_limit = -1

Następnie znajdź następujący wiersz i ustaw jego wartość na 0po odkomentowaniu.

cgi.fix_pathinfo=0

Zapisz plik i otwórz php-fpmplik konfiguracyjny.

sudo nano /etc/php-fpm.d/www.conf

Znajdź istniejący listen = 127.0.0.1:9000, skomentuj go i dodaj nowy wiersz, jak pokazano poniżej.

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock

Zmień także użytkowników, jak pokazano poniżej.

listen.owner = nginx
listen.group = nginx

...

user = nginx
group = nginx

Zapisz plik i uruchom php-fpmi włącz go, aby automatycznie uruchamiał się podczas uruchamiania.

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

Podaj uprawnienia do zapisu w katalogu sesji.

sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session

Teraz przejdź do instalacji MariaDB.

Zainstaluj MariaDB

MariaDB jest rozwidleniem MySQL. Dodaj repozytorium MariaDB do swojego systemu. Domyślne YUMrepozytorium zawiera starszą wersję 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

Zainstaluj MariaDB.

sudo yum -y install mariadb mariadb-server

Uruchom MariaDB i włącz automatyczne uruchamianie podczas uruchamiania.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Przed skonfigurowaniem bazy danych musisz zabezpieczyć MariaDB.

sudo mysql_secure_installation

Zostaniesz poproszony o podanie bieżącego hasła roota MariaDB. Domyślnie w nowej instalacji MariaDB nie ma hasła roota. Naciśnij przycisk „ Enter”, aby kontynuować. Ustaw silne hasło dla rootużytkownika serwera MariaDB i odpowiedz „ Y” na wszystkie pozostałe pytania. Zadane pytania są oczywiste.

Zaloguj się do powłoki MySQL jako root.

mysql -u root -p

Podaj hasło dla użytkownika root MariaDB, aby się zalogować.

Uruchom następujące zapytania, aby utworzyć bazę danych i użytkownika bazy danych dla instalacji MODX.

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;

Możesz zastąpić nazwę bazy danych modx_datai nazwę użytkownika modx_userzgodnie z własnym wyborem. Pamiętaj, aby zmienić StrongPasswordna bardzo silne hasło.

Zainstaluj MODX

Pobierz archiwum zip MODX.

wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip

Zawsze możesz znaleźć link do najnowszej wersji aplikacji na stronie pobierania MODX .

Zainstaluj rozpakuj.

sudo yum -y install unzip

Wypakuj archiwum do katalogu webroot Nginx.

sudo unzip modx.zip -d /usr/share/nginx/

Zmień nazwę katalogu.

cd /usr/share/nginx/
sudo mv modx-*/ modx/

Zmień także nazwę ht.accesspliku na .htaccess.

sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess

Utwórz katalog pamięci podręcznej sesji i przekaż własność użytkownikowi nginx.

sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache

Na koniec utwórz pusty plik konfiguracyjny i podaj odpowiednie uprawnienia.

sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/

Zezwól na ruch na portach 80i 443zaporze.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Utwórz wirtualny host

Aby hostować witrynę MODX, utwórz nowy wirtualny host.

sudo nano /etc/nginx/conf.d/modx.example.com.conf

Wypełnij plik.

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;
        }
}

Przetestuj konfigurację serwera WWW Nginx.

sudo nginx -t

Zobaczysz następujące dane wyjściowe.

[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

Jeśli nie widzisz błędów w konfiguracji, zrestartuj Nginx, aby nowa konfiguracja mogła zadziałać.

sudo systemctl restart nginx

Podsumowanie

Aby uzyskać dostęp do instalacji, musisz ukończyć instalację za pomocą instalatora internetowego. Uzyskaj dostęp do instalacji internetowej na http://modx.example.com/setup. Zobaczysz interfejs do zmiany języka instalacji.

Wybierz język zgodnie ze swoimi preferencjami, a na następnej stronie wybierz opcję „ New Installation”. Na następnej stronie podaj poświadczenia bazy danych MySQL lub MariaDB i utwórz nowe konto administratora. Na koniec kliknij przycisk „ Install”, a instalator zapisze dane w bazie danych.

W tym momencie wszystko jest gotowe do utworzenia witryny z administracyjnego pulpitu nawigacyjnego.

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.