35
WordPress auto-install : просто о сложном Владимир Самолетов

WP Kitchen Meetup Spring 2015 - Владимир Самолетов: WordPress auto-install: просто о сложном

Embed Size (px)

Citation preview

WordPress auto-install: просто о сложномВладимир Самолетов

Ручная установка WordPress 1/?1. https://wordpress.org/

2. Качаем последнюю версию

3. Заливаем на сервер

4. Извлекаем из архива и переносим из папки “/wordpress”

5. Создаем wp-config.php

1. Идем в управление MySQL

1. Создаем базу

2. Пользователя

6. Генерируем WordPress.org secret-keys

7. Добавляем дополнительные параметры (WP_SITEURL, WP_HOME, FS_METHOD, WP_POST_REVISIONS)

Ручная установка WordPress 2/?

Ручная установка WordPress 3/?

Ручная установка WordPress 4/?

Готово?

Ручная установка WordPress 5/?

Ручная установка WordPress 5/5

1. Удаляем

1. Тестовые посты, страницы, комментарии

2. Старые Темы

3. Плагины, все кроме Hello Dolly ;)

2. Устанавливаем

1. Свою тему, дочернюю тему

2. Свои любимые плагины

3. Настраиваем

1. Общие настройки

2. Медиафайлы

3. Ссылки

4. Создаем

1. Категории

2. Теги

3. Меню

4. Тестовые записи

WP Quick Installhttp://wp-quick-install.com/

WP Quick Installhttp://wp-quick-install.com/

Плюсы:

1. Качает последнюю версию WP, извлекает из архива

2. Привычный Веб-интерфейс, не консоль

3. Дополнительные настройки (пермалинки, медиа, доп. параметры wp-config.php)

4. Удаление лишнего (постов, страниц, комментариев, тем, плагинов)

5. Установка темы

6. Установка плагинов

7. Добавление тестовых данных (фикстуры)

8. Дополнительная настройка инсталятора через .ini конфигурационный файл

Минусы:

1. БД и пользователя нужно создавать самостоятельно

2. Ограниченный функционал

3. Полуавтоматизация

WP Quick Installhttp://wp-quick-install.com/

Установка через bash/shell/терминал/черное окно

Установка через bash/shell/терминал/черное окно

Установка через bash/shell/териминал/черное окно https://gist.github.com/bgallagh3r/2853221 https://gist.github.com/dongilbert/951776 https://www.rosehosting.com/blog/script-install-wordpress-on-a-debianubuntu-vps/#!/bin/bash # # Install WordPress on a Debian/Ubuntu VPS #

# Create MySQL database read -p "Enter your MySQL root password: " rootpass read -p "Database name: " dbname read -p "Database username: " dbuser read -p "Enter a password for user $dbuser: " userpass echo "CREATE DATABASE $dbname;" | mysql -u root -p$rootpass echo "CREATE USER '$dbuser'@'localhost' IDENTIFIED BY '$userpass';" | mysql -u root -p$rootpass echo "GRANT ALL PRIVILEGES ON $dbname.* TO '$dbuser'@'localhost';" | mysql -u root -p$rootpass echo "FLUSH PRIVILEGES;" | mysql -u root -p$rootpass echo "New MySQL database is successfully created"

# Download, unpack and configure WordPress read -r -p "Enter your WordPress URL? [e.g. mywebsite.com]: " wpURL wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www --transform s/wordpress/$wpURL/ chown www-data: -R /var/www/$wpURL && cd /var/www/$wpURL cp wp-config-sample.php wp-config.php chmod 640 wp-config.php mkdir uploads sed -i "s/database_name_here/$dbname/;s/username_here/$dbuser/;s/password_here/$userpass/" wp-config.php

# Create Apache virtual host echo " ServerName $wpURL ServerAlias www.$wpURL DocumentRoot /var/www/$wpURL DirectoryIndex index.php

Options FollowSymLinks AllowOverride All

ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined " > /etc/apache2/sites-available/$wpURL

# Enable the site a2ensite $wpURL service apache2 restarton\n"

Плюсы:

• Качает последнюю версию WP, извлекает из архива

• Cоздает БД и пользователя

• Установка без использования браузера

• Дополнительные возможности shell, например возможность создания виртуальных хостов и перезагрузка apache и т.п.

Минусы:

• Консоль нужно знать хорошо :)

• Сложное взаимодействие с WP и конфигурационным файлом

• Многое можно сделать, но затратно по времени

Установка через bash/shell/териминал/черное окно

WP-CLIhttp://wp-cli.org/

WP-CLI / Установкаhttp://wp-cli.org/

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

$ chmod +x wp-cli.phar

$ sudo mv wp-cli.phar /usr/local/bin/wp

WP-CLI / Основные команды 1/3http://wp-cli.org/

$ wp core download

$ wp core config --dbname=<dbname> --dbuser=<dbuser> --dbpass=<dbpass>

$ wp db create

$ wp core install --url=<url> --title=<site-title> --admin_user=<username> — admin_password=<password> --admin_email=<email>

$ wp plugin install <plugin_name> $ wp plugin activate <plugin_name> $ wp plugin status $ wp plugin deactivate <plugin_name>

$ wp theme install <theme_name> $ wp theme activate <theme_name> $ wp theme status $ wp theme deactivate <theme_name>

WP-CLI / Основные команды 2/3http://wp-cli.org/WordPress Update $ wp core update $ wp core update-db $ wp plugin update --all $ wp theme update —all

Export $ wp export $ wp export --max_file_size=<MB> $ wp export --start_date=<date> --end_date=<date> $ wp export --post_type=<post-type> $ wp export --category=<name> $ wp export --post_status=<status> $ wp export —skip_comments

Import $ wp import <file_name.xml> --authors=<authors> [--skip=<data-type>]

DB Export, Import… $ wp db export $ wp db import <dump_file.sql> $ wp db reset $ wp db tables $ wp db query <sql> $ wp db repair $ wp db optimize

WP-CLI / Основные команды 3/3http://wp-cli.org/Search and Replace $ wp search-replace <old> <new> [<table>…]

Manage Users $ wp user list $ wp user create <user-login> <user-email> --role=<role> --user_pass=<password> $ wp user update <user> --<field>=<value> $ wp user delete <user>

Manage Posts $ wp post list $ wp post url <id> $ wp post delete <id> $ wp post get <id> $ wp post meta <add|delete|get|list|update> <id> [val] $ wp post meta set 123 _wp_page_template hoge.php

Add Post $ wp post create [<file>] [--<field>=<value>] $ wp post create --post_title='A future post' --post_status=future —post_date='2020-12-01 07:00:00' $ wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file'

Media $ wp media import <file> $ wp media import ~/Downloads/image.png $ wp media import ~/Pictures/*.jpg $ wp media import http://example.com/style/image.png

Manage Options $ wp option <add|delete|get|update> <key> [val] $ wp option get site_url $ wp option add my_option hoge $ wp option update my_option '{"hoge":"piyo"}' --format=json $ wp option delete my_option

WP-CLI / Power commandshttp://wp-cli.org/$ wp option update timezone_string «Europe/Kiev»

$ wp rewrite structure ‘/%year%/%monthnum%/ %postname%/‘ —hard

$ wp site empty

$ wp search-replace “oldsite.dev” “newsite.com”

$ wp media regenerate —yes

$ wp shell

$ wp scaffold _s $ wp scaffold child-theme $ wp scaffold package-tests $ wp scaffold plugin $ wp scaffold plugin-tests $ wp scaffold post-type $ wp scaffold taxonomy

WP-CLI / Сommunity commandshttp://wp-cli.org/

Advanced CSV Importer, blog-duplicator, CampTix, Co-Authors Plus, DreamObjects, Easy Digital Downloads, Image Gen, Liveblog, More Plugin Info,

Multi Device Switcher, P2 By Email, P2 Resolved Posts, Post Gen, Posts 2 Posts, Safe Redirect Manager, Scheduled Unsticky, SupportFlow, Thinkup Import

WP CLI Commands, Widget Import Export, WordPress to Jekyll Exporter, WP Migrate DB CLI Interface, WP Stream, WP-CFM, WP-Crontrol, wp-deploy-flow,

wp-revisions-cli

Advanced Custom Fields, BackupBuddy, BackUpWordPress, BackWPup, Composer, Developer,

Google Sitemap Generator CLI, Jetpack by WordPress.com, Nginx Cache Controller, W3 Total Cache, WP Migrate DB Pro,

WP Super Cache CLI,

WP-CLI HELPERShttps://github.com/charleslouis/wp_cli_helpers

WP-CLI + bash/shell/терминал/черное окноhttp://www.ltconsulting.co.uk/automated-wordpress-installation-with-bash-wp-cli/

WP-CLI + bash/shell/терминал/черное окноhttps://github.com/vsamoletov/wpinstall

WP-CLI + bash/shell/терминал/черное окноhttps://github.com/vsamoletov/wpinstall

WP-CLI + bash/shell/терминал/черное окноhttps://github.com/vsamoletov/wpinstall

WP-CLI + bash/shell/терминал/черное окноhttps://github.com/vsamoletov/wpinstall

WP-CLI + bash/shell/терминал/черное окноhttps://github.com/vsamoletov/wpinstall

WP-CLI + bash/shell/терминал/черное окноhttp://www.ltconsulting.co.uk/automated-wordpress-installation-with-bash-wp-cli/Плюсы: 1. Качает последнюю версию WP, извлекает из архива 2. Cоздает БД и пользователя 3. Установка без использования браузера 4. Дополнительные настройки (пермалинки, медиа, доп. параметры wp-

config.php) 5. Удаление лишнего (постов, страниц, комментариев, тем, плагинов) 6. Установка темы 7. Установка плагинов 8. Добавление тестовых данных (фикстуры) 9. Огромное количество дополнительных команд для работы с WP

Минусы: 1. Консоль нужно знать, но уже меньше :)

Дополнительно• Composer - getcomposer.org

• Packagist (amazon-webservices-bundle, guzzlephp, php-youtube-api, twbs/bootstrap )

• WP Composer plugin • WordPress Packagist

• Vagrant - vagrantup.com • EasyEngine - rtcamp.com/easyengine

• RPM Package Manager (RPM)

RPM - Install workflowOS

LAMP

WordPress

Composer

Plugins, Themes

Приложение (Файлы и БД)

RPM - Install workflowOS

LAMP

WordPress

Composer

Plugins, Themes

Приложение (Файлы и БД)

Thank you Владимир Самолетов

linkedin.com/in/vsamoletov github.com/vsamoletov

[email protected]