ラベル

Server (108) work (77) Idea (68) Car (31) PC (29) DAW (28) other (19) MakingWEBsite (18) 趣味 (18) health (13) CentOS (11) drupal (11) (9) android (4) スマホ (4) communication (3) drupal7 (3) hint (3) meno (3) モバイル (3) 歯医者 (3) 第二種電気工事士 (3) 英語 (3) PC Server (2) drupal8 (2) ms access (2) uwp C# (2) めし (2) 整備 (2) 音楽 (2) MIDI (1) diy (1) 会計 (1) 動画再生 (1) 生活 (1) 郵便 (1) 食べ物 (1)

2017年6月12日月曜日

Windows10、xamppの環境でDrush8を使えるようにする drushを使ってのupdate

CentOSではdrushをyumから簡単にインストールできるそうだ。

Drupal8からDrushと同じような働きをするDrupal Consoleというものも出てきたそうだ。(Drushをインストールできる環境なら、そのままDrupal Consoleもインストールできる。使ってみたらこっちの方がいろいろできて便利かな。)

ここからWindows xamppでdrushを構築する話

なぜ、WindowsにDrushを入れようと思ったか。
drupal8のアップデートを手動でやると面倒。
で、Drush8を使って一発でアップデートをしたいと言うのがdrushを入れる理由。
もともとWindows環境は外とつながるわけでもないからアップデートする必要はなかったのだけど、うまく動かないところがあって、アップデートしたら動くようになるのかなぁと思ったのが最初。

-----------------------------------------------------------------------------
drushは、linuxのコマンドが使えることを前提に設計してあるので、linuxコマンドが使えないWindowsのコマンドプロンプト上でdrushを操作してもエラーが結構出る。((アップデート時に)解凍できないとか、ダウンロードができないとか)。

それなので、最初にWindowsコマンドプロンプト上でdrushに必要なlinuxコマンドが使える環境を作る必要がある。

エラーが出るたびに足りなさそうなコマンドを追加していってもいいのだけど、(実際、自分はそのようにしてやって、えらく時間がかかってしまった。)
必要なパッケージを選択して、まとめてインストールできる便利なツールがある(drupalサイト内のCommunity Documentation>Installing Drush on Windowsに書いてあった。----8年前の古い記事だったので最初は読まなかったのだけど、これが一番役に立った)。

それがCygwin。(同じようにWindows上でlinuxコマンドを使えるもので単体インストールできるのはGit for Windows。どっちをどう入れるかをよく考えてからインストールした方がいい。Gitの方が一般的というか、面倒でないと思う。ここではgitをCygwinのパッケージとしてインストールしている。)
Windowsが64bit版なら、これの64bit版をダウンロード、インストールして、必要なパッケージを選んでインストール。
必要なパッケージは
ncurses
Git 
bsdtar
cURL
あとは、wgetも入れておく(cURLがあれば必要ないとおもう。両方ともに入ってないと、wgetかcURLを入れろとエラーが出る。)。

自分は
D:\cygwin64
にインストールした。

インストール後に、
D:\cygwin64\binの
cygwin1.dll

C:\Windows\System32
にコピー。
システム環境変数のpathを選択して、編集から新規で
D:\cygwin64\bin
D:\cygwin64\usr\bin
D:\cygwin64\usr\local\bin
を追加。
システム環境変数の新規で、
適当な名前ld_library_pathとかとつけて、
D:\cygwin64\lib
D:\cygwin64\lib\w32api
D:\cygwin64\usr\local\lib
を追加。(最低限、色のついているのだけやっておけばOkay。)
--------ここから上はインストール後に追加した文章
ここまでやった後でdrushを下のようにしてインストールするとエラーもなくスムーズに事が進む。



検索をかけるとdrushのインストールの方法がいろいろあるようだ。
で、どうしようかと思っているのだけど、最近の主要なやり方のComposerを使ってのインストールをしてみようと思った。

Composer---PHP のライブラリ管理ツール(pearなどと同じようなもの)。
インストール方法。

getcomposer.org
から、
Composer-Setup.exe
をダウンロード、インストール。

プログラム本体
composer.phar
1.4.2 (2017-05-17)
を同サイトから直接ダウンロードして手動でセットアップすることもできる。

-------------------------------------------------------
curlが使える環境なら、
まずは、インストールしたいディレクトリに移動して、
curl -sS https://getcomposer.org/installer | php
または
php -r "readfile('https://getcomposer.org/installer');" | php

その場で実行するには
php composer.phar
とする。このように因数なしで実行するとコマンド一覧が表示される。

(ここから下のcurlは上のCygwinでインストールされていれば、入れる必要なし。)
drushでdrupalのアップデートなどをするときに、wgetかcURLがコマンドプロンプトのコマンドから使えないと、エラーになるのでここで、cURLを使えるようにしておく。
curl.haxx.se/download.html

Win64 - Generic
Win64 x86_64 7zip 7.54.0 binary SSL SSH Viktor Szakáts 1.83 MB
をダウンロード、解凍。
そのbinフォルダーのアドレスをユーザー環境変数に登録しておく。
-------------------------------------------------------

composerをインストールしたら、コマンドプロンプトを(管理者として)立ち上げて、
composer global require drush/drush
(drush8を指定でインストールしたいときには
composer global require drush/drush:8.*)
とすると、最新安定板のDrushがインストールされる。
(今、インストールされたdrushは
Drush Versionとコマンドを打つと、
Drush Version   :  8.1.12)

drushはmysqlのコマンドを操作するので、mysql.exeのパスをユーザー環境変数に登録しておかないとエラーが出る。
D:\xampp\mysql\bin
(D:\xampp\phpもパスが通ってなかったら通しておく)
をユーザー環境変数に登録しておく(システム環境変数に登録でも構わないと思う。というか、そっちの方が面倒なことになる可能性が低いと思う。この時はあっちこっちいろいろと試していて、たまたまユーザー環境変数に登録していた時だった。)。
登録したら、コマンドプロンプトを再起動して
path
とコマンドを打って、登録したパスが登録されているかを確認する。
------------------------------------------------------
drushの使い方

drupalのサイトを動かしている状態で、そのサイトのルートディレクトリに移動する。
そこで、例えば
drush status
とコマンドを打てばdrupalの状態が表示される。

drushでのdrupalアップデート一連の操作
バックアップを取る必要があるかどうかの確認メインテナンスモード開始
drush sset system.maintenance_mode 1
drupalアップデート開始
drush pm-update drupal
とか
drush up
メインテナンスモード終了
drush sset system.maintenance_mode 0

drush環境を作るのが少し面倒だけど、作ってしまえばコアの一発アップデートはすごく快適だ。

drushを使ってのダウンロード
drush dl drupal
(最新安定版drupalのダウンロード)drush dl rules
(rulesモジュールのダウンロード)
同時に2つ以上のダウンロードも可。

drupal8のインストール

コマンドプロンプトで

drush si --account-name="drupal_usr_name" --account-pass="drupal_usr_password" --account-mail="usr_mail@example.com" --db-url="mysql://root:password@localhost:3306/database_name" --site-mail="hogehoge@example.com" --site-name="Dru8testsite"

Windows開発環境のmysqlにはrootのパスワードを作らない。
(忘れるから)
でも、パスワードがないとdrupalのインストールでこけるときがあるので、(パスワードがない時の設定を忘れるから。だと思う。)
他のユーザーに簡単なパスワードをあてて登録しておく。
そのmysqlユーザーでdrupalをインストール。
パスワードを忘れたときはdrupalの設定を見れば書いてある。


0 件のコメント:

コメントを投稿