LoginSignup
2
2

More than 5 years have passed since last update.

Drush (Drupal shell) install

Posted at

1 composerのインストールとエイリアス設定

curl -sS https://getcomposer.org/installer | php
php composer.phar
alias composer='php ~/.composer/composer.phar'
#確認
composer help

2 Drushインストール

composer global require drush/drush:7.*
PATH=~/.composer/vendor/bin:$PATH
export PATH
#確認
drush --version

3 Drushのコマンド

■システム関連
・ヘルプ
$ drush help commandname

・ステータス
$ drush st (status)

・Run cron
$ drush cron
(drush core-cron)

・ログ確認
$ cd /var/www/yoursite
$ drush ws
$ drush watchdog-show --count=100

・キャッシュクリア
$ drush cache-clear
$ drush cc all

・インストールモジュール一覧確認
$ drush pm-list --type=Module --status=enabled

・インストールモジュール詳細確認
$ drush pm-info feeds

・インストール/アンインストール
$ drush dl views
$ drush -y en views
$ drush dis views
$ drush pm-uninstall views ctools

モジュールのURLでダウンロードするbash function
function drdl() {
drush dl ${1##*/}
}

・Drush Site Aliases
$ drush username@server.com/path/to/drupal#mysite.com status
$ drush @mysite statusお気に入り詳細を見る
drupal core のアップデート
出典
drupal core のアップデート | Drupal 定番モジュール一覧 / drupal module list
- バックアップ
$ sudo drush archive-dump
- メンテナンスモード
$ drush vset maintenance_mode 1 --yes
- アップデート, キャッシュクリア
$ sudo drush pm-update
$ drush cc all
- メンテナンスモード解除
$ drush vset maintenance_mode 0 --yes
■テーマ
・テーマダウンロード、インストール
$ sudo drush dl omega
$ drush en omega

・テーマ一覧
$ drush pm-list --type=theme

・テーマ設定
$ drush vset theme_default shiny
■Webサイト構築
・Apache設定確認
$ grep -B2 AllowOverride /etc/apache2/apache2.conf

Options Indexes FollowSymLinks
AllowOverride All
設定変更の際には、Webサービス再起動。
$ sudo service apache2 restart

・Drupal ダウンロード
$ cd /var/www/html
$ sudo drush dl drupal --drupal-project-rename=d7dev

・インストールスクリプト実行(データベースも作成されます)
$ cd d7dev
$ sudo drush si standard --db-url=mysql://dp_db_admin:dp_db_password@localhost/db_d7dev --db-su=root --db-su-pw=KKGVVgwGfXm7 --site-name="drupal7 dev site"

・ファイル権限設定
$ sudo chmod a+w sites/default/files
■Webサイト移行
コマンドひとつで、データベースとWebコンテンツをまとめて移行できます。
・エクスポート、バックアップ
$ cd /var/www/source
$ sudo drush archive-dump

・ファイル転送
サーバが異なる場合は、archivedumpをscp等でファイル転送。

・インポート
ドメイン名変更の場合はapache関連の設定変更(/etc/apache2/apache2.conf)、サイト名変更の場合はdrupal設定変更に留意。
$ cd /var/www
or
$ cd /var/www/html
$ sudo drush archive-restore /path_to/drupal_archivedump.tar.gz --destination=./target --db-url=mysql://dp_db_admin:dp_db_password@localhost/db_target --db-su=root --db-su-pw=KKGVVgwGfXm7

・VirtualHost設定

  • 設定ファイル作成
    $ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/d7dev.example.com.conf
    $ sudo vim /etc/apache2/sites-available/d7dev.example.com.conf

    ServerAdmin admin@example.com
    ServerName d7dev.example.com

    ServerAlias www.example.com

    DocumentRoot /var/www/html/d7dev

    LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/d7dev.error.log
    CustomLog ${APACHE_LOG_DIR}/d7dev.access.log combined

    Include conf-available/serve-cgi-bin.conf

  • 同様の設定を作成したい場合
    $ cd /etc/apache2/sites-available/
    $ sed -e 's/d7dev/anothersite/g' d7dev.example.com.conf | sudo tee anothersite.example.com.conf

  • 設定反映
    $ sudo a2ensite example.com.conf anothersite.example.com.conf
    $ sudo service apache2 restart
    ■コンテンツ作成

・フィールドタイプ確認
$ drush field-info types

・フィールド作成 Create two new fields(name,field_type,widget_name).
フィールド名が他と重複しないように気をつける必要があります。
$ drush field-create article \
city,text,text_textfield \
subtitle,text,text_textfield

・フィールド削除
$ drush field-delete city --bundle=article

・ダミーデータ作成
$ drush generate-content
$ drush genc 20 --types=latest_news
imagepng(): Unable to open '/var/www/html/d7dev/sites/default/files/tmp/imagefield_Tbr9ZO.png' for writing: [warning]
Permission denied image.devel_generate.inc:91
上記エラーの場合、sudoで。
$ sudo drush genc 20

・Delete all - ノードの一括削除できます。開発時に便利。
https://drupal.org/project/delete_all
$ sudo drush dl delete_all
$ drush en delete_all
$ drush delete-all article page

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2