Drupal lokal installieren: Unterschied zwischen den Versionen

Aus Wissen Sammlung
Zur Navigation springen Zur Suche springen
 
Zeile 51: Zeile 51:
   --account-name=Test \
   --account-name=Test \
   --account-pass=test
   --account-pass=test
sudo -u www-data vendor/bin/drush  pm:install language locale -y
  sudo -u www-data vendor/bin/drush language:add de
sudo -u www-data vendor/bin/drush config:set system.site default_langcode de -y
sudo -u www-data vendor/bin/drush cr
  sudo -u www-data vendor/bin/drush locale:check
sudo -u www-data vendor/bin/drush locale:update
</pre>
</pre>



Aktuelle Version vom 10. September 2026, 13:44 Uhr

Drupal lokal installieren

Öffne zunächst ein Terminal-Fenster und gib Folgendes ein:

sudo apt update
sudo apt install -y php8.5-fpm php8.5-cli php8.5-pgsql php8.5-gd \
php8.5-xml php8.5-mbstring php8.5-curl php8.5-zip \
postgresql

Jetzt werden die folgenden Bibliotheken heruntergeladen, die Drupal benötigt.

Composer installieren

Dafür brauchen wir Composer und andere Bibliotheken. Gib Folgendes ein:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
EXPECTED_HASH="$(curl -sS https://composer.github.io/installer.sig)"
php -r "if (hash_file('sha384', 'composer-setup.php') === '$EXPECTED_HASH') { echo 'Installer verifiziert' . PHP_EOL; } else { echo 'Installer beschaedigt' . PHP_EOL; unlink('composer-setup.php'); exit(1); }"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"

Jetzt brauchen wir noch eine Datenbank, sonst läuft Drupal nicht. Gib Folgendes ein:

sudo -u postgres createuser --pwprompt drupal
sudo -u postgres createdb -E UTF8 -O drupal drupal

Drupal installieren

Gib Folgendes ein:

cd /var/www
sudo composer create-project drupal/recommended-project drupal
cd drupal
sudo composer require drush/drush
sudo chown -R www-data:www-data /var/www/drupal
chmod +x vendor/bin/drush

Drupal konfigurieren

sudo -u www-data vendor/bin/drush site:install standard \
  --db-url="pgsql://drupal:Test@127.0.0.1:5432/drupal" \
  --site-name="Mein Drupal" \
  --account-name=Test \
  --account-pass=test

 sudo -u www-data vendor/bin/drush  pm:install language locale -y
  sudo -u www-data vendor/bin/drush language:add de
sudo -u www-data vendor/bin/drush config:set system.site default_langcode de -y
sudo -u www-data vendor/bin/drush cr
   sudo -u www-data vendor/bin/drush locale:check
sudo -u www-data vendor/bin/drush locale:update


Schnell Test

sudo -u www-data vendor/bin/drush runserver 127.0.0.1:8888

Nginx konfigurieren

Erstelle oder bearbeite die Datei /etc/nginx/sites-available/drupal und füge Folgendes ein:

server {
    listen 80;
    listen [::]:80;
    server_name localhost;
    root /var/www/drupal/web;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt  { allow all; log_not_found off; access_log off; }

    location ~ ^/sites/.*/private/ { return 403; }
    location ~ ^/sites/[^/]+/files/.*\.php$ { deny all; }

    location / {
        try_files $uri /index.php?$query_string;
    }

    location @rewrite {
        rewrite ^ /index.php;
    }

    location ~ "\.php$|^/update\.php" {
        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        try_files $fastcgi_script_name =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php8.5-fpm.sock;
    }

    location ~* "\.(js|css|gif|jpg|jpeg|png|svg|woff|woff2)$" {
        try_files $uri @rewrite;
        expires max;
        log_not_found off;
    }
}

Anschließend im Terminal eingeben:

sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo chmod 777 -R /var/www/drupal

Jetzt läuft es