Skip to content

Instantly share code, notes, and snippets.

@Deele
Created May 10, 2016 12:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Deele/8290e8bd4a65d4ceba91843870f08399 to your computer and use it in GitHub Desktop.
Save Deele/8290e8bd4a65d4ceba91843870f08399 to your computer and use it in GitHub Desktop.
Creating Drupal 8 site

drupal8-site

Install in separate environment

Install Drupal VM

Link: Drupal VM - Quick Start Guide

Install in existing environment

Install Drupal files

Link: Composer template for Drupal projects

Change ~/drupal8-site to non-existing subdirectory, where drupal files will be located.

composer create-project drupal-composer/drupal-project:8.x-dev ~/drupal8-site --stability dev --no-interaction

Set file permissions

Even thou composer provides post-install permission setup, in my environment, I required to remove write permission for group.

Note: Change ~/drupal8-site to directory, where you

find ~/drupal8-site -type d -exec chmod 755 {} + && find ~/drupal8-site -type f -exec chmod 644 {} +

Create database and user that can access it

Link: Drupal - System requirements

Drupal requires one of MySQL, MariaDB or Percona Server.

Create subdomain

For development purposes, I will use subdomain like dev.drupal8-site.dev.example.com that has webroot targeting ~/drupal8-site/web

Install Drupal using wizard

Browse / (which is root http://dev.drupal8-site.dev.example.com in my case) to start installation process.

Provide default language, database settings and site settings.

Make sure to fix any system requirements that are critical.

Note: Site settings can be changed afterwards. Browse /admin/config/system/site-information to access site configuration tool.

Install extensions

Browse /admin/modules/install to access module installation tool. Go to module page, copy tar.gz URL, paste it in installation tool.

CTools

Link: Chaos tool suite (ctools) project

This suite is primarily a set of APIs and tools to improve the developer experience. It also contains a module called the Page Manager whose job is to manage pages. In particular it manages panel pages, but as it grows it will be able to manage far more than just Panels.

Display Suite

Link: Display Suite project

Display Suite allows you to take full control over how your content is displayed using a drag and drop interface. Arrange your nodes, views, comments, user data etc. the way you want without having to work your way through dozens of template files. A predefined list of layouts (D7 only) is available for even more drag and drop fun!

Layout Plugin

Link: Layout plugin project

Allows modules or themes to register layouts by simply providing a YAML file and some templates, and for other modules to list the available layouts and render them.

Panels

Link: Panels project

The Panels module allows a site administrator to create customized layouts for multiple uses. At its core it is a drag and drop content manager that lets you visually design a layout and place content within that layout. Integration with other systems allows you to create nodes that use this, landing pages that use this, and even override system pages such as taxonomy and the node page so that you can customize the layout of your site with very fine grained permissions.

Page Manager

Link: Page Manager project

It supports the creation of new pages, and allows placing blocks within that page. Like Drupal 7's Page Manager, it provides a concept of "page variants", each with their own selection conditions.

Admin Toolbar

Link: Admin Toolbar project

Admin Toolbar intends to improve the default Drupal Toolbar (the administration menu at the top of your site) to transform it into a drop-down menu, providing a fast access to all administration links.

Token

Link: Token project

Provides additional tokens not supported by core (most notably fields), as well as a UI for browsing tokens.

Pathauto

Link: Pathauto project

The Pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path alias. This allows you to have URL aliases like /category/my-node-title instead of /node/123. The aliases are based upon a "pattern" system that uses tokens which the administrator can change.

Google Analytics

Link: Google Analytics project

Adds the Google Analytics web statistics tracking system to your website.

Devel

Links: Devel

Configuration inspector

Links: Configuration inspector for Drupal 8

Browse /admin/config/development/configuration/inspect.

Image Style Quality

Links: Image Style Quality

This module allows you to specify a custom quality on individual image styles. This is useful when you have very large styles which you may want to reduce the quality of for performance reasons.

Enable extensions

Browse /admin/modules to access module configuration tool.

  • Chaos tools
  • Display Suite
  • Display Suite Extras
  • Layout Plugin
  • Page Manager
  • Page Manager UI
  • Configuration Translation (for multilangual sites)
  • Content Translation (for multilangual sites)
  • Interface Translation (for multilangual sites)
  • Language (for multilangual sites)
  • Pathauto
  • Panels
  • Panels IPE
  • Token
  • Devel
  • Devel Kint
  • Admin Toolbar
  • Admin Toolbar Extra Tools
  • Google Analytics

Install theme

Twitter Bootstrap

Link: Bootstrap project

Enable theme by browsing to /admin/appearance appearance tool.

Create front page

Browse /admin/structure/page_manager and create new page labeled "Home" with path /home.

Add at least one variant to page.

Switch front page to new one

Browse /admin/config/system/site-information and change "Default front page" to /home.

Disable caching

Link: Disable Drupal 8 caching during development

To be continued...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment