- Вступ
- Крок 1 - Створення бази даних і користувача MySQL для WordPress
- Крок 2 - Завантаження WordPress
- Крок 3 - Конфігурація WordPress
- Крок 4 - Копіювання файлів в корінь документа
- Крок 5 - Завершення установки через веб-інтерфейс
- Крок 6 (опціонально) - Конфігурація постійних посилань для WordPress
- Внесення змін Apache з метою дозволити перезапис URL
- Створення файлу .htaccess
- Зміна налаштувань постійних посилань в WordPress
- висновок
Frontend розробник
Вступ
На даний момент WordPress є найпопулярнішою CMS (системою управління контентом) в Інтернеті. З її допомогою можна з легкістю створювати гнучкі блоги і веб-сайти на сервері MySQL з PHP-обробкою. Користуючись величезною популярністю, WordPress це відмінний спосіб швидко налаштувати і запустити вебсайт.
У цій статті ми розглянемо установку примірника WordPress з веб-сервером Apache на Ubuntu 14.04. Необхідні умови
Перш ніж приступати, вам необхідно виконати на своєму сервері ряд кроків. Оскільки ми будемо виконувати ці кроки як користувач non-root з привілеями sudo, у вас повинен бути такий користувач. Про те, як створити користувача з привілеями sudo, написано в кроках 1-4 нашого керівництва по початкового налаштовування сервера на базі Ubuntu 14.04.
Також вам знадобиться LAMP (Linux, Apache, MySQL та PHP), встановлений на вашому екземплярі VPS (віртуальний виділений сервер). Якщо ці компоненти у вас поки не встановлені і не налаштовані, ознайомтеся з керівництвом по установці LAMP на Ubuntu 14.04.
Після виконання всіх перерахованих вище вимог можна приступати до основного завдання.
Крок 1 - Створення бази даних і користувача MySQL для WordPress
Наш перший крок є підготовчим. Для управління і зберігання інформації про сайтах і користувачів WordPress використовує реляційну базу даних.
У нас встановлений MySQL, який і виконує цю функцію, але нам потрібно створити базу даних і користувача, з якими буде працювати WordPress.
Для початку залогініться в root-аккаунт (адміністративний акаунт) MySQL за допомогою наступної команди:
mysql -u root -pУ вас запитають пароль, який ви задали для root-аккаунта MySQL під час установки цього програмного забезпечення. Потім вас попросять ввести команду.
По-перше, ми можемо створити окрему базу даних, якою WordPress може управляти. Ви можете називати її як завгодно, але я буду називати її wordpress, тому що так найбільш зрозуміло. Для створення бази даних введіть наступну команду:
CREATE DATABASE wordpress;Всі оператори MySQL повинні закінчуватися крапкою з комою (;), тому в разі виникнення проблем перш за все прооверьте цей момент.
Потім ми створимо окремий акаунт MySQL, який ми будемо використовувати виключно для роботи з нашої нової базою даних. З точки зору питань управління та безпеки створення баз даних та облікових записів з єдиною функцією є відмінним варіантом.
Я назву новий акаунт wordpressuser і задам для нього наступний пароль: password. Ви можете дати користувачеві будь-яке ім'я на ваш розсуд і, звичайно, і задати інший пароль. Користувач створюється за допомогою наступної команди:
CREATE USER wordpressuser @ localhost IDENTIFIED BY 'password';На даному етапі у нас є база даних і призначений для користувача аккаунт. І база даних, і аккаунт створені виключно для WordPress. Але між двома цими компонентами поки немає взаємозв'язку. Користувач не має доступу до бази даних.
Давайте надамо нашому призначеному для користувача аккаунту доступ до нашої бази даних за допомогою такої команди:
GRANT ALL PRIVILEGES ON wordpress. * TO wordpressuser @ localhost;Тепер у користувача є доступ до бази даних. Нам потрібно оновити права доступу, щоб поточний екземпляр MySQL знав про зміни в правах доступу, які ми тільки що внести:
FLUSH PRIVILEGES;Готово. Тепер, щоб вийти з вікна командного рядка MySQL, введіть:
exitТепер ми повернулися до нашої звичайної командою рядку.
Крок 2 - Завантаження WordPress
Тепер ми завантажимо файли WordPress з веб цієї програми.
На щастя, команда розробників WordPress завжди розміщує останню стабільну версію своєї програми на одному і тому ж URL, тому щоб отримати останню на даний момент версію WordPress, ми вводимо таке:
cd ~ wget http://wordpress.org/latest.tar.gzУ ваш домашній каталог завантажиться стислий файл, який містить заархівовані каталоги файлів WordPress.
За допомогою наступної команди ми можемо витягти файли для відновлення потрібного нам каталогу WordPress:
tar xzvf latest.tar.gzУ вашому домашньому каталозі буде створено каталог під назвою wordpress.
Також нам потрібно завантажити ще кілька пакетів, які нам знадобляться. Їх ми можемо взяти безпосередньо зі стандартних сховищ Ubuntu після поновлення нашого локального каталогу пакетів:
sudo apt-get update sudo apt-get install php5-gd libssh2-phpЦе дозволить вам працювати з зображеннями, а також встановлювати плагіни і оновлювати фрагменти вашого сайту за допомогою ваших логіна і пароля SSH.
Крок 3 - Конфігурація WordPress
Ми будемо виконувати конфігурацію переважно через веб-інтерфейс. Однак перш нам потрібно виконувати деякі команди.
Перейдіть в каталог WordPress, який ви недавно розпакували:
cd ~ / wordpressЕталонний файл конфігурації, який практично повністю збігається з необхідною нам конфігурацією, включений туди за замовчуванням. Однак нам потрібно скопіювати його в стандартне розташування файлу конфігурації, щоб WordPress розпізнав цей файл. Для цього введіть наступне:
cp wp-config-sample.php wp-config.phpТепер у нас є файл конфігурації. Відкрийте його в текстовому редакторі:
nano wp-config.phpЯк я вже говорив, цей файл практично повністю підходить нам. Єдине, що нам потрібно змінити, - це параметри, що містять інформацію про нашій базі даних.
Нам потрібно знайти настройки для DB_NAME, DB_USER і DB_PASSWORD, щоб WordPress правильно підключився до створеної нами бази даних і впізнав її.
Як значення цих параметрів потрібно ввести свої дані створеній базі даних. Ось так все повинно виглядати:
// ** Налаштування MySQL - Ви можете взяти цю інформацію у свого веб-хоста ** // / ** Ім'я бази даних для WordPress * / define ( 'DB_NAME', 'wordpress'); / ** MySQL database username * / define ( 'DB_USER', 'wordpressuser'); / ** MySQL database password * / define ( 'DB_PASSWORD', 'password');Це єдині значення, які необхідно змінити. Після внесення змін збережіть і закрийте файл.
Крок 4 - Копіювання файлів в корінь документа
Тепер, коли ми конфігурували наш додаток, нам потрібно скопіювати його в корінь документа Apache, де він буде наданий відвідувачам нашого сайту.
Один з найпростіших і надійних способів перенесення файлів з каталогу в каталог - за допомогою команди rsync. При використанні такого способу зберігаються дозволу і підтримується цілісність даних.
У керівництві по Ubuntu 14.04 LAMP корінь документа розташований за адресою: / var / www / html /. Щоб перенести туди наші файли WordPress, введіть:
sudo rsync -avP ~ / wordpress / / var / www / html /В корінь документа будуть безпечно скорірован весь контент з розпакованого вами каталогу. Тепер перейдіть в корінь документа, щоб внести завершальні зміни в дозволу.
cd / var / www / htmlДля підвищення рівня безпеки вам потрібно буде змінити власника ваших файлів. Ми хочемо надати права володіння звичайному користувачеві non-root (з привілеями sudo), через якого ви плануєте взаємодіяти зі своїм сайтом. Це може бути звичайний користувач, але ви також можете створити і додаткового користувача для цієї мети. Вирішувати вам.
В рамках цього керівництва ми будемо використовувати той же аккаунт, який ми створили під час нашої початкової настройки сервера і назвали demo. Через цей аккаунт я виконую всі дії, описані в цьому керівництві.
Групове право володіння ми надамо процесу веб-сервера, www-data. Це дозволить Apache взаємодіяти, при необхідності, з контентом.
Щоб з легкістю передати ці права володіння, введіть:
sudo chown -R demo: www-data *Це налаштує необхідні нам властивості прав доступу.
Розбираючись з питаннями володіння і дозволами, нам також не слід забувати про передачу відповідних прав володіння на каталог для завантаження файлів. Це дозволить нам завантажувати зображення та інший контент на наш вебсайт. На даний же момент дозволу носять занадто обмежувальний характер.
Спочатку давайте вручну створимо каталог uploads в рамках каталогу wp-content в корені нашого документа. Це буде батьківський каталог нашого контенту:
mkdir / var / www / html / wp-content / uploadsТепер у нас є каталог для розміщення завантажених файлів. Але дозволу і раніше нас обмежують. Нам потрібно дозволити веб-сервера самому вносити записи в цей каталог. Для цього нам потрібно передати нашому веб-сервера право групового володіння цьому каталогом:
sudo chown -R: www-data / var / www / html / wp-content / uploadsЦе дозволить веб-сервера створювати файли і каталоги всередині цього каталогу, що, в свою чергу, дозволить нам завантажувати контент на сервер.
Крок 5 - Завершення установки через веб-інтерфейс
Тепер, коли всі файли розміщені в потрібних місцях і програмне забезпечення конфігурувати, ви можете завершити установку через веб-інтерфейс.
У своєму веб-браузері перейдіть до доменного імені або публічного IP-адресою свого сервера:
http: // server_domain_name_or_IPВи побачите сторінку початковій конфігурації WordPress, на якій ви створите початкову обліковий запис адміністратора:
Поля на скріншоті: Ім'я сайту, Ім'я користувача, Пароль (ввести двічі), Електронна пошта, Конфіденційність (Дозволити пошуковим системам індексувати цей сайт)
Уведіть інформацію, що стосується вашого сайту і створюваної вами облікового запису адміністратора. По завершенні натисніть на кнопку «Встановити WordPress» в низу сторінки. WordPress підтвердить установку і потім запросить вас увійти в створену вами обліковий запис:
Натисніть на клавішу в низу сторінки і введіть наступну інформацію:
Ви побачите інтерфейс WordPress:
Крок 6 (опціонально) - Конфігурація постійних посилань для WordPress
WordPress за замовчуванням створює динамічні URL, які виглядають приблизно так:
http: // server_domain_name_or_IP /? p = 1Оскільки це не найзручніший варіант інтерфейсу для користувачів і пошукових систем, більшість користувачів змінюють його. WordPress здатний створювати «красиві» постійні посилання, які призводять URL до більш візуально прівлекальному формату.
Але щоб це було сумісно з Apache на Ubuntu 14.04, нам потрібно виконати деякі настройки.
Внесення змін Apache з метою дозволити перезапис URL
По-перше, нам потрібно змінити віртуальний хост-файл Apache таким чином, щоб WordPress міг робити перезапису .htaccess. Для цього необхідно відредагувати віртуальний хост-файл.
За замовчуванням віртуальний хост-файл це 000-default.conf, але у вас це може бути інший файл, якщо ви створили інший файл конфігурації:
sudo nano /etc/apache2/sites-available/000-default.confУ цьому файлі нам потрібно налаштувати декілька параметрів. Нам потрібно задати ServerName і створити розділ каталогу, в якому дозволені перезапису. Виглядати це повинно приблизно так:
<VirtualHost *: 80> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ServerName server_domain_name_or_IP <Directory / var / www / html /> AllowOverride All </ Directory>. . .По завершенні збережіть і закрийте файл.
Потім нам потрібно активувати модуль перезапису, який дозволить вам змінювати URL. Для цього введіть:
sudo a2enmod rewriteПісля внесення цих змін перезапустіть Apache:
sudo service apache2 restartСтворення файлу .htaccess
Тепер, коли ми конфігурували Apache щоб дозволити перезапис через файли .htaccess, нам потрібно створити фактичний файл.
Вам потрібно помістити цієї файл в корінь документа. Для створення пустого файлу введіть наступне:
touch /var/www/html/.htaccessФайл буде створений під вашими іменем користувача і групою користувачів. Але оскільки нам потрібно, щоб в якості власника групи виступав веб-сервер, нам потрібно налаштувати право володіння таким чином:
sudo chown: www-data /var/www/html/.htaccessТепер право володіння цим файлом налаштоване належним чином.
Але нам може знадобитися налаштувати дозволу. Це залежить від того, як ви вважаєте за краще працювати. WordPress згенерує для вас необхідні правила перезапису. Якщо у нього достатньо прав на внесення записів в цей файл, він може застосувати правила автоматично. В іншому випадку, вам доведеться вручну редагувати цей файл, щоб додати потрібні правила.
Те, яку конфігурацію ви виберете, залежить від того, наскільки зручність для вас важливіше безпеки. Надання веб-сервера можливості вносити записи в цей файл виразно означає більшу зручність, але деякі вважають, що це невиправдана загроза безпеці. Якщо ви хочете, щоб WordPress автоматично оновлював цей файл шляхом внесення в нього правил перезапису, ви можете переконатися, що у нього є необхідні для цього дозволи:
chmod 664 /var/www/html/.htaccessЯкщо заради цілей безпеки ви хочете оновлювати файл вручну, ви можете дозволити веб-сервера тільки читання:
chmod 644 /var/www/html/.htaccessЗміна налаштувань постійних посилань в WordPress
Якщо ви внесли всі необхідні зміни на стороні сервера, ви можете з легкістю змінити налаштування постійних посилань через адміністративний інтерфейс WordPress. Зліва, в меню Settings, виберіть Permalinks:
Ви можете вибрати будь-які предконфігурірованние настройки для URL або ж створити свої власні.
Визначившись з вибором, натисніть на «Зберегти зміни», щоб згенерувати правила перезапису.
Якщо ви надали веб-сервера право внесення записів в файл .htaccess, ви побачите наступне повідомлення:
Текст на скріншоті: Налаштування постійних посилань. Структура постійних посилань оновлена. Далі текст обрізаний праворуч - прім.пер.
Якщо ви не надавали веб-сервера такого права, вам будуть пропозицію правила перезапису, які ви повинні вручну додати в файл.
Скопіюйте рядки, надані вами WordPress, і потім відредагуйте файл на своєму сервері:
nano /var/www/html/.htaccessФункціональність при цьому не постраждає.
висновок
Тепер на вашому Ubuntu 14.04 VPS є налаштований екземпляр WordPress. Нижче наведені деякі варіанти ваших подальших дій:
- конфігурація безпечних оновлень і установок для WordPress
- використання WPScan для виявлення вразливих плагінів і тим
- управління WordPress через командний рядок
- настройка множинних сайтів WordPress (без режиму «Мультисайт»)
- настройка множинних сайтів WordPress з режимом «Мультисайт»