Я уже писал о том, как установить 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.