BASH установка WordPress 5


Сегодня я покажу вам как можно очень просто установить последнюю версию WordPress задействовав простенький Bash-скриптик, который сделает за нас всю работу.

Установка WordPress 5 последняя версия

Я много раз устанавливал WordPress и для этого заходил на сайт https://ru.wordpress.org в поисках последней версии. Далее все всегда шло по намеченному маршруту. Я либо скачивал архив и заливал его через FTP, либо брал ссылку и на сервере выполнял команду типа

wget https://ru.wordpress.org/wordpress-5.0.3-ru_RU.tar.gz

Но теперь я понял, что это не самый лучший вариант и необходимо сделать более быструю загрузку и распаковку WordPress. С этой мыслей я нашел официальную ссылку на последнюю версию WordPress (latest version of WordPress). Она оказалась весьма логичной

http://wordpress.org/latest.tar.gz

Bash скрипт установки WordPress

И теперь настала пора набросать bash-скрипт выполняющий следующие действия:

  1. Скачать архив содержащий последнюю версию
  2. Распаковать его
  3. Почистить за собой удалив скачанный архив
  4. Переименовать wp-config-sample.php в wp-config.php

wget http://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
rm latest.tar.gz
cd wordpress
mv wp-config-sample.php wp-config.php

Остается только заменить данные для подключения к базе и сгенерировать ключи по ссылке

https://api.wordpress.org/secret-key/1.1/salt/

Задача не сложная, так что возьмем следующий Bash-скрипт для получения salt в конфиг WordPress
SALT=$(curl -L https://api.wordpress.org/secret-key/1.1/salt/)
STRING='put your unique phrase here'
printf '%s\n' "g/$STRING/d" a "$SALT" . w | ed -s wp-config.php

Можно было бы сделать немного по другому, например не переименовывать файл конфига, а использовать его для генерации нового с получением salt. Получилось бы вот такое

grep -A 1 -B 50 'since 2.6.0' wp-config-sample.php > wp-config.php
wget -O - https://api.wordpress.org/secret-key/1.1/salt/ >> wp-config.php
grep -A 50 -B 3 'Table prefix' wp-config-sample.php >> wp-config.php

Выбирайте любой вариант. Я остановлюсь на первом.

Далее потребуется заменить параметры подключения к базе. Для меня привычна следующая структура. По такому принципу я обычно создавал новые конфиги для nginx

cat wp-config.php | sed 's/old_string/new_string/g' > wp-config.php

Если мы будем использовать параметры, то вполне возможен такой вариант:

  1. Меняем имя базы
    cat wp-config.php | sed 's/database_name_here/$2/g' > wp-config.php
  2. Меняем имя пользователя базы
    sed -i "s/username_here/$3/g" "wp-config.php"
  3. Генерируем пароль для пользователя базы
    PASSWDDB=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)

Что касается создания базы и пользователя для нее
USER_DB=$3
MAINDB=$2
echo "Please enter root user MySQL password!"
read rootpasswd
mysql -uroot -p${rootpasswd} -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET utf8 */;"
mysql -uroot -p${rootpasswd} -e "CREATE USER ${USER_DB}@localhost IDENTIFIED BY '${PASSWDDB}';"
mysql -uroot -p${rootpasswd} -e "GRANT ALL PRIVILEGES ON ${MAINDB}.* TO '${USER_DB}'@'localhost';"
mysql -uroot -p${rootpasswd} -e "FLUSH PRIVILEGES;"

Остальные элементы автоматизации добавлю позже. Полный скрипт можно посмотреть на GitHub
https://github.com/ZakharovAndrew/Bash-WordPress-Install

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *