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的身份較好,有時在安裝過程創建出來的檔案權限也比較不容易出錯
留言