Стартовые цены: все тарифы на 30% дешевле самого дешёвого конкурента. Сравнение ценКаждый тариф на 30% дешевле самого дешёвого офшорного хостера

Руководства

Офшорный хостинг WordPress: установка WordPress на VPS

Мы не продаём управляемый хостинг WordPress. Рассказываем, как самостоятельно запустить WordPress на офшорном VPS: тариф, локация, домен, проверенная связка Nginx, PHP и MariaDB, HTTPS, кэширование, безопасность и почта.

12 мин чтенияОт команды OffshoreServ

Главное

  • Мы не продаём виртуальный или управляемый хостинг WordPress: вы сами запускаете WordPress на офшорном VPS от $2.39 в месяц.
  • В офшоре по американским уведомлениям DMCA мер не принимается, но местные суды, а в локациях ЕС — уведомления по Закону о цифровых услугах всё равно могут потребовать принять меры.
  • Домен подчиняется праву своего регистратора и реестра: реестры .com и .net управляются из США.
  • Nginx, PHP-FPM, MariaDB, WP-CLI и Certbot позволяют запустить защищённый сайт на WordPress за 20–30 минут.
  • Добавьте кеширование, автоматические обновления, снапшоты, резервные копии вне сервера и SMTP-релей на порту 587 для почты.
На этой странице
  1. Что означает офшорный хостинг WordPress
  2. Выбор тарифа и локации для офшорного хостинга WordPress
  3. Защитите домен так же, как сервер
  4. Установка Nginx, PHP и MariaDB
  5. Установка WordPress с помощью WP-CLI
  6. Настройка Nginx и HTTPS
  7. Ускорение WordPress
  8. Защита и резервное копирование WordPress
  9. Отправка почты из WordPress
  10. CDN перед офшорным сайтом: что это меняет
  11. Часто задаваемые вопросы

Офшорный хостинг WordPress — это размещение сайта на WordPress на сервере в другой стране, по законам этой страны. Мы не продаём виртуальный или управляемый хостинг WordPress. Вы сами устанавливаете WordPress на офшорный VPS с полным root-доступом от $2.39 в месяц, и с этим руководством это занимает 20–30 минут.

Шаги подходят для Debian 12 и Ubuntu 24.04 LTS с Nginx, PHP-FPM, MariaDB, WP-CLI и бесплатным сертификатом Let's Encrypt.

Что означает офшорный хостинг WordPress

Ваш сайт работает на VPS в стране, которую вы выбираете за её законы: у нас это Исландия, Швейцария, Молдова, Румыния, Нидерланды, Болгария или Малайзия. Меняются три вещи:

  • По американским уведомлениям DMCA мер не принимается. В этих странах DMCA не имеет юридической силы: уведомление регистрируется, на него отвечают, а с сервером ничего не происходит. Именно это на самом деле означает «хостинг WordPress с игнорированием DMCA».
  • Решает местный закон. Действительное решение суда страны сервера может обязать нас принять меры. Мы сначала сообщаем вам, чтобы вы могли ответить, если суд этого не запрещает.
  • В локациях ЕС действуют правила ЕС. В Румынии, Нидерландах и Болгарии принять меры может потребовать и уведомление, соответствующее требованиям Закона ЕС о цифровых услугах к уведомлениям и мерам.

Что не меняется: незаконный контент остаётся незаконным, законы вашей страны по-прежнему применяются к вам, а спам, фишинг, вредоносное ПО, атаки, мошенничество и материалы сексуального насилия над детьми влекут немедленные меры. На странице хостинга с игнорированием DMCA описан порядок рассмотрения жалоб, а в статье хостинг с игнорированием DMCA простыми словами — что ещё может затронуть сайт.

Выбор тарифа и локации для офшорного хостинга WordPress

Память — первое ограничение, в которое упирается сервер WordPress, и больше всего её нужно магазинам: страницы корзины, оформления заказа и аккаунта WooCommerce содержат данные конкретного покупателя, поэтому страничный кеш должен их пропускать, и PHP формирует их для каждого посетителя.

СайтТарифvCPU, память, NVMeВ месяц
Тестовый сайт или небольшой личный блогDinghy1, 1 ГБ, 25 ГБ$2.39
Блог или сайт компанииSloop1, 2 ГБ, 40 ГБ$3.49
Популярный блог или несколько сайтовCutter2, 4 ГБ, 70 ГБ$5.49
Магазин на WooCommerceSchooner4, 8 ГБ, 160 ГБ$12.49
Высокий трафик или несколько магазиновBrigantine6, 16 ГБ, 240 ГБ$19.99

Выберите локацию, ближайшую к большинству читателей, по оценкам задержки на нашей странице сети, а затем проверьте её законы на странице локаций. Для нового VPS действует возврат средств в течение 72 часов за первый период — на баланс, если нет открытой жалобы. Если сайт перерастёт тариф, выберите в разделе «Действия с сервером» пункт Перейти на более мощный тариф.

Защитите домен так же, как сервер

Хостер контролирует сервер, но не имя. Регистратор — компания, через которую вы регистрируете имя; оператор реестра ведёт основную базу данных домена верхнего уровня и обслуживает его серверы имён. Оба подчиняются законам своей страны и своим договорам, где бы ни находился ваш сервер.

В руководстве ICANN об изъятии доменных имён описаны решения судов, обязывающие реестр или регистратора заблокировать имя, прекратить его разрешение или передать его. По данным IANA, реестры .com и .net управляются компанией VeriSign Global Registry Services в Рестоне, штат Вирджиния. Поэтому решение американского суда может отключить имя .com или .net, где бы ни работал сайт: сервер продолжает работать, но посетители не могут попасть на него по этому имени. Выбирайте регистратора и домен так же тщательно, как хостера:

  • Регистратор: его страна, его условия о жалобах и решениях судов и то, какие данные о личности он запрашивает.
  • Домен верхнего уровня: база данных корневой зоны показывает, кто им управляет и где.
  • Приватность WHOIS: сервис конфиденциальности скрывает ваши контактные данные в WHOIS, а прокси-сервис становится записанным владельцем вместо вас. В любом случае ваши данные остаются у провайдера — по законам его страны.

Установка Nginx, PHP и MariaDB

Установка WordPress на VPS начинается с веб-сервера, PHP и базы данных. Закажите VPS с Debian 12 или Ubuntu 24.04 LTS, войдите, как описано в разделе «Начало работы», и пройдите чек-лист по усилению защиты. Затем выполняйте всё от root (sudo -i), подставив свой домен вместо example.com:

apt update
apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip curl gnupg sudo

После этого экран «Здоровье сайта» в WordPress сообщает, что все обязательные и рекомендуемые модули PHP установлены. В Debian 12 ставится PHP 8.2, в Ubuntu 24.04 — PHP 8.3, в обоих случаях с MariaDB 10.11. WordPress рекомендует PHP 8.3 или новее, а «Здоровье сайта» помечает 8.2 как устаревшую версию, которую следует обновить, поэтому для нового сайта выбирайте Ubuntu 24.04. По умолчанию PHP принимает загрузки до 2 МБ и выделяет 128 МБ памяти на запрос; руководство WordPress по хостингу рекомендует 256 МБ:

PHPV=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')
cat > /etc/php/$PHPV/fpm/conf.d/90-wordpress.ini <<'EOF'
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
EOF
systemctl restart php$PHPV-fpm

PHPV содержит 8.2 или 8.3, и следующие шаги используют эту переменную. Теперь создайте базу данных и пользователя с доступом только к ней и случайным паролем:

DB_PASS=$(openssl rand -hex 24)
mariadb -e "CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"
mariadb -e "CREATE USER wordpress@localhost IDENTIFIED BY '$DB_PASS'"
mariadb -e "GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost"

Оставайтесь в этой оболочке: следующий шаг записывает $DB_PASS в wp-config.php. mariadb-secure-installation (или mysql_secure_installation) не нужен: в обеих системах учётная запись root в MariaDB входит только через локальный сокет, анонимного пользователя и тестовой базы нет, а сервер слушает только 127.0.0.1.

Установка WordPress с помощью WP-CLI

WP-CLI управляет WordPress из командной строки. Скачайте его и проверьте подпись, как описано в руководстве WP-CLI:

cd /tmp
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar.asc
curl -L https://raw.githubusercontent.com/wp-cli/builds/gh-pages/wp-cli.pgp | gpg --import
gpg --fingerprint 63AF7AA15067C05616FDDD88A3A2E8F226F0BC06
gpg --verify wp-cli.phar.asc wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

gpg --fingerprint должен найти ключ, отпечаток которого WP-CLI публикует в своём руководстве по проверке, а gpg --verify — сообщить о действительной подписи; предупреждение о том, что ключ не сертифицирован, — это нормально. Затем создайте папку сайта и папку кеша для WP-CLI, владельцем которых будет www-data — пользователь, от имени которого работает PHP-FPM, — и установите WordPress от его имени:

install -d -o www-data -g www-data /var/www/example.com /var/www/.wp-cli
cd /var/www/example.com
sudo -u www-data wp core download
sudo -u www-data wp config create --dbname=wordpress --dbuser=wordpress --dbpass="$DB_PASS"
chmod 640 wp-config.php
sudo -u www-data wp core install --url=https://example.com --title="Example" --admin_user=YOUR_ADMIN_NAME --admin_email=ADMIN_EMAIL --skip-email

Поскольку файлы принадлежат www-data, WordPress может сам устанавливать обновления; папка .wp-cli избавляет от предупреждения о кеше. wp-config.php, где хранится пароль базы данных, закрыт для других пользователей. WP-CLI выводит сгенерированный пароль администратора: сохраните его в менеджере паролей.

Настройка Nginx и HTTPS

Направьте A-записи для example.com и www.example.com на IPv4-адрес сервера и добавьте AAAA-записи для IPv6: Certbot должен достучаться до этого сервера по обоим именам на порту 80. Запишите блок server в /etc/nginx/sites-available/example.com, а в Debian 12 используйте php8.2-fpm.sock:

server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ^~ /.well-known/ {
        try_files $uri =404;
    }

    location ~ /\. {
        deny all;
    }

    location ~* /wp-content/uploads/.*\.php$ {
        deny all;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
}
try_files
Передаёт в index.php пути, которые не являются файлами, — для постоянных ссылок в формате ЧПУ.
Правила запрета
Скрытые файлы, например .git, и PHP-файлы в папке загрузок получают ошибку 403; /.well-known/ остаётся открытым.
fastcgi-php.conf
Возвращает 404 для несуществующих PHP-файлов.
client_max_body_size
Значение Nginx по умолчанию — 1 МБ: более крупные загрузки отклонялись бы с ошибкой 413.

Включите сайт вместо сайта по умолчанию, затем переключитесь на ЧПУ:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
rm /etc/nginx/sites-enabled/default
nginx -t
systemctl reload nginx
sudo -u www-data wp --path=/var/www/example.com rewrite structure '/%postname%/'

Если по руководству по усилению защиты включён ufw, выполните также ufw allow 80/tcp. Установите Certbot как snap-пакет, следуя инструкциям EFF. В Ubuntu 24.04 snapd уже есть; в Debian 12 сначала установите snapd командами apt install -y snapd и snap install snapd. Затем:

snap install --classic certbot
ln -s /snap/bin/certbot /usr/local/bin/certbot
certbot --nginx -d example.com -d www.example.com
certbot renew --dry-run

Certbot подтверждает контроль над доменом, добавляет сертификат в блок server и по умолчанию перенаправляет HTTP на HTTPS. Snap-пакет автоматически продлевает сертификаты, а пробный запуск (dry run) проверяет продление. Certbot также запрашивает адрес email — его можно пропустить с помощью --register-unsafely-without-email, но тогда вы не получите уведомлений, например об отзыве сертификата. Let's Encrypt перестал отправлять напоминания об истечении срока 4 июня 2025 г. Панель управления теперь доступна по адресу https://example.com/wp-admin/.

Ускорение WordPress

Выполняйте wp из /var/www/example.com, с переменной PHPV, заданной как выше. PHP OPcache хранит скомпилированный код в памяти и уже включён с объёмом 128 МБ; эта команда должна вывести opcache.enable => On => On:

php-fpm$PHPV -i | grep '^opcache.enable '

Страничный кеш сохраняет каждую страницу как статический HTML и отдаёт её следующим посетителям. WP Super Cache от Automattic в рекомендуемом режиме Simple отдаёт эти файлы через PHP, поэтому не требует правил Nginx, а WooCommerce сообщает ему, что страницы корзины, оформления заказа и аккаунта нужно пропускать:

sudo -u www-data wp plugin install wp-super-cache --activate

Включите кеширование в разделе Настройки > WP Super Cache. Когда вы не вошли в систему, в конце исходного кода страницы появится комментарий Cached page generated by WP-Super-Cache. Объектный кеш хранит в памяти данные, которые WordPress иначе запрашивал бы из базы данных, и ускоряет страницы, которые не может отдать страничный кеш. Его обеспечивают Redis и плагин Redis Object Cache:

apt install -y redis-server php-redis
systemctl restart php$PHPV-fpm
sudo -u www-data wp plugin install redis-cache --activate
sudo -u www-data wp redis enable
sudo -u www-data wp redis status

Статус должен быть Connected; Redis слушает только 127.0.0.1 и ::1. PHP-FPM по умолчанию запускает не более пяти рабочих процессов (pm.max_children в /etc/php/$PHPV/fpm/pool.d/www.conf): на более крупных тарифах увеличьте это значение, пока все процессы помещаются в память.

Защита и резервное копирование WordPress

Откройте только SSH, HTTP и HTTPS

apt install -y ufw
ufw limit 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose

Ответьте y на предупреждение SSH и укажите свой порт SSH, если вы его меняли. Порт 80 обслуживает перенаправление на HTTPS и продление сертификатов Certbot.

Обновляйтесь автоматически

Начиная с WordPress 5.6, новые установки обновляются сами до минорных и мажорных версий, и в нашей тестовой установке мажорные обновления были включены. Для плагинов и тем обновления нужно включить:

cd /var/www/example.com
sudo -u www-data wp plugin auto-updates enable --all
sudo -u www-data wp theme auto-updates enable --all

Проверки обновлений — это события WP-Cron, а WP-Cron запускается только при загрузке страниц, поэтому передайте его системному планировщику:

sudo -u www-data wp config set DISABLE_WP_CRON true --raw
echo '*/5 * * * * www-data cd /var/www/example.com && /usr/local/bin/wp cron event run --due-now --quiet' > /etc/cron.d/wordpress

Ужесточите права доступа к файлам

find /var/www/example.com -type d -exec chmod 755 {} +
find /var/www/example.com -type f -exec chmod 644 {} +
chmod 640 /var/www/example.com/wp-config.php

В Ubuntu sudo задаёт для www-data umask 002, поэтому файлы, созданные WP-CLI, доступны группе для записи; эти команды восстанавливают права 755 и 644 и оставляют wp-config.php закрытым. Чтобы PHP вообще не мог менять код, передайте файлы другому пользователю и разрешите www-data писать только в wp-content/uploads: автоматические обновления тогда прекратятся, и вы будете обновлять сайт через WP-CLI от имени этого пользователя.

Ограничьте входы и XML-RPC

Замедлите подбор паролей: создайте /etc/nginx/conf.d/wp-login-limit.conf с этой строкой,

limit_req_zone $binary_remote_addr zone=wplogin:10m rate=10r/m;

затем добавьте эти блоки в блок server (php8.2-fpm.sock в Debian 12), выполните nginx -t и перезагрузите конфигурацию:

location = /wp-login.php {
    limit_req zone=wplogin burst=5 nodelay;
    limit_req_status 429;
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}

location = /xmlrpc.php {
    deny all;
}

Каждый адрес получает шесть быстрых попыток входа, затем по одной каждые шесть секунд: в нашем тесте седьмой быстрый запрос получил ошибку 429. Второй блок отключает XML-RPC API, через который другие приложения создают и редактируют записи, медиафайлы и комментарии. Не добавляйте этот блок, если вам нужен XML-RPC, — например, он нужен Jetpack.

Снапшоты и резервные копии вне сервера

Перед крупными обновлениями выберите пункт Сделать снапшот в разделе «Действия с сервером» на странице сервера; тарифы VPS включают от 2 до 5 снапшотов. Снапшоты хранятся вместе с VPS, поэтому также делайте дамп базы данных и отправляйте /var/www и дампы в другое место с помощью restic или Borg, как описано в статье Снапшоты VPS и резервные копии на внешней площадке:

mkdir -p /root/db-dumps
chmod 700 /root/db-dumps
mariadb-dump --single-transaction wordpress > /root/db-dumps/wordpress.sql

Отправка почты из WordPress

Через функцию mail в PHP WordPress передаёт письма для сброса пароля, уведомления о комментариях и заказы магазина программе /usr/sbin/sendmail. В протестированных нами системах Debian и Ubuntu этой программы не было, и wp_mail() возвращала false, а исходящий порт 25 в нашей сети в любом случае закрыт по умолчанию. Отправлять почту можно двумя способами:

  1. SMTP-релей на порту 587 — более простой способ. Возьмите почтовый сервис с аутентифицированной отправкой по SMTP, добавьте его записи SPF и DKIM в свой DNS и подключите WordPress с помощью плагина, например FluentSMTP, — он бесплатный и работает с любым SMTP-сервером. Блокировка порта 25 на порт 587 не распространяется.
  2. Прямая доставка через порт 25. Выберите в разделе «Действия с сервером» на странице сервера пункт Открыть порт 25 (исходящая почта) и укажите, что и с какого домена вы будете отправлять. Затем выберите пункт Настроить обратную DNS-запись (PTR) для имени хоста почтового сервера и опубликуйте записи SPF и DKIM.

В любом случае спам и фишинг относятся к нарушениям с нулевой терпимостью и немедленно прекращают обслуживание.

CDN перед офшорным сайтом: что это меняет

CDN не нужна для защиты: защита от DDoS входит в нашу сеть, с постоянной фильтрацией на границе. CDN может ускорить сайт для удалённых читателей, но добавляет между посетителями и вашим сервером ещё одну компанию со своей юрисдикцией и правилами рассмотрения жалоб.

Возьмём Cloudflare, Inc. из Сан-Франциско. Трафик к проксируемому сайту проходит через Cloudflare, и такой обратный прокси может его расшифровать. Cloudflare пересылает жалобы об авторских правах операторам сайтов и хостинг-провайдерам, сообщает правообладателям сведения о хостинг-провайдере и позволяет организациям из своей программы доверенных заявителей получать IP-адреса исходных серверов. При жалобах на нарушения она передаёт IP-адрес исходного сервера хостинг-провайдеру.

Так что CDN скрывает адрес вашего сервера от публики, но не от заявителей. Если вы её используете, настройте модуль real IP в Nginx с диапазонами адресов CDN, иначе ограничение входов выше будет считать серверы CDN, а не ваших посетителей.

Часто задаваемые вопросы

Что такое офшорный хостинг WordPress?

Это WordPress на сервере в другой стране, выбранной за её законы. Чтобы так разместить сайт в офшоре, вы арендуете там VPS и устанавливаете на него WordPress. Хостер тогда соблюдает местные законы: по американским уведомлениям DMCA мер не принимается, а местные суды и, в странах ЕС, уведомления по Закону о цифровых услугах всё равно могут потребовать принять меры.

Да. Аренда сервера за рубежом законна почти везде; незаконным может сделать её использование. Незаконный контент остаётся незаконным и в офшоре, страна сервера определяет, что обязан делать хостер, а законы вашей страны по-прежнему применяются к вам. В статье законен ли офшорный хостинг разобраны защита данных, санкции и налоги.

Можно ли разместить сайт на WordPress анонимно?

Отчасти. Наш аккаунт — это адрес email и пароль, оплата криптовалютой и никакой проверки личности, как на нашем VPS без KYC. Но анонимный хостинг сайта зависит и от регистратора домена, который может запросить больше и хранит всё, что вы ему сообщили. Кроме того, WordPress публикует имя администратора, а то, что вы пишете, может вас выдать.

Вы предлагаете управляемый хостинг WordPress?

Нет. Мы не продаём виртуальный или управляемый хостинг WordPress. Вы получаете VPS с полным root-доступом и сами устанавливаете на него WordPress — с этим руководством это занимает около 20–30 минут. Обновления, резервные копии и безопасность затем в ваших руках, а шаги выше автоматизируют обновления.

Сколько памяти нужно WordPress?

Для одного небольшого сайта хватит 1 ГБ с файлом подкачки, а 2 ГБ — с запасом. Сразу после установки в нашей тестовой системе Debian 12 MariaDB занимала около 110 МБ, а пять рабочих процессов PHP-FPM — около 105 МБ вместе; плагины увеличивают каждый процесс. Для популярного блога или нескольких сайтов закладывайте 4 ГБ, для магазина на WooCommerce — 8 ГБ.

Размещайте проекты там, где закон на вашей стороне

Офшорные VPS, выделенные, RDP- и GPU-серверы в семи юрисдикциях. Без KYC, оплата криптовалютой.

Что почитать дальше

Ещё из блога

Все статьи

С возвращением

Войдите, чтобы управлять серверами и балансом.

Без KYCПроверка на человека с помощью Cloudflare TurnstileБез отслеживания