WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Установка WordPress

В 90% случаев полностью установить WordPress можно очень быстро, буквально за 5-10 минут, но это при условии, что у вас уже есть хостинг и домен. Более того, многие хостинги предлагают инструменты для автоматической установки WordPress. Но, когда знаешь - все легко, а начинать с чего-то надо... В этом руководстве описаны все моменты связанные с установкой. И некоторые из них будут полезны даже пользователям, у которых уже есть опыт установки WordPress.

Здесь будет рассмотрена установка WordPress на удаленный сервер. На локальный сервер все делается аналогично. Итак, поехали...

Подготовка к установке

Прежде чем начать установку:

Обязательно нужно:

  1. Иметь локальный или удаленный сервер, готовый к работе. У вас должен быть доступ к файлам/папкам на сервере. Обычно это shell или FTP доступ, который выдается хостинг-провайдером. Или это панель управления хостингом, которую предоставляет провайдер для управления файлами на сервере и сервером в целом;

  2. Убедиться, что сервер подходит для WordPress. Вообще, 90% провайдеров подходят для WordPress и сильно переживать по этому поводу не стоит. WordPress требует:

    • PHP версии 5.2.4 или выше (рекомендуется 5.6).
    • MySQL версии 5.6 или выше (рекомендуется 5.6).
    • 50 мегабайт пространства на сервере.
    • 32 мегабайта оперативной памяти на сервере.

    Узнать эту информацию можете у хостинг-провайдера.

    Я рекомендую хостинг: beget.ru. Пользуюсь им давно и могу сказать о нем много хорошего. Также хороши: timeweb.ru и Евробайт.

  3. Нужен сам WordPress:

Нужно, но не обязательно:

  1. Нормальный текстовый редактор, чтобы изменять файлы. Рекомендую скачать Notepad++. Он так или иначе пригодится при работе с сайтом.

  2. FTP-клиент - программа для загрузки файлов на сервер. Рекомендую filezilla. Впрочем, можно обойтись без программы, современные хостинг провайдеры предоставляют удобный веб-интерфейс для работы с файлами на сервере.

Установка за 5 минут

Установка без создания wp-config.php файла и других файлов, все делает сам WordPress. Но для такой установки сервер должен разрешать создание и редактирование файлов в папках.

В любом случае, пробуйте сначала установить этим способом, если не получится, то используйте следующий способ, где файл wp-config.php нужно создавать вручную.

Порядок действий:

1. Скачайте WordPress.

Скопируйте все файлы WordPress из скаченного ZIP архива в корневую директорию сервера (в папку сайта). Копируются такие папки/файлы:

wp-admin
wp-includes
wp-content
index.php
wp-load.php
...

2. Создайте базу данных на сервере.

Создается она в панели управления сервером. При создании базы данных вы привязываете к ней пользователя MySQL — он должен иметь все возможные права: изменять, создавать базы данных и таблицы в них и т.д.

3. Откройте браузер и перейдите на свой сайт.

Перейдите по ссылке http://example.com, где example.com ваш сайт, появится такое окно:

Создание wp-config.php

Кликаем «Вперед» видим такое окно:

Создание файла конфигурации

Указываем все поля. Пароли вы получили при создании базы данных. Поле «Сервер базы данных» в 99% оставляете «localhost». Жмем «Отправить». Если все поля были указанны правильно, получим:

Файл wp-cofig.php создан

Это значит что файл конфигурации wp-config.php был создан в корне сайта. Жмем «Запустить установку» и устанавливаем сайт:

Установка WordPress

На этом этапе WordPress создаст нужные таблицы в базе данных и пользователя - администратора сайта. Нажимаем «Установить WordPress» и видим:

installwp5

Все, сайт установлен!

Установка за 10 минут

Если не получилось установить первым способом, то используйте эту инструкцию.

Если что-то непонятно или хотите углубиться в подробности, ниже смотрите каждый пункт подробно.

  1. Создайте базу данных на сервере, которую будет использовать WordPress. При создании базы данных вы привязываете к ней пользователя MySQL — он должен иметь все возможные права: изменять/создавать базу данных и таблицы в ней и т.д.

  2. Скачайте WordPress (ZIP архив) и распакуйте его к себе на компьютер;

  3. Откройте распакованную папку wordpress и переименуйте файл wp-config-sample.php в wp-config.php — это основной файл конфигурации WordPress;

  4. Откройте wp-config.php в текстовом редакторе и укажите в нем настройки подключения к базе данных, которую только что создали:

    define('DB_NAME', 'name');         // Имя базы данных
    define('DB_USER', 'username');     // Имя пользователя MySQL
    define('DB_PASSWORD', 'password'); // Пароль доступа к базе данных
  5. Разместите файлы WordPress на сервере. Тут есть несколько вариантов:

    • Установка в корневую директорию — это директория на сервере куда «смотрит» сайт http://example.com/. Скопируйте содержимое распакованной папки wordpress (где лежит файл wp-config.php) в корневую папку сервера (обычно это папка www или public_html).

    • Установка в поддиректорию (http://example.com/blog/). Переименуйте распакованную папку wordpress в название, куда хотите установить WordPress (например blog) и скопируйте эту папку в корневой каталог на сервере. Допустим, вы хотите установить систему в папку blog на сервере, тогда вам нужно переименовать "wordpress" в "blog" и скопировать её в корень сервера.
  6. В браузере перейдите по ссылке на ваш сайт.

    • Если устанавливали в корень сервера, то нужно переходить по ссылке: http://example.com и вас перекинет на http://example.com/wp-admin/install.php;
    • Если устанавливали в отдельную папку (допустим "blog"), то нужно переходить по ссылке: http://example.com/blog и вас перекинет на http://example.com/blog/wp-admin/install.php;
  7. Если все сделано правильно, то вы увидите диалоговое окно установки WordPress (смотрите выше). Дальше делайте все как там написано и через пару минут сайт будет готов к работе.

А теперь, давайте подробно рассмотрим каждый пункт установки.

Этап: загрузка и распаковка файлов WordPress

Загрузите и распакуйте дистрибутив WordPress к себе на компьютер.

Далее, загрузите все файлы из скаченного архива в корневую директорию сайта на сервере.

Корневая директория — это папке к которой относится URL вашего сайта: http://example.com, обычно такие папки на сервере называются www или public_html.

Копируются такие папки/файлы:

wp-admin
wp-includes
wp-content
index.php
wp-load.php
...

Загрузка WordPress сразу на сервер

Если у вас есть shell доступ к веб-серверу и опыт работы с консольными приложениями, вы можете загрузить WordPress напрямую на веб-сервер минуя свой компьютер, используя команду wget: wget https://ru.wordpress.org/latest-ru_RU.zip. Далее распакуйте дистрибутив используя команду: tar -xzvf latest-ru_RU.zip.

Дистрибутив WordPress будет распакован в папку wordpress и будет лежать в той же папке где и архив latest-ru_RU.zip.

Если у вас нет shell доступа, или опыта работы с консольными приложениями, вы можете загрузить WordPress напрямую на веб-сервер используя программу ZipDeploy.

Этап: создание базы данных

Для WordPress нужна база данных MySQL. Базу данных можно создать разными способами, зависит от того каким сервером вы пользуетесь.

Если вы пользуетесь услугами хостниг-провайдера, то уточните у провайдера, возможно база данных уже создана для вас.

Если базу нужно создавать самостоятельно, то общий принцип действий для всех хостинг провайдеров такой:

  1. Заходите в панель управления хостингом (ссылку на панель вы получили при регистрации у хостера).

  2. Находите где-то в меню раздел «Базы данных» или «MySQL»

  3. Создаете в этом разделе базу данных. Для базы данных нужно указать её название, а также для базы данных указывается её пользователь. Если пользователя нет, то его нужно создать. Для пользователя указываете имя и пароль.

  4. Все данные нужно сохранить: название базы данных, имя пользователя, пароль пользователя. Эти данные будут использоваться в файле wp-config.php при установке WordPress.

Чтобы посмотреть на примерах как создается база данных, ниже несколько видео уроков по этому теме:

Создание базы данных в cPanel:

А вот неплохая текстовая инструкция

Создание базы данных в ISPmanager:

Создание базы данных в DirectAdmin:

Создание базы данных в Plesk:

Если у вашего хостинг провайдера другая панель, то делается все по аналогии... В крайнем случае, если ничего непонятно, пишите в тех поддержку хостинга, создать базу данных вам там помогут или сделают это за вас.

Создание базы данных в phpMyAdmin

Если на хостинге нет панели-управления или она есть, но там нельзя создать базу данных, то на всех серверах установлен phpMyAdmin и базу данных можно создать там.

Вот подробное видео как это делать:

Неплохая инструкция в текстовом формате →

Работа с консолью MySQL

Если у вас есть shell доступ к веб-серверу и вы умеете пользоваться командной строкой, а ваш MySQL пользователь имеет права для создания других MySQL пользователей и баз данных, тогда используйте нижеприведенную инструкцию, чтобы создать пользователя и базу данных для WordPress.

$ mysql -u adminusername -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5340 to server version: 3.23.54

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE databasename;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname"
	-> IDENTIFIED BY "password";
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> EXIT
Bye
$

Вам нужно вписать ваши значение в следующие переменные:

  • adminusername чаще всего имеет значение root, в том случае, если у вас нет иного аккаунта с более высокими привилегиями.
  • wordpress или blog - подходящие названия для вашей базы данных databasename.
  • wordpress подхдящее название для имени пользователя wordpressusername.
  • hostname чаще всего имеет значение localhost. Если вы не знаете значения данной переменной, советуем вам узнать ее у вашего системного администратора.
  • password пароль - желательно, если он будет включать в себя символы, представленные в верхнем и нижнем регистре, спец. символы, цифры и буквы.

Этап: настройка файла wp-config.php

В дистрибутиве WordPress нет файла wp-config.php, а есть его пример: wp-config-sample.php. Конфиг нужно создавать на основе этого файла, т.е. нужно удалить суффикс '-sample', открыть файл в текстовом редакторе и заменить там следующие строки:

define('DB_NAME', 'putyourdbnamehere');    // Имя базы данных
define('DB_USER', 'usernamehere');         // Имя пользователя MySQL
define('DB_PASSWORD', 'yourpasswordhere'); // ...и пароль
define('DB_HOST', 'localhost');            // 99% эту строку изменять не надо
define('DB_CHARSET', 'utf8');              //  обычно не изменяется
define('DB_COLLATE', '');                  //  обычно не изменяется

Пояснения каждого параметра:

DB_NAME
Имя созданной базы данных.
DB_USER
Имя пользователя для WordPress.
DB_PASSWORD
Пароль, который вы выбрали для пользователя при создании базы данных.
DB_HOST
Имя хоста на котором находится база данных, почти всегда это локальный хост и тут указывается localhost.
DB_CHARSET
Кодировка базы данных, почти всегда остается без изменения
DB_COLLATE
Тип сравнения символов в указанной в DB_CHARSET кодировке. Чаще всего значение не требует изменений и остается пустым
Ключи аутентификации

Также, обязательно нужно изменить ключи аутентификации. Эти ключи используются в разных местах кода WordPress для защиты от взлома:

define('AUTH_KEY',         'впишите сюда уникальную фразу');
define('SECURE_AUTH_KEY',  'впишите сюда уникальную фразу');
define('LOGGED_IN_KEY',    'впишите сюда уникальную фразу');
define('NONCE_KEY',        'впишите сюда уникальную фразу');
define('AUTH_SALT',        'впишите сюда уникальную фразу');
define('SECURE_AUTH_SALT', 'впишите сюда уникальную фразу');
define('LOGGED_IN_SALT',   'впишите сюда уникальную фразу');
define('NONCE_SALT',       'впишите сюда уникальную фразу');

Чтобы не сочинять ключи самому их можно быстро генерировать по следующей ссылке: https://api.wordpress.org/secret-key/1.1/salt/.

Префикс таблиц

В принципе этот префикс можно не трогать, все будет работать. Указанный в переменной $table_prefix будет использоваться для всех создаваемых таблиц. Изменение этого префикса уникализирует название таблиц и в некоторых случаях может защитить от взлома или хотя бы создать дополнительные сложности.

$table_prefix  = 'wp_';

С версии 2.6 файл wp-config.php можно перемещать на одну директорию. Т.е. если файл находится в каталоге /public_html/wordpress/wp-config.php его можно переместить в каталог /public_html/wp-config.php.

Этап: размещение файлов (структура файлов)

На этом шаге вам нужно определиться в какую папку размещать файлы. При получении паролей от хостинга, в письме обычно указывается корневой каталог сайта - это та папка куда ведет ссылка вашего сайта: например, http://example.com/ или http://example.com/blog/. Если вы не понимаете где находится корневой каталог сайта, то узнайте это в тех. поддержке хостинга.

Существует 3 типа размещения файлов WordPress.

1. Файлы WP в корневом каталоге или подкаталоге

Переместите файлы из установочного ZIP архива в каталог на сервере. Перемещайте как есть, т.е. копироваться будет такие файлы:

wp-admin
wp-includes
wp-content
index.php
wp-config.php
...

Допустим за УРЛ http://example.com/ отвечает папка на сервере sites/example.com/public_html тогда все эти файлы нужно скопировать в папку public_html и затем перейдя по ссылке http://example.com/ начнется установка WordPress.

Если вы хотите разместить WordPress в подпапку (допустим blog), то вам нужно создать эту папку на сервере и скопировать файлы туда, т.е. копировать будете в: sites/example.com/public_html/blog/. В этом случае, сайт будет находиться по ссылке http://example.com/blog.

2. Файлы WP во вложенной папке

Этот вариант показывает как разместить WordPress в отдельном каталоге, но при этом оставить URL сайта на корневой каталог.

wp
	wp-admin
	wp-includes
	wp-content
	wp-load.php
	... остальные файлы
	wp-config.php
index.php
.htaccess

Что получится в итоге: URL сайта будет, например, http://example.com, но файлы самого WordPress при этом будут лежать во вложенной папке wp, которая находится в папке, которой соответствует наш URL. Т.е. WordPress позволяет установить файлы WordPress в подкаталог, но сайт будет работать в корневом каталоге.

Процесс перемещения WordPress в свой собственный каталог выглядит следующим образом:

  1. Создайте новый каталог в корневом каталоге сайта. Назовем его /wp.

  2. Переместите все файлы WordPress в новый каталог /wp.

  3. Верните перемещенные файлы: index.php и .htaccess обратно в корневой каталог.

  4. Откройте файл index.php (из корневого каталога) и измените в нем строку:

    // заменяем такую строку
    require( dirname( __FILE__ ) . '/wp-blog-header.php' );
    
    // на
    require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
  5. Перейдите в «Настройки» сайта. Админка теперь находится по адресу: http://example.com/wp/wp-admin/.

  6. Измените опции:

    • Адрес WordPress (URL) - укажите URL где размещены файлы WordPress: http://example.com/wp.
    • Адрес блога (URL) - укажите URL самого сайта: http://example.com.
  7. Готово!

3. Файлы ядра WP во вложенной папке

Для удобства можно изменить структуру файлов WordPress так, что файлы ядра (т.е. которые обновляются при обновлении WordPress) будут лежать в отдельной папке, например в папке wp, а все остальные файлы в корне сайта. Получиться такая структура файлов:

wp
	wp-admin
	wp-includes
	wp-load.php
	index.php
	... остальные файлы
	... wp-config.php тут быть не должно, иначе сайт не будет работать!
wp-content
index.php
wp-config.php
.htaccess

Для такого размещения:

  1. Создайте папку wp и переместите туда все файлы/папки, кроме: wp-content и wp-config.php.

  2. Скопируйте файл wp/index.php в корневую папку сайта. После копирования измените контент оставшегося файла wp/index.php на <?php // Silence is golden..

  3. Откройте файл index.php (в корне сайта) и измените в нём путь до файла wp-blog-header.php:

    // заменяем такую строку
    require __DIR__ . '/wp-blog-header.php';
    
    // на
    require __DIR__ . '/wp/wp-blog-header.php';
  4. Также, нужно изменить пути до папки контента, потому что мы переместили движок, а папку контента оставили в корне сайта, но WordPress ожидает её рядом с папками wp-admin, wp-includes. Нужно указать где именно находится папка контента. Для этого откройте файл wp-config.php и добавьте туда такие строки (добавляйте в начало файла):

    // определяем директорию wp-content
    $scheme = ( (! empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443 ) ? 'https' : 'http';
    define( 'WP_CONTENT_DIR', __DIR__ .'/wp-content');
    define( 'WP_CONTENT_URL',  sprintf( "%s/wp-content", $_SERVER['HTTP_HOST'] ? "$scheme://{$_SERVER['HTTP_HOST']}" : '' ) );

    Или можно без протокола:

    define( 'WP_CONTENT_DIR', __DIR__ .'/wp-content');
    define( 'WP_CONTENT_URL', sprintf( "%s/wp-content", $_SERVER['HTTP_HOST'] ? "//{$_SERVER['HTTP_HOST']}" : '' ) );

    Путь и URL в итоге должны смотреть на папку wp-content.

Заметка: если вы изменяете структуру на уже установленном сайте, то вам еще нужно изменить значение опции siteurl в таблице wp_options базы данных. Там нужно добить wp, т.е. меняем с http://example.com на http://example.com/wp.

Сделать это быстро можно в Общих настройках в админке - теперь адрес сайта будет отличаться от адреса WordPress:

Общие настройки - разные адреса Wp и сайта

Заметка: после этой смены, вы можете увидеть предупреждение («PHP Warning»), не пугайтесь в этом нет ничего страшного, оно появится один раз и дальше все будет работать как надо!

В папке движка wp не должно быть файла wp-config.php. Если он там есть, то будет срабатывать он, а не тот который находится в корне сайта. Это вызовет ошибку и сайт работать не будет.

В корневой папке не должно быть файла wp-settings.php.

Вообще при переносе он переносится, но может так случится, что вы не переносите файлы, а копируете в новую папку движка wp (например, когда хочется перестраховаться и сначала все скопировать, проверить все ли работает, а затем удалить, теперь уже, ненужные файлы). Так вот, если в корневой папке будет находится файл wp-settings.php, то WP будет считать корневую папку папкой ядра, а не нашу новую папку wp.

Полезная заметка по теме: баг с перемещением папки uploads

Этап: запуск установки WordPress

После того, как база данных создана, файлы скопированы и wp-config.php создан, нужно запустить установку WordPress. При установке будут созданы нужные таблицы в базе данных и будет создан пользователь - администратор сайта.

Чтобы начать установку нужно зайти на сайт (перейти по URL):

  • Если файлы WordPress размещены в корневом каталоге сервера, то ссылка будет такая: http://example.com/;
  • Если файлы WordPress размещены в подкаталоге, то ссылка будет такая: http://example.com/blog/, где blog название подкаталога.

В обоих случаях вас должно перекинуть на страницу http://example.com/wp-admin/install.php или http://example.com/blog/wp-admin/install.php.

При установке вы будите вводить название сайта и ваш email. Также, при установке вы можете «попросить поисковые системы не индексировать сайт», для этого поставьте галочку напротив такого пункта.

Любую введенную информацию можно изменить в админ-панели в дальнейшем. Нельзя будет изменить только логин пользователя.

Проблемы при установке

Ошибка 1: «error database connection»

Если в процессе установки «вылезла» ошибка: «error database connection» (ошибка соединения с базой данных), то:

  1. Проверьте правильно ли указано имя, логи и пароль в файле wp-config.php;
  2. Убедитесь, что созданный пользователь обладает правами на доступ к базе данных WordPress;

Ошибка 2: «Headers already sent»

Если при установке появляются ошибки типа: Headers already sent. Возможно, вы допустили ошибку при редактировании wp-config.php.

Как исправить?

Откройте wp-config.php в текстовом редакторе.

  • Убедитесь, что файл начинается с <?php, и что до этого ничего нет: ни пробелов ни пустых строк.
  • Убедитесь, что последняя или предпоследняя строка не содержит ?>. Если такой символ там есть - удалите его.

При написании этого руководства я использовал официальный сайт и личный опыт.

Права доступа к файлам/папкам (chmod)

При правильной настройке прав доступа WordPress сможет напрямую создавать файлы, и поэтому он не будет запрашивать учетные данные FTP при обновлении или установке плагинов.

Разрешения будут отличаться от хоста к хосту, поэтому ниже описаны только общие принципы. Тут нельзя охватить все случаи.

Общие правила:
  • Все папки должны быть исполняемыми, чтобы был доступ к файлам в них - это 7 или 5.
  • Никакие файлы не должны быть исполняемыми - это 6 или 4.
Пример разрешений:
Perms Perms
7 r+w+x все права: чтение / запись / исполнение.
6 r+w чтение / запись
5 r+x чтение / исполнение
4 r чтение
755 -rwxr-xr-x владелец может все (7), группа и другие только читать / исполнять.
750 -rwxr-x--- владелец может все (7), группа читать / исполнять (5), другие ничего.
666 -rw-rw-rw- все могут читать / писать.
644 -rw-r--r-- владелец может читать / писать, другие только читать.
640 -rw-r----- владелец может читать / писать, группа читать, другие ничего.
600 -rw------- только владелец может читать / писать.
440 -r--r----- только владелец и группа могут только читать.
400 -r-------- только владелец может читать.

Любой файл, которому требуется доступ на запись от WordPress, должен принадлежать пользователю из под которого работает WordPress (php) или этот пользователь WordPress должен находиться в группе, имеющей доступ на запись.

Права нужно ставить так:

  • папки 755, файлы 644 - когда пользователь WordPress (php) тот же под которым вы подключаетесь по FTP и изменяете файлы.

  • папки 775, файлы 664 - когда пользователь WordPress (php) отличается от пользователя под которым вы подключаетесь по FTP и изменяете файлы. При этом пользователь WordPress (php) должен быть в группе, имеющей доступ на запись.

Следующие файлы должны/могут отличаться от базовых настроек:

  • wp-config.php - (600) - может изменить / смотреть только владелец и никто другой. Этот файл изначально создается с правами 644, и оставлять его в таком виде опасно.
  • /wp-content/cache/ - (755 или 775) - полный доступ.
  • /wp-content/uploads/ - (755 или 775) - полный доступ.
  • /wp-content/blogs.dir/ (мультисайт) - (755 или 775) - полный доступ.

Если вы хотите использовать встроенный редактор тем, все файлы должны быть доступны для групповой записи.

Некоторые плагины требуют, чтобы папка /wp-content/ также была доступна для записи. Они вас об этом уведомят.

Шаред хостинги

Вышесказанное может не относиться к системам виртуального хостинга, которые используют подход "suexec" для запуска двоичных файлов PHP. Это популярный подход, используемый многими хостингами. В таких системах процесс php запускается как владелец самих файлов php, что позволяет упростить конфигурацию и обеспечить более безопасную среду.

В конфигурации suexec правильная схема проста:

  • папки - 755 или 750.
  • файлы - 644 или 640.

Схема подробнее:

  • Все файлы должны принадлежать учетной записи реального пользователя, а не учетной записи пользователя, используемой для процесса httpd.

  • Групповое владение не имеет значения, если только нет особых требований к группам для проверки разрешений процесса веб-сервера. Обычно это не так.
    Все каталоги должны иметь права 755 или 750.

  • Все файлы должны иметь права 644 или 640. Исключение: wp-config.php должен быть 440 или 400, чтобы другие пользователи сервера не могли его прочитать.

  • Никаким каталогам не должно быть присвоено право 777, даже каталогам загрузки. Поскольку процесс php работает как владелец файлов, поэтому достаточно 755.
6 комментариев
    Войти