OK, couldn’t find a good documentation about it so I had to make some research. And since I’ll do it several times, let me take a note of the procedure and share it with you at the same time.
Parts in red should be changed by you to your specific names and details.
- Create an empty database, say “mysitedb“. Instructions are out of the scope of this how-to. Do not use a database that already has something in there because this procedure will drop it all.
- Configure your web server or hosting system to serve your new site, say “www.mysite.com“. I use DreamHost, so I’ll use DreamHost directory names in this tutorial. Be smart enough to change this directories to meet your system.
- Download and install Drush somewhere outside your site directory and make it globally executable:
cd ~ ; mkdir software; cd software; wget http://ftp.drupal.org/files/projects/drush-7.x-4.4.tar.gz; tar -zxvf drush-7.x-4.4.tar.gz; rm drush-7.x-4.4.tar.gz; echo 'PATH=$PATH:~/software/drush' >> ~/.bashrc; echo 'alias drush="drush --package-handler=git_drupalorg" ' >> ~/.bashrc; . ~/.bashrc
- Prepare a directory to contain Drupal installation and your site files. Part of this was already done in step 2 above but we’ll have to remove the site directory since Drush will create it for us in the process:
cd ~ ; [[ -d www.mysite.com ]] && rm -rf www.mysite.com; drush --drupal-project-rename=www.mysite.com dl drupal-7.0
- Create your Drupal site configuration and populate the database created on step 1:
cd www.mysite.com; drush site-install standard --site-name="My Site" --site-mail=youremail@gmail.com \ --account-name=root --account-pass=drupalpass \ --db-url=mysql://mysitedbuser:dbpass@db.mysite.com/mysitedb \ --db-prefix=drupal_
- Install obvious modules. Git will be used by default (and not tar.gz) because of the alias set on step 3:
drush dl views; drush dl cck; drush dl panels; drush dl zen;
Thats it !
Now point your browser to www.mysite.com to see your Drupal site ready to be used. Login into Drupal with the user name and password that you used on parameters --account-name and --account-pass on step 5 above and optionally enable the modules you’ve just installed on step 6.
The benefit of maintaining the installation of a software written in some interpreted language (as Drupal with PHP) is on code upgrades. The upgrade process aided by a versioning system (as Git) will cirurgically add, modify and delete the necessary files without leaving old unused files. In a tar.gz (or zip) scenario, you’ll unpack a new version archive over your previous installation, which will not handle correctly specially deleted files.


hCard/vCard




I was mistaken…it seems that the issue was that I forgot to do:
. ~/.bashrc
But once I did that I got another error:
“Unknown option: –package-handler. See `drush help help` for available options. To suppress this error, add the option –strict=0″
Another user said setting –strict=0 solved the problem, but that wasn’t my experience – it still didn’t work, it just suppressed the error message like it said.
I’m using the latest version of drush (drush 5) which I got from git, rather than using the command:
wget http://ftp.drupal.org/files/projects/drush-7.x-4.4.tar.gz;
So maybe that’s the difference…
There is a chance these instructions are a little bit outdated.
It seems you forgot a step…or at least it was necessary for me…before running site-install, you need to download Drupal to the current directory:
drush dl drupal
Just hi additional info, user may also need to install php-cli and git and other dependencies prior using drush. Also, it is a good practice to check if php-cli has enough memory. Some distro has separate php.ini for php-cli. I think number around 128MB to 160MB is sensible.
Can any one help me how to set up the very first step “mysitedb”. I am new to this drupal web. I am franrically trying to set up my own Semantic Web. Any comments step by step documentation helps me.
Thanks in advance.
-Solomon
Hi, great work, but i tried it now all night without success, maybe you can help me?
here is the failure output…
sh: /tput: Datei oder Verzeichnis nicht gefunden
The following restricted PHP modes have non-empty values: safe_mode. [error]
This configuration is incompatible with drush. Please check your
configuration settings in /etc/php5/cli/php.ini or in your drush.ini
file; see examples/example.drush.ini for details.
sh: /tput: Datei oder Verzeichnis nicht gefunden
Command site-install needs a higher bootstrap level to run – you will need invoke drush from a more functional Drupal environment to run this command. [error]
Command site-install requires Drupal core version 6 or 7 to run. [error]
The drush command ‘site-install standard’ could not be executed. [error]
A Drupal installation directory could not be found
Not being smart enough here… if I use a osting environemnt with public_html, when do I substitute http://www.mysite.com with public_html and when do I use the project name http://www.myactualsite.com
solved it with
cp -vR * ../cp -vR .htaccess ../cp -vR .gitignore ../Useful and straight forward documentation!
Just additional info, user may also need to install php-cli, git and other dependencies prior using drush. Also, it is a good practice to check if php-cli has enough memory. Some distro has separate php.ini for php-cli. I think number around 128MB to 160MB is sensible.
Thanks,
Lucky I. Ismail
Great tutorial! Can drush be used to manage a local development environment of the drupal code hosted on the server, or do you just have to use pure git?