Як встановити WordPress у конфігурації LEMP

Як встановити WordPress у конфігурації LEMP

Вступ

У цьому підручнику ви дізнаєтеся, як встановити WordPress на щойно створений екземпляр. Я продемонструю встановлення на сервері Ubuntu 14.04. Ці інструкції також можуть працювати на старіших версіях Ubuntu та Debian.

Отже, почнемо.

Крок перший: Оновіть наявні пакети

apt-get update && apt-get upgrade

Крок другий: Встановіть Nginx

Nginx — це високопродуктивний легкий веб-сервер, розроблений з метою доставки великої кількості статичного вмісту з ефективним використанням системних ресурсів. На відміну від Apache, Nginx використовує асинхронну модель, керовану подіями, яка забезпечує більш передбачувану продуктивність під навантаженням.

Давайте додамо стороннє сховище для встановлення останньої версії Nginx (1.6.1).

sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update 
sudo apt-get install nginx
service nginx start

Тепер перевіримо, чи працює сервер.

http://YOUR-VPS-IP

Це повинно перевести вас на цільову сторінку Nginx за замовчуванням.

Крок третій: Встановіть PHP 5.5

PHP є широко використовуваною мовою скриптів загального призначення з відкритим кодом, яка особливо підходить для веб-розробки та може бути вбудована в HTML.

Давайте встановимо останню версію PHP на нашому сервері.

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt

Якщо ви хочете перевірити свою версію PHP, виконайте таку команду:

php -v

Ви побачите щось подібне.

PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

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

sudo nano /etc/php5/fpm/php.ini

Натисніть Ctrl+W і знайдіть cgi.fix_pathinfo=. Розкоментуйте його (видалити ;) і змініть 1 на 0. Після змін рядок має виглядати так:

cgi.fix_pathinfo=0

Збережіть ( Ctrl+O ) та закрийте файл ( Ctrl+X ).

Тепер нам просто потрібно перезапустити наш процесор PHP, ввівши:

sudo service php5-fpm restart

Крок четвертий: Встановіть MySQL

Для зберігання та керування базами даних нам потрібно встановити MySQL. Ви можете легко встановити його, ввівши наступне на консолі:

sudo apt-get install mysql-server

Під час процесу встановлення вам буде запропоновано встановити пароль root для MySQL. Після того, як ви встановите пароль root, ми повинні будемо вказати MySQL створити структуру каталогів, де він буде зберігати бази даних.

sudo mysql_install_db

Давайте завершимо це, запустивши сценарій безпеки, який змінить деякі незахищеності за замовчуванням.

sudo mysql_secure_installation

Просто введіть пароль root MySQL і введіть, nякщо ви не хочете його змінювати. Після цього введіть yкожне запитання.


Встановити часовий пояс (умовно)

За замовчуванням часовий пояс вашого сервера — UTC. Якщо ви живете в іншому часовому поясі, ви можете змінити його, ввівши таку команду:

sudo dpkg-reconfigure tzdata

На даний момент ваш сервер LEMP запущено.

Крок п'ятий: Налаштування Nginx для обслуговування Wordpress

Давайте почнемо нашу установку Wordpress, створивши блок сервера Nginx для нашого сайту.

sudo nano /etc/nginx/sites-available/wordpress

Вставте туди наступний код:

server {
        listen 80;

        root /var/www/wordpress;
        index index.php index.html index.htm;

        server_name domain.com;

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        } 
location / {
                # try_files $uri $uri/ =404;
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }


        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

location = /favicon.ico {
        access_log off;
        log_not_found off;
        expires max;
}
location = /robots.txt {
        access_log off;
        log_not_found off;
}

# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
        access_log off;
        log_not_found off;
        expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
    return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
        location ~ \.php$ {
                deny all;
        }
}
}

Це добре налаштований файл конфігурації Wordpress з підтримкою постійних посилань. Збережіть ( Ctrl+O ) та закрийте файл ( Ctrl+X ). Давайте активуємо блокування сервера за допомогою символічного посилання:

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress

Далі ми видалимо блок сервера Nginx за замовчуванням.

sudo rm /etc/nginx/sites-enabled/default

Тепер ми налаштуємо основний файл конфігурації Nginx:

sudo nano /etc/nginx/nginx.conf

Переконайтеся, що кількість робочих процесів дорівнює кількості ядер у вашому екземплярі.

user www-data;
worker_processes 1;
pid /run/nginx.pid;

Додати використання epoll; до блоку подій.

events {
worker_connections 4096;
multi_accept on;
use epoll;
}

Додайте директиву client_max_body_size і server_tokens off. Установіть Keepalive_timeout на 30 секунд.

        ##
        # Basic Settings
        ##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size  100m;


        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

Переконайтеся, що весь блок налаштувань Gzip виглядає так:

        ##
        # Gzip Settings
        ##

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

Збережіть ( Ctrl+O ) та закрийте файл ( Ctrl+X ). Потім перезапустіть сервер:

sudo service nginx restart

Крок шостий: Налаштуйте PHP

Якщо ви хочете завантажити файли розміром більше 2 МБ на свій сайт WordPress, вам потрібно збільшити змінні розміру завантаження PHP у php.ini .

sudo nano /etc/php5/fpm/php.ini

Тепер натисніть Ctrl+W і знайдіть « upload_max_filesize » і встановіть для нього значення 100 м .

upload_max_filesize=100M

Зробіть те ж саме з post_max_size . post_max_size має бути такого ж розміру або більше, ніж upload_max_filesize .

post_max_size=100M

Перезапустіть PHP.

sudo service php5-fpm restart

Крок сьомий: Налаштування бази даних MySQL

На цьому кроці ми створимо користувача бази даних і таблиці. Увійдіть до оболонки MySQL:

mysql -u root -p

Увійдіть, використовуючи свій пароль root MySQL. Нам потрібно створити базу даних WordPress разом із користувачем у базі даних. Спочатку створимо базу даних (не соромтеся дати їй будь-яке ім’я, яке вам подобається):

CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)

Після цього нам потрібно створити нового користувача. Будь ласка, замініть базу даних, ім’я та пароль на те, що вам подобається:

CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)

Встановіть пароль для нового користувача:

SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)

Завершіть, надавши всі привілеї новому користувачеві. Без цієї команди інсталятор WordPress не зможе запуститися:

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

Потім оновіть MySQL:

FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

Вийдіть з оболонки MySQL:

exit

Крок восьмий: встановлення файлів WordPress

Ми майже закінчили. Приступаємо до встановлення WordPress.

Спочатку перейдіть до кореневого каталогу сайту:

mkdir /var/www/
cd /var/www/

Тепер завантажте останню версію WordPress:

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

Витягніть його з архіву:

tar -xzvf latest.tar.gz

Дайте дозволу /var/www/wordpressдля www-dataкористувача. Це дозволить у майбутньому автоматично оновлювати плагіни WordPress та редагувати файли за допомогою SFTP.

sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data

Ви закінчили! Ваш новий сайт WordPress готовий. Просто перейдіть на свій веб-сайт і завершите встановлення.


Встановіть Plesk на CentOS 7

Встановіть Plesk на CentOS 7

Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Вступ Lets Encrypt — це служба центру сертифікації, яка пропонує безкоштовні сертифікати TLS/SSL. Certbot спрощує процес встановлення,

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер

Як встановити та налаштувати PHP 7.0 або PHP 7.1 на Ubuntu 16.04

Як встановити та налаштувати PHP 7.0 або PHP 7.1 на Ubuntu 16.04

PHP та пов’язані з ним пакети є найбільш часто використовуваними компонентами під час розгортання веб-сервера. У цій статті ми дізнаємося, як налаштувати PHP 7.0 або PHP 7.1 o

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити

Три безкоштовні панелі керування сервером (швидке встановлення)

Три безкоштовні панелі керування сервером (швидке встановлення)

1. Virtualmin/Webmin Virtualmin — це потужна та гнучка панель керування веб-хостингом для систем Linux та UNIX на основі відомої веб-бази з відкритим вихідним кодом.

Налаштування програми Yii на Ubuntu 14.04

Налаштування програми Yii на Ubuntu 14.04

Yii — це PHP-фреймворк, який дозволяє розробляти програми швидше та легше. Установка Yii на Ubuntu проста, як ви дізнаєтеся

Використання Screen в Ubuntu 14.04

Використання Screen в Ubuntu 14.04

Screen — це програма, яка дозволяє багаторазово використовувати термінальні сеанси в одному вікні. Це дозволяє моделювати декілька вікон терміналу, де це ma

Використання Logrotate для керування файлами журналу

Використання Logrotate для керування файлами журналу

Вступ Logrotate — це утиліта для Linux, яка спрощує адміністрування файлів журналів. Зазвичай він запускається раз на день через завдання cron і керує базою журналів

Як встановити Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Як встановити Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої

Як встановити Vanilla Forum на Ubuntu 16.04

Як встановити Vanilla Forum на Ubuntu 16.04

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити Kanboard на Ubuntu 18.04 LTS

Як встановити Kanboard на Ubuntu 18.04 LTS

Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Gitea на Ubuntu 18.04

Як встановити Gitea на Ubuntu 18.04

Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом, яка працює на базі git. Gitea написана на Голанг і є

Встановлення Docker CE на Ubuntu 16.04

Встановлення Docker CE на Ubuntu 16.04

Використання іншої системи? Docker — це програма, яка дозволяє розгортати програми, які запускаються як контейнери. Це було написано в популярному програмі Go

Виправлення експлойту Dirty Cow на CentOS

Виправлення експлойту Dirty Cow на CentOS

Що таке Dirty Cow (CVE-2016-5195)? Уразливість Dirty Cow використовується через те, як Linux обробляє код. Це дозволяє непривілейованому користувачеві використовувати gai

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Наявність лише одного користувача, який є root, може бути небезпечним. Тож давайте це виправимо. Vultr надає нам свободу робити з нашими користувачами та нашими серверами, що нам заманеться

Встановіть Adminer на Debian/Ubuntu

Встановіть Adminer на Debian/Ubuntu

Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться

Як встановити Nextcloud на Ubuntu 17.04

Як встановити Nextcloud на Ubuntu 17.04

У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування

Як встановити GoAccess на Ubuntu 16.04

Як встановити GoAccess на Ubuntu 16.04

Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

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

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше