Viewers: in countries Watching now:
This course teaches web site designers how to take their sites to the next level with a few advanced techniques and the free and open-source Drupal software. Author Tom Geller shows how to configure the most popular add-on modules; use *nix commands and an FTP program to manage a Drupal site on a web server; change its visual appearance using the latest graphical tools; automate and speed through common tasks with Drush; integrate with social media sites; and see how "supermodules" like Panels, Context, Rules, and Features open up new worlds of code-free development.
Drupal 7 Advanced Training was designed as a follow-up to Drupal 7 Essential Training and it also dovetails nicely with our other Drupal courses, such as Drupal 7 Reporting and Visualizing Data and Create Your First Online Store with Drupal Commerce.
Now we come to a subject that's long intimidated me personally, running multiple web sites from one Drupal installation. But I have to tell you, once I started doing it; I found that it wasn't really all that hard. But the devil really is in the details, and unfortunately those details vary from web host to web host. What I'll show you here though gives you the ammunition you need to do the Drupal part of it, both on local and remote computers. Let's start with the local version. We're using Acquia Dev Desktop available at http://www.aquia.com/downloads.
It has multisite capabilities built in. So what I'm going to do now is I'm going to download a copy of Drupal and show you how that works in Acquia Dev Desktop. To do so, I first go to http://drupal. org/project/drupal and then download it. Close out the window and expand that file. And I'm going to rename this multisite. Now inside this folder I'll go into our sites folder and then duplicate this default folder and rename that site1.
That will become one Drupal site, although you could repeat this process over and over again with site2, site3, and so forth. The next step is to import it. Go down here and to More and then click Import. I'll choose the site path, which in this case is that multisite folder that I just named. Now here's where things were a little different from what you're used to. Under Subsite, it'll look inside that folder and see what's there, and it sees that there is in fact a site1 folder, so we select that. Then we create a new database and do everything else the way we usually do, site1 and site1 and Import.
It'll ask you if you want to overwrite what's already there and we say Yes, and there we are, and then we'd just continue the installation as normal. Again, you could do this site2, site3, and so forth, and it will all be working off of the same code base of Drupal. The advantage to that is you only have to update Drupal once. Now I'll show you how it works on a web host. The tricky part and one that I won't be to show you is that you have to arrange to have your domain setup for both sites to point at the same web root, that is, your Drupal folder.
You can do that using whatever system your web host has for Domain Name Services, or sometimes it's called DNS. And what you should do is contact your Helpdesk at that web host if you have any problems. But I have already taken care of that. I have a blank folder right now at lynda3 .tomgeller.com, and also one at lynda4. I've also created two separate empty databases, one of them is tgellar_lynda3 and the other is tgellar_lynda4.
This is the key, although you're only using one set of files you have to have separate databases for each site that you set up. And that makes perfect sense because you'll remember the database is what stores the content and the content will be different between the two sites. Once again, I'm going to go in an install Drupal into both of those folders. Go to drupal.org/project/druple, Copy Link Location, and then go to my Terminal program. I am already in the folder lynda3 and if we list what's there, it's already empty.
Go through my usual procedure to get the file. I just say wget and paste, and extract it, and so on. You'll see in more detail how to do this in the videos about using the command line. And there is our installation. Once again, we go into the sites folder. As you saw a minute ago, we have an all and the default folder. I am going to copy that default folder twice; once to be lynda3 and once to be lynda4.
You'll notice I gave them the names lynda3.tomgeller.coml and, of course, the other one, I'll name lynda4.tomgeller.com. This is very important, because it tells Drupal exactly which folder goes with which domain; you have to give the name, so that it matches the domain that you're going to use. I'll then go into each of those and rename the settings.php file correctly. Move default, so its simply settings. php, and do the same for lynda4. If we go up one level, we now see that we have all, default, and then the two folders we just created, which are actually copies of default.
One important thing that you should be very careful of is not to remove the default folder. Even though you're not going to use it directly, that is, no site is going to live in it; Drupal expects to see it there, so simply leave it as it is. So now we have two databases and two separate folders inside that site's folder, one for lynda3 and one for lynda4. Let's go to lynda3, and complete the installation. This happens in the way that you're used to. Now that we have lynda3 setup, I'll do the same thing for lynda4.
Go To lynda4.tomgeller.com and go through the installation process. Remember, we're using a different database; in this case its tgellar_lynda4, and we hve success. lynda4.geller.com is running this site, and, of course, lynda3 is running the different site. There is one thing that I want to warn you about though. It's when you install modules using that system that's built into Drupal. If we click and go up to Modules and use Install new module, I am just going to grab the Token module, which is a common one from drupal.org, the drupal.org/project/token. Install new module and Install.
So the question is where exactly was that module installed? I am going to go back to my Terminal screen, clear the window, see where we are. Now I did that while looking at the lynda3 site. But it didn't actually go into the lynda3 folder; instead it went into the all folder. You can see that by going to cd all/ and modules, and there it is. That means that it's available to both lynda3 and lynda4. That's very important because if you want to make a module only available to one of the sites, what you would do is instead manually install it in that site itself.
So I'd go in to lynda3 and create a folder here called modules. You might have to go up one level in order to give yourself permission to create that folder called modules. I won't go into that right here; instead I'll talk about it in the video about UNIX permissions. The last thing that I want to mention is that you might have had to change some permissiosn along the way. So once you're done making all of these installations, go back and make sure that they are secure. The enclosing folders; that is, sites and defaults, and lynda3 and so on, should be 755; that is, only the owner can write, but everyone can read and execute.
The settings.php file, however, should have 644 or less. I am covering the very top of this, but you can learn more about multisite installations on the drupal.org site. To go to it, it's http://drupal.org /documentation/install/multi-site. I know that was a lot to learn, especially if you're not used to the UNIX command line. The basic things remember are that each site gets its own database and folder inside the sites directory. That the folders have to have the same name as the site's domain, and that the site's all folder is shared among all of them.
There are currently no FAQs about Drupal 7 Advanced Training.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.