レンタルサーバーでdrushを使う

Drupalは敷居が高いし、ましてや drush モジュールは尚更と思っている方も多いと思います。(特に、私の様な初心者は)

もっと気楽に,大衆向けのレンタルサーバー(特にlolopopなどで)でdrupalやdrushを使いこなせたら、日本でのdrupalの普及に繋がるのではないかと思っています。皆さん、広告一杯のでカスタマイズ出来ない無料ブログではなく、drupalを使いましょう。

drushはdrupalのバックアップやバージョンアップなどの管理には最適です。なにせ、スピードが速すぎる。抜群の時間節約モジュールです。少し、linuxの使いかたを勉強すれば出来ると思います。

 

さて、LoipopとHetemlでdrushを使う時のメモです。(drupal 7 での対応です)

それと、参考にしたサイトはこちら。--- この記事によれば、インストールディレクトリは、$HOME との事でした。( 自分のアカウントと理解しました)

また、drushモジュールの ReadMe ファイルには、下記にインストールする様に書いてありました。

1. Place the uncompressed drush.tar.gz, drush.zip, or cloned git repository in a directory that is outside of your web root.

ウェブ公開ディレクトリの外側のディレクトリに置くと言う事です。lolipop の場合は、/home/users/1/契約アカウント/web/ と成っており、web ディレクトリ(ドキュメントルート)の中に 公開用のファイル、ディレクトリを入れるので、drush は、自分のホームディレクトリ(契約のアカウントのディレクトリ)に置く事になります。他社のサーバーもほぼこんな感じでしょうか。但し、FTPを使うと、ドキュメントルートより上のディレクトリが見えない場合があるので注意して下さい。SFTPかSSHで確認して下さい。

例として、

hetemlの場合は、/home/sites/heteml/users/8/7/8/私の契約アカウント  :これはSSHなどでログインした最初の場所です。

lolipopの場合は、/home/users/1/私の契約アカウント 

インストール場所は、上記を前提としています。悪しからず。(上記パス例であって、各自、皆違いますので)

 

そして、 前提条件 ]として、

今回の手法はコマンドを使っての説明に成ります。それには、SSHと接続する必要があります。

(最近のレンタルサーバーはSSHが使えるのが多いと思いますが、偶に使えないのがあります。たとえば、X2サーバーは使えません。その場合は、drushは諦めてください。)

http://kakaku.com/pc/rentalserver/ma_0/p1001/fnc18=1/
上記はレンタルサーバー一覧です。確認してください。

手法はお使いのサーバーで説明があると思いますので、そちらを確認して下さい。

例として、lolipopの説明は、こちらです。私が使っているターミナルソフトは,TeraTermになります。

まずは、上記の設定をして下さい。

 

それでは、SSHにログインしてから以下の作業に入ります。

上記画像はTeraTermでSSHにログイン後のbashの画面です。(サーバーはlolipop)

なお、ログイン後のディレクトリは/home/user/1/ご自分のアカウント ← ここにいます。

なお、drupalがインストールされているのは、 /home/users/1/契約アカウント/web/ ここにdrupal はインストールしています。 (web ディレクトリ直下)

また、コマンド以外で作業中に確認する場合は、FTPソフトでは、webディレクトリは見えませんので、SFTPソフトで確認して下さい。私はFileZilla Clientを使用しています。WinSCPでもOKです。

 

さて、本題に戻りますが、

lolipopは、SSHが使えるのでTeraTermにてログインして、bash画面での設定を行います。

