Как бесплатно разместить сайт на старом ноутбуке или ПК

В этом пошаговом руководстве мы используем 10‑летний ноутбук с Ubuntu Server, чтобы поднять WordPress или любой другой PHP/HTML сайт и защитить подключение бесплатным SSL через Cloudflared. Руководство подходит для локальной сети и публичного доступа через туннель.
Кому это подходит
- Фрилансерам и разработчикам, которым нужен демонстрационный стенд.
- Тем, кто изучает DevOps, серверное администрирование или WordPress.
- Владельцам небольших проектов, готовых жертвовать стабильностью и энергоэффективностью ради экономии.
Важное: это не замена профессионального хостинга для критичных по доступности и нагрузке сайтов.
Что нужно заранее
- Старый ноутбук или ПК с установленным Ubuntu Server (или другой совместимой Linux‑системой).
- Зарегистрированное доменное имя (можно использовать поддомен у существующего домена).
- Сетевой кабель Ethernet для стабильного соединения к роутеру.
- Аккаунт Cloudflare для использования Cloudflared Tunnel.
Определение: LAMP — набор программ для веб‑хостинга: Linux (ОС), Apache (веб‑сервер), MariaDB/MySQL (БД), PHP (язык серверной логики).
Шаг 1. Обновление пакетов
После установки Ubuntu Server выполните обновление списков пакетов и самих пакетов. Рекомендуется включить SSH и подключаться по терминалу.
sudo apt update && sudo apt upgrade -yПроцесс может занять время — дождитесь завершения.
Шаг 2. Установка Apache
Apache — распространённый веб‑сервер, хорошо работающий с PHP.
sudo apt install apache2При появлении запроса нажмите Y и Enter. Проверить статус сервера:
systemctl status apache2
Если сервис active (running), то всё в порядке. Для проверки можно открыть IP‑адрес сервера в браузере или http://localhost.


Совет: если порт 80 занят или недоступен, проверьте UFW/iptables и службы, которые могут конфликтовать.
Шаг 3. Установка MySQL (MariaDB)
MariaDB — современная замена MySQL, используемая для хранения данных приложений.
sudo apt install MariaDB-server MariaDB-client
Далее запустите скрипт безопасности:
sudo mysql_secure_installationСледуйте подсказкам и установите пароль root, удалите анонимных пользователей, запретите удалённый вход root, удалите тестовую базу и перезагрузите привилегии.
Важно: сохраните root‑пароль в надёжном месте.
Шаг 4. Установка PHP
PHP обрабатывает динамический контент и взаимодействует с базой данных.
sudo apt install PHP PHP-MySQL
Создайте тестовую страницу:
sudo nano /var/www/html/test.phpВставьте:
Сохраните (CTRL+X → Y → Enter) и откройте http://IP-АДРЕС/test.php — должна появиться страница с информацией о PHP.

Примечание: в реальном проекте не оставляйте phpinfo() доступной на публичном сервере из соображений безопасности.
Шаг 5. Создание базы данных и пользователя
Войдите в MariaDB/MySQL (в исходном материале команда содержит HTML‑сущности; ниже сохранён оригинал в код‑блоке для совместимости):
sudo MySQL –u root -p(Если это не работает из‑за –, используйте: sudo mysql -u root -p)
Введите root‑пароль и выполните команды для создания базы и пользователя (в исходном содержимом позже были HTML‑сущности; ниже — сохранён оригинал):
CREATE DATABASE mysite;
CREATE USER ‘ravi’@’localhost’ IDENTIFIED BY ‘YourPassword’;
GRANT ALL ON mysite.* TO ‘ravi’@’localhost’ IDENTIFIED BY ‘YourPassword’;
FLUSH PRIVILEGES;
EXIT;Совет: используйте уникальные имена баз данных и пользователей, а также сложные пароли. Для приложений в продакшене часто создают отдельного пользователя с правами только на нужную базу.
Теперь у вас есть база данных mysite и пользователь ravi (имена можно заменить).
Шаг 6. Загрузка и настройка WordPress
Перейдите в корень веб‑папки и скачайте WordPress:
cd /var/www/html/sudo wget https://wordpress.org/latest.tar.gz
Распакуйте:
Sudo tar xf latest.tar.gzЭто создаст директорию /var/www/html/wordpress. Измените владельца на www-data:
sudo chown -R www-data:www-data /var/www/html/wordpressПерейдите в браузер по http://IP-АДРЕС/wordpress и следуйте мастеру установки: укажите имя базы данных, пользователя и пароль, оставьте host и префикс по умолчанию.

Запустите установку, заполните название сайта, создайте admin‑аккаунт и пароль — сайт будет доступен по http://IP-АДРЕС/wordpress.

