Drupal: Difference between revisions

From 太極
Jump to navigation Jump to search
Line 145: Line 145:
</ul>
</ul>


= Install by Docker =
= Install =
<ul>
<ul>
<li>[https://www.linode.com/docs/guides/how-to-install-drupal-with-docker-compose-debian-10/ Installing Drupal with Docker Compose on Debian 10]
<li>[https://www.linode.com/docs/guides/how-to-install-drupal-with-docker-compose-debian-10/ Installing Drupal with Docker Compose on Debian 10]
Line 161: Line 161:
</pre>
</pre>
<li>[https://hub.docker.com/r/bitnami/drupal Bitnami package for Drupal]. The username/password is user/bitnami. It worked.
<li>[https://hub.docker.com/r/bitnami/drupal Bitnami package for Drupal]. The username/password is user/bitnami. It worked.
<li>[https://jigarius.com/blog/drupal-with-ddev Dockerize Drupal with Ddev]
</ul>
</ul>


Line 168: Line 169:
<li>[https://www.youtube.com/watch?v=8TaL6UmOohc Setup Drupal 9 with DDEV-Local in 5 minutes]
<li>[https://www.youtube.com/watch?v=8TaL6UmOohc Setup Drupal 9 with DDEV-Local in 5 minutes]
<li>[https://dev.to/shriaas2898/setting-up-drupal9-multi-site-with-ddev-2f22 Setting up drupal9 multi-site with DDEV] 2021/9 and a [https://www.youtube.com/watch?v=MvXJJllmW8I video]
<li>[https://dev.to/shriaas2898/setting-up-drupal9-multi-site-with-ddev-2f22 Setting up drupal9 multi-site with DDEV] 2021/9 and a [https://www.youtube.com/watch?v=MvXJJllmW8I video]
</ul>
== Upgrade ==
<ul>
<li>[https://www.drupal.org/project/drupal/releases/10.2.2 drupal 10.2.2]. Currently I am running Drupal 10.2.0.</br>
To update your site and all dependencies to the latest version of Drupal:
{{Pre}}
composer update "drupal/core-*" --with-all-dependencies
</pre>
To update your site to this specific release:
{{Pre}}
composer require drupal/core-recommended:10.2.2 drupal/core-composer-scaffold:10.2.2 drupal/core-project-message:10.2.2 --update-with-all-dependencies
</pre>
<li>[https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer Updating Drupal core via Composer]
<li>[https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-6-or-drupal-7/upgrade-using-drush Upgrade using Drush]
<li>[https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-9-to-drupal-10 How to upgrade from Drupal 9 to Drupal 10]
<li>[https://drupalize.me/tutorial/upgrade-drupal-10 Upgrade to Drupal 10 for Drupal 9, 10]
</ul>
</ul>

Revision as of 16:39, 21 January 2024

Resource

Websites by drupal

Composer

  • Composer is a dependency manager for PHP. Drupal core uses Composer to manage core dependencies like Symfony components and Guzzle.
    • PHP has to be installed. Use php -v to check your PHP version.
  • Using Composer with Drupal
  • You can use Composer to download and install Drupal core, as well as contributed modules, themes, and their third-party dependencies.
  • Composer can also be used to update Drupal and its dependencies.
  • List of composer commands
    • composer install: This command reads the composer.json file from the current directory, resolves the dependencies, and installs them into the vendor directory.
    • composer require: This command adds new packages to the composer.json file and installs them. For example, composer require drush/drush will install drush. We can use a similar command to install drupal.
    • composer update: This command updates the dependencies to their latest versions according to the composer.json file.
    • composer remove: This command removes packages from the composer.json file and reupdates the dependencies.
    • composer list: list all commands
    • composer self-update.

Install Drupal

  • Installing Drupal, Drush and Console - from the course of Linux for PHP developers (linkedin), although this is not a recommended installation way of WordPress and Drupal.

DDEV and PHP

  • DDEV is an open-source tool that makes it simple to set up local PHP development environments within minutes. It’s often used for Drupal development, and it has built-in support for Drush, the command-line utility and scripting interface for Drupal.
  • https://www.drupal.org/ddev. DDEV builds the DDEV-Local tool, which helps PHP developers remove the complexity of local containerized development across operating systems and hosting providers.
  • The software support Mac, Windows, Linux and Cloud.
    • Gitpod for cloud deployment. The free plan has some limitations per month.
  • https://github.com/ddev/ddev
  • DDEV and Drush
    • Drush commands in DDEV: ddev exec drush --version
    • Drush Use with DDEV: drush site:set
    • Environment Variables in DDEV: you can set an environment variable in your .ddev/config.yaml
    • Performance Improvements
  • DDEV and Composer
    • DDEV has built-in Composer commands
    • Commands: DDEV provides the ddev composer and ddev composer create commands. These run Composer inside the container.

Different CMS project types

Other than Drupal, it also supports other CMS and PHP frameworks such as WordPress, BackDrop, TYPO3, Magento, et al. See CMS Quickstarts for a list.

For Drupal 10,

mkdir my-drupal10-site
cd my-drupal10-site
ddev config --project-type=drupal10 --docroot=web --create-docroot
ddev start
ddev composer create drupal/recommended-project
ddev composer require drush/drush
ddev drush site:install --account-name=admin --account-pass=admin -y
ddev drush uli
ddev launch

Drupal Local Development Guide

https://www.drupal.org/docs/official_docs/local-development-guide.

At the end, we will visit the User Guide and read the following chapters:

  • Chapter 6. Setting Up Content Structure
    • Add/delete a content type
    • Add basic fields to a content type
    • Reference fields
    • Set up a taxonomy
    • Add a reference field
    • Forms and widgets
    • Content entry forms
    • View modes and formatters
    • Change content display
    • Set up an image styles
    • Responsive image styles, text formats/editors

Drush

  • Drush, also known as the Drupal Shell, is a command-line utility and scripting interface for Drupal. It’s widely used in Drupal development and system administration. It’s recommended to use composer to install Drush inside your project.
    • Speeds up tasks: Drush can speed up installing, developing, debugging, and maintaining Drupal sites.
    • Generates boilerplate code: It’s capable of generating boilerplate code for custom developments.
    • Command-line interface: Rather than clicking through the admin interface to achieve something, you simply type in one command.
  • It’s recommended to use composer to install Drush inside your project. Local dev tools such as DDEV or Lando provide aliases to run Drush without path and from any directory.
  • Some drush commands
    # Commands list
    drush
    
    # Help about a command
    drush help cache:clear
    
    # Help about a more detailed topic
    drush topic [topic]
    
    # Empty cache (The most used command)
    drush cache:rebuild
    
    # The same with an alias
    drush cr
    

Install

  • Installing Drupal with Docker Compose on Debian 10
  • How to Install Drupal with Docker on Ubuntu 22.04
  • How To Develop a Drupal 9 Website on Your Local Machine Using Docker and DDEV 2020/8. Installation looks fine but I got a message '400 Bad Request The plain HTTP request was sent to HTTPS port' after I try to sign in. In fact, the operations still work. If I manually changed the URL from "http" to "https", it'll show the new results.
    ddev list  
    ┌────────┬─────────┬──────────┬──────────────────────────┬─────────┐
    │ NAME   │ STATUS  │ LOCATION │ URL                      │ TYPE    │
    ├────────┼─────────┼──────────┼──────────────────────────┼─────────┤
    │ d9test │ OK      │ ~/d9test │ https://d9test.ddev.site │ drupal9 │
    ├────────┼─────────┼──────────┼──────────────────────────┼─────────┤
    │ Router │ healthy │ ~/.ddev  │ http://127.0.0.1:10999   │ traefik │
    └────────┴─────────┴──────────┴──────────────────────────┴─────────┘
    
  • Bitnami package for Drupal. The username/password is user/bitnami. It worked.
  • Dockerize Drupal with Ddev

Videos (youtube: ddev drupal)

Upgrade