Как известно, для 8-ки нужен уже новый драш, 8-й, например
Инструкция вроде проста
http://docs.drush.org/en/master/install-alternative/
1. Install Composer globally.
2. Add composer's bin directory to the system path by placing export PATH="$HOME/.composer/vendor/bin:$PATH" into your ~/.bash_profile (Mac OS users) or into your ~/.bashrc (Linux users).
3. Install latest stable Drush: composer global require drush/drush.
4. Verify that Drush works: drush status
Приступаю. Сижу в папке root
1. Ставлю композер
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'aa96f26c2b67226a324c27919f1eb05f21c248b987e6195cad9690d5c1ff713d53020a02ac8c217dbf90a7eacc9d141d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Вроде поставился
Драшу нужно композер глобальный
Прописываю по мануалу
mv composer.phar /usr/local/bin/composer
2. Добавляю этот текст в файлик .bashrc PATH="$HOME/.composer/vendor/bin:$PATH" Файлик лежит в этой же папке (root)
Пункт 3 прописываю
composer global require drush/drush
Вроде все пучком
Выводится сообщения
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Using version ^8.1 for drush/drush
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update (это потому что я уже третий раз пробую)
Generating autoload files
Пункт 4, проверяю статус
root@hr-portal:~# drush status
Выводится сообщение
Unable to load autoload.php. Run composer install to fetch dependencies and write this file (http://docs.drush.org/en/master/install-alternative/). Or if you prefer, use the drush.phar which already has dependencies included (http://docs.drush.org/en/master/install).
Вот тут у меня и затык. Ведь файл "автолоад" генерировался. Куда же он делся?
Комментарии
а так не проще -http://www.drush.org/en/stable/install/
не нужно от root его использовать!!!
это делают от рут, просто чтобы положить его в место доступное в переменной $PATH всех пользователей системы:
sudo mv composer.phar /usr/local/bin/composer
как пример, на шаред можно от обычного пользователя (того кто деплоит друпал) инсталить локально
https://getcomposer.org/download/
загрузить компосер, установить в куда-угодно, например в свой ~/bin (или ~/.bin)
php composer-setup.php --install-dir=bin
добавить свой ~/bin к своей переменной окружения $PATH в файле ~/.bashrc, и перечтя конфиг - проверить
composer
Дале, можно с composer инсталить drush или в свой дом.каталог, или в корень друпал как зависимость
а что-бы обращаться к нему по имени из любых мест - путь его расположения должен быть доступен в $PATH
https://habrahabr.ru/post/145946/
https://habrahabr.ru/post/313298/
«а так не проще -http://www.drush.org/en/stable/install/»
не, там по мануалу используется sudo, а у меня дебиан
Буду вникать в остальные советы
Какая связь логическая между sudo, debian и не применимостью этого метода?
apt-get install sudo и настройка sudoers по вкусу, если у вас его нет. Т.к. это правильнее, чем заходить на сервер под рутом.
Ну и никто не мешает, просто выполнить команды из под рута отбросив sudo, если уж на то пошло.
Хотя в debian есть drush в репозиториях, хоть и не свежий, и установка из репозитория, будет правильнее с точки зрения обслуживания системы.
Спасибо
Дальше вроде все как должно быть
root@hr-portal:~# composer global require drush/drush
Changed current directory to /root/.composer
Do not run Composer as root/super user! See https://getcomposer.org/root for det ails
Using version ^8.1 for drush/drush
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Проверяю статус
root@hr-portal:~# drush status
Unable to load autoload.php. Run composer install to fetch dependencies and write this file (http://docs.drush.org/en/master/install-alternative/). Or if you prefer, use the drush.phar which already has dependencies included (http://docs.drush.org/en/master/install).
Вот что ему не так? ведь он сгенерировал автолоад-файл
вот не надо под рут!
))
cd
так снизим привилегии до простого пользователя и зайдем в его дом.директорию
дале проверить работу введя
composer
composer -это просто пакет-менеджер для php - установщик зависимостей.
с его помощью - устанавливать и обновлять drush
и тут, если drush нужен предустановленный всем,
надо думать - куда его поставить, чтоб удобно обновлять, а жесткую ссылку на /usr/bin/drush делать
вот не надо под рут!
У меня весь сервер в распоряжении. На сервере заведено несколько юзеров и 10-ок сайтов. У каждого юзера 1-3 сайта
На сервер я захожу через путти, по SSH, захожу через рут. Предлагаете мне каким-то образом перелогиниваться в юзера и этих юзеров каждый раз менять, если я хочу обновить все сайты?
По команде композер показывается логотип и текст
Composer version 1.2.2 2016-11-03 17:43:15
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
about Short information about Composer
archive Create an archive of this composer package
browse Opens the package's repository URL or homepage in your browser.
clear-cache Clears composer's internal package cache.
clearcache Clears composer's internal package cache.
config Set config options
create-project Create new project from a package into given directory.
depends Shows which packages cause the given package to be installed
diagnose Diagnoses the system to identify common errors.
dump-autoload Dumps the autoloader
dumpautoload Dumps the autoloader
exec Execute a vendored binary/script
global Allows running commands in the global composer dir ($COMPOSER_HOME).
help Displays help for a command
home Opens the package's repository URL or homepage in your browser.
info Show information about packages
init Creates a basic composer.json file in current directory.
install Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
licenses Show information about licenses of dependencies
list Lists commands
outdated Shows a list of installed packages that have updates available, including their latest version.
prohibits Shows which packages prevent the given package from being installed
remove Removes a package from the require or require-dev
require Adds required packages to your composer.json and installs them
run-script Run the scripts defined in composer.json.
search Search for packages
self-update Updates composer.phar to the latest version.
selfupdate Updates composer.phar to the latest version.
show Show information about packages
status Show a list of locally modified packages
suggests Show package suggestions
update Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file.
validate Validates a composer.json and composer.lock
why Shows which packages cause the given package to be installed
why-not Shows which packages prevent the given package from being installed
Заведите пользователя который будет обслуживать сервер, но не добавляйте его в sudo, он должен быть обычным юзером. И получайте через него права рута с помощью su
Когда вы зайдете по ssh под этим пользователем, то после набора su вам надо будет ввести пароль root пользователя, который по идее должны знать только вы, сам доступ рута через ssh заблокируйте в файле sshd_config по пути /etc/ssh/sshd_config
изменив PermitRootLogin yes на PermitRootLogin no
То есть у вас на сервере вообще не должно быть привелигированных пользователей на случай взлома, кроме рута, которому доступ будет запрещен, но как получить его права написано выше.
Если вам надо будет что -то грузить в директорию рута, когда будете получать его права, то cd ~
Просто попробуй понять, это *nix - а не то, что ты хочешь, ждешь, или предполагаешь - просто система со своими сложившимися принципами,
и мы ее просто используем, один раз настраиваем - демонов, нужные утилиты, конфиги, и используем,
время от времени - подстраиваем, если надо что-то еще, и используем дальше.
Имея с одной стороны сонмы разработчиков - а с другой - сонмы пользователей - для достижения понимания
система следует неким принципам, соглашениям по конфигурации, стремиться к стандартизации
- если хочешь вникнуть начни с POSIX, FHS
- если не хочешь - не вникай, но просто следуй - иначе не получиться, ведь ты этим принципам следуешь всегда даже не подозревая про это,
сами производители софта - способствуют этому начиная еще с архитектуры своих продуктов.
Ведь ты знаешь - что бывает когда друпал используют через задницу,
подозреваешь о неэффективности попыток сходить по большому на потолок,
вот и с ПДД - тоже самое,
и с системным администрированием *nix - не иначе.
Просто играй по правилам))
Если есть стандарты - придерживайся.
Сис.администрирование и пользовательское использование - это две ОТДЕЛЬНЫЕ вселенные в *nix системе.
На это рассчитывают те, кто пишет софт, который ты используешь.
Что composer, что drush несмотря на то, что выполняют админ задачи - являются пользовательскими скриптами.
Но следуя принципу DRY - ты как владелец системы, можешь дать пользователям единый набор предустановленных утилит,
чтобы каждый не парился воспроизводить у себя в дом каталоге одно и то-же.
В твоем конкретном случае это значит, что ты сооружаешь workflow для drupal(или просто php)-ориентированных пользователей.
Но тут имеет смысл сказать, что если composer удобно установить глобально - и все используют,
то drush - нужно или инсталить все актуальные версии, те вызывать потом drush7, drush8 - или отдать установку на усмотрение пользователя.
Ибо drush, как и ядро дру, и весь, контриб, и все что доступно из composer - им же и ставиться/обновляется.
Без всяких проблем.
Представь что composer это своеобразный apt для php пакетов))
Установка - ты просто скачиваешь файл со оф.страницы, делаешь исполняемым и кладешь в /usr/bin
Оф. установочная инструкция и скрипт предлагают ряд проверок - но принцип я описал выше.
Тут рут права нужны только что-бы произвести запись в /usr/bin
Дальше - мы просто его ИСПОЛЬЗУЕМ,
и как тебе пишут его разработчики в выводе - не надо даже пытаться использовать его под рутом.
Сделай себе пользователя обычного - такого как те, что работают на сервере с сайтами.
От него входи в систему и им проверяй какое ты создал workflow для своих соседей по системе, все - ли работает удобно ли, че еще надо.
Если надо чего до-установить - ты делаешь su - админишь, делаешь exit - проверяешь.
Но заходишь под обычным, настроив раз вход по ключу чтоб не вбивать каждый раз пароль
(и пользоваться всеми прелестями scp, git push, и прочими межхостовыми требующими авторизации - без головняков).
А при первом входе - настроив вход по ключу и отправив свои ключи - ты запрещаешь удаленный вход руту.
Все очень просто.
Не надо работать под рутом никогда, ибо просто: нет никакой необходимости работать под рутом.
Это как скакать в новых джинсах на коняке без седла - только два вопроса - накой, и - ой че это с джинсой)))
которому доступ будет запрещен, но как получить его права написано выше
а что помешают злодею сделать точно также как и я, набрать все эти su?
p.s. судо у меня работать не будет, у меня дебиан
Если он будет знать пароль рута, то ничего.
Будет прекрасно.
Если он будет знать пароль рута, то ничего.
хм, а как он узнает его, если я хожу под рутом? Сядет рядом за столом и подглядывать будет?
Лан, вопрос секурности он интересный, но сейчас я пытаюсь поставить драш. А он не ставится
https://www.youtube.com/watch?v=dQjUH0kTq8w
с 57-й минуты
Миша ночью в скайпе поможет, там действительно можно час крутиться на одном неверном символе, как вспомню так вздрогну.
да что то аномалия. сейчас попробовал по своему мануалу поставить. шляпа. а букавально пару недель назад по нему на vps драш поставил оч быстро.
сейчас на свежем дебиане jessie как автор и писал все генерится, но драш не работает.
почему не работает, стало понятно. не создаются в домашней директории .drush и .composer и есно терминал не понимает чего от него хотят. разбираюсь
В общем сейчас у меня есть в папке root, папка ".compser" (странно, ведь я переносил композер командой mv composer.phar /usr/local/bin/composer)
В папке vendor есть также папка с драшем (несколько файликов) и несколько других папок. И, внимание!, есть файл autoload.php
Что ему не так, не понимаю
в папке "/usr/local/bin" есть файлик ".composer", походу это "хардлинк"
зашел на vps
drush status
PHP executable : /usr/bin/php
PHP configuration : /etc/php/7.0/cli/php.ini
PHP OS : Linux
Drush script : /home/anyuser/.composer/vendor/dru
sh/drush/drush.php
Drush version : 8.1.5
Drush temp directory : /tmp
Ставлю на новый локальный дебиан, он ставит по пути в /home/anyuser/.config/composer, что нечто другое от ожидаемого
Ну че, не удалось победить драЩ?
Попробывал удалить композер путем удаления файлов. Но нэт. Композер так просто не удалить
Попробывал поставить еще раз композер, и еще раз просто драш простым путем
http://docs.drush.org/en/master/install/
Судо у меня нет, поэтому команду
sudo mv drush /usr/local/bin я набирал просто "mv drush /usr/local/bin"
Затем набрал drush init, драш прописал свои тексты "баш"
В папке /usr/local/bin сейчас лежат
*.composer
*.drush
Воодушевленный иду и пробую запустить драш уже в папке сайта. Но не тут-то было
root@hr-portal:/var/www/kpd/data/www/good-sp.ru# drush up
PHP Warning: pcntl_exec(): Error has occurred: (errno 13) Permission denied in phar:///usr/local/bin/drush/includes/startup.inc on line 415
Error has occurred executing the Drush script found at /var/www/kpd/data/www/good-sp.ru/drush
(errno 13) Permission denied
Пробую запустит драш статус
root@hr-portal:/var/www/kpd/data/www/good-sp.ru# drush status
PHP Warning: pcntl_exec(): Error has occurred: (errno 13) Permission denied in phar:///usr/local/bin/drush/includes/startup.inc on line 415
Error has occurred executing the Drush script found at /var/www/kpd/data/www/good-sp.ru/drush
(errno 13) Permission denied
root@hr-portal:/var/www/kpd/data/www/good-sp.ru#
В общем, теперь что-то с правами. Офигительно ведь. Руту прав не хватает
Может надо вручную перенести (или скопировать) папку драш из рута в usr/local/bin/drush ?
драш статус из дириктории узр-локал-бин
root@hr-portal:/usr/local/bin# drush status
PHP configuration : /etc/php5/cli/php.ini
PHP OS : Linux
Drush script : /usr/local/bin/drush
Drush version : 8.1.7
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
https://www.linode.com/docs/websites/cms/drush-drupal
Это точно. Drush Commandline Tool 9.2.3 [ ubuntu 18.04 ] . Спасибо.
Кстати вопрос. А зачем в папке FOLDER файлик install.sh
Просто так, по старинке ?
Просто не работать под рутом,
неужели не хватило траблов, чтоб понять это простое правило?
Я вообще удивлен - как можно с такой настойчивостью создавать себе проблемы на ровном месте...
https://www.lullabot.com/articles/goodbye-drush-make-hello-composer
http://drupal-composer.org/
Просто не работать под рутом, неужели не хватило траблов, чтоб понять это простое правило?
Угу, расскажите теперь ,как вернуть систему в исходное состояние, чтобы пробовать не из под рута?
https://www.linode.com/docs/websites/cms/drush-drupal
у меня не работает sudo, хотя можно без судо, я все равно под рутом
Убрать то, что копировалось в /usr/bin или /usr/local/bin
Где лежит - можно посмотреть:
whereis drush
Убрать все что собиралось в /root
Перейти в простого пользователя (к примеру создать нового deployer)
cd
mkdir -p SRC/bin
cd SRC
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'aa96f26c2b67226a324c27919f1eb05f21c248b987e6195cad9690d5c1ff713d53020a02ac8c217dbf90a7eacc9d141d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
chmod +x bin/composer
# Проверить
./bin/composer
# Положить в /usr/local/bin чтоб использовать всем
su root
mv bin/composer /usr/local/bin/composer
# Проверить обычным пользователем
su deployer (или просто exit - ведь в root пришли из deployer)
whereis composer
composer
Там-же, в SRC
# проверить
./vendor/drush/drush/drush status
su root
sudo mv ./vendor/drush /usr/local/bin/drush
exit #Вышли из root
whereis drush
drush status
Но я пользуюсь drush из локального .composer, просто добавив его в $PATH
Может будет проще sudo поставить, чем su/exit каждый раз...
Спасибо, пробую вашим путем
затык
Use it: php composer.phar
deployer@hr-portal:~/SRC$ php -r "unlink('composer-setup.php');"
deployer@hr-portal:~/SRC$ chmod +x bin/composer
chmod: cannot access `bin/composer': No such file or directory
deployer@hr-portal:~/SRC$
cd же - вот от сих и работает, судя по тексту - права на запись есть, а потом убить SRC))
mv composer.phar composer
а дальше по тексту - исполняемым, проверить, и в общий /usr/local/bin
Но это я не дописал ключей, сорян, бывают и хуже очипятки))
команда сборки:
php composer-setup.php --install-dir=bin --filename=composer
спасибо!
whereis composer
не признается (может потому что "анлинк" вызывал)
хотя композер и лежит в папке деплоера
то есть, есть
/var/www/deployer/data/.composer (внутри 2 key)
и
/var/www/deployer/data/SRC/composer.phar
/var/www/deployer/data/SRC/bin
Куда чмод применять?
chmod +x /var/www/deployer/data/SRC/composer.phar
# попробовать как работает
cd /var/www/deployer/data/SRC/
./composer.phar
# поднять привилегии до рут и перенести в /usr/local/bin
mv composer.phar /usr/local/bin/composer
# выйти из root
# проверить что виден простому пользователю
whereis composer
# проверить как работает
composer
После каталог SRC можно удалить
Каталог .composer у обычного пользователя это:
для собираемых composer-ом пакетов которые нужны для всех проектов этого пользователя.
так, чтоб не ставить(и обновлять) drush в каждый проект проект пользователя -
ставим глобально ( но это в пределах этого пользователя, а глобально - читай: глобально для всех проектов пользователя)
и в ~/.bashrc добавляем этот путь в переменную $PATH
export PATH="$HOME/.composer/vendor/bin:$PATH"
Можешь глянуть что у тебя в PATH
env | grep PATH
чет у меня теперь
не
/var/www/deployer/data/SRC/composer.phar
а
/var/www/deployer/data/SRC/*composer
(Наверно потому, что я набирал команду хулигана - mv composer.phar composer)
И команда
chmod +x /var/www/deployer/data/SRC/composer.phar
не находит файл
повторение - мать учения)
все стереть
curl -sS https://getcomposer.org/installer | php
# в текущем каталоге появился composer.phar
# делаем исполняемым
chmod +x composer.phar
# проверяем
./composer.phar
# заходим в root и переносим с новым именем
su root
mv composer.phar /usr/bin/composer
# выходим из root
exit
# проверяем видимость
whereis composer
# проверяем работу
composer
спасибо
повторение сработало, композер есть
deployer@hr-portal:~$ whereis composer
composer: /usr/bin/composer
Теперь надо драш ставить
Ставить так?
# проверить
./vendor/drush/drush/drush status
su root
sudo mv ./vendor/drush /usr/local/bin/drush
exit #Вышли из root
whereis drush
drush status
Так не будет работать,
чтоб так работало надо из vendor в /usr/local/bin весь каталог drush перетащить (так потом чистить проще будет),
но я не считаю это хорошим решением.
Пусть каждый пользователь у себя использует,
им нужно только чтоб vendor/bin был в PATH
т.е в его .bashrc
# И не забываем про
source .bashrc
# После его редактирования
Ведь сегодня нужен drush7 завтра drush8, потом drupal-console...
пользователю проще делать:
composer global require drupal/console:@stable
и использовать
кстати книга по drupal-colsole на gitbook:
https://www.google.com.ua/search?q=gitbook+drupal-console
у меня нет других пользователей, драшем пользуюсь только я. Причем пользуюсь рутом (один фиг по ссх захожу рутом)
Лично мне проще просто заходить под рутом и драшить все свои 10 сайтов, не переключаясь в разных пользователей
драш ставить в любом случае?
composer require drush/drush
ставить его из под юзера?
Так все проще,
под рутом делай только админ задачи для системы, обновить и тп.,
а все остальное - это зона действия простого пользователя,
тогда и composer нет смысла в /usl/local/bin
так проще будет обновлять.
и сами сайты обслуживать из простого пользователя (а это ведь соответствующие права на ФС) ,
и drush ставить ему-же.
Можно конечно попробовать поставит драш (Install a global Drush via Compose)
http://docs.drush.org/en/master/install-alternative/
а вот это я не понял
composer global require drupal/console:@stable
зачем мне "консоль", когда есть драш. Зачем плодить сущности
Да, консоль возможно инструмент более широкого назначения. Но, тема у нас "как поставить драш", Я бы вообще один драш поставил, без композера
это пример был,
с composer можно очень просто ставить и обновлять много вещей, не только drush но и drupal с модулями.
composer search имя_пакета
ну да, можно обновить драшем, а можно композером, а можно друпал-консолью
Расплодили дублирующие функции, Зачем - хз.
(И мну еще предлагается этим голову забивать)
я вот еще драш не поставил, сижу думаю как лучше, глобально или для всех юзеров (И в чем разница)
Рут может создавать юзеров, юзеры могут создавать сайты. Рут не может создавать сайты, нежели только под юзером, утрирую канешн.
Когда работы по драшу завершены у рута, приступаем к работам по устройству драша у юзеров. Можно это делать не у всех подряд, а токмо у нужных.
В итоге при наборе в консоли компа сайт.ru@юзертакойто дожен последовать запрос пароля и вход в директорию акка пользователя, потом в директорию сайта и далее команда драш полное и беспрекословное обновление сайта.
Потом идём на страницу отчётов сайта и смотрим логическое завершение месячной установки драша на хостинг.
Великолепная возможность усложнить себе жизнь.
У кого много сериалов и ужасная лень, всячески рекомендую.
Если работаете в техподдержке, там да, драш неоценим.
Когда работы по драшу завершены у рута, приступаем к работам по устройству драша у юзеров. Можно это делать не у всех подряд, а токмо у нужных.
все юзеры это я сам их создал. Я один (совсем один, один-одинешенька) работаю над этими сайтами. Юзеры созданы чисто для удобства (для потенциальной передачи прав на фтп, например)
Поэтому, драш мне нужен. Нет, точнее - драш нужен мне. И никому более на моем сервере. Я не хостер. Я простой недо-друпалер
Че, как ставить в итоге драш. Глобально? Чтоб рутом драшить все сайты
и потом у Вас от вашего юзера не будет хватать прав на какие-либо действия над этим файлом?
юзеры работают только с папкой files, с которой драш не работает. Драш обновляет ядро, модули с дру-орг
я ставил так
Скачиваем последнюю стабильную версию:
Проверяем установку:
Переименовываем drush.phar в drush и перемещаем в папку bin(на самом деле не важно куда его поместить).
mv drush.phar bin/drush
Вы пришли за советом, Вам сказали, как правильней и для чего делается так.
Вы задали вопрос
Но что будет если Ваш драш от рута внесёт изменения в фс сайта, и потом у Вас от вашего юзера не будет хватать прав на какие-либо действия над этим файлом?
Я ответил, что ничего не будет. Потому что драшем я просто обновляю сайт. И кастомные темы драш тоже не трогает при драш-апе. Зачем придумывать потенциальные проблемы там, где их нет
Проблемы будет решать по мере поступления. Есть немалая вероятность, что я не доживу до каких-то потенциальных проблем
Вы пишите как дедуля на завалинке, учя молодежи тому, чему ей нахрен не надо.
Не столкнусь я с проблемой нехватки юзеру прав из-за драша. Потому что я и рут и все эти пользователи.
Я кстати спросил, чем отличается установка драша глобального от "Для всех юзеров"
Ответ не получил. Хотя вот это как раз тема про "потенциальные проблемы"
chimir #
я попробую
Если drush работает от имени пользователя root,
а сам php от имени простого пользователя (или апача в случае mod)- тут рано или поздно будут проблемы.
Да и в общих случаях: пользовательские действия с root привилегиями == проблемы.
Поэтому и говорил - у какого пользователя во владении фс с кодом и файлами сайта,
под ним и для него настраивать workflow.
а что в нем будет - личное дело каждого (будет ли это drush, console, git, etc),
но работая с php сейчас: composer - strongly must have.
Ведь сам же не стал использовать apt для установки drush,
хотел погибче - бери погибче, но нужно вникнуть, и это не сложно,
а иначе - это только тогда, когда владельцу поф на пользователей его сайта.
Глобально для пользователя - путь установки присутствует в его $PATH
Глобально для все пользователей - путь установки присутствует в общедоступном $PATH
Локально - в рамках одного проекта (cм. dir vendor)
Я ужо думал ты все сделал и забыл))
Учить Вас - пустая трата времени, жизнь научит.
Да, я действительно не просил учить меня жить.
а сам php от имени простого пользователя (или апача в случае mod)- тут рано или поздно будут проблемы.
5 лет делал драш ап от рута. Проблем не было. Может и не будет?
Как там говорит котенок по имени "гав" - пойду искать неприятности?
под ним и для него настраивать workflow.
Тогда зачем Вам все эти пользователи?
У меня пользователи номинальные. Их не существует как физлиц.Об этом я уже писал. Разделению воркфлоу для каждого пользователя - это логика хостера (и правильная логика), а не одинокого друпалера-любителя.
Ведь сам же не стал использовать apt для установки drush
Да не, у меня оно не заводилось, уже не помню почему. Композер мне в общем-то и не нужен. Я его ставил только из-за того, что легким и простым способом драш чет не ставился
Композер маст-хэв когда Вы каждый день ставить 10-ки ядреных друпалов или там модулей, тем. А не когда (как я) раз в месяц при выходе крит. обновления, драш-апите 10 сайтов
Глобально для все пользователей - путь установки присутствует в общедоступном $PATH
Локально - в рамках одного проекта (cм. dir vendor)
Я ужо думал ты все сделал и забыл))
Понял, спасибо. Нет, еще не сделал. Работа отвлекала, да новая "кодла"
chmod +x drush.phar
mv drush.phar bin/drush
Пробовал и рутом и юзером
нифига
deployer@hr-portal:~$ php drush.phar core-status
PHP configuration : /etc/php5/cli/php.ini
PHP OS : Linux
Drush script : /var/www/deployer/data/drush.phar
Drush version : 8.1.7
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
deployer@hr-portal:~$ chmod +x drush.phar
deployer@hr-portal:~$ mv drush.phar bin/drush
mv: cannot move `drush.phar' to `bin/drush': No such file or directory
deployer@hr-portal:~$
Может надо mv drush.phar /bin/drush ?
Пробую еще и так
Запускаю композер из папки юзера деплоер, юзером деплоер
composer require drush/drush
# проверить
./vendor/drush/drush/drush status
su root
sudo mv ./vendor/drush /usr/local/bin/drush
exit #Вышли из root
whereis drush
deployer@hr-portal:~$ whereis drush
drush: /usr/local/bin/drush
deployer@hr-portal:~$ drush status
bash: drush: command not found
Отлично, драш установился, но команды не найдено
Я точно сойду с ума этим драшем
Либо надо добавить /usr/local/bin в $PATH.
Либо ln /usr/local/bin/drush /usr/bin/drush - это вероятно самый простой способ.
Копировать в /usr/bin не стоит.
Либо ln /usr/local/bin/drush /usr/bin/drush - это вероятно самый простой способ.
Да он после моей второй попытке уже вроде там
drush: /usr/local/bin/drush
Видно где-то пути не прописались
Он у вас в /usr/local/bin, и этого пути нет у вас в PATH, поэтому под пользователем и не вызывается без указания полного пути. При этом, /usr/bin в PATH у вас есть, конечно, и туда и надо проливать drush.
Занимаетесь тупым копипастом
Бывает еще копипаст умный? копи-паст это скопировать-вставить. Это не шахматы. Тут негде думать по определению
Естественно бывает. Если вы не просто копипестите, а попутно читаете документацию по предлагаемым командам и понимаете, что и зачем вам предлагают сделать. Ну и уточняет, если нужно.
Сделал исполняемым
однако, когда захожу в папку сайта и пробую драш ап
root@hr-portal:/var/www/vv-travel/data/www/vv-travel.ru# drush up
Command pm-update needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment to run this command. [error]
The drush command 'up' could not be executed. [error]
Drush was not able to start (bootstrap) the Drupal database.
[error]
Hint: This may occur when Drush is trying to:
- bootstrap a site that has not been installed or does not have a configured database.
In this case you can select another site with a working database setup
by
URI to use with the uri parameter on the command line.
See drush topic docs-aliases for details.
- connect the database through a socket. The socket file may be wrong or the php-cli may have no access to it in a jailed shell. See http://drupal.org/node/1428638 for details.
форум ругается на слово специфайд
это косяки в 7-ке
А при попытке апнуть 8-ку, пишет что
root@hr-portal:/var/www/kpd/data/www/good-sp.ru# drush up
PHP Warning: pcntl_exec(): Error has occurred: (errno 13) Permission denied in /root/.composer/vendor/drush/drush/includes/startup.inc on line 415
Error has occurred executing the Drush script found at /var/www/kpd/data/www/good-sp.ru/drush
(errno 13) Permission denied
переключаюсь в деплоера
deployer@hr-portal:/var/www/kpd/data/www/good-sp.ru$ drush up
bash: drush: command not found
здрасте приехали.. Опять драш потерялся
p.s. как скучно в винде, выбрал папку и далее-далее-далее
а тут в линухе, борода растет, глаза краснеют. Лепота
Связанный вопрос
Порекомендовали мне таки под одного юзера завести все сайты
Вот вопрос ,у меня ядренные папки-файлы принадлежат руту (а всякие файлес, сайтес - принадлежат юзеру)
как правильно делать? Оставить как есть или все папки сайта отдать юзеру (если не отдать, то я из под юзера очевидно не смогут драшить)
chown -R
https://ru.wikipedia.org/wiki/Chown
владельцем сделать пользователя, в группу включить пользователя от которого работает вебсервер
владельцем сделать пользователя
это понятно
в группу включить пользователя от которого работает вебсервер
а вот это уже нет
У меня в группе для каждого сайта указан тот же
ну то есть, если владелец для папок сайта "kpd", то и группа указана "kpd"
тут просто нужно посмотреть от какого пользователя работает php,
чтоб он мог писать в public:
ну вот они работали раньше нормально, до переезда
Когда у каждого пользователя для папок файлес, сайтес - были указан пользователь как владелец и как группа
А теперь, работать так не хочет. Пресеты не создаются для картинок
в журнале
Невозможно установить права на public://styles/large
Невозможно создать заданное изображение в public
p.s. Еще есть вопрос, как у базы сменить владельца. Может из-за этого глюки тоже
прошло немного времени
Валера, вот тебе наглядный пример тобой-же предоставленный
Хозяин барин - делай как хочешь.
Как правильно, тебе говорилось выше,
Но ты, босс, можешь и дальше относиться к этому как пустой болтовне нудных красноглазых линуксоидов))
Проверил от какого юзера работает пхп
echo $userinfo['name'];//выведет имя пользователя, от которого работает PHP
выводит deployer, что собственно и нужно
А вот почему деплоер не может пресеты создавать, вопрос интересный
Невозможно создать заданное изображение в public://styles/thumbnail/public/field/image/ohrannik.jpg.
Вообще установка драша похожа на такую ситуацию
Жили Вы 10 лет в доме, жили нормально, но завелась мышь. Пробуете поймать - не получается
Лезет на форум домоводов. Дают несколько советов. Мышь не ловится
Затем Вас убеждают в том, что дом просто построен неправильно, а вот если его разобрать и построить иначе, по феншую, тогда (может быть) мышь и не заведется (заблудиться может)
Что значит "в группу включить пользователя от которого работает вебсервер" - я не понимаю. Где эта "группа" ?
Как туда "включать" ?
Двое суток и днём и ночью. drush и drupal 8. На vds. вчера удалил vds. Нельзя ставить графику, плохо это.
Что с драшем. (на vds установил Centos 7 и php 70). Вот оно и было. Удалил 70 . Поставил php 56
И заработал drush. (8.1), Ставил composerom. Уже завтра буду ставить сам друпал 8. Тяжело, страшно ? Мне тоже тяжело.
Бывает, что ни тела ни времени не чувствую. Голоден ли, в холоде я ? Вот пока не достигнул цели. С уважением.
http://drupal.ru/node/130881