drushのダウンロードして展開するには、先ほどの画面に下記のコマンドを入力します。( 注:下記のdrush へのURLは現在時点のものなので、https://www.drupal.org/project/drupalorg_drush にて確認して下さい)

 

wget コマンドを入力して実行(Enterを押します)

wget http://ftp.drupal.org/files/projects/drush-7.x-5.9.tar.gz

 

次にアーカイブを展開(解凍)するので、下記のコマンドを入力します。

これでホームディレクトリ直下(/home/user/1/ご自分のアカウント)に展開されます。

tar コマンドを入力して実行(Enterを押します)

tar xzvf drush-7.x-5.9.tar.gz drush

 

スクリプト ファイルに所有者の実行許可を設定するので、下記のコマンドを入力して実行(Enterを押します)

 

chmod u+x drush/drush

 

これで、drush のインストールは完了です。

 

 

さて、ここからが少しややこしいのですが、レンタルサーバーの場合は、パスの設定php バージョンの設定(lolipopのみ。hetemlは必要なし。他のサーバーは確認して下さい)が必要と成ります。

VPS などのroot 権限が使えるサーバーでは、シンボリックリンクを貼ればOKとなります。

 

レンタルサーバーの場合は下記のステップを追加します。

まずはdrush モジュールに同梱されている ReadMe ファイルを読み解きましょう。

パスを通す為の手順: DrushのReadMeの説明に、

3. Configure your system to recognize where Drush resides.
 ( Drushが存在する場所を認識するようにシステムを設定)と書いてあります。

   There are 2 options:(2つの方法あり)

  a) create a symbolic link to the Drush executable in a directory that is      already in your PATH, e.g.:(シンボリックリンクはレンタルサーバーではroot権限が無く、下記コマンドは使えないので,bの方法で)

       $ ln -s /path/to/drush/drush /usr/bin/drush

  b) explicitly add the Drush executable to the PATH variable which is defined
     in the the shell configuration file called .profile, .bash_profile,
     .bash_aliases, or .bashrc that is located in your home folder, i.e.:

       export PATH="$PATH:/path/to/drush:/usr/local/bin"   ←( 環境変数に自分のインストールしたdrush へのパスを設定している。これによって、どこからでも drush コマンドを使える )

     Your system will search path options from left to right until it finds a
     result.

     To apply your changes to your current session, either log out and then log
     back in again, or re-load your bash configuration file, i.e.:

       $ source .bashrc

 

つぎに、phpのバージョンを設定する場合の説明もあります。(これはレンタルサーバーによって必要な場合もあります)

Lolipopの場合はパスを通すのとphpのバージョンを設定する必要がある様です。(下記のReadMeにも書いてある)

なお、phpのバージョンを設定するのはhetemlではしなくても大丈夫です。各サーバーによって必要か要らないかはそれぞれだと思います。

phpバージョン設定しないで、.bash_profile を作成して見てエラー表示がでれば、追記すれば良いと思います。


ReadMeからの抜粋

CUSTOM CONFIGURATIONS:

----------------------

Running a specific php-cli version for Drush

- - - - - - - - - - - - - - - - - - - - - - -



If you want to run Drush with a specific version of php, rather than the

php-cli defined by your system, you can add an environment variable to your

the shell configuration file called .profile, .bash_profile, .bash_aliases,

or .bashrc that is located in your home folder:

あなたのシステムで定義されたPHP-CLIよりも,PHPの特定のバージョンでDrush実行したい場合は, .profile ,.bash_profileを、.bash_aliases、
またはその.bashrc
 をあなたのシェル設定ファイルに環境変数を追加することができる。



export DRUSH_PHP='/path/to/php'


 

以上で、同梱のReadMe の説明は終了です。

上記の設定を自分のサーバーに設定するには、「.bash_profile か.profile,  .bash_aliases, or .bashrc」に記述せよと書いてあります。ここでは .bash_profile を作成します。

レンタルサーバーでは、一般ユーザー権限なので、自分のホームディレクトリ(/home/user/1/ご自分のアカウント)に「.bash_profile」ファイルを新規作成して保存します。

 

「.bash_profile」に下記の内容を vi コマンドで書きます。(viコマンドとは vi エディタの操作するコマンドになります。使いかたは、こちら。)

 

①パスを通す(環境変数を追記する。これを.bash_profileファイルを新規作成し保存)

②php5.4を指定します。(これをしないとdrushでエラー表示がでます。)

The following restricted PHP modes have non-empty values: [error]

magic_quotes_gpc. This configuration is incompatible with drush.

「以下の制限されたPHPのモードは、非空の値が設定されています:(lolipopではmagic_quotes_gpcの設定がonに成っている為) この構成は、drushと互換性がありません。」

Please check your configuration settings in /usr/local/php5.2/lib/php.ini or in your drush.ini file; see< /br> examples/example.drush.ini for details.< /br> Execute a drush command. Run `drush help [command]` to view command-specific

上記の様なエラー表示が出ます。

そこで、「.bash_profile」にphp5.4のphpを指定します。

lolipopの場合、場所は /usr/local/php5.4/bin/php です。(php5.4の中のbin ディレクトリの中のphpiファイルを指定)(2014/12月時点で)

 

以下、vi コマンドの内容です。(viコマンドの操作については省略します。こちらもどうぞ。) vi コマンドは色んな操作手順がありますので、ネット情報で十分勉強して下さい。

とにかく、 vi コマンドを使って、drush フォルダと同じディレクトリに下記の内容を記述した 「 .bash_profile  」 ファイルを作成して下さい。

vi .bash_profile

PATH=$PATH:/home/users/1/自分のアカウント/drush           ← 各自のパスを記入して下さい。左記はサンプルです。

export PATH

export DRUSH_PHP=/usr/local/php5.4/bin/php

 

上記の様に書くのですが、ファイル新規作成、保存などのコマンド操作とパソコンのキーボード操作が必要になります。

ファイル作成が終われば、

次に source コマンドを入力して実行(Enterを押します)

 

$ source .bash_profile

 

として、再読み込みすれば、OKです。すべて完了です。

これで設定が出来たのではないでしょうか。(多分ですが、一応動きます)

共用サーバーでも drush モジュールの稼働出来ました。

 

上記画面が私の記述した .bash_profile ファイルの内容です。パスの設定(アカウントは個人情報なので伏せています)とphpバージョンの設定が出来ています。(lolipop サーバー)

これで、エラー表示も出ないし、どこのディレクトリからでも drush のコマンドを入力出来ます。(パスが通っているので)

 

なお、Hetmlでは、 vi .bash_profile PATH=$PATH:$HOME/drush;export PATH だけで、OKです。

phpの指定は書かなくても旨く動きました。(ただし、2014/12月時点での確認です。)

確認すると、 まず、「.bash_profile」ファイルの中身を見る。

-bash-3.2$ vi .bash_profile

PATH=$PATH:/home/users/数字/自分のアカウント/drush

export PATH

export DRUSH_PHP=/usr/local/php5.4/bin/php

ちゃんと設定されている。

上記はdrush インストール後に .bash_profile ファイルを作成後のSTPFで見た画面です。(サーバーはlolipopを使用)

.drush , .subversion , drush-backups , .bash_history 等のディレクトリやファイルは自動生成された物です。ちなみに、web ディレクトリの中にdrupal core がインストールされています。

 

次に、drushが動くかの確認。drush status とすると、(lolipopの場合)

TeraTermでSSHにログイン後のbashの画面よりの操作です。drush st コマンドを入力します。

 

-bash-3.2$ drush st
which: no tput in (/usr/local/bin:/bin:/usr/bin:/home/users/1/契約アカウント/drush)
 PHP configuration     :  /usr/local/php5.4/lib/php.ini
 Drush version         :  5.9
 Drush configuration   :

上記の様な画面が出ればOKです。(パスの内容は各自によって異なります)

エラー表示は出ない。 php5.4が指定されている。

phpのバージョンも指定どうりの表示に成っている。

 


 

但し、lolipop は少し問題があって、archive-dump(ard) というバックアップするコマンドが使えません。(コマンドは使えるがデータベースのエラー表示になる)

これはロリポップのデータベースのバージョンによります。5.6ではできませんが、古いバージョンの5.1は使えます。ロリポップは安ですがいろいろと問題がでます。ちなみに、heteml サーバーは問題がありません。

バックアップするには、Backup&Migrte モジュールがお勧めです。それか、linux コマンドでmysqldump-5.6 を使えば、DBデータを保存できます。

 

なお、下記のコマンドが便利です。drupal core がインストールされているディレクトリで下記のコマンドを実行します。

drush --security-only up -y (セキュリティアップデートだけを実行)は使えますので、アップデートは利用しましょう。

 

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

By submitting this form, you accept the Mollom privacy policy.