IDE:Neos: Unterschied zwischen den Versionen

Aus ahrensburg.city
Zur Navigation springen Zur Suche springen
// via Wikitext Extension for VSCode
 
// via Wikitext Extension for VSCode
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 5: Zeile 5:
=== Schritte ===
=== Schritte ===
<ol>
<ol>
<li>Als Benutzer <code>postgres</code> anmelden:
<li><b>Als Benutzer <code>postgres</code> anmelden:</b>
<pre>
<pre>
sudo -u postgres -i
sudo -u postgres -i
</pre>
</pre>
Dadurch wechselst du zum Datenbank-Benutzer <code>postgres</code>, um Datenbankbefehle auszuführen.
</li>
</li>
<li>Neue Datenbank für Neos anlegen:
 
<li><b>Neue Datenbank für Neos anlegen:</b>
<pre>
<pre>
createdb -E UTF8 -O thorsten neos
createdb -E UTF8 -O thorsten neos
exit
exit
</pre>
</pre>
Erstellt eine neue PostgreSQL-Datenbank namens <code>neos</code> mit UTF8-Kodierung und dem Eigentümer <code>thorsten</code>. Mit <code>exit</code> verlässt du den <code>postgres</code>-Benutzer.
</li>
</li>
<li>Ins Webverzeichnis wechseln und Ordner für Neos erstellen:
 
<li><b>Ins Webverzeichnis wechseln und Ordner für Neos erstellen:</b>
<pre>
<pre>
cd /var/www
cd /var/www
Zeile 22: Zeile 26:
sudo chmod 777 -R neos
sudo chmod 777 -R neos
</pre>
</pre>
Wechselt ins Webverzeichnis, erstellt einen Ordner <code>neos</code> und gibt allen Nutzern Schreibrechte (für Entwicklung geeignet, für Produktion restriktiver setzen).
</li>
</li>
<li>Neos mit Composer installieren:
 
<li><b>Neos mit Composer installieren:</b>
<pre>
<pre>
composer create-project neos/neos-base-distribution:^8.0 neos
composer create-project neos/neos-base-distribution:^8.0 neos
</pre>
</pre>
Lädt die aktuelle Neos-Basisdistribution in den Ordner <code>neos</code> mit Composer.
</li>
</li>
<li>In das Neos-Verzeichnis wechseln und Setup ausführen:
 
<li><b>In das Neos-Verzeichnis wechseln und Setup ausführen:</b>
<pre>
<pre>
cd neos
cd neos
./flow setup:database
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 setup
./flow server:run
</pre>
</pre>
<ul>
<li><code>./flow setup:database</code>: Datenbankverbindung konfigurieren.</li>
<li><code>./flow doctrine:migrate</code>: Datenbankschema anlegen.</li>
<li><code>./flow user:create --roles Administrator</code>: Admin-Benutzer erstellen.</li>
<li><code>./flow site:create</code>: Leeres Site-Paket erstellen.</li>
<li><code>./flow kickstart:site Vendor.Site</code>: Beispiel-Site-Paket generieren.</li>
<li><code>./flow site:import --package-key Vendor.Site</code>: Site-Paket importieren.</li>
<li><code>./flow setup</code>: Neos-Grundsetup ausführen.</li>
<li><code>./flow server:run</code>: Entwicklungsserver starten (http://localhost:8081).</li>
</ul>
</li>
</li>
</ol>
</ol>


''Hinweis: Die Befehle müssen mit entsprechenden Rechten ausgeführt werden. Composer muss installiert sein.''
''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:
<pre>
sudo nano /etc/nginx/conf.d/neos.conf
</pre>
Trage dort die passenden Einstellungen für dein Projekt ein.
<pre>
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;
  }
}
</pre>

Aktuelle Version vom 29. Oktober 2025, 08:41 Uhr

Neos Installation Schritt-für-Schritt Anleitung

Diese Anleitung beschreibt die Installation von Neos CMS auf einem Linux-Server mit PostgreSQL.

Schritte

  1. Als Benutzer postgres anmelden:
    sudo -u postgres -i
    

    Dadurch wechselst du zum Datenbank-Benutzer postgres, um Datenbankbefehle auszuführen.

  2. Neue Datenbank für Neos anlegen:
    createdb -E UTF8 -O thorsten neos
    exit
    

    Erstellt eine neue PostgreSQL-Datenbank namens neos mit UTF8-Kodierung und dem Eigentümer thorsten. Mit exit verlässt du den postgres-Benutzer.

  3. 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 neos und gibt allen Nutzern Schreibrechte (für Entwicklung geeignet, für Produktion restriktiver setzen).

  4. Neos mit Composer installieren:
    composer create-project neos/neos-base-distribution:^8.0 neos
    

    Lädt die aktuelle Neos-Basisdistribution in den Ordner neos mit Composer.

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