Как реализовать веб-сервер и VLESS на одном VPS?
Добрый день!
Имеется:
- Один VPS (Debian 12) с xray, настроенный на три протокола.
- Второй VPS (Debian 12) c веб-сервером. Apache2, mariadb-server, phpMyAdmin, composer. Сам сайт - банальная html-ка - заглушка, собранная за пару минут в конструкторе сайтов.
- Желание не платить за два VPS, а поставить все на одном с SNI в лице моего собственного сайта.
- Большая удаленная статья сами-знаете-о-чем, где был краткий раздел про то, что это реально, нужно только заставить веб-сервер слушать localhost на нестандартном порте.
- Полнейший нуб, не имеющий никакого опыта в разработке и сетях. Который умеет только следовать подробным инструкциям. Максимум, что я могу - догадаться, что если какая-то команда не срабатывает - возможно надо сделать apt install с первым словом из команды
Далее постараюсь кратко про весь процесс:
- Поставил веб-сервер, сайт работает, все супер.
- Почитал ту статью, погуглил как заставить Apache слушать только определенные IP и порты, для верности уточнил еще и у ChatGPT.
- Установил xray, конфиг скопировал предыдущий (до переустановки сервера), поменял только SNI, UUID и приватный ключ. Результат - xray при старте выдал ошибку. Собрал конфиг с нуля - то же самое.
- Предположил, что уже в этот момент возник конфликт с веб-сервером. Полез в конфиг ports в Apache и его же конфиг виртуального хоста.
- В первом увидел три строчки - базовая (с 80 портом) и еще две с ним же. Как я понял - одна (mod_gnutls.c) про какие-то Apache’ные штуки, другая для сертификата let’s encrypt (т.к. там было слово SSL). Во втором конфиге - аналогично 80 порт для виртуального хоста. Недолго думая, заменил все 4 строчки на 127.0.0.1:12345, сохранил, systemctl restart apache2 - и вылезла ошибка. Далее откатывал каждую из 4 строчек до дефолтного 80 порта - то же самое. Откатил оба конфига в изначальное состояние - и снова ошибка. Финишом стало то, что после перезагрузки VPS я не смог подключиться к нему по SSH, и его пришлось переустанавливать.
P.S. Не исключаю, что проблема с Apache возникла не в момент изменения конфигов, а в момент установки и запуска xray.
Вопросы:
а) как подружить xray с apache (если это возможно)? Если можно - что конкретно, где и как указать руками, иначе я не разберусь (мне уже попадались упоминания каких-то правок в iptables)
б) какие порты за что в них отвечают, как правильно их “подружить”? Например, по какому порту в итоге можно будет попасть на мой сайт, а по какому - в админку? И по какому порту обращаться к xray. Учитывая, что они указываются:
- в конфиге xray в разделе inbound (входной порт для xray, как я понимаю);
- в нем же - порт для SNI (моего сайта);
- 3 порта в конфиге Apache для вышеуказанных целей;
- порт виртуалки в отдельном конфиге Apache.