Converted LocalHost Drupal site to Multisite

Search is a Wonderful Thing

Someone else has done it already so I followed their lead

http://drupal.org/node/1114158

I found this page on Drupal.org and decided to follow it’s instructions

Keep in mind, I’m fairly new to Drupal, Linux and Apache servers

  • Followed directions to set default site hostname
    • Create a file called /etc/apache2/sites-available/drupal7 saying:
      <VirtualHost *:80>
      DocumentRoot /vagrant/public/var/www/drupal7
      ServerName drupal7
      </VirtualHost>
      <VirtualHost *:80>
      DocumentRoot /vagrant/public/var/www/drupal7
      ServerName foxfamily
      </VirtualHost>
      <VirtualHost *:80>
      DocumentRoot /vagrant/public/var/www/drupal7
      ServerName foxcustom
      </VirtualHost>
    • Create a file called /etc/apache2/conf.d/drupal7.conf saying:
      Alias drupal7 127.0.0.1
      Alias foxfamily 127.0.0.1
      Alias foxcustom 127.0.0.1
      <Directory /vagrant/public/var/ww/drupal7>
      Options +FollowSymLinks
      AllowOverride All
      order allow,deny
      allow from all
      </Directory>
  • Created new databases
    • Using Putty – created dbname_fox and dbname_default
  • Setting up Subdirectories
    • Since I didn’t understand the structure of apache, I set up everything under /vagrant/public
    • So, I moved everything, except for the make file and made var/www/drupal7
    • created /sites/fox-custom-software.com/ directory
    • created /sites/fox-family-website.us/ directory
    • Followed Bulk loop 2 and copied /sites/default to /sites/fox-custom-software.com
    • For each site subdirectory, I edited setting.php to have the database names for each site
      • fox-family-website.us – dbname_fox
      • fox-custom-software-com – dbname (no change)
      • default – dbname_default
    • Copy /var/www/drupal7/sites/example.sites.php to /var/www/drupal7/sites/sites.php .
    • Edited the site.php and set up entries for all the hosts:
      • $sites[drupal7] = “fox-default-site.com”;
      • $sites[foxcustom] = “fox-custom-software.com”;
      • $sites[foxfamily] = “fox-family-website.us”;
    • Setting the hostnames – /etc/apache2/sites-enabled/drupal7
      <VirtualHost *:80>
      DocumentRoot /vagrant/public/var/www/drupal7
      ServerName drupal7
      </VirtualHost>
      <VirtualHost *:80>
      DocumentRoot /vagrant/public/var/www/drupal7
      ServerName foxfamily
      </VirtualHost>
      <VirtualHost *:80>
      DocumentRoot /vagrant/public/var/www/drupal7
      ServerName foxcustom
      </VirtualHost>
    • In /etc/apache2/conf.d/drupal7.conf added lines for each host
      • Alias drupal7 127.0.0.1
      • Alias foxcustom 127.0.0.1
      • Alias foxfamily 127.0.0.1
      • The whole file:
        Alias drupal7 127.0.0.1
        Alias foxfamily 127.0.0.1
        Alias foxcustom 127.0.0.1<Directory /vagrant/public/var/ww/drupal7>
        Options +FollowSymLinks
        AllowOverride All
        order allow,deny
        allow from all
        </Directory>
    • Relauch Apache
      • sudo service apache2 restart
      • I got some messages
        Restarting web server apache2                                                apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
        [Sat Feb 16 02:45:23 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
        … waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
        [Sat Feb 16 02:45:24 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
      • Using my browser, I went to foxfamily/install.php and set up the blank site
      • Using my browser, I went to drupal7/install.php and set up the blank site.

      Problems

    • Since I copied everything from sites/default to sites/fox-custom-software.com/ and followed the suggestion to not use the sites/default, I had to correct some file name errors and had to correct entry in Configuration>Media>Public file system path to sites/fox-custom-software.com/files

    Future

  • Learn how to use Backup/Restore Module (This is a reoccurring theme with me)
  • Learn more about Apache – I later saw that there is a /var directory, but decided to put the stuff under /vagrant/public so I could use the Windows editors that I know and (love?).  I know that I have to be careful as Windows has a habit of putting CR LF where you don’t want them. (or is it the other way around?)
  • Work on redoing my family website into Drupal and then migrating this whole mess up to my Host.
Advertisements

Drupal Multihost on VirtualBox – Part 1

The Misadventures of Dabbling into Drupal and VirtualBox

Part 1: Following the Directions from Katy’s Site

I looked at the Part 1 directions and installed:

  1. VirualBox
    1. Download and install VirtualBox from https://www.virtualbox.org/wiki/Downloads
      Start VirtualBox.
  2. Vagrant
    1. Download and install the latest version of Vagrant from http://downloads.vagrantup.com. For this tutorial, we will use version 1.0.6.
      Windows users, download Vagrant.msi
    2. You may need to add “C:/vagrant/vagrant/bin” to your Path
  3. Create a directory /workflow under $c:/Users/[your user]
  4. Git
    1. Download Git for Windows here:
      http://code.google.com/p/msysgit/downloads/list
    2. See tutorial on How to Install Git in Windows 7 PC.
  5. Download Vagrant Chef script with Git, Open Git-Bash and type the following commands:
    1. $ cd C:/Users/User/workflow
    2. $ git clone https://github.com/eaton/vagrant-chef-dlamp
  6.  In order for this chef script to work on Wndows 7, you need to make the following edits in a file called VagrantfileLine 24  should be: config.vm.forward_port(80,8888)Line 29 should be: config.vm.share_folder(“v-root”, “/vagrant”, “.” :nfs => FALSE)
  7. Open your text editor in Windows and edit  $c:/Windows/System32/etc/hosts file
    10.0.0.10 dev-site.vm
  8. Use a Windows command prompt to install the Linux+Apache+PHP in the VirtualBox
    1. C:/Users/User>
    2. C:/Users/User> cd workflow
    3. C:/Users/User> cd vagrant-chef-dlamp
    4. C:/Users/User/workflow/vagrant-chef-dlamp> vagrant destroy
    5. C:/Users/User/workflow/vagrant-chef-dlamp > vagrant up
    6. The ‘vagrant up’ command will take time…
    7. Create a Shared folder  – shared between Windows and Vagrant DLAMP server In Windows cmd prompt:
      C:/Users/User/workflow/vagrant-chef-dlamp> mkdir public
  9. Putty (What you use to work on your virtual system)
    1. Install Putty – http://www.putty.org
    2. Open Putty
      1. Setup the Hostname as: 127.0.0.1
      2. Port: 2222
    3. You get a nasty security message, Click Yes
    4. Login: vagrant
    5. Password: vagrant
  10. Go to http://drushmake.me and create your drush file.  Download and Save it in the C:/Users/[youruser]/workflow/vagrant-chef-dlamp/public as starter.make
  11. There are some errors in the drush make file that need to be corrected:
    1. This line projects[drupal][version] = 7 should be projects[drupal][version] = 7.19 or
    2. projects[] = drupal
  12. Back in Putty session:
    1. $ drush make starter.make
    2. $ drush site-install – -db-url=mysql://root:root@localhost/dbname – Note** – the last part of this command created a dbname database for me
  13. Misc Drush Commands:
    1. Drush dl modulename1 for download
    2. Drush en modulename1 for enable
    3. Drush pm-disable modulename1 for disable
  14. Look at your site – http://dev-site.vm/

Problems encountered:

Vagrant up:  I had some odd messages that I needed a better guest additions and spent a lot of wasted time, thinking that is why the drush make and drush site-install didn’t work.

I had problems that the drush acted like it downloaded stuff, but didn’t really do it. Then when I went to do the drush site-install, it wouldn’t find Drupal.   I ended up going back to drushmake.me and regenerating a make file and downloading it. (Well, I actually did a Select-All and Copy-and-paste into the starter.make file)

Putty:  directory not found problem – I ended up making sure to do a cd / to go back to the root of the Linux and then cd dir1/dir2 (or whatever)

After the VirtualBox crash:  I had my laptop down for hibernate and it shut itself down and forced Virtual Box down.  (hadn’t been saved). When I restarted it, then it had problems finding the /public directory and I started again to reload the box.

Next Posts:  How I copied from Live Site down to VirtualBox, How I converted to a Multisite on the VirtualBox