※ 如果您是從舊站跳轉過來的,請您直接用搜尋器↑再找一次資料唷!

drupal7 + drupal8 共存drush安裝筆記

剛好開始有使用Drupal8網站了,Drupal8非常的仰賴composer,因此也試著做移機測試

我這次移轉的主機是Ubuntu 16.04 (VPS  online) to Ubuntu 18.04 (VM test)


Ubuntu 18.04初期配置只需裝SSH,其他都不裝


主機安裝的筆記
sudo add-apt-repository ppa:ondrej/php

sudo apt install nginx mariadb-server mariadb-client php7.3 php7.3-gd php7.3-xml php7.3-mbstring php7.3-fpm php7.3-mysql php7.3-curl unzip postfix
sudo update-rc.d apache2 disable
sudo update-rc.d nginx enable

mysql root密碼這樣做
sudo mysql -u root
DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
FLUSH PRIVILEGES;

安裝composer
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

安裝drush(使用8.2.3)
composer global require drush/drush:8.2.3
alias drush='/usr/bin/php ~/.config/composer/vendor/drush/drush/drush.php'
drush init

裝好後退出,再重登並進行確認
在druapl7的目錄執行 drush --version -> Drush Version   :  8.2.3
在druapl8的composer目錄執行 drush --version -> Drush Commandline Tool 9.7.1
PS.在composer目錄底下執行drush,會使用composer目錄中的drush,因此才會出現不同版次

composer目錄的結構如下:
composer.json  composer.lock  config  drush  LICENSE  load.environment.php  modulesnote.txt  phpunit.xml.dist  README.md  scripts  vendor  waterfall_views.css  web

解決composer及drush權限的問題
midkr ~/.composer
sudo chown -R www-data:www-data ~/.composer

然後到執行composer目錄,記得每次執行composer時,都用www-data這個身份去做
sudo -u www-data composer require drupal/redirect

接著來處理drush執行權限問題
chown -R www-data:www-data ~/.drush
echo "alias drush='sudo -u www-data /home/liaozi/.config/composer/vendor/bin/drush'" >> ~/.bash_aliases
之後要執行drush只需在根目錄打drush就能用www-data的身份去執行


Composer
https://getcomposer.org/

Drush
http://docs.drush.org/en/master/install/

備註一下:會那麼麻煩,主要的原因是在網路存取權限目錄,用www-data的身份較好,有時在安裝過程創建出來的檔案權限也比較不容易出錯