Month: September 2018

Drupal 7 dev environment install

Instructions for dev environment setup and Drupal 7 install on Windows 10

Dev Environment

Get and install EasyPHP DevServer

  • EasyPHP download
  • Click to download DevServer 17
  • After a few seconds, the download will automatically begin
  • Run the installer: select language, install directory (default is fine), create desktop icon
  • Click Install
  • Select to launch, click Finish
  • An icon will appear in the notification tray, click on it, select ‘open dashboard’
  • It should open a window to (localhost, port 1111).
  • If you get an error: “This site can’t be reached”, then try to ‘start servers’ from the information tray menu. If the dashboard still won’t come up, then reboot your computer
  • When your computer comes back up, double click on the DevServer 17 icon on your desktop
  • An icon will appear in the notification tray, click on it, select ‘open dashboard’
  • It should open a window to (localhost, port 1111).
  • Click to start the HTTP server and the Database server

Install Additional Tools

Set Up Your Project

  • If you don’t have one, create a GitHub repository at Click the checkbox to create a README file, so you can clone the repo right away.
  • Click into the repository, click Clone or Download > Open in Desktop
  • Copy the local path from the dialog and click Clone
  • Go to the EasyPHP Devserver dashboard
  • Click Add Directory
  • Add a working directory name… it will be used as the pseudo document root for this project. It will be prefixed with “edsa-“, do not include spaces
  • Under Path to the working directory, paste the path that the repository was cloned into, click ‘Save’
  • In your IDE (Eclipse, Zend Studio, PHPStorm, etc.) add the project, sourced from the local GitHub repo location

Prepare Drupal 7 files

  • Drupal 7 install guide (for reference if needed)
  • Go to the Drupal Project Page
  • Click on the Drupal core 7.x version button (7.59 at time of writing) to download Drupal 7
  • On the project page that comes up, click ‘Download Zip’
  • Unzip the downloaded file then move the contents of the “drupal-7.59” directory to the project’s GitHub repo directory

Create the Project Database

  • Go to the EasyPHP DevServer dashboard
  • Click “Open” next to the MySQL Administration header
  • Click “User Accounts”
  • Click “Add User Account”
  • Enter a user name, select “Local” under Hostname, select “No Password” under Password
  • Under “Database for user account”, check the box next to “Create database with same name and grant all privileges.” Click “Go” at the bottom of the page.

Install Drupal 7

  • Go to the EasyPHP DevServer dashboard, and click to visit your project site in browser
  • You should see “select an installation profile”. Select ‘standard’ and click “Save and Continue”
  • Select your language and click “Save and continue”
  • If you see the “Verify Requirements” page, use the install guide to resolve any problems.
  • Make sure MySQL is selected, and enter the database credentials: enter your database name, the user name, leave password blank. Under ‘Advanced options’ make sure the host is localhost. Click “Save and continue”.
  • It will run for a minute with a progress bar. When it is done, configure the application: Site name can be changed now or later (to something human readable), follow instructions to fill out the rest of the settings. Site Maintenance Username, etc. is the Username you will use to log in with. Click “Save and continue”.
  • Click to view your site.
  • In a production environment, you would need to secure your site: change permissions on the sites/default/settings.php file to make it essentially 644… readable by all, writable by the owner

Next Steps

It looks like the Drupal 7 User Guide is designed to be a walk-through. There is also this page that has lots and lots of good info about the different components of drupal and their relationships, in addition to links to lots of other informative articles.

Please comment below or contact me if you have questions, or if you find problems with these instructions!

Local development

Been meaning to move my dev environment onto my local machines instead of developing directly on the server. There are lots of benefits to this: it will save me from setting up dev hosts on the server, for one. And this will help keep commits in github from being so granular and cluttering up the place. Also, it should save a few seconds every time I want to test what I’ve done, which will save me at least a few minutes every day. Plus every single time I commit code to test, it is followed by one more commit usually with the comment ‘doh!’. Would be good for my ego to eliminate that as well.

To make a local environment for dev, in the olden days we would get each application (apache, mysql, php) and download or compile them locally, then install, etc. All updates were manual. In today’s world, we have quite a few options for install suites that provide a complete local environment.

I did some initial research, and installed a couple that didn’t work well, then finally did what I should have done in the first place and consulted – my first and often final source for advice regarding current best practices. From php the right way’s home page, navigate under ‘Getting Started’ to ‘Window Setup’. There you will find a brief write-up, including a list of integrated development environment bundles.

After reviewing the offerings under each of the recommended sources, I installed EasyPHP – DevServer 17 ( on my Windows 7 desktop host, which takes most of the abuse in terms of installing unknown software, etc. these days. So far, the download page seemed a little sketch, but it doesn’t seem to have installed anything undesirable. I had problems with the menu in the notification area immediately after the install – it would not recognize any of the menu selections to start servers (or to exit the DevServer itself). The dashboard link, which goes to the localhost with a custom port, opened to an error in my browser. When I navigated to just localhost (port 80), there was a link to view php_info() output, but nothing else.

When it let me open a second instance, I knew it was having severe problems and shut everything down then rebooted. After my computer came up I was back on track with the Getting Started guide, here: I was able to start the servers and access the dashboard.

The dashboard has some good options – you can clearly see whether servers are running and their versions, configure directories to serve as the document root (although missing a Browse button) and access those sites. There is also a link to phpMyAdmin, which is a great tool to have available. And there is a novel php code tester interface, essentially a snippet tester.

Next move was to configure DevServer to work out of my existing GitHub repository directories. First I picked a project without a database for now, and was able to access a directory list in the dashboard interface and open the site in my browser, from an automatically created sub-directory under the localhost document root. Any links or images using an absolute path will obviously not function correctly. Otherwise, that worked easy enough.

The real test is to configure databases for my applications in the new test environment. The phpMyAdmin interface worked fine – I created a new user for my dev site, specific for this application, and opted to have it create a database. Then I exported the data structure and initializing data from my existing database and was able to load that no problem.

Next, I created a working directory in DevServer that pointed at my repo directory for this project, just like before. Finally, I updated my projects config files with the correct database credentials. I clicked on the “open in browser” link on the dashboard and… drumroll….. wah wah. It thinks my document root is: C:/Program Files (x86)/EasyPHP-Devserver-17/eds-www .

Luckily, my application is able to work in a subdirectory if it is configured, so presto-changeo, bummer: “Could not connect to database server.” Ok, so long story short, the database comes configured to allow anyone from localhost, and to otherwise require ssh, so I changed my new user to have no password, and to only be able to log in from localhost. That seems fine, but then I get “Unable to select database.” Ugh! So not sure how I fouled that up, but I created a new user then granted permissions for the application database and finally it connects!

Just in this short window I can already see how dev changes and testing can be much easier with a local environment. It realistically took me about 20 minutes to get up and running including troubleshooting. In all, definitely worth it!

Demo WordPress PHP integration

The following is generated by a php script, to demonstrate WordPress integration. Some of the more fun moving parts: gulp file use for sass compiling, Wisteria video timer trigger, REST API integration for data retreival. Created from a Photoshop file.

AlgaeCal logo

Build brand new bone WITHIN 6 MONTHS with this rare algae calcium... even if you're 85!

AlgaeCal Plus

Supplement Facts

4 Capsules Per Day
Servings Per Container: 22

Amount Per Serving %DV
Vitamin C 50mg
(as calcium ascorbate)
Vitamin D3 1600 IU
(as cholecalciferol)
Vitamin K2 100 mcg
(as menaquinone-7)
Calcium 720 mg
(from algas calcareas)
Magnesium 350 mg
(from algas calcareas and magnesium oxide)
Boron 3.0 mg*
(as glycinate)
*Daily Value (DV) not established

Strontium Boost

Supplement Facts

2 Capsules Per Day
Servings Per Container: 30

Amount Per Serving
(from Strontium Citrate)
680 mg*
*Daily Value (DV) not established

Stronger Bones for 7 Years Guarantee

When you follow directions for use of AlgaeCal Plus and Strontium Boost - we guarantee you will see increased bone density in EVERY follow-up bone scan you have while using these 2 products - or we will refund every penny you paid for our products between your scans. This guarantee extends to every scan you have for the next 7 years! Also, if you are unsatisfied at any time you can return my product for all full refund, no questions asked! Click Here for Details

Dean Neuls
Dean Neuls,
CEO and Co-Founder,
AlgaeCal Inc.

Scientific References

  1. Marques A, Ferreira RJ, Santos E, et al. The accuracy of osteoporotic fracture risk prediction tools: a systematic review and meta-analysis. Ann Rheum Dis. 2015 Nov;74(11):1958-67.doi: 10.1136/annrheumdis-2015-207907. Epub 2015 Aug 6. PMID: 26248637,
  2. Riggs BL, Melton LJ 3rd. The worldwide problem of osteoporosis: insights afforded by epidemiology. Bone. 1995 Nov;17(5 Suppl):505S-511S. PMID: 8573428

Click to buy now