[gelöst] Drupal Installation mit Composer?
am 30.04.2021 - 00:51 Uhr in
Hallo,
es ist doch verwirrend mit den vielen Anleitungen, was man alles in welcher Reihenfolge für eine Drupal Installation braucht.
Mein Setup:
Ubuntu 20.4
Apache 2.4.41
MariaDB 10.5.9
Composer version 2.0.13...
aber dann?
In welchem Verzeichnis soll man den composer Befehl ausführen? In /var/www/html? Und welche Variante?
1)
Create a project
For Drupal 8 and Drupal 9:
composer create-project drupal/recommended-project my_site_name_dir
https://www.drupal.org/docs/develop/using-composer/using-composer-to-ins...
2)
composer create-project drupal-composer/drupal-project:9.x-dev some-dir --no-interaction
cd some-dir
composer require drupal/devel
https://github.com/drupal-composer/drupal-project
3)
composer create-project drupal/recommended-project my-project
https://www.drupal.org/docs/develop/local-server-setup/linux-development...
Wie kann ich Drupal installieren?
Danke
- Anmelden oder Registrieren um Kommentare zu schreiben
Version 1 und 3 bei Dir habe
am 30.04.2021 - 13:20 Uhr
Version 1 und 3 bei Dir habe denselben composer Aufruf.
Wenn Du eine Drupal Installation planst, kommt es einzig darauf an in welches Verzeichnis Du installieren willst. Ob das in var/www/html ist, oder in Deinem Home-Verzeichnis tut erst mal nichts zur Sache. Die genaue Anbindung des Apachen an Dein DocumentRoot, also die Stelle ab der Apache die Informationen sucht, mußt Du ohnehin in der vhost-Definition für deine Seite festlegen.
Nach den ersten Durchlaufen des composer Befehls "composer create-project drupal/recommended-project [Verzeichnis]", werden alle späteren composer Befehle in diesem Verzeichnis ausgeführt.
Dein Installationsverzeichnis hat jetzt 2 Ebenen:
Die DocumentRoot-Anweisung im vhost vom Apache muß jetzt auf das Webverzeichnis zeigen. Apache neu starten und im Browser die Seite aufrufen.
Jetzt sollte die Installation der Drupal-Instanz anspringen zu der Du
benötigst, um die Installation durchführen zu können. Du solltest auf dem gesamten Verzeichnis (obere und untere Ebene) der Gruppe www-data die Schreibrechte einräumen. Ich trage mich mit meinem Unix-Account auch immer in diese Gruppe ein um alle Dateien bearbeiten zu können.
Das sollte es eigentlich sein.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
wla schrieb...Wenn Du eine
am 01.05.2021 - 22:40 Uhr
...
Wenn Du eine Drupal Installation planst, kommt es einzig darauf an in welches Verzeichnis Du installieren willst. Ob das in var/www/html ist, oder in Deinem Home-Verzeichnis tut erst mal nichts zur Sache. Die genaue Anbindung des Apachen an Dein DocumentRoot, also die Stelle ab der Apache die Informationen sucht, mußt Du ohnehin in der vhost-Definition für deine Seite festlegen.
Nach den ersten Durchlaufen des composer Befehls "composer create-project drupal/recommended-project [Verzeichnis]", werden alle späteren composer Befehle in diesem Verzeichnis ausgeführt.
...
Vielen Dank.
EDIT: falls das jemand nachmacht! Nicht vergessen chown (Rechte setzen!) so wie ich und dann unten in Schwierigkeiten kommen...
sudo chown -R www-data:www-data /var/www
sudo chown -R deinuser:deinuser /var/www
Mein Apache document root dieses: /var/www/d9.example.lokal
In diesem Verzeichnis habe ich
composer create-project drupal/recommended-project d9
gemacht.
Terminal:
/var/www/d9.example.lokal$ composer create-project drupal/recommended-project d9
Creating a "drupal/recommended-project" project at "./d9"
Installing drupal/recommended-project (9.1.7)
- Downloading drupal/recommended-project (9.1.7)
- Installing drupal/recommended-project (9.1.7): Extracting archive
Created project in /var/www/d9.example.lokal/d9
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.
Problem 1
- drupal/core is locked to version 9.1.7 and an update of this package was not requested.
- drupal/core 9.1.7 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
Problem 2
- laminas/laminas-feed is locked to version 2.13.0 and an update of this package was not requested.
- laminas/laminas-feed 2.13.0 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
Problem 3
- masterminds/html5 is locked to version 2.7.4 and an update of this package was not requested.
- masterminds/html5 2.7.4 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
Problem 4
- drupal/core 9.1.7 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- drupal/core-recommended 9.1.7 requires drupal/core 9.1.7 -> satisfiable by drupal/core[9.1.7].
- drupal/core-recommended is locked to version 9.1.7 and an update of this package was not requested.
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/7.4/cli/php.ini
- /etc/php/7.4/cli/conf.d/10-opcache.ini
- /etc/php/7.4/cli/conf.d/10-pdo.ini
- /etc/php/7.4/cli/conf.d/20-calendar.ini
- /etc/php/7.4/cli/conf.d/20-ctype.ini
- /etc/php/7.4/cli/conf.d/20-exif.ini
- /etc/php/7.4/cli/conf.d/20-ffi.ini
- /etc/php/7.4/cli/conf.d/20-fileinfo.ini
- /etc/php/7.4/cli/conf.d/20-ftp.ini
- /etc/php/7.4/cli/conf.d/20-gettext.ini
- /etc/php/7.4/cli/conf.d/20-iconv.ini
- /etc/php/7.4/cli/conf.d/20-json.ini
- /etc/php/7.4/cli/conf.d/20-phar.ini
- /etc/php/7.4/cli/conf.d/20-posix.ini
- /etc/php/7.4/cli/conf.d/20-readline.ini
- /etc/php/7.4/cli/conf.d/20-shmop.ini
- /etc/php/7.4/cli/conf.d/20-sockets.ini
- /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.4/cli/conf.d/20-sysvsem.ini
- /etc/php/7.4/cli/conf.d/20-sysvshm.ini
- /etc/php/7.4/cli/conf.d/20-tokenizer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Dann habe ich zwei Dateien in /var/www/d9.example.lokal/d9
ls
composer.json composer.lock
Oben stand: "Your lock file does not contain a compatible set of packages. Please run composer update."
Meine Version:
composer -V
Composer version 2.0.13 2021-04-27 13:11:08
Dann:
$ composer update
Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- drupal/core-recommended[9.1.0, ..., 9.1.6] require laminas/laminas-feed 2.13.0 -> satisfiable by laminas/laminas-feed[2.13.0].
- drupal/core-recommended 9.1.7 requires drupal/core 9.1.7 -> satisfiable by drupal/core[9.1.7].
- drupal/core-recommended 9.1.1 requires drupal/core 9.1.x-dev -> found drupal/core[9.1.x-dev] but it does not match your minimum-stability.
- laminas/laminas-feed 2.13.0 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- drupal/core 9.1.7 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- Root composer.json requires drupal/core-recommended ^9.1 -> satisfiable by drupal/core-recommended[9.1.0, ..., 9.1.7].
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/7.4/cli/php.ini
- /etc/php/7.4/cli/conf.d/10-opcache.ini
- /etc/php/7.4/cli/conf.d/10-pdo.ini
- /etc/php/7.4/cli/conf.d/20-calendar.ini
- /etc/php/7.4/cli/conf.d/20-ctype.ini
- /etc/php/7.4/cli/conf.d/20-exif.ini
- /etc/php/7.4/cli/conf.d/20-ffi.ini
- /etc/php/7.4/cli/conf.d/20-fileinfo.ini
- /etc/php/7.4/cli/conf.d/20-ftp.ini
- /etc/php/7.4/cli/conf.d/20-gettext.ini
- /etc/php/7.4/cli/conf.d/20-iconv.ini
- /etc/php/7.4/cli/conf.d/20-json.ini
- /etc/php/7.4/cli/conf.d/20-phar.ini
- /etc/php/7.4/cli/conf.d/20-posix.ini
- /etc/php/7.4/cli/conf.d/20-readline.ini
- /etc/php/7.4/cli/conf.d/20-shmop.ini
- /etc/php/7.4/cli/conf.d/20-sockets.ini
- /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.4/cli/conf.d/20-sysvsem.ini
- /etc/php/7.4/cli/conf.d/20-sysvshm.ini
- /etc/php/7.4/cli/conf.d/20-tokenizer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Wegen "do not have the PHP curl extension enabled". Einfach in /etc/php/7.4/cli/php.ini das Semikolon entfernen? Oder bezieht sich das nur auf Windows?
; Notes for Windows environments :
;
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
;extension=bz2
extension=curl
;extension=ffi
Nach "systemctl restart apache2"
Kommt:
$ composer update
PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: /usr/lib/php/20190902/curl (/usr/lib/php/20190902/curl: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/curl.so (/usr/lib/php/20190902/curl.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- drupal/core-recommended[9.1.0, ..., 9.1.6] require laminas/laminas-feed 2.13.0 -> satisfiable by laminas/laminas-feed[2.13.0].
- drupal/core-recommended 9.1.7 requires drupal/core 9.1.7 -> satisfiable by drupal/core[9.1.7].
- drupal/core-recommended 9.1.1 requires drupal/core 9.1.x-dev -> found drupal/core[9.1.x-dev] but it does not match your minimum-stability.
- laminas/laminas-feed 2.13.0 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- drupal/core 9.1.7 requires ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- Root composer.json requires drupal/core-recommended ^9.1 -> satisfiable by drupal/core-recommended[9.1.0, ..., 9.1.7].
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/7.4/cli/php.ini
- /etc/php/7.4/cli/conf.d/10-opcache.ini
- /etc/php/7.4/cli/conf.d/10-pdo.ini
- /etc/php/7.4/cli/conf.d/20-calendar.ini
- /etc/php/7.4/cli/conf.d/20-ctype.ini
- /etc/php/7.4/cli/conf.d/20-exif.ini
- /etc/php/7.4/cli/conf.d/20-ffi.ini
- /etc/php/7.4/cli/conf.d/20-fileinfo.ini
- /etc/php/7.4/cli/conf.d/20-ftp.ini
- /etc/php/7.4/cli/conf.d/20-gettext.ini
- /etc/php/7.4/cli/conf.d/20-iconv.ini
- /etc/php/7.4/cli/conf.d/20-json.ini
- /etc/php/7.4/cli/conf.d/20-phar.ini
- /etc/php/7.4/cli/conf.d/20-posix.ini
- /etc/php/7.4/cli/conf.d/20-readline.ini
- /etc/php/7.4/cli/conf.d/20-shmop.ini
- /etc/php/7.4/cli/conf.d/20-sockets.ini
- /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.4/cli/conf.d/20-sysvsem.ini
- /etc/php/7.4/cli/conf.d/20-sysvshm.ini
- /etc/php/7.4/cli/conf.d/20-tokenizer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Da stimm wohl etwas mit PHP nicht, wo anfangen?
Danke.
Drupal 9.x, Ubuntu
Composer hat noch Nicht
am 01.05.2021 - 16:24 Uhr
Composer hat noch Nichts installiert, da Dein System nicht alle benötigten php-Extensions installiert hat. Du hast einen Server mit Ubuntu. Dann sorge bitte dafür, das Du folgende Packages installiert hast: 'php7.4', 'libapache2-mod-php7.4', 'php7.4-mysql', 'php7.4-curl', 'php7.4-json', 'php7.4-cgi', 'php7.4-mbstring', 'php7.4-zip', 'git', 'php7.4-xml', 'php7.4-dom', 'php7.4-gd'
Diese Pakete müssen in php enabled werden:
phpenmod mbstring, phpenmod zip, phpenmod dom etc...
Du hast außerdem 2 php.ini-Files wenn es um die Aktivierung von Libraries bzw. Extensions geht einen im Verzeichnis /etc/php/7.4/apache2 und einen im Verzeichnis /etc/php/7.4/cli. Der erste wirkt sich auf den Apache web sever aus, der zweite für composer und drush.
Wenn Du alle Pakete geladen und aktiviert hast, muß der Apache neu gestartet werden. Bitte nicht vergessen im Apache das Paket rewrite zu aktivieren (a2enmod rewrite)
In das Verzeichnis /var/www/d9.example.lokal/d9 gehen und dort "composer update" ausführen. die Datei composer.json beinhaltet, was Du für die Installation benötigst und das läd der composer dann auf Dein System herunter.
Danach das DocumentRoot auf /var/www/d9.example.lokal/d9/web ändern, damit Du die Seite im Browser aufrufen und damit die Installation starten kannst (d9.example.lokal).
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Das hat soweit geklappt. $
am 01.05.2021 - 17:35 Uhr
Das hat soweit geklappt.
$ composer update
PHP Warning: Module 'curl' already loaded in Unknown on line 0
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
Generating autoload files
38 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Beim Drupal 9.1.7 Installer kommt:
"Requirements problem
Translations directory
The translations directory does not exist.
The installer requires that you create a translations directory as part of the installation process. Create the directory sites/default/files/translations . More details about installing Drupal are available in INSTALL.txt."
Habe das hier gefunden, ist aber schon älter:
https://www.drupal.org/project/drupal/issues/2333293
Soll man das von Hand machen? "Create the directory sites/default/files/translations"
Habe ich bei den Berechtigungen unter Ubuntu nicht aufgepasst?
EDIT: https://www.drupal.org/node/202483
Example:
To make Drupal's sites/default folder writeable...
cd /home/exampleuser/www.example.com/sites
chmod a+w default
Drupal 9.x, Ubuntu
Es ging mit der Sprache
am 01.05.2021 - 17:51 Uhr
Es ging mit der Sprache weiter aber hier hängt es jetzt trotz chmod a+w default
$ chmod a+w default
/d9/web/sites$ ls
README.txt default development.services.yml example.settings.local.php example.sites.php
Konfigurationsdatei
Konfigurationsdatei existiert nicht.
Das Installationsprogramm von Drupal benötigt während der Installation Zugriff auf die Datei ./sites/default/settings.php. Kopieren Sie die Datei ./sites/default/default.settings.php und benennen Sie sie in ./sites/default/settings.php um. Weitere Hinweise zur Installation von Drupal finden Sie in der Datei INSTALL.txt.
Damit gings weiter:
sudo chown -R www-data:www-data /var/www
Drupal 9.x, Ubuntu
Ich hatte in meinem ersten
am 01.05.2021 - 17:57 Uhr
Ich hatte in meinem ersten Post im letzten Absatz darauf hingewiesen, daß Du der Gruppe www-data Schreibrechte einräumen solltest. Wer lesen kann ist klar im Vorteil.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
wla schriebIch hatte in
am 01.05.2021 - 18:09 Uhr
Ich hatte in meinem ersten Post im letzten Absatz darauf hingewiesen, daß Du der Gruppe www-data Schreibrechte einräumen solltest. Wer lesen kann ist klar im Vorteil.
Ja danke.
Jetzt knoble ich an "Clean URLs". Habe Insatllatoin auf EN umgeschaltet um im Netz mehr zu finden.
Clean URLs
Disabled
Your server is capable of using clean URLs, but it is not enabled. Using clean URLs gives an improved user experience and is recommended.
https://www.drupal.org/forum/support/post-installation/2012-05-11/solved...
Man soll
/etc/apache2/sites-available/meinVirtHost.conf
<Directory /var/www/meinVirtHost>
Allowoverride All
</Directory>
Damit kam ich weiter.
Drupal 9.x, Ubuntu