Thursday, January 22, 2015

Setting up a local dev instance

Here are a few tips about setting up my local dev environment for working on PlayPoi.  Linux Mint 17, Apache 2.4.7.

This is not a complete set of steps but just a few key points and things to remember to do.



Installing Drupal 8 beta 4.

(a)  I already had a copy of the D8 beta 4 directory available locally, so I made a copy of it under /var/www/html and renamed it to playpoi.

(b)  Changed the owner of the entire site instance to the user that Apache runs under.

  # cd  /var/www/html
  # chown  -R  www-data:www-data  playpoi

(c)  Edited /etc/apache2/apache2.conf to insert the following directive so that the .htaccess file of the site is used.

  <Directory  /var/www/html/playpoi>
      AllowOverride All
  </Directory>

(d)  I've also started using virtual hosts. So I created one for this site following the directions in this blog post:

http://optimizely-to-drupal-8.blogspot.com/2015/01/setting-up-virtual-hosts-for-multiple.html



Setting up for our custom theming and modules.

Dee and I are using a GitHub repo as a collaborative space for managing our code and its issues.

At the same time, Drupal 8 is still in beta and continuing to evolve. The D8 convention is to put custom themes and contrib/custom modules into the top-level site directories themes and modules, respectively.

In order to provide loose coupling between our custom work for PlayPoi on the one hand, and the updates to Drupal 8 core on the other, on our local systems we are replacing those two top-level directories with symbolic links that point into where the local GitHub repo is placed.

In other words, the code we are working on is actually located outside of the site tree.

On my local system,

  $ cd /home/earl
  $ git clone  git@github.com:DeeZone/playpoi.git

which cloned the repo into /home/earl/playpoi.

  # cd  /var/www/html/playpoi
  # rm  -r  themes
  # ln -s  /home/earl/playpoi/themes  themes

  # rm  -r  modules
  # ln -s  /home/earl/playpoi/modules  modules

In the event that the entire D8 tree might get replaced, it would only be necessary to re-create the symbolic links.

Another benefit is that by having the GitHub repo separately placed in my own file space with me as the owner, I can work on it while logged in as myself without needing to be part of any special group or to have elevated privileges.

Also, the repo gets included in the back-up of my home directory, which is already set up.

No comments:

Post a Comment