Дзен - это ресурс, используемый мною до недавнего времени как площадка для личного блога и в качестве записной книжки, который стал совсем неадекватно себя вести и вот в чем это выражается:
- Блокировка статей под надуманным предлогом - незаконная информация
- Блокировка в продвижении материалов, был ежедневный серьезный рост просмотров, а через день и так на протяжении остального времени тишина - мне кажется эта площадка слишком перегружена блогерами и публикациями, лидирующую позицию естественно занимают копипастные новостные товарищи с бешенными просмотрами, куда уж там ленте до нас простых смертных, такими темпами никогда не охватишь все IT сообщество, тем более что из поисковых систем - посетителей блога раз в 10 больше, чем с ленты Дзен.
- Ревностное отношение Дзена к повторным публикациям, а также использование материала на сторонних площадках
- Слишком жесткая цензура
- Левая техподдержка ничего не решающая и ничем не помогающая
Я давно уже задумываюсь по поводу личного блога на собственной vds машинке в связке с хорошим движком, подальше от всех запрещальщиков сверху и наверное пора уже запускать, напоминаю вам этот проект не преследует коммерческих целей, для меня важнее собственный опыт, знания и возможность делиться своими наработками и опытом с вами.
Мой основной и главный блог будет доступен по адресу:
Туда я планирую потихонечку мигрировать пока только новые статьи, материалы в статусе update(обновление в связи с выходом новых версий дистрибутивов) и заблокированные дзеном.
Канал на Дзене так и будет висеть - есть не просит и ладно, тем более там собран большой материал:
- Опубликовано: 115 статей
- В черновиках: 120+, причем многие готовы уже на 50%
В статье мною будет развернут образ Ubuntu 24.04LTS на VDS хостинге, установлен Docker, напишем сценарий развертывания контейнеров с такими компонентами как MariaDB, Nginx Proxy Manager, WordPress, описаны сопутствующие вопросы по регистрации сайта в поисковиках и резервному копированию.
Надеюсь подобная тематика вам нравится, приятного чтения, не забывайте про официальный сайт, где будут выходить самые свежие и интересные статьи:
Содержание статьи
- Мои требования к решению
- Что такое WordPress
- Почему стоит остановиться на этом варианте
- Компоненты в составе предлагаемого решения
- Системные требования
- Хостинговая площадка
- Настройка DNS записей
- Подготовка системы
- Установка Docker
- Создание папок под проект и написание конфигурационного файла
- Запуск контейнеров
- Настройка Nginx Proxy Manager
- Первичная настройка WordPress и вход в панель администрирования
- Оптимизация производительности
- Резервное копирование и восстановление
- Заключение
Мои требования к решению
- Низкие системные требования
- Вся связка компонентов должна крутиться в Docker
- Надежный и функциональный движок для блога
- Удобный в настройке обратный прокси сервер
Что такое WordPress
WordPress - это бесплатная CMS с открытым исходным кодом написанная на php, первичное предназначение которой создание блогов и сайтов. Функционал системы наращивается за счет плагинов, также под систему написано огромное количество шаблонов тем.
WordPress одна из самых популярных CMS и используется более чем на 60 миллионах сайтов, мне кажется одно это уже является слишком весомым аргументом.
Почему стоит остановиться на этом варианте
- Стабильное и проверенное годами решение
- Есть как бесплатные так и платные видеокурсы, помимо документации и статей, которые научат вас всему от установки CMS до создания тем и плагинов
- Огромное количество плагинов и тем оформления
- Такого масштаба сообществу пользователей и разработчиков позавидует любая CMS
Компоненты в составе предлагаемого решения
- Контейнер с Nginx Proxy Manager - удобный обратный прокси сервер с удобным web интерфейсом управления, встроенной возможностью получения и автоматического продления сертификата SSL от Let's Encrypt
- Контейнер MariaDB - сервер баз данных
- Контейнер с WordPress
Системные требования
- Процессор: от 2-х ядер
- Оперативная память: от 2ГБ
- Накопитель: от 10ГБ
Потребление ресурсов:
Хостинговая площадка
В качестве хостинг провайдера я пользуюсь услугами https://nuxt.cloud/ - оплата в рублях, хостинг площадки в Москве, Германии и Нидерландах.
В моем случае выбираю следующий тариф:
Кому не нравится идея с VDS и вы хотите развернуть решение внутри своей локальной сети, то вам потребуется:
- Статический ip адрес на порту Wan вашего маршрутизатора
- Пробросить 80 и 443 порты на вашем маршрутизаторе провилом типа datnat с указанием ip адреса хоста с прокси.
- В DNS панели администрирования вашего доменного хостинг провайдера прописать запись типа А с указанием внешнего ip адреса маршрутизатора
- На вашем гипервизоре или пк создать виртуальную машинку и установить Ubuntu 24.04LTS
После перечисленного двигаться согласно статьи
Настройка DNS записей
В DNS панели управления вашего хостинг провайдера добавляем учетную запись типа А и в поле значение указываем ip адрес нашей VDS
Должно получиться так:
Подготовка системы
Все действия в системе я произвожу под root:
sudo -s
Обновляем систему:
apt update -y && apt upgrade -y
Устанавливаем имя нашему серверу:
hostnamectl set-hostname tuning-admina.ru
Устанавливаем дополнительные пакеты:
apt install mc net-tools git curl
apt-transport-https ca-certificates software-properties-common -y
Перезагружаем машинку:
reboot
Установка Docker
Добавим GPG key от репозитория Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Добавим репозиторий Docker:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Обновим сведения о пакетах в репозиториях:
apt update
Устанавливаем Docker:
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Стартуем службу Docker:
systemctl start docker
Проверяем статус службы Docker:
systemctl status docker
Создание папок под проект и написание конфигурационного файла
Первым делом создаем корневой каталог Docker:
mkdir /Docker
Создаем папки под Nginx Proxy Manager:
mkdir /Docker/Nginx
mkdir /Docker/Nginx/{data,letsencrypt}
Создаем папку под WordPress:
mkdir /Docker/Wordpress
Создаем папку под MariaDB:
mkdir /Docker/MariaDB
Создаем конфигурационный файл для Docker Compose с описанием необходимых нам контейнеров с настройками:
nano /Docker/docker-compose.yml
services:
#Контейнер с Nginx Proxy Manager#
Proxy:
image: 'jc21/nginx-proxy-manager:latest'
container_name: proxy_nginx
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81' # WEB Консоль управления Nginx Proxy Manager
volumes:
- ./Nginx/data:/data
- ./Nginx/letsencrypt:/etc/letsencrypt
#Контейнер с MariaDB#
MariaDB:
image: mariadb:latest
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_pass
MYSQL_DATABASE: wordpress
MYSQL_USER: user
MYSQL_PASSWORD: pass
volumes:
- ./MariaDB:/var/lib/mysql
#Контейнер с WordPress#
Wordpress:
image: wordpress:latest
container_name: wordpress
volumes:
- ./Wordpress:/var/www/html
ports:
- '8000:80'
- '8443:443'
restart: always
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: user
WORDPRESS_DB_PASSWORD: pass
WORDPRESS_DB_NAME: wordpress
Сохраняем файл, выходим из редактора:
CTRL+O, CTRL+X
Запуск контейнеров
Запускаем процесс создания и запуска контейнеров согласно нашему конфигу:
docker compose up -d
Процесс пошел:
Дожидаемся окончания процесса создания и запуска:
Проверяем статус контейнеров:
docker compose ps
Настройка Nginx Proxy Manager
В браузере переходим по адресу:
http://ip_addresses:81
Нас встречает Nginx Proxy Manager, указываем свою учетную запись для дальнейшей авторизации в системе в качестве администратора и нажимаем Сохранить:
Так выглядит панель управления нашим прокси сервером:
В разделе Хосты —> Прокси Хосты нажимаем на кнопку Добавить новый хост:
В строку Домены вписываем свой и нажимаем Enter, выбираем протокол http в качестве хоста указываем ip адрес хоста с WordPress, даже если это тот же самый компьютер, что и прокси сервер, указываем порт перенаправления и переходим на вкладку SSL:
На вкладке SSL Получить новый сертификат, включаем тумблеры опций и нажимаем Сохранить:
В случае успешного получения сертификата и отсутствия ошибок, статус вашего прокси хоста должен выглядеть так:
Первичная настройка WordPress и вход в панель администрирования
Открываем браузер и переходим по адресу: http://tuning-admina.ru и попадаем на страницу установки:
Выбираем Русский язык и нажимаем Продолжить:
Нам предлагается указать Название сайта и ввести данные для создания своей учетной записи, после чего нажимаем Установить WordPress:
Процесс установки завершился благополучно и нам предлагается проследовать в панель администрирования, нажимаем Войти:
Авторизуемся в системе под только что созданной нами учётной записью:
Все, теперь можно долго и упорно дрючить систему для получения желаемого результата:
Регистрация сайта в поисковой системе Яндекс
Для регистрации в поисковике у вас должна быть учетная запись Яндекс ID, если ее нет, зарегистрируйтесь это займет пару минут.
В браузере переходим по адресу:
Нажимаем на кнопку Добавить сайт:
Указываем адрес сайта и нажимаем Добавить:
В качестве метода подтверждения прав на ресурс, выбираем DNS запись и копируем блок кода:
Переходим в DNS панель управления вашего хостинг провайдера и создаем TXT запись, в параметре значение вставляем скопированный блок:
Должно получиться так:
Возвращаемся на страницу подтверждения прав и нажимаем Подтвердить:
Сайт добавлен в поиск по Яндексу:
На этом все, ожидаем индексации нашего сайта поисковиком и проверяем в поиске.
Регистрация сайта в Google
Для регистрации в поисковике Google у вас должна быть учетная запись, если ее нет, зарегистрируйтесь это займет пару минут.
В браузере переходим по адресу:
http://www.google.com/webmasters/tools/home?hl=ru
Нас приветствует веб консоль регистрации в поисковой системе Google, выбираем вариант Ресурс с префиксом в URL и вписываем адрес нашего ресурса, после чего нажимаем кнопку Продолжить:
Среди методов подтверждения прав собственности на ресурс, выбираем Провайдер доменных имен, нажимаем на кнопку Копировать:
Переходим в DNS панель управления вашего хостинг провайдера и создаем TXT запись, в параметре значение вставляем скопированный блок:
Должно получиться так:
Возвращаемся на страницу подтверждения прав собственности и нажимаем Подтвердить:
Как видно на скриншоте Право собственности подтверждено, нажимаем Перейти к ресурсу:
Мы попадаем в основное меню статистики по сайту:
На этом все, ожидаем индексации нашего сайта поисковиком и проверяем в поиске.
Попытки продвижения ресурса
Этот пункт я постепенно буду дописывать по мере попыток пробивания лбом стенки и продвижения ресурса в массы.
Резервное копирование и восстановление
<< В процессе написания >>
Заключение
Замечательный на мой взгляд движок для блогеров как для начинающих, так и для опытных блогеров, сочетая в себе простое и лаконичное решение с высокой производительностью и хорошим функционалом.
Успехов вам дорогие мои читатели на пути к серьезной публицистике