У наступній статті ми збираємось поглянути на те, як ми можемо встановити WordPress з Nginx на Ubuntu 20.04. Це CMS є однією з найбільш широко використовуваних систем управління вмістом з відкритим кодом. Він підтримує близько 60 мільйонів веб-сайтів. Він написаний на PHP і використовує MariaDB / MySQL як базу даних для зберігання інформації.
У наступних рядках ми побачимо, як локально встановити WordPress за допомогою Nginx на Ubuntu 20.04. З цієї причини, перш ніж продовжувати це буде необхідно встановити програмний стек LEMP на Ubuntu 20.04 щоб розпочати.
Встановіть WordPress з Nginx на Ubuntu 20.04
Встановіть розширення PHP
Наступні розширення необхідні для запуску WordPress на Ubuntu 20.04. Для їх встановлення нам потрібно буде лише відкрити термінал (Ctrl + Alt + T) і виконати:
sudo apt update && sudo apt install php-dom php-simplexml php-ssh2 php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-imagick php-json php-mbstring php-posix php-sockets php-tokenizer
Створіть серверний блок Nginx для WordPress
Ми створимо серверний блок Nginx для встановлення WordPress. Для цього блоку сервера потрібно доменне ім’я, номер порту, корінь документа, розташування реєстру тощо.. У цьому прикладі дані, які я збираюся використовувати, є такими. Нехай кожен користувач адаптує їх відповідно до своїх потреб:
- Доменне ім'я: www.wordpress.local
- Кореневий каталог документа: /sites/www.wordpress.local/public_html/
- Журнали: /sites/www.wordpress.local/logs/
Давайте розпочнемо створення файлу конфігурації блоку сервера в каталозі /etc/nginx/conf.d за командою:
sudo vim /etc/nginx/conf.d/www.wordpress.local.conf
Усередині файлу ми розмістимо такий вміст:
server { server_name www.wordpress.local; root /sites/www.wordpress.local/public_html/; index index.html index.php; access_log /sites/www.wordpress.local/logs/access.log; error_log /sites/www.wordpress.local/logs/error.log; # No permitir que las páginas se representen en un iframe en dominios externos add_header X-Frame-Options "SAMEORIGIN"; # Prevención MIME add_header X-Content-Type-Options "nosniff"; # Habilitar el filtro de secuencias de comandos entre sitios en los navegadores compatibles add_header X-Xss-Protection "1; mode=block"; # Evitar el acceso a archivos ocultos location ~* /\.(?!well-known\/) { deny all; } # Evitar el acceso a ciertas extensiones de archivo location ~\.(ini|log|conf)$ { deny all; } # Habilitar enlaces permanentes de WordPress location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Ми зберігаємо файл і виходимо. А тепер давайте створити кореневий каталог документа та каталог записів за допомогою команд:
sudo mkdir -p /sites/www.wordpress.local/public_html/ sudo mkdir -p /sites/www.wordpress.local/logs/
Ми продовжуємо перевірка файлів конфігурації Nginx:
sudo nginx -t
Повідомлення, подібне до попереднього знімка екрана, підтвердить правильність конфігурації сервера Nginx. У підсумку ми перезапускаємо службу:
sudo systemctl restart nginx.service
Створіть базу даних для WordPress
Давайте увійдемо в MariaDB / MySQL:
sudo mysql -u root -p
Далі ми створюємо базу даних для WordPress:
CREATE DATABASE wordpress;
Наступне буде створити користувача:
CREATE USER 'wpusuario'@'localhost' IDENTIFIED BY '123password';
Ми продовжуємо надання дозволу створеному користувачеві на доступ до бази даних:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpusuario'@'localhost';
І ми можемо мазок:
quit
Завантажити WordPress
Ми завантажуємо останню версію WordPress de WordPress.org з Wget:
wget http://wordpress.org/latest.tar.gz
А тепер давайте витягніть пакет WordPress за командою дьоготь:
tar -zxvf latest.tar.gz
Наступне буде перемістити файли WordPress до кореня документа:
sudo mv wordpress/* /sites/www.wordpress.local/public_html/
Ми продовжуємо змінювати властивість, щоб Nginx міг писати файли до кореня цього документа:
sudo chown -R www-data:www-data /sites/www.wordpress.local/public_html/ sudo chown -R www-data:www-data /sites/www.wordpress.local/logs/
А тепер давайте створити запис хоста для домену (у цьому прикладі www.wordpress.local) у файлі / Etc / хостів, якщо в нашому середовищі немає DNS-сервера для дозволу імен:
sudo vim /etc/hosts
Усередині файлу ми додамо запис, як показано нижче. Використовується IP-адреса мого локального комп’ютера.
Встановіть WordPress
Слідуючи даним у цьому прикладі, ми збираємось відкрити веб-браузер і відвідати url:
http://www.wordpress.local
Це приведе нас до Майстер встановлення WordPress.
Нам доведеться напишіть деталі бази даних, щоб дозволити WordPress підключитися до неї. Це будуть дані бази даних, створеної раніше
Якщо підключення вдале, ми побачимо повідомлення про успіх на новому екрані. Щоб продовжити, просто натисніть на Запустіть установку.
На наступному екрані нам доведеться напишіть заголовок сайту, користувача адміністратора WordPress, пароль та електронну адресу. Ми перейдемо на наступний екран, натиснувши Встановити WordPress.
Якщо все піде добре, встановлення WordPress тепер завершено. Тепер ми можемо натиснути на Доступ для переходу до адміністратора WordPress (вихідна версія).
І звідти ми можемо розпочати розробку нашого сайту:
Налаштуйте максимальний розмір файлу для завантаження
За замовчуванням PHP не дозволяє завантажувати файли більше 2 МБ. Щоб дозволити завантаження більших файлів через веб-інтерфейс WordPress, нам доведеться налаштувати upload_max_filesize і post_max_size у php.ini.
sudo vim /etc/php/7.4/fpm/php.ini
Ось ми йдемо до пошук upload_max_filesize y змінити розмір завантаження на 256M, якщо це те, що вам потрібно:
upload_max_filesize = 256M
Ми також будемо пошук post_max_size і ми змінимо розмір завантаження відповідно до наших потреб:
post_max_size = 256M
Закінчити ми додамо основний модуль client_max_body_size у файлі конфігурації сервера Nginx.
sudo vim /etc/nginx/nginx.conf
Директиву можна додати до блоку HTTP (для всіх сайтів), конкретний блок сервера або контекст розташування.
client_max_body_size 256M;
Ми зберігаємо файл і виходимо. У підсумку ми перезапускаємо служби:
sudo systemctl restart php7.4-fpm.service sudo systemctl restart nginx.service
І з цим у нас буде WordPress встановлюється локально на Ubuntu 20.04.
Це не працює 🙁
Привіт. У який момент не вдалося виконати встановлення?
Як я можу налаштувати Nginx на доступ із зовнішнього комп'ютера з тієї ж локальної мережі?
При застосуванні зазначеної конфігурації та спробі ввести за іменем доступ до типового Nginx.