В наше время очень стремительно развивающихся веб-технологий стало совсем невыгодно и очень сложно написать сайт с нуля на каком-нибудь языке программирования. Пока вы будете работать над движком и пытаться его поддерживать в современном состоянии, вы не будете успевать работать над наполнением.
Поэтому сейчас все большей популярности набирают системы управления контентом или CMS. Одна из наиболее распространенных - это WordPress. Это мощная, свободная и высоко расширяемая система управления контентом с открытым исходным кодом, которая используется миллионами пользователей по всему миру для создания своих блогов и полноценных веб-сайтов.
Содержание статьи
Установка WordPress на Ubuntu
WordPress очень легко установить и использовать, особенно для тех, кто не имеет опыта в разработке и развитии сайтов. А его стандартную функциональность можно расширить с помощью миллионов плагинов, написанных, как профессиональными командами, так и обычными пользователями.
В этой небольшой статье мы рассмотрим как выполняется установка WordPress на Ubuntu 20.04. Мы будем устанавливать самую последнюю на данный момент версию. Также кратко будет рассмотрена настройка стека LAMP.
Перед тем как перейти к установке самой системы управления контентом WordPress на сервер, нам нужно установить комплект серверного программного обеспечения - веб-сервер Apache и базу данных MySQL.
Установка Apache
Для установки последней версии веб-сервера выполните:
sudo apt install apache2 apache2-utils
Затем добавьте программу в автозагрузку и запустите сервис:
sudo systemctl enable apache2
sudo systemctl start apache2
Чтобы проверить работает ли веб-сервер, введите IP адрес вашего сервера в браузере. Если вы устанавливаете веб-сервер на локальной машине, используйте адрес http://127.0.0.1 или localhost:
По умолчанию все HTML документы хранятся в каталоге /var/www/html. Если вас интересует более подробная информация по настройке веб-сервера, посмотрите статью установка apache в Ubuntu.
Установка сервера баз данных MySQL
Для установки сервера баз данных mysql выполните команду:
sudo apt install mysql-client mysql-server
Чтобы завершить настройку mysql выполите команду:
sudo mysql_secure_installation
Утилита предложит вам установить плагин проверки пароля, который запретит использовать слабые пароли:
Затем нужно будет изменить пароль:
Останется закрыть доступ к аккаунту суперпользователя из сети и отключить гостевой доступ. Вы можете отвечать Y или N, но лучше всё сделать как рекомендует программа и отвечать Y.
Подробнее про настройку mysql читайте в статье установка LAMP в Ubuntu.
Установка PHP и необходимых модулей
Последнее что нужно сделать перед тем, как установить WordPress на Ubuntu 16.04 - это установить php и несколько модулей для работы интерпретатора с веб-сервером и сервером баз данных. Для этого выполните команду:
sudo apt install php7.4 php7.4-mysql libapache2-mod-php7.4 php7.4-cli php7.4-cgi php7.4-gd
Чтобы проверить как работает php создайте файл с именем info.php в каталоге /var/www/html/:
sudo vi /var/www/html/info.php
Затем откройте в веб-браузере адрес http://ip-адрес/info.php. Если все правильно настроено, то вы увидите страницу с информацией о версии PHP:
Активация модулей Apache
Для корректной работы WordPress нужно, чтобы был активирован модуль Apache mod_rewrite. Для его включения выполните:
sudo a2enmod rewrite
Затем перезагрузите веб-сервер:
sudo systemctl restart apache2
Установка WordPress в Ubutnu
Теперь все готово и мы можем перейти непосредственно к теме статьи. Сначала загрузите последнюю версию системы управления контентом из официального сайта:
wget -c http://wordpress.org/latest.tar.gz
Распакуйте содержимое архива в текущую папку:
tar -xzvf latest.tar.gz
Скопируйте файлы WordPress из текущей папки в папку /var/www/html/:
sudo rsync -av wordpress/* /var/www/html/
Для того чтобы веб-сервер мог правильно работать с этими файлами нужно установить для них правильные права, а именно пользователь и группа www-data:
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
Фактически установка WordPress на Ubuntu 20.04 завершена, но осталось еще настроить соединение с базой данных. Чтобы по умолчанию открывался WordPress файл index.html можно удалить:
sudo rm /var/www/html/index.html
Создание базы данных
Чтобы создать базу данных сначала войдите в интерфейс управления mysql, для этого выполните:
sudo mysql -u root -p
Введите пароль суперпользователя, а затем по очереди выполняйте такие команды для создания базы данных, пользователя и установки для них правильных привилегий:
Замените wp_database на желаемое имя базы данных, wp_user - имя пользователя, а password на нужный пароль. Модификатор localhost означает, что к этой базе смогут подключиться только с локальной машины.
Настройка WordPress в Ubuntu
Всё готово для настройки WordPress. Откройте адрес сервера, на котором устанавливали WordPress или localhost, если программа была установлена на локальном компьютере. В первом окне программа предложит вам выбрать язык:
На следующем шаге нажимайте Вперед:
Далее введите имя базы данных, имя пользователя и пароль, которые использовали при создании базы.
Осталось выбрать название сайта, логин администратора, а также ввести пароль администратора. Можно оставить пароль, который предлагает система.
Затем останется только авторизоваться и можно пользоваться только что настроенной системой управления контентом.
Выводы
В этой статье мы рассмотрели как выполняется установка WordPress на Ubuntu Server или редакцию дистрибутива для рабочего стола. Надеюсь, все прошло хорошо и теперь WordPress полностью установлен в вашей системе. Если у вас остались вопросы или есть замечания по статье, пишите в комментариях!
Хотелось бы увидеть статью, как поднять сервер на связке nginx + php-fpm
А также посмотреть сравнительный тест, работы апача и связки nginx 🙂
Написал коротенькую, но довольно ёмкую статейку на эту тему https://blog.kai-zer.ru/articles/ustanovka-wordpressnginxmysql-v-ubuntu-1604/
коллеги, если я настраиваю MySQL на хостинге и хочу иметь к нему доступ с разных в т.ч. виртуальных IP-адресов, то как в строке GRANT ALL PRIVILEGES ON....... указывать IP, который рядом c именем пользователя (wp_user'@'???.???.???.???') или мне надо написать wp_user'@'localhost'?
где коротенькая статейка?
Делал всё на VPS по адресу: 123.456.789.123. При вводе адреса 123.456.789.123, отображается стартовая страница apache, а не wordpress.
Инструкция рабочая. Смотрите внимательно в какую папку скидываете WordPress. Если дело происходит на VPS то нужно настраивать виртуальные хосты - https://losst.pro/nastrojka-virtualnyh-hostov-apache и открывать домен а не ip.
Нужно удалить приветственную страницу Apache с помощью команды rm /var/www/html/index.html
не работает мануал.
поддерживаю, мануал не рабочий, апач открывается... судя по последнему сообщению, бложик дохлый, автору нет дела.
Рабочий если допилить мануал. Надо доделать настройки подобно тестовому сайту из статьи https://losst.pro/ustanovka-lamp-v-debian-9 + надо удалить /var/www/html/index.html и будет счастье!
Уже не первый раз мануал с этого сайта пробую и начинает работать либо после допиливания либо после исправления очепяток автора, возможно это сделано специально, чтобы мозги начинали работать в отношении происходящего по мануалу, а не как болванчик копируя и вставляя... хотя момент спорный и для совсем начинающих врятли подойдёт.
Все работает. Два последних пункта кроме прав на www-data можно вообще не делать если использовать плагин дупликатор c любого сайта wordpress
Все работает, спасибо) а те, кто говорит что не работает и не присылают описание ошибки - просто тролли)
Спасибо! Ваша статья очень помогла. Все встало отлично.
Всё работает. Над РНР немного с бубном попрыгал. А так всё по инструкции.
Знаю этого автора сайта давно, давно хотел написать тебе.
Дорогой товарищ, старайся проверять что тут пишешь.
Начнем с конца, как тут сказали не завелось в коментах, так оно и будет, так как нет конфига в апачи.
Далее редекатор vi? Хоть раз им пользовался? Я думаю нет, замени на нано.
И перепррверяй наконец то материал на своем компе, постоянно сталкиваюсь что мануалы недоделанные без понимания.
Доброго времени суток!
Вопрос такой: что необходимо править, для того, что бы к админке был доступ извне. ip-шник статический, маршруты прописал. Хочу зайти на http://внешний-ip:1680/wp-admin/ но ничего нет.
А в роутере проброс сделан???
Да хрен там, нет возможности установить плагины через админку
удалил /var/www/html/index.html и wordpress открылся!
Ребят привет, блин вбиваю вот эту строчку - sudo vi /var/www/html/info.php
И вот что вылезает - E325: ATTENTIOn Как быть, подскажите друзья.
Found a swap file by the name "/var/www/html/.info.php.swp"
owned by: root dated: Wed Jun 6 15:03:11 2018
file name: /var/www/html/info.php
modified: YES
user name: root host name: debian
process ID: 16787
While opening file "/var/www/html/info.php"
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r /var/www/html/info.php"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file "/var/www/html/.info.php.swp"
to avoid this message.
"/var/www/html/info.php" [New File]
Press ENTER or type command to continue
Та же проблема
Попробуй через nano - sudo nano /var/www/html/info.php
Доброго времени суток. После написание команды:
$ sudo chown -R www-data:www-data /var/www/html/
$ sudo chmod -R 755 /var/www/html/
Строка пишет chown пропущен операнд после www-data:www-data /var/www/html/.
В чём может быть причина. Во второй строке так же пишет ошибку
mysql -u root -p
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
что делать? скажите пожалуйста
Попробуйте запустить команду от имени суперпользователя: sudo mysql -u root -p и убедитесь, что вы вводите правильный пароль.
Да,получилось!)
Теперь застопорился на sudo mv wp-config-sample.php wp-config.php
не удалось выполнить stat для 'wp-config-sample.php': Нет такого файла или каталога
Можете попробовать мой скрипт, для конфигурации apache https://github.com/emodstech/easyLampStart
CREATE USER 'wp_user'@'localhost' INDENTIFIED BY 'password'
пропущен пробел перед паролем и нет ; в конце строки
CREATE USER 'wp_user'@'localhost' INDENTIFIED BY 'password';
а ещё ошибка в слове iNdettified -> identified
Исправил.
Спасибо!
Сделал все по ману. Пи первом запуске WP не хочет подключатся к БД MySQL и создавать wp-config
Спасибо за статью. Очень сильно помогла.
Опечатка: вместо
sudo a2enmod mod_rewrite
должно быть
sudo a2enmod rewrite
Поправил, спасибо!
Что-то в последнее время у меня не выходит по инструкции сделать. У меня чистая Убунту 20. До этого пару раз получалось, а сейчас уже после http://мой ip/info.php. ошибка и ворлдпресс не открывается.
Ошибка публикации. Ответ не является допустимым ответом JSON.
Всё работает спасибо! только как сделать так чтобы работал на https://(443)?
а как выкачивать таблицы из базы данных и материалы сайта для переноса на хостинг
С помощью mysqldump можно - https://losst.pro/rezervnoe-kopirovanie-mysql-bazy-dannyh Или в PhpMyAdmin/DataGrip/Dbeaver.
Автор свяжись со мной по Телеграм есть хорошее предложение ! @online00A
Приветствую, спасибо за сайт, очень помогли в первоначальном этапе настроить машину, решил перейти полоностью на linux, необходимо для разработки и ведения проектов.. единственное все поставилось, ну заметил что стартовая старница настройки wordpress в firefox открывается крокозябрами, а в гугл все нормально, почему так, подскажете? может быть надо сделать какие - то настройки в firefox ?
мне кажется проблема как у меня ниже описано. у меня как раз фаерфокс. краказябы это возможно и есть php код, нет?))
спасибо работает. не без приключение конечно. но если есть ошибка. гуглите, поможет. почти всегда по первой же ссылке. mysql больше всего проблем доставила. плагин проверки пароля это вообще лютый ад, когда не знаешь что делать))
а оказалось настройки в две команды.
я другое хотел отметить по localhost у меня почему-то не срабатывает, чтобы я не делал вроде других локальных серверов сейчас не запущено. а вот именно по ip все работает 127.0.0.1