Совет по безопасности: сразу после установки смените имя администратора и используйте сложный пароль, включите двухфакторную авторизацию.
Шаг 7. Подготовка домена и установка Cloudflared
Добавьте домен в аккаунт Cloudflare. Затем скачайте и установите пакет cloudflared:
sudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.debsudo dpkg –I cloudflared-linux-amd64.deb(Если команда dpkg возвращает ошибку из‑за –I, используйте sudo dpkg -i …)
Шаг 8. Создание туннеля Cloudflared и включение HTTPS
Выполните вход и авторизуйте домен:
Cloudflared tunnel loginСкопируйте URL и авторизуйте в браузере. Затем создайте туннель с именем mysite (можете выбрать своё):
Cloudflared tunnel create mysiteСохраните путь к JSON‑файлу с учётными данными и ID туннеля.
Создайте конфигурацию:
Sudo nano ~/.cloudflared/config.ymlВставьте (замените tunnel ID, credentials‑file и hostname):
tunnel: a2efc6dg1-2c75-45f8-b529d3ee
credentials-file: /home/pi/.cloudflared/ a2efc6dg1-2c75-45f8-b529d3ee.json
ingress:
- hostname: YourDomain.com
service: http://Laptop-IP
- service: http_status:404Сохраните файл и создайте DNS‑запись через команду:
cloudflared tunnel route DNS Например:
cloudflared tunnel route DNS mysite mysite.smartghar.orgЗапустите туннель:
Cloudflared tunnel run mysite
Откройте ваш домен — сайт должен открыться, но стили могут быть сломаны и HTTPS не сразу активен.
Исправление адресов в WordPress
Зайдите в https://вашдомен/wp-admin → Настройки → Общие и обновите WordPress Address (URL) и Site Address (URL) на ваш домен (например, https://mysite.smartghar.org или https://mysite.smartghar.org/wordpress).

Настройка SSL в Cloudflare
Войдите в Cloudflare → SSL/TLS → Overview и выберите режим «Flexible» или «Full» в зависимости от настройки вашего бекенда. После этого сайт должен корректно загружаться по HTTPS.

Если всё настроено верно, сайт будет доступен по защищённому соединению.

