Я уже писал о том, как установить WordPress через оболочку . Сегодня я продолжаю рассказ о том, как вы можете обновить его, используя доступ к оболочке. Хотя вы всегда можете выполнить обновление из WordPress, используя метод «1-клик», метод оболочки является более безопасным, поскольку он шифрует всю передачу данных. Есть два способа сделать это: Вы можете сделать это с помощью клиента SSH или разрешить WordPress использовать SSH Transfers для всех типов обновлений, будь то обновление ядра или плагин / обновление / установка темы. Я буду обсуждать оба метода здесь.
Метод 1 из 3: Обновление с использованием клиента SSH
Важное примечание: Всегда проверяйте, что вы делаете полную резервную копию файлов и базы данных вашей установки WordPress перед выполнением обновления.
Теперь я больше не буду писать о том, как подключиться к SSH, поскольку я уже обсуждал это в своем предыдущем уроке . Теперь все команды выполняются при условии, что вы находитесь в каталоге вашего блога (в нашем случае это blogdemo ). Прежде всего, скачайте последнюю версию WordPress и распакуйте ее.
| 1 2 | wget http://wordpress.org/latest.tar.gz tar xfvz latest.tar.gz | 
Теперь нам нужно удалить старые каталоги wp-admin и wp-includes .
| 1 2 | rm -rf ./wp-admin rm -rf ./wp-includes | 
Теперь перейдите в каталог WordPress, где мы извлекли последние файлы WordPress и переместите их обратно в каталог blogdemo .
| 1 2 | cd wordpress mv * ../blogdemo/ | 
Вам будет предложено перезаписать определенные файлы и некоторые каталоги, а также внутри wp-контента . Просто нажмите y и продолжайте. Теперь выйдите из каталога WordPress и удалите каталог и файл latest.tar.gz . Мы закончили с ними сейчас, и нам не нужно, чтобы они занимали место.
| 1 2 3 | cd ../ rm -rf ./wordpress/ rm -f latest.tar.gz | 
На последнем этапе просто войдите в свою панель и запустите обновление базы данных.
Метод 2 из 3: Включение SSH2 для обновления / установки WordPress
Я упоминал … Всегда проверяйте, что вы делаете полную резервную копию файлов и базы данных вашей установки WordPress перед выполнением обновления.
В этом методе вы можете разрешить WordPress использовать SSH для обновления и установки плагинов / тем. Прежде всего, вам необходимо уточнить у своего веб-хоста, установлено ли у них расширение SSH2 для PHP или нет. Чтобы проверить это, запустите следующую команду PHP
| 1 | var_dump( extension_loaded( ‘ssh2’ ) ); | 
Если эта команда возвращает true, это означает, что она установлена, в противном случае это не так. Если ваш веб-хостинг не предлагает его, попросите его установить его для вас или, если вы используете VPS / выделенный, вы можете установить его самостоятельно. Следуйте способу установки здесь .
Прежде всего нам нужно сгенерировать рабочий набор открытых и закрытых ключей, которые будут использоваться для аутентификации пользователя. Для этого используйте следующую команду в вашем SSH-клиенте:
| 1 | ssh-keygen | 
Вам будет предложено указать имя файла. Вы можете оставить это поле пустым или ввести любое другое имя. Если вы оставите это поле пустым, имена файлов будут id_rsa.pub и id_rsa . Также вы можете установить фразу-пароль для дополнительной защиты или оставить ее пустой.
Время для добавления ключей необходимо добавить в файл author_keys. В нашем случае ключи SSH были сгенерированы и хранятся в каталоге .ssh в корневом каталоге.
| 1 2 | cd .ssh cp id_rsa.pub authorized_keys | 
Теперь измените разрешения, чтобы WordPress мог получить доступ к этим ключам.
| 1 2 3 | cd ../ chmod 755 .ssh chmod 644 .ssh/* | 
Вам может потребоваться изменить пользователя каталога, если вы используете PHP от имени другого пользователя.
Теперь, когда вы настроили и работаете с SSH2, вы должны увидеть следующий экран при выполнении любого обновления / установки плагина или установки темы.

 Здесь user — это имя пользователя SSH, которое вы использовали для входа в систему и выполнения всех команд, а пароль — фраза-пароль, которую вас попросили установить во время команды ssh-keygen .  Если вы не выбрали пароль, оставьте поле пароля пустым.  Чтобы не вводить эти данные повторно, введите следующий код в ваш wp-config.php 
| 1 2 3 4 5 | define(‘FTP_PUBKEY’,’/home/user/.ssh/id_rsa.pub’); define(‘FTP_PRIKEY’,’/home/user/.ssh/id_rsa’); define(‘FTP_USER’,’user’); define(‘FTP_PASS’,’passphrase’); define(‘FTP_HOST’,’domain.com’); | 
С этого момента WordPress будет выполнять все операции по передаче файлов с использованием SSH.