IDE:Neos
Neos Installation Schritt-für-Schritt Anleitung
Diese Anleitung beschreibt die Installation von Neos CMS auf einem Linux-Server mit PostgreSQL.
Schritte
- Als Benutzer
postgresanmelden:sudo -u postgres -i
Dadurch wechselst du zum Datenbank-Benutzer
postgres, um Datenbankbefehle auszuführen. - Neue Datenbank für Neos anlegen:
createdb -E UTF8 -O thorsten neos exit
Erstellt eine neue PostgreSQL-Datenbank namens
neosmit UTF8-Kodierung und dem Eigentümerthorsten. Mitexitverlässt du denpostgres-Benutzer. - Ins Webverzeichnis wechseln und Ordner für Neos erstellen:
cd /var/www sudo mkdir neos sudo chmod 777 -R neos
Wechselt ins Webverzeichnis, erstellt einen Ordner
neosund gibt allen Nutzern Schreibrechte (für Entwicklung geeignet, für Produktion restriktiver setzen). - Neos mit Composer installieren:
composer create-project neos/neos-base-distribution:^8.0 neos
Lädt die aktuelle Neos-Basisdistribution in den Ordner
neosmit Composer. - In das Neos-Verzeichnis wechseln und Setup ausführen:
cd neos sudo ./flow setup:database ./flow doctrine:migrate ./flow user:create --roles Administrator ./flow site:create ./flow kickstart:site Vendor.Site ./flow site:import --package-key Vendor.Site ./flow setup ./flow server:run
./flow setup:database: Datenbankverbindung konfigurieren../flow doctrine:migrate: Datenbankschema anlegen../flow user:create --roles Administrator: Admin-Benutzer erstellen../flow site:create: Leeres Site-Paket erstellen../flow kickstart:site Vendor.Site: Beispiel-Site-Paket generieren../flow site:import --package-key Vendor.Site: Site-Paket importieren../flow setup: Neos-Grundsetup ausführen../flow server:run: Entwicklungsserver starten (http://localhost:8081).
Hinweis: Die Befehle müssen mit entsprechenden Rechten ausgeführt werden. Composer muss installiert sein.
Dauer Lauft
Nginx-Konfiguration
Um Neos über Nginx bereitzustellen, bearbeite die Konfigurationsdatei:
sudo nano /etc/nginx/conf.d/neos.conf
Trage dort die passenden Einstellungen für dein Projekt ein.
server {
listen 80;
server_name daniel.lienert.cc;
root /your/htdocs/Neos/Web/;
index index.php;
location ~ /_Resources/ {
access_log off;
log_not_found off;
expires max;
if (!-f $request_filename) {
rewrite "/_Resources/Persistent/([a-z0-9]{40})/.+\.(.+)" /_Resources/Persistent/$1.$2 break;
rewrite "/_Resources/Persistent(?>/[a-z0-9]{5}){8}/([a-f0-9]{40})/.+\.(.+)" /_Resources/Persistent/$1.$2 break;
}
}
location / {
try_files $uri $uri/ /index.php?$args;
}
# Pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param FLOW_REWRITEURLS 1;
fastcgi_param FLOW_CONTEXT Development;
fastcgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
fastcgi_param X-Forwarded-Port $proxy_port;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_NAME $http_host;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}