Як встановити Wordpress на сервер Ubuntu 18.04

Wordpress, безперечно, є найбільш широко використовуваною платформою для ведення блогів на планеті. Але цей інструмент можна використовувати не тільки для ведення блогів. За допомогою правильного додавання розширень ви можете перетворити Wordpress на сайт електронної комерції, мультимедійний сайт і багато іншого.

Якщо у вас є власний сервер, ви можете розмістити установку Wordpress, не звертаючись до третьої сторони. І це саме те, що ми збираємося тут робити. У цьому підручнику ви дізнаєтеся, як встановити необхідні компоненти, а також платформу Wordpress на Ubuntu Сервер 18.04. Це припускає лише одне: що у вас запущено й запущено сервер Ubuntu.

Код двійкового числа з мережею.
Юічіро Чіно / Getty Images

Залежності

Перше, що потрібно зробити, це отримати нашу ЛАМПУ (Linux Сервер Apache MySQL PHP) запущено та працює. Оскільки Ubuntu вже існує, все, що потрібно зробити, це встановити вторинні компоненти. Оскільки ми використовуємо Ubuntu, це можна зробити за допомогою однієї команди. Однак перш ніж це зробити, ми хочемо переконатися, що наш сервер оновлений. Відкрийте вікно терміналу та введіть такі команди:

sudo apt-отримати оновлення
sudo apt-get upgrade.

Якщо ядро ​​буде оновлено в процесі, буде потрібно перезавантаження. Якщо це так, сервер потрібно буде перезапустити (тож зміни набудуть чинності). Це означає, що ви повинні запускати оновлення/оновлення в той момент, коли перезавантаження є життєздатним.

Після завершення оновлення/оновлення настав час встановити веб-сервери/сервери баз даних і PHP. Це можна зробити за допомогою однієї команди:

sudo apt встановити apache2 php mariadb-сервер. 

Під час встановлення вам буде запропоновано створити/підтвердити пароль для користувача адміністратора MySQL. Коли процес завершиться, ви можете вказати браузер http://SERVER_IP (Де SERVER_IP – це IP-адреса вашого сервера Ubuntu), щоб побачити екран привітання Apache.

Далі нам потрібно встановити кілька необхідних розширень PHP. Це можна зробити за допомогою команди:

sudo apt встановити php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip. 

Увімкнення SSL

Перш ніж перейти до конфігурації Apache та встановлення Wordpress, ми підготуємо наш сервер до використання SSL (Secure Sockets Layer), які представляють собою різні веб-протоколи, які працюють разом, щоб обернути звичайний HTTP-трафік у захищений, зашифрований обгортка. Отже, HTTP стає HTTPS. Оскільки я лише налаштовую тестовий сервер, я створюю самопідписаний сертифікат SSL для IP-адреси. Для цього виконайте такі дії.

Згенеруйте сертифікат SSL за допомогою такої команди:

sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt. 

Коли ви запустите цю команду, вам потрібно буде відповісти на такі запитання:

Назва країни (2-буквенний код) [AU]:
Назва штату або провінції (повна назва) [Some-State]:
Назва населеного пункту (наприклад, місто) []:
Назва організації (наприклад, компанія)[]
Назва організаційного підрозділу (наприклад, розділ) []:
Загальне ім'я (наприклад, FQDN сервера або ВАШЕ ім'я) []:
Адреса електронної пошти []:

Для самопідписаного сертифіката важливо ввести IP-адресу свого сервера для запису Common Name.

Далі ми налаштовуємо Apache на використання SSL. Створіть новий файл за допомогою команди:

sudo nano /etc/apache2/conf-available/ssl-params.conf. 

У цей новий файл вставте наступне:

SSLCipherSuite EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder увімкнено
# Поки що вимкнути попереднє завантаження HSTS. Ви можете використовувати прокоментований рядок заголовка, який містить
# директива "preload", якщо ви розумієте наслідки.
# Заголовок завжди встановлюється Strict-Transport-Security "max-age=63072000; includeSubDomains; попереднє завантаження"
Заголовок завжди встановлює параметри X-Frame-DENY
Заголовок завжди встановлює X-Content-Type-Options nosniff
# Потрібен Apache >= 2.4
SSLCompression вимкнено
SSLUseStapling on
SSLStaplingCache "shmcb: logs/stapling-cache (150000)"
# Потрібен Apache >= 2.4.11
SSLSessionTickets вимкнено.

Тепер ми збираємося створити новий файл default-ssl.conf. Перш ніж ми це зробимо, створіть резервну копію оригіналу за допомогою команди:

sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak. 

Створіть новий файл за допомогою команди:

sudo nano /etc/apache2/sites-available/default-ssl.conf. 

У цей новий файл вставте наступне:


Адміністратор сервера YOUR_EMAIL
Ім'я сервера SERVER_IP
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log разом
SSLEngine увімкнено
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars

Збережіть і закрийте цей файл.

Тепер ми збираємося налаштувати перенаправлення, щоб весь HTTP-трафік автоматично перенаправлявся на HTTPS. Для цього створіть новий файл за допомогою команди:

sudo nano /etc/apache2/sites-available/000-default.conf. 

У цьому файлі додайте такий рядок під записом DocumentRoot:

Переспрямування “/” “ https://SERVER_IP/”

Де SERVER_IP – це IP-адреса вашого сервера.

Збережіть і закрийте цей файл.

Далі нам потрібно ввімкнути кілька модулів і хостів за допомогою команд:

sudo a2enmod ssl
заголовки sudo a2enmod
sudo a2ensite default-ssl
sudo a2enconf ssl-params.

Нарешті, перезапустіть Apache за допомогою команди:

sudo systemctl перезапустити apache2. 

Тепер ви повинні мати можливість вказувати на свій браузер https://SERVER_IP (Де SERVER_IP – це IP-адреса вашого сервера) і все одно бачити екран привітання Apache.

База даних

Перш ніж почати налаштовувати базу даних, вам слід скористатися вбудованою функцією MariaDB/MySQL для захисту нової інсталяції. Виконайте команду та прийміть значення за замовчуванням, щоб захистити свою базу даних. Коли запитають, встановіть безпечний пароль для користувача root бази даних.

sudo mysql_secure_installation

Коли це буде завершено, ви готові почати працювати з MariaDB за допомогою команди «mysql».

Функціонування Wordpress залежить від бази даних. Щоб створити це, ви спочатку повинні увійти в рядок MySQL за допомогою команди:

sudo mysql -u root -p. 

Вам буде запропоновано ввести пароль адміністратора MySQL, який ви створили під час встановлення сервера LAMP. У команді MySQL створіть базу даних за допомогою команди:

СТВОРИТИ БАЗУ ДАНИХ wordpress НАбір символів за умовчанням utf8 COLLATE utf8_unicode_ci; 

Далі створіть нового користувача та надайте йому дозвіл на доступ до бази даних за допомогою команди:

НАДАТИ ВСЕ НА wordpress.* 'wordpressuser'@'localhost' ІДЕНТИФІКОВАНО ЗА 'ПАРОЛЬ'; 

Де PASSWORD – це унікальний надійний пароль.

Очистіть привілеї бази даних і вийдіть за допомогою команд:

ПРИВІЛЕЇ ПРОМИВКИ;
ВИХІД.

Дозволити .htaccess та увімкнути модуль перезапису

Нам потрібно ввімкнути .htaccess для Wordpress. Для цього створіть новий файл конфігурації Apache за допомогою команди:

sudo nano /etc/apache2/sites-available/wordpress.conf. 

У цей файл вставте наступне:


AllowOverride All

Увімкніть модуль перезапису командою:

sudo a2enmod переписати. 

Перезапустіть Apache за допомогою команди:

sudo systemctl перезапустити apache2. 

Завантажте, розпакуйте та підготуйте Wordpress

Ми збираємося завантажити офіційний файл Wordpress за допомогою таких команд:

cd /tmp
завиток -О https://wordpress.org/latest.tar.gz.

Розпакуйте Wordpress за допомогою команди:

tar xvzf latest.tar.gz. 

Створіть фіктивний файл .htaccess за допомогою команди:

торкніться /tmp/wordpress/.htaccess. 

Скопіюйте зразок конфігураційного файлу в потрібний конфігураційний файл за допомогою команди:

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php. 

Створіть каталог оновлення (щоб уникнути проблем з дозволами) за допомогою команди:

mkdir /tmp/wordpress/wp-content/upgrade. 

Скопіюйте вміст каталогу wordpress у корінь документа за допомогою команди:

sudo cp -a /tmp/wordpress/. /var/www/html/wordpress. 

Нарешті, налаштуйте право власності та дозволи на нещодавно переміщений каталог wordpress за допомогою команд:

sudo chown -R www-data: www-data /var/www/wordpress
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

Налаштування Wordpress

Цей розділ стає дещо складним. Файл wp-config.php потрібно відредагувати, але перш ніж це можна буде зробити, ви повинні завантажити унікальні секретні ключі, які будуть додані до файлу конфігурації. Щоб отримати ці ключі, відвідайте онлайн-генератор від розробників WordPress.

Це виведе кілька довгих рядків, кожна з яких пов’язана з певним параметром конфігурації. Кожен рядок пов'язаний з такими значеннями у файлі конфігурації:

AUTH_KEY
SECURE_AUTH_KEY
LOGGED_IN_KEY
NONCE_KEY
AUTH_SALT
SECURE_AUTH_SALT
LOGGED_IN_SALT
NONCE_SALT

Скопіюйте ці значення в інший файл. Далі відкрийте файл конфігурації Wordpress за допомогою команди:

sudo nano /var/www/wordpress/wp-config.php. 

Знайдіть значення вище та вставте секретний ключ для кожного. Після цього прокрутіть вгору та відредагуйте значення для:

DB_NAME
DB_USER
DB_PASSWORD

Наведені вище значення були створені раніше (за допомогою MySQL).

Збережіть і закрийте цей файл.

Завершіть встановлення

Веб-інсталятор Wordpress.

Тепер ви можете навести свій браузер на https://SERVER_IP/wordpress і пройдіться через веб-програму встановлення, щоб завершити встановлення. Після кількох клацань і невеликого введення тексту ваш екземпляр Wordpress буде запущено.