Когда это имеет смысл и когда нет
- Подходит: демонстрации, обучение, тестирование, личные проекты с низкой нагрузкой.
- Не подходит: сайты с критичной доступностью, крупные магазины, проекты с требованиями соответствия PCI/DSS.
Плюсы: бесплатное размещение, полный контроль над сервером, хорошее учебное решение. Минусы: энергопотребление, возможные перебои сети/питания, необходимость администрирования и бэкапов.
Факт‑бокс: энергопотребление ноутбука обычно 30–65 Вт при полной нагрузке; Raspberry Pi потребляет ~15 Вт, что экономичнее для круглосуточной работы.
Безопасность и жёсткая настройка (hardening)
- Обновляйте систему и пакеты регулярно: sudo apt update && sudo apt upgrade -y.
- Закройте ненужные порты и включите UFW: allow только 22 (SSH), 80 и 443 при необходимости; блокируйте всё остальное.
- Настройте SSH‑ключи и отключите вход по паролю.
- Ограничьте доступ к phpMyAdmin и административным панелям по IP или через VPN.
- Делайте регулярные бэкапы базы данных и файлов; храните резервные копии удалённо.
- Установите fail2ban для защиты от брутфорс‑атак.
Тестирование и проверка (Критерии приёмки)
- Сайт открывается по HTTPS на вашем домене.
- WordPress админка доступна и верна настройка адресов.
- PHP работает (test.php показывает инфо), база данных отвечает, Apache активен.
- Доступность минимально приемлемая (запросы от 95% успешных в течение тестовой сессии).
Отладка общих проблем
- Проблема: сайт доступен по IP, но не по домену — проверьте настройки DNS и маршрут туннеля.
- Проблема: CSS/JS сломаны — проверьте, используются ли абсолютные URL с http:// вместо https://, обновите адреса в базе данных.
- Проблема: Cloudflared не запускается — проверьте путь к credentials‑file и права доступа.
- Проблема: MariaDB не запускается — посмотрите логи: sudo journalctl -u mariadb или /var/log/mysql.
Пример команды для поиска ошибок в логах Apache:
sudo journalctl -u apache2 --no-pager | tail -n 200Альтернативы и когда их выбрать
- Raspberry Pi — энергоэффективная и недорогая альтернатива для постоянной работы.
- VPS (DigitalOcean, Hetzner, AWS Lightsail) — лучше для производительности, SLA и публичного доступа.
- Статический хостинг (Netlify, GitHub Pages) — идеален для статических сайтов, быстрее и дешевле в эксплуатации.
Решение: если нужен постоянный публичный доступ с высокой доступностью — выбирайте VPS. Для тестов/обучения — старый ноутбук или Raspberry Pi.
Руководство действий для развертывания (Playbook)
- Подготовка: установить Ubuntu Server, подключить питание и Ethernet.
- Обновление системы: sudo apt update && sudo apt upgrade -y.
- Установка LAMP: Apache → MariaDB → PHP.
- Создать БД и пользователя, установить CMS (WordPress).
- Создать аккаунт Cloudflare, добавить домен.
- Установить cloudflared, создать туннель, настроить config.yml.
- Прописать DNS через cloudflared tunnel route DNS.
- Запустить туннель и проверить работу сайта.
- Настроить SSL в Cloudflare и защиту сервера.
- Настроить бэкапы и мониторинг.
Чек‑лист (оператор / разработчик)
- Ubuntu Server установлен и обновлён.
- SSH доступ настроен (SSH‑ключи).
- Apache установлен и запущен.
- MariaDB установлен и защищён.
- PHP установлен и тестирован (test.php).
- База данных и пользователь созданы.
- WordPress установлен и работает локально.
- Домен добавлен в Cloudflare.
- Cloudflared настроен и туннель работает.
- DNS‑запись создана и SSL включён.
- Бэкап и мониторинг настроены.
Решение — простая карта принятия решения (Mermaid)
flowchart TD
A[Нужен сайт] --> B{Тип сайта}
B -->|Статический| C[Использовать GitHub Pages / Netlify]
B -->|Динамический, невысокая нагрузка| D[Домашний сервер 'ноутбук / Raspberry Pi']
B -->|Постоянная доступность / нагрузка| E[VPS / Облачный хостинг]
D --> F{Энергопотребление важнее}
F -->|Да| G[Raspberry Pi]
F -->|Нет| H[Старый ноутбук / ПК]Миграция и масштабирование
Если проект растёт, подготовьте план миграции:
- Экспорт базы данных и файлов (wp‑export, rsync, mysqldump).
- Тестовый перенос на VPS или облако, проверка конфигураций .htaccess и прав на файлы.
- Обновление DNS и проверка TTL — уменьшите TTL перед миграцией для ускорения переключения.
Проблемы конфиденциальности и соответствие (GDPR)
- Если собираете личные данные, обеспечьте доступ к политике конфиденциальности и возможность удалять данные по запросу.
- Храните бэкапы безопасно и ограничьте доступ к ним.
- Домашний хостинг не гарантирует соответствие нормативам (логи, аудит, география хранения данных) — для проектов с юридическими требованиями выбирайте провайдеров с нужными сертификатами.
Сравнение — домашний сервер vs VPS (кратко)
- Стоимость: домашний — низкая (электричество), VPS — платная подписка.
- Доступность: VPS обычно лучше (SLA), домашний зависит от сети и питания.
- Контроль: домашний даёт полный контроль, VPS — управляемый сервис.
- Масштабирование: VPS проще масштабировать.
Частые тесты и критерии приёмки (Test cases)
- Тест доступа: HTTP и HTTPS открываются — успешно.
- Тест базы: приложение может подключиться к БД — успешно.
- Нагрузочный тест: 50 одновременных запросов без таймаутов — (если сайт небольшой, не обязательно проходить).
- Бэкап/восстановление: восстановление из последнего бэкапа — успешно.
Короткая аннотация для соцсетей (100–200 слов)
Разместите демонстрационный сайт бесплатно, используя старый ноутбук или ПК с Ubuntu Server. В пошаговом руководстве описаны установка LAMP (Apache, MariaDB, PHP), развертывание WordPress и безопасное пробрасывание домена в интернет через Cloudflared Tunnel (Cloudflare) с бесплатным SSL. Подходит для обучения, прототипов и личных проектов. Обсуждаются альтернативы (Raspberry Pi, VPS), меры безопасности, бэкапы и план миграции при росте проекта.
Социальный превью: Быстро разверните WordPress на старом ноутбуке и подключите HTTPS через Cloudflare Tunnel.
Краткая глоссарий (1‑строчные определения)
- LAMP: стек для веб‑хостинга — Linux, Apache, MariaDB, PHP.
- Cloudflared: агент от Cloudflare для создания туннелей к локальным сервисам.
- TLS/SSL: протокол шифрования для защиты веб‑трафика.
- VPS: виртуальный приватный сервер у провайдера.
Итог
Размещение сайта на старом ноутбуке — полезный и экономичный способ для обучения и демонстрации проектов. Он требует базовых навыков администрирования, регулярного обновления, настройки бэкапов и мер безопасности. Для серьёзных, коммерческих и нагруженных проектов лучше выбрать VPS или облачный хостинг. Если ваша цель — учиться и экспериментировать, это отличный практический шаг.
Важное: всегда тестируйте восстановление из бэкапа и следите за безопасностью сервера.
Похожие материалы
Конвертация MP4 в MP3 — способы и советы
Как настроить сетевой домен — полное руководство
Как добавить рамку к фото — инструменты и методы
Как подключить Fitbit к iPhone — полное руководство
Проверка совместимости игр Steam с Steam Deck