Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more Developer and personalized recommendations.Start Your Free Trial Now
- View Offline
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.
- Moving a site from the development environment to production
- Hosting a Drupal site
- Moving databases with phpMyAdmin and Unix commands
- Making site administration more efficient with Drush
- Backing up site data
- Moderating comments
- Migrating from previous versions of Drupal
- Working with themes
- Creating variable layouts
- Enabling social features
- Creating an online store with Drupal Commerce
Skill Level Intermediate
In the last video we installed Drush on the UNIX web host. Now it's time to actually make it do something and what better way to start than with a fresh Drupal installation. I've already created a place for it at drush.tomgeller.com and created a database called tgeller_drush. In the last video we modified our environment so we can call up Drush simply by typing drush, no matter where we are on the web host. And you can see that by typing right now to drush help and we get the help command.
We can see where we are by typing pwd and we're in my home directory. So we're ready to begin. Although we won't use the web interface, I'll bring it up in a browser so we can see how every thing's going. I'll go to drush.tomgeller.com and we have simply an empty directory. In fact, I'm going to go back to my terminal and go to where that Drush site lives; that's cd webapps in my case, lyndadrush, and as you see it's empty.
First, we need to download Drupal. One thing to watch out for, unless you tell it otherwise, Drush assumes you want to deal with the site where you currently are. I've sometimes moved from one directory to another in the UNIX command line only then to apply Drush changes to the wrong site. So before we get started one more time I'm going to just be sure, pwd, yup, lyndadrush that's the directory I want. The command we use is Drush Download, which is simply drush dl. That takes a few minutes and it doesn't give you any visual sign that it's happening, but once it's done it tells you, yup, you've got it and here is all the things I did.
If we do it an ls, there's the folder. As usual I'll go into that folder and move everything up one level. You might not have to do this depending on how you have your web host configured. In my case, I'm only able to do that inside a folder so I have to take this extra step. Move everything up one. See what else is left, and then move those things. Make sure the directory is empty, go back up, and get rid of that directory.
Now if we go back to our browser, we see the usual installation screen. I'll just go back and reload the browser, but I'm not going to use this screen, instead I'll run the installer within Drush. I go back to the terminal and use the command site-install, which has a lot of options. Now we could look those up on drush.org in the browser. In fact, if we go to drush.org you see all of these things that go with version 5, which is the version we're using, and then we could go down and look for that site-install, and you'll see all of these options.
But another way to do it and one that I actually think is better is to look up the documentation within Drush itself. That way you're always sure that you're looking at the correct version of Drush , since it's getting it directly from the Drush program you have installed. To do that I'll do drush help site- install, and there are all the options. We can scroll up and see there are quite a lot of them. But only one option is really mandatory. That's the one that provides the database details. So here we go.
The command is drush site-install and then the option is --db-url= and then you add all of the details. First it's mysql://, followed by your username, which is tgeller_drush in this case, and the password, which in this case I use dbpass, followed by the name of the database. I cross my fingers and here we go. Oh, and you see that I got an error. This is actually quite common.
It's because when you start typing in these long commands, which have lots of options and even though there's only one option here, it's a very long option. It's easy to mistype something. When I hit the up arrow in UNIX for most systems it retypes what I just typed in, and I'll take a quick look through it and here I would normally go back and forth between what's typed there and the site itself and see, okay, site-install. Oh! I forgot this @localhost after the password. So let's give that a shot. I'll go back, dbpass@localhost, and now try it.
It warns me that I'm going to create a new site and create all of these files and drop tables in the database. Yes, we do want to continue. And I should mention I already set up that database. So yes. This takes a little while and everything works great. Now you'll notice that it came up with this default username of admin and a randomized password, let's see if that actually works. I'm going to copy this password from my Terminal window, go back to the site, and then simply reload drush.tomgeller. com and indeed there we are, it's a fully functional site installation from just that one command.
Now it gave me a default title here site-install and it had that admin as username and that password. Let's just make sure we can log in. It included a few other things by default, which we can see as we go to Configuration and then Site information. For example, admin@example. com is the e-mail address. It just picks it out of the air really. Now I'm going to go back and do exactly the same thing, but this time I'm going to include my own username and e-mail address and all of that other stuff.
One great thing about the site-install command is that you don't even have to delete the old database tables or settings.php file to make it work, Drush takes care of it for you. So normally I would come in and I would fiddle around a little bit, but let's just go ahead. Now this is going to be an extremely long command, and I'm not going to explain all the options. As you know you can take a look at the information on drush.org to get all the details. We're going to be starting with a clean slate, so I might as well clear the screen with Ctrl+L. Okay, here we go. Wish me luck.
Once again we get the warning, and the installation continues as before, only this time with the options that we specified. And there we go! Once again it tells us who the super user is, user1 and the user password. Let's give that a try. Go back up here; try user1 and user1 and user1pass. The first thing you notice even before we get in is we've changed the title as we wanted, but let's see if it's all worked as expected. Yup, there it is! If we go to user1, we see that it has the e-mail address that we asked for and so forth.
So you can see just how much power Drush gives you and we've only just gotten started. You will have to get used to the command-line interface, but the good news is that you won't have to memorize all those switches and options. Just keep the documentation open in a web browser in the background and switch back and forth as needed. That's basically what I do and in fact I have it right here as you saw earlier. Again, that documentation is found at drush.org. In the next video I'll do a few more Drush commands just to give a sense of how to build a site using Drush.