В следващата статия ще разгледаме как можем инсталирайте 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 Server Block за 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 / hosts, в случай че средата ни няма DNS сървър за разрешаване на имена:
sudo vim /etc/hosts
Във файла ще добавим запис, както е показано по-долу. Използваният IP е този на моя локален компютър.
Инсталирайте WordPress
Следвайки данните в този пример, ще отидем отворете уеб браузъра и посетете url:
http://www.wordpress.local
Това ще ни отведе Съветник за инсталиране на WordPress.
Ще трябва напишете подробности за базата данни, за да позволите на WordPress да се свърже с нея. Това ще бъдат данните от базата данни, създадена по-рано
Ако връзката е успешна, ще видим съобщение за успех на нов екран. За да продължите, просто трябва да кликнете върху Стартирайте инсталацията.
На следващия екран ще трябва напишете заглавието на сайта, потребител на администратор на WordPress, парола и имейл адрес. Ще преминем към следващия екран, като щракнем върху Инсталиране на WordPress.
Ако всичко върви добре, инсталирането на WordPress вече е завършено. Вече можем да кликнете върху Достъп за отиване до администратора на WordPress (Backend).
И оттам можем да започнем да разработваме нашия сайт:
Конфигурирайте максималния размер на файла за качване
По подразбиране PHP не позволява качване на файлове над 2MB. За да позволим качване на по-големи файлове чрез уеб интерфейса на 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.