Установка wordpress на vps может быть отличным способом получить больший контроль над своим сайтом и сократить расходы на хостинг. Кроме того, vps может обеспечить более высокую производительность, чем виртуальный хостинг, поскольку у вас будут собственные выделенные ресурсы сервера. В этой статье мы расскажем вам, как настроить vps для wordpress.
Зачем устанавливать WordPress на VPS?
Существует множество преимуществ установки WordPress на VPS, в том числе:
- Больше контроля: когда вы устанавливаете wordpress на vps, у вас будет полный контроль над вашим сервером. Это означает, что вы можете устанавливать любые темы и плагины, которые хотите, и настраивать свой сервер в соответствии с вашими потребностями.
- Лучшая производительность: vps предлагает лучшую производительность, чем виртуальный хостинг, поскольку у вас будут собственные выделенные ресурсы сервера. Это может быть важно, если у вас высокий уровень трафика или вам нужно запускать ресурсоемкие приложения.
- Более низкая стоимость хостинга: vps часто дешевле виртуального хостинга, так как вы платите только за те ресурсы, которые используете. Вы также можете сэкономить деньги, используя самоуправляемый vps, поскольку вам не нужно будет платить за управляемые услуги.
Общие рекомендации для настройки VPS для WordPress
Прежде чем приступить к настройке vps для wordpress, необходимо выполнить несколько пунктов:
- Выбрать хостинг-провайдера — если вы еще не выбрали хостинг, то вам необходимо выбрать его перед настройкой vps. Существует множество различных хостингов, поэтому обязательно проведите исследование и выберите тот, который подходит именно вам.
- Выберите операционную систему — вам нужно решить, какую операционную систему вы хотите использовать для своего сервера. Если вы не уверены, какую выбрать, то мы рекомендуем использовать ubuntu 16.04 lts (xenial xerus).
- Настройка dns — вам необходимо настроить dns-записи, чтобы люди могли найти ваш сайт в Интернете (это можно сделать через веб-хост или панель управления). Если вы не знаете, как это сделать, рекомендуем воспользоваться бесплатной службой dns от cloudflare.
- Получите ssl-сертификат — настоятельно рекомендуем вам получить ssl-сертификат для вашего сайта, чтобы он был зашифрован и защищен (вы можете получить бесплатные ssl-сертификаты от let’s encrypt).
- Создайте резервную копию сайта — прежде чем вносить какие-либо изменения на сайте или сервере, всегда важно сначала создать резервную копию на случай, если в процессе работы что-то пойдет не так (можно использовать встроенный инструмент экспорта wordpress или плагины типа backupbuddy).
- Настройка сервера — теперь пришло время установить и настроить ваш сервер перед установкой на него wordpress (если вы используете ubuntu 16.04 lts, следуйте чек-листу).
- Установка wordpress — когда все остальное настроено и готово к работе, пришло время установить wordpress на ваш сервер (опять же, если вы используете ubuntu 16.04 lts, следуйте чек-листу ниже).
- Настройка wordpress — последний шаг — это настройка wordpress со всеми параметрами и опциями, которые вы хотите (ознакомьтесь с нашим чек-листом по настройке wordpress).
Конкретный чек-лист для установки WordPress на VPS
Конкретный пример по установке и настройки WordPress на VPS вы можете посмотреть в моем видео.
Ниже я приведу чек-лист из данного видео:
- Заказываем услугу VPS на Fozzy
- Устанавливаем на сервер Ubuntu 20.04, записываем временный пароль и IP-адрес
- В панели регистратора REG.ru указываем свои DNS-сервера ns1.fozzy.com и ns2.fozzy.com
- В личном кабинете Fozzy прописываем A-запись для домена pcradar.ru и IP 23.111.202.102
- Меняем пароль на сервере на новый (команда: passwd)
- Устанавливаем последние обновления (команда: apt update)
- Устанавливаем брандмауэр UFW (команда: apt install ufw)
- Разрешаем доступ по портам HTTP, SSH (команды: ufw allow ‘Nginx HTTP’; ufw allow ‘OpenSSH’)
- Включаем брандмауэр UFW (команда: ufw enable)
- Устанавливаем пакет Nginx (команда: apt install nginx)
- Проверяем установку сервера (в адресной строке: http://pcradar.ru)
- Устанавливаем пакет MySQL (команда: apt install mysql-server)
- Делаем вход в MySQL по паролю, чтобы было не mysql, а mysql -u root -p (команда: mysql_secure_installation)
- Устанавливаем пакет для возможности добавить репозиторий (apt install software-properties-common)
- Подключаем хранилище Ubuntu universe (команда: add-apt-repository universe)
- Устанавливаем модули PHP: php-fpm для обработки скриптов PHP, php-mysql для взаимодействия с БД (команда: apt install php-fpm php-mysql)
- Cоздаем папку pcradar (команда: mkdir /var/www/pcradar)
- Выполняем конфигурацию блока сервера Nginx (команда: nano /etc/nginx/sites-available/myserver.conf)
- Тестируем новую конфигурацию (команда: nginx -t)
- Создаем символическую ссылку на myserver.conf, чтобы сервер заработал (команда: ln -s /etc/nginx/sites-available/myserver.conf /etc/nginx/sites-enabled/)
- Перезагружаем сервер Nginx (команда: systemctl reload nginx)
- Создаем файл info.php для тестов и проверяем (в адресной строке: http://pcradar.ru/info.php)
- Установка пакета Certbot для получения бесплатного SSL (команда: apt install python3-certbot-nginx)
- Разрешаем доступ по HTTPS через брандмауэр (команды: ufw allow ‘Nginx Full’; ufw delete allow ‘Nginx HTTP’)
- Получаем сертификат SSL (команда: certbot —nginx -d pcradar.ru -d www.pcradar.ru). Не забываем указать редирект HTTP -> HTTPS !
- Тестируем процесс обновления Let’s Encrypt (команда: certbot renew —dry-run)
- Создаем базу данных pcradar_db для будущего сайта (команды в Linux: mysql -u root -p; команды в MySQL: CREATE DATABASE pcradar_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER ‘pcradar’@’localhost’ IDENTIFIED BY ‘new_pass’; GRANT ALL PRIVILEGES ON pcradar_db.* TO ‘pcradar’@’localhost’; FLUSH PRIVILEGES;)
- Установка phpmyadmin для управления базой данных (команда: apt install phpmyadmin)
- Делаем доступ к базе данных по phpmyadmin (команда: ln -s /usr/share/phpmyadmin/ /var/www/pcradar; systemctl reload nginx)
- Исправляем ошибку в phpmyadmin (команда: nano /usr/share/phpmyadmin/libraries/sql.lib.php)
- Установка дополнительных расширений PHP (команда: apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip)
- Перезапуск процесса php-fmp (команда: systemctl restart php7.2-fpm)
- Дополнительная настройка файла конфигурации Nginx под WordPress
- Установка дополнительных пакетов curl и zip (команда: apt install curl zip)
- Скачиваем последнюю версию WordPress (команды: cd /car/www/pcradar; curl -LO https://ru.wordpress.org/latest-ru_RU.zip; unzip latest-ru_RU.zip;)
- Копируем wp-config-sample.php в wp-config.php и вносим изменения в конфигурацию файла, чтобы можно было подключиться к базе данных (команды: cp wp-config-sample.php wp-config.php; nano wp-config.php; вносим изменения в поля имя БД, логин и пароль)
- Установка пакета pure-ftpd для доступа по FTP (команда: apt install pure-ftpd)
- Указываем пассивные порты для pure-ftpd (команда: nano /etc/pure-ftpd/conf/PassivePortRange; 50000 50400)
- Открываем порты в UFW для pure-ftpd (команды: ufw allow 20; ufw allow 21; ufw allow 50000:50400/tcp)
- Перезагружаем сервис pure-ftpd (команда: service pure-ftpd restart)
- Создаем пользователя pcradar (команда: adduser pcradar)
- Указываем пользователю pcradar в качестве домашней папки pcradar/ (команда: usermod -md /var/www/pcradar pcradar)
- Делаем пользователя www-data владельцем папки pcradar/ (команда: chown -R www-data:www-data pcradar/)
- Добавляем пользователя pcradar в группу www-data (команда: sudo usermod -a -G www-data pcradar)
- Устанавливаем корректные права на папку pcradar/ (команды: sudo find . -type f -exec chmod 664 {} +; sudo find . -type d -exec chmod 775 {} +; sudo chmod 660 wp-config.php)
- Увеличение максимального размера загружаемого файла (команды: nano /etc/php/7.4/fpm/php.ini — upload_max_filesize — post_max_size; nano /etc/nginx/nginx.conf — client_max_body_size)
- Делаем чтобы WordPress не запрашивал пароль при загрузке (команда: nano /var/www/pcradar/wp-config.php)
- Настраиваем сайт pcradar.ru (в адресной строке: https://pcradar.ru/)
Теперь вы успешно установили wordpress на свой собственный vps!