Тебе надо попросить того самого провайдера прописать для каждого из серверов желаемое тобой значение в PTR-запись.
У некоторых провайдеров (Vultr, к примеру) это можно делать самостоятельно через веб-управлялку.
Больше читай в гугле по «Reverse DNS lookup».
Borifed ★
(17.07.19 10:41:48 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Radjah 17.07.19 10:47:15 MSK
Его видно, когда захожу через эти сервера на какой-то сайт, которые выдает мне мою geo инфу — ip, страну и т.д.
sudo hostnamectl set-hostname mycoolvps.tld
Шутить изволите?
Borifed ★
(17.07.19 10:50:51 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Borifed 17.07.19 10:50:51 MSK
Тогда ищи, меняется ли у твоего хостера PTR-запись для твоего адреса.
Radjah ★★★★★
(17.07.19 10:54:21 MSK)
- Ссылка
Ответ на:
комментарий
от Radjah 17.07.19 10:47:15 MSK
Ну у меня стоит имя хоста «server1». Ну и что? Внешнее имя хоста все равно такое, как написал выше.
dastin
(17.07.19 11:10:52 MSK)
- Ссылка
Ответ на:
комментарий
от Borifed 17.07.19 10:41:48 MSK
У одного из VPS хостов в админке такое есть. Попробую
У 2ух других — нет. То есть, в таком случае самому через коммандную строку никак, нужно будет только им в поддержку писать?
dastin
(17.07.19 11:12:59 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от dastin 17.07.19 11:12:59 MSK
в таком случае самому через коммандную строку никак, нужно будет только им в поддержку писать?
Совершенно верно.
Вообще горячо рекомендую прочесть что-нибудь о том, как работает DNS. Тогда поймешь, почему это делается всегда со стороны провайдера.
Borifed ★
(17.07.19 11:18:59 MSK)
- Ссылка
Ответ на:
комментарий
от dastin 17.07.19 11:12:59 MSK
А в чем необходимость его изменить? Какой сокральный смысл в этом?
anonymous
(17.07.19 12:41:44 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от dastin 17.07.19 11:12:59 MSK
Можно купить доменное имя у любого топового регистратора и на третьем уровне создать кучу нужных имен для всех своих vps.
Aber ★★★★★
(17.07.19 12:46:31 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от anonymous 17.07.19 12:41:44 MSK
Какой сокральный смысл в этом?
1. «С_а_кральный»;
2. Не знаю, какая конкретно необходимость у ТСа, но вот, например, довольно часто встречаются почтовые сервера, которые проверяют соответствие обратного и прямого ресолвинга для всех, кто пытается всучить им письмо.
Borifed ★
(17.07.19 12:50:49 MSK)
- Ссылка
Ответ на:
комментарий
от Aber 17.07.19 12:46:31 MSK
Можно купить доменное имя у любого топового регистратора и на третьем уровне создать кучу нужных имен для всех своих vps.
Не в этом случае. Это ж не прямое, а обратное соответствие.
Зоной, в которой надо поправить PTR-запись, рулит всегда тот, кто ответственен за конкретные айпи-адреса. То есть в данном случае только хостинг-провайдер.
Borifed ★
(17.07.19 12:53:22 MSK)
- Ссылка
Ответ на:
комментарий
от Aber 17.07.19 12:46:31 MSK
Это же разные вещи.
@anonymous. Обычно смысла нет. Некоторые вручную настроенные (копипастом) почтовые фильтры требуют полного соответствия MX и PTR.
★★★★
(17.07.19 12:54:52 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от boowai 17.07.19 12:54:52 MSK
Некоторые вручную настроенные (копипастом) почтовые фильтры требуют полного соответствия MX и PTR
Ну это уродство, этож удобно иметь сайт визитку и почтовый ящик на том же yandex только со своим доменом.
Aber ★★★★★
(17.07.19 13:08:11 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от anonymous 17.07.19 12:41:44 MSK
А в чем необходимость его изменить? Какой сокральный смысл в этом?
Например, я кручу что-то на VPS-ках для пользователей. И продаю это пользователям по подписке.
Я не хочу, чтобы пользователи или другие сайты, куда они заходят, думали или знали, что это на самом сервер, который они арендуют — это «server1.vps_hosting_provider.com».
Хочу, чтобы пользователи и всякие ip-get-info.com и др. сайты видели его под моим доменом как «server1.vasya_service.com»
Имеет смысл?
dastin
(17.07.19 13:54:23 MSK)
- Ссылка
Ответ на:
комментарий
от Aber 17.07.19 13:08:11 MSK
Ну это уродство, этож удобно иметь сайт визитку и почтовый ящик на том же yandex только со своим доменом.
Это не уродство. При правильных настройках вам никто не мешает иметь сайт там, где вы хотите. Его местонаходжение не влияет на хождение почты.
При правильных настройках.
Borifed ★
(17.07.19 14:27:13 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Borifed 17.07.19 14:27:13 MSK
Я говорил про это:
Некоторые вручную настроенные (копипастом) почтовые фильтры требуют полного соответствия MX и PTR.
MX у меня например mx.yandex.net, красивый email aber@example.com при том что я никакой почтовый сервер не ставил, PTR указывает на арендуемый vps.
Aber ★★★★★
(17.07.19 14:32:59 MSK)
Последнее исправление: Aber 17.07.19 14:37:29 MSK
(всего
исправлений: 1)
- Ссылка
Ответ на:
комментарий
от anonymous 17.07.19 12:41:44 MSK
Ответ на:
комментарий
от Aber 17.07.19 13:08:11 MSK
Ну это уродство
уродство, это не читать документацию, да.
novitchok ★★★★★
(17.07.19 15:23:48 MSK)
- Ссылка
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
В статье даны ответы на часто задаваемые вопросы по управлению услугой VPS.
Можно ли изменить имя сервера?
Название сервера VPS задается при заказе услуги и впоследствии не изменяется. Название услуги не влияет на работоспособность сервера и сайтов, добавленных на нем. Вы можете смело оставить неактуальное название, даже если предназначение сервера изменилось.
Как изменить или восстановить root-пароль
Если услуга VPS заказана вами через одного из наших партнёров, пожалуйста, обратитесь к партнёру, чтобы восстановить доступ.
Восстановление пароля root в случае потери
- 1.
-
2.
Кликните на необходимую услугу VPS:
-
3.
На вкладке «Операции» нажмите Сбросить пароль пользователя root:
Как изменить пароль root
Как изменить пароль root через ISPmanager
-
1.
Перейдите в раздел Пользователи, выделите пользователя «root» и нажмите Изменить:
-
2.
В открывшемся окне введите новый пароль и подтвердите его. Нажмите Ok:
Как изменить пароль root по SSH
- 1.
-
2.
В терминале введите команду:
-
3.
Введите новый пароль, нажмите Enter, введите подтверждение пароля, нажмите Enter.
Создавайте сложные пароли
Хороший пароль должен содержать не менее 8 символов и включать в себя буквы верхнего и нижнего регистра, цифры, и спец. символы.
Как перезагрузить сервер
Перезагружайте VPS корректно. Описанный ниже способ единственно корректный. Перезагрузка сервера по SSH или через панель управления может повлечь за собой ошибки.
- 1.
-
2.
Кликните на необходимую услугу VPS:
-
3.
На вкладке «Управление» нажмите Перезагрузить:
Готово, в течение 5-20 минут на контактный email придёт уведомление об окончании перезагрузки сервера.
Как изменить имя хоста (hostname) для сервера
- 1.
-
2.
Кликните на необходимую услугу VPS:
-
3.
На вкладке «Управление» нажмите на поле Имя хоста:
-
4.
Введите новое имя хоста и нажмите Готово:
Готово, система внесет изменения в конфигурацию сервера. На контактный email придёт уведомление о том, что имя хоста было изменено.
Как настроить PTR-запись
Что такое PTR-запись
PTR запись — обратная DNS-запись, связывающая IP-адрес сервера с его каноническим именем (доменом). Широко используется при фильтрации почты. Если вы хотите, чтобы письма, отправленные с вашего сервера, благополучно достигали адресата, пропишите для сервера корректную PTR-запись.
- Пропишите PTR-запись по инструкции ниже. В значении записи PTR должен стоять домен или поддомен, который соответствует имени хоста сервера.
- Затем добавьте A-запись для данного домена с IP-адресом вашего сервера: Как узнать IP-адрес VPS? Для добавления A-записи воспользуйтесь инструкцией: Управление ресурсными записями на сервере VPS.
Как прописать PTR-запись
- 1.
-
2.
Кликните на необходимую услугу VPS:
-
3.
На вкладке «Управление» в поле «IP-адрес сервера» нажмите PTR-записи:
-
4.
Введите PTR-запись и нажмите Готово:
Готово, вы прописали PTR-запись.
Как настроить PTR-запись для дополнительного IP-адреса
Если у вас есть дополнительный IP-адрес, для него также можно прописать PTR-запись. Для этого:
- 1.
-
2.
Кликните по услуге VPS, для которой заказан дополнительный IP:
-
3.
На вкладке «Управление» в поле «IP-адрес сервера» нажмите PTR-записи:
-
4.
В блоке PTR-записи для дополнительных IP-адресов введите PTR-запись и нажмите Готово:
Готово, вы прописали PTR-запись для дополнительного IP-адреса.
Как переустановить операционную систему на сервере
Все данные на сервере будут потеряны!
При переустановке ОС на сервер устанавливается чистый шаблон — все ранее размещенные данные будут потеряны.
- 1.
-
2.
Кликните на необходимую услугу VPS:
-
3.
На вкладке «Управление» нажмите Переустановить:
-
4.
Выберите новый дистрибутив операционной системы и нажмите Подтвердить переустановку операционной системы:
Готово, вы запустили переустановку операционной системы. После ее завершения на контактный email придет соответствующее оповещение.
После переустановки ОС в течение 10-15 минут на сервере производится автоматическая установка ПО. В это время не рекомендуется совершать каких-либо действий с сервером.
VPS с установленной CentOS
Закажите сервер с чистой CentOS или панелью управления ISPmanager всего за пару минут.
Заказать
Применимость: Linux
Слова для поиска: имя хоста, servername hosname
Действия выполняются в консоли. Подключитесь к консоли сервера по SSH.
Можете использовать программу PuTTY или любой другой клиент SSH.
Узнаем текущее имя хоста
root@ubuntu:~# hostname -f ubuntu.template
Для разных дистрибутивов Linux используются разные конфигурационные файлы и изменение следует производить в несколько этапов:
Имя хоста обязательно должно быть в латинице без пробелов и спецсимволов.
Только буквы и цифры. Допускается символ подчеркивания и тире.
Элементы имени <имя_сервера>.<имя_поддомена>.<имя домена> объединяются с точками. Полное имя обязательно должно содержать точку.
Каждый элемент имени должен содержать от 1 до 63 символов, и длинна полного имени хоста не может превышать 255 символов (в том числе точки).
Например:
servername.mydomain или servername.mydomain.com
Можно просто с точкой в конце имени
servername.
Нужно открыть указанный файл в текстовом редакторе и установить нужное имя
Redhat / CentOS / Fedora:
/etc/sysconfig/network
HOSTNAME=server1.testdomain.com
Debian / Ubuntu:
/etc/hostname
server1.testdomain.com
Slackware:
/etc/HOSTNAME
server1.testdomain.com
Suse / OpenSuse:
/etc/HOSTNAME
server1.testdomain.com
Gentoo / Calculate:
/etc/conf.d/hostname
HOSTNAME="server1.testdomain.com"
В файле нужно изменить, или добавить если нет, сопоставление вашего ip адреса и имени сервера.
В этом файле в строке должны следовать через пробел или табуляцию следующие параметры:
ip-адрес полное_имя_хоста краткое_имя синоним_имени
Например:
/etc/hosts
77.72.131.23 server1.domain.com server1
Новое имя будет задано после рестарта сервера, но затем нужно убедиться, что все сделано правильно.
Следующие команды должны выдавать правильные значения и не выдавать сообщения об ошибках:
hostname -f ping <полное_имя> ping <краткое_имя>
rDNS или Reverse DNS это служба обратного преобразования IP-адреса в имя вашего сервера или, другими словами, — возможность определить кому принадлежит IP-адрес.
Это необходимо для корректной работы многих сервисов в сети Интернет. Зачастую сервера в интернете настроены таким образом, что при подключении к ним производится попытка обратного преобразования вашего IP-адреса в доменное имя. Если такое преобразование невозможно, то сервер может отказать вам в установке соединения.
Например большинство почтовый служб в интеренете отбросит почту отправленную с сервера имя которого невозможно определить по адресу.
Есть много других причин по которым необходимо настроить корректную работу обратной зоны для вашей сети IP-адресов.
Для информации о настройке RDNS обратитесь к статье rdns — обратное преобразование имени
Актуальность: 2011/09/05 12:34
Имя устройства помогает идентифицировать его внутри сети. Называя устройство, можно вложить в его имя какую-то смысловую нагрузку, что позволит лучше запомнить его имя. Или же по имени опознать его функционал. Это относится как к компьютерам пользователей, принтерам, так и к серверам и прочим устройствам. В процессе установки Ubuntu Server 20.04, как и любой другой версии этой ОС, вам предлагается дать ему имя. Но что делать если вы хотите изменить имя уже после установки? В Ubuntu Server 20.04 — изменение имени сервера происходит следующим образом:
-
Узнаем текущую информацию о сервере
hostnamectl
Эта команда покажет нам текущую информацию о системе. Так же посмотреть под каким пользователем вы авторизованы в системе и на каком сервере, можно посмотреть прямо в командной строке.
Как видно, наш сервер называется ag-raw-server-32gb.
-
Изменяем текущее имя сервера
С помощью этой же утилиты, мы изменим постоянное имя сервера
sudo hostnamectl set-hostname adminguide-new-name-server
Как теперь можно увидеть, Static hostname изменился, в то время как в командной строке у нас всё еще старое имя сервера. После перезагрузки новое имя полностью вступит в силу. НО есть несколько подводных камней
-
Настройка в файле cloud.cfg
Если у вас используется cloud.cfg, то после перезагрузки, название сервера может вернуться к тому, что было указано при установке. Поэтому вам необходимо отключить это в файле /etc/cloud/cloud.cfg
sudo nano /etc/cloud/cloud.cfg
Открыв файл для редактирования, нужно найти строку preserve_hostname, и значение false, заменить на true. Тогда после перезагрузки, у вас сохранится новое имя сервера.
-
Запись в файле hosts
В определенных конфигурациях, например в случае установки на сервер, роли Active Directory Domain Controller, для корректной работы, критично чтобы сервер резолвился по своему имени. Поэтому, если у нас например:
IP адрес сервера: 192.168.1.100
домен где находится сервер: adminguide.lan
Имя сервера: adminguide-new-name-server
То в файле hosts, нам надо добавить строку:
192.168.1.100 adminguide-new-name-server.adminguide.lan adminguide-new-name-server
После сохранения изменений, по команде ping adminguide-new-name-server сервер должен начать пинговать свой адрес 192.168.1.100
Чтобы открыть файл hosts на редактирование, необходимо использовать команду
sudo nano /etc/hosts
Related
Добрый день.
Так уж сложилось, что последнее время пришлось достаточно часто менять VDS провайдеров, и каждый раз приходится заново настраивать систему, поэтому решил написать краткий конспект по настройке. Все нижеописанное корректно работает на ОС Linux Ubuntu server 12.04 LTS. В этой статье я опишу как установить и произвести первичную настройку nginx+apache2, eaccelerator, memcached, fure-ftpd, php, mysql, phpmyadmin а также панели управления игровыми серверами — open game panel.
Начну с краткого описания некоторых терминов.
VDS — он же VPS — Virtual Dedicated(Private) сервер — виртуальная машина, сервер — нужен он, когда обычного хостинга мало, а выделенный сервер дорого. На современном рынке провайдеров, которые предоставляют услуги по аренде VDS великое множество, и у каждого есть свои плюсы и минусы, но их мы обсуждать не будем.
Тип виртуализации — говоря простым языком это то, каким способом организована виртуальная машина. В настоящее время наиболее распространены OpenVZ и XEN. Плюс OpenVZ — низкая стоимость, так как в этом типе виртуализации для всех виртуальных машин запущенных на аппаратном сервере используется специально модифицированное ядро хост-системы. Минус этого типа виртуализации — невозможно менять параметры ядра ОС, также практически всегда присутствует оверселлинг (об это позже). А для серьезных проектов лучше использовать XEN или KVM виртуализацию — там гостевая ОС даже и не знает что она установлена на виртуальную машину, и с ОС можно делать практически все, чего душа пожелает, особенно на XEN-HWM и KVM.
Оверселлинг — провайдеры продают больше ресурсов, чем есть на самом деле. Работает это за счет того что клиенты редко используют ресурсы по тарифу на 100 процентов, но у недобросовестных провайдеров с завышенным коэффициентом оверселлинга могут наблюдаться проблемы, такие как крайне медленная работа машины или невыполнение скриптов по причине нехватки памяти. Возвращаясь к типам виртуализации на XEN и KVM оверселлинг практически невозможен технически.
Выбор хостинг-провайдера
Итак, вы решили купить услугу VDS. Как же следует выбирать провайдера. Начать следует с географии — где территориально будет располагаться ваш сервер.
Германия — плюсы: дешевые тарифы, быстрые каналы, безлимитный трафик, минусы — достаточно большая задержка до России — примерно 80мс, очень серьезно относятся к торрент трекерам, торрент клиентам, варезу и т.п.
Голландия, Канада — то же самое то и Германия, но немного дороже, но основной плюс — законодательство которое лояльнее относится к различным видам хранимой и передаваемой информации, за которую у нас по голове не гладят.
США — в большинстве своем считают трафик, большие пинги до России — в общем, не самый лучший вариант.
Россия, Украина — минимальные задержки до Российской аудитории, в большинстве случаев псевдобезлимитный трафик (снижение скорости после определенного порога или необходимость соблюдать пропорции входящегоисходящего Российскогозарубежного трафика), не самые надежные дата центры — практически в каждом периодически случаются массовые отключения сервиса на несколько часов, несмотря на три независимых электроввода, резервирование каналов интернет и дизель-генераторы.
Выбор типа виртуализации
Если позволяют ресурсы, то это однозначно KVM или XEN. Но не у всех провайдеров доступны эти типы виртуальных машин, да и денег оно стоит немного больших, нежели OpenVZ. Поэтому если ваш проект это некий сайтдвадесять с невысокой посещаемостью (примерно до 10000 уникальных хостов в день) иили какой-нибудь ICQ чат, то OpenVZ для вас будет вполне достаточно.
Ну а если требуется выполнять какие-либо более ресурсоемкие задачи, такие как размещение игровых серверов или видеочаты лучше выбрать XEN | KVM, также эти типы виртуализации стоит выбирать, если есть необходимость создания VPN-туннелей. Здесь VPN поднять проще, чем на OpenVZ.
Настройка сервера
Далее буду рассказывать про разные фичи, которые я настраивал на своем сервере, какие-то могут быть вам полезны. Операционная систем, которую я использую – Ubuntu 12.04.1 LTS. Так как подавляющее большинство выполняющихся далее команд требуют root привилегий, а я человек ленивый то все действия я выполняю под рутом. Залогиниться сразу под рутом обычно нельзя, поэтому заходим под пользователем с правами sudo и выполняем команду sudo -s
Пересобираем ядро
Если вы выбрали OpenVZ, то можете смело пропускать эту часть статьи.
Данная процедура не даст ощутимого прироста производительности, и нужна эта процедура только для саморазвития и «потренироваться на будущее».
качаем исходники последней стабильной версии ядра с сайта kernel.org. На данный момент это версия 3.6.7
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.7.tar.bz2
• Распаковываем архив
tar -xjf linux-3.6.7.tar.bz2
• Устанавливаем необходимые для компиляции пакеты
aptitude update
aptitude install build-dep linux kernel-package
• заходим в папку с исходниками и генерируем конфигурацию ядра. В нашем случае все будет проходить автоматически — в ядро будут включены только те модули, которые необходимы текущему железу. Если же вам хочется вручную сконфигурировать ядро, то прошу гуглить по запросу make config или make menugonfig.
cd linux-3.6.7
make localyesconfig
• запускаем компиляцию ядра — процесс не быстрый идет от 15 минут до нескольких часов.
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
• поднимаемся на каталог выше и устанавливаем пакеты
cd ..
dpkg -i linux-*.deb
• Перезагружаемся и проверяем, что ядро встало.
reboot
uname -r
• Вот и все, в вашей системе новое ядро.
Меняем часовой пояс и имя ПК
Если вы устанавливаете Ubuntu на выделенный сервер сами, то языковые и географические параметры системы вы задаете в ходе установки, но в случае с VDS у провайдера есть уже готовый образ системы, который он раскатывает на ваш сервер. И всем нам приятней видеть правильное для нашего часового пояса время на сервере.
• Итак, установим часовой пояс, для этого в консоли выполним команду
dpkg-reconfigure tzdata
• Появится псевдографический интерфейс в котором мы выберем наше расположение.
• Если вдруг (ни разу еще такого не видел) есть расхождения по датевремени, то выполним следующую команду, в которую подставим текущие дату и время
hwclock --set --date=”11/24/2012 16:19:55"
• Чтобы изменить имя сервера, откроем файл /etc/hostname и заменим содержимое на желаемое имя сервера.
Устанавливаем nginx c бэкэндом apache2, PHP, MySQL, phpmyadmin
В этой части статьи мы установим и настроим веб-сервер, рассчитанный на большое количество соединений.
• Сначала установим стандартный «детский» набор пакетов для веб сервера.
aptitude update
aptitude install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-certlibapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadmin g++
• Нас будут просить задать пароль от MySQL, потом спросят чем обрабатывать phpmyadmin — нужно ответить то апачем, и спросят пароль от MySQL для нужд phpmyadmin
• На момент написания статьи phpmyadmin автоматически не прописывался в конфигурации apache2, вследствие чего по адресу адрес_сайта.зона/phpmyadmin мы видим ошибку 404, поэтому открываем файл /etc/apache2/apache2.conf и в конец дописываем строчку
Include /etc/phpmyadmin/apache.conf
• Включаем модули apache2
a2enmod include
a2enmod rewrite
a2enmod suexec
a2enmod ssl
• Рисуем дефолтный конфиг апача. Для этого открываем /etc/apache2/sites-available/default стираем в этом файле все и пишем следующее:
<VirtualHost *:800>
ServerAdmin твой@e-mail
DocumentRoot /home/www/адрес_сайта.зона
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel crit
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
• То, что указан восьмисотый порт — это не ошибка, на стандартном для http восьмидесятом порту будет висеть nginx. Параметр DocumentRoot по неизвестным мне причинам большинство советуют указывать /var/www/…, на мой же взгляд логичнее держать важные данные в /home — проще будет настраивать резервное копирование.
• Правим файл /etc/apache2/ports.conf
NameVirtualHost *:800
Listen 800
• Копируем файл /etc/apache2/sites-available/default в /etc/apache2/sites-enabled/адрес_сайта
• Директории и файлы с конфигами лучше называть по адресам сайтов т.к. в будущем это упростит поиск нужных конфиговдиректорий, например /home/www/tweedle.ru /etc/apache2/sites-enabled/tweedle.ru
• Правим файл /etc/apache2/apache2.conf — меняем значение параметра MaxClients на 20, сделать это надо в двух местах.
• Прописываем репозиторий nginx, для этого откроем файл /etc/apt/sources.list и допишем в конец
deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx
• Устанавливаем nginx и apache2-mod-rpaf
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
aptitude update
aptitude install libapache2-mod-rpaf libpcre3 libpcre3-dev nginx
• Далее настроим nginx, для этого открываем файл /usr/local/etc/nginx/nginx.conf и заменяем содержимое следующим
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_proxied any;
gzip_min_length 300;
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_comp_level 9;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
• в том случае если роль веб-сервера является основной ролью вашего сервера иили сайты имеют большую посещаемость значение worker_processes выставляем равным количеству доступных ядер ЦП, в противном случае одного процесса будет вполне достаточно
• создаем конфиг для нашего сайта /etc/nginx/sites-enabled/адрес_сайта.зона
server {
listen 80;
server_name адрес_сайта.зона;
access_log /var/log/nginx.access_log;
location ~* .(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx|mp3|bsp)$ {
root /home/www/адрес_сайта.зона/;
index index.php index.html index.htm;
access_log off;
expires 30d;
}
location ~ /.ht {
deny all;
}
location / {
proxy_pass http://127.0.0.1:800/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}
• устанавливаем memcached, никаких дополнительных настроек для него не требуеся
aptitude install memcached
• устанавливаем eAccelerator
aptitude install php5-dev
aptitude install make
cd /tmp/
wget https://github.com/downloads/eaccelerator/eaccelerator/eaccelerator-0.9.6.1.tar.bz2
tar xvjf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
• теперь, прежде чем мы скомпилируем eAccelerator, поправим один баг в коде, из за которого возникают всяческие проблемы, например перестает работать авторизация в phpmyadmin. Откроем файл eaccelerator.c, строка 867. Заменим if (php_check_open_basedir(realname TSRMLS_CC)) {
на if (php_check_open_basedir(p->realfilename TSRMLS_CC)) {
Сохраняемся и продолжаем…
phpize
./configure --enable-eaccelerator=shared
make
make install
• Создаем папку для кэша, и даем на нее права
mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator
• Настраиваем php для работы с eaccelerator, для этого откроем файл /etc/php5/apache2/php.ini и допишем сверху
[PHP]
extension = "eaccelerator.so"
eaccelerator.shm_size = "16"
eaccelerator.cache_dir = "/var/cache/eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.check_mtime = "1"
eaccelerator.debug = "0"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
• Перезапускаем сервисы, убедившись что в /home/www/имя_сайта лежит сайт
service apache2 restart
service nginx restart
service memcached restart
• Теперь мы имеем достаточно шустрый веб-сервер, который потребляет меньше 100Мб оперативной памяти. Todo: Есть один недочет – phpmyadmin, который доступен по адресу адрес_сайта.зона/phpmyadmin отображается некрасиво(без картинок), временное решение, которое я могу предложить – открывать phpmyadmin по адресу адрес_сайта.зона:800/phpmyadmin
Установка FTP сервера pure-ftpd с поддержкой MySQL
ФТП сервер пригодиться нам для простого и быстрого и удобного переноса информации с сервера и на сервер.
• Устанавливаем pure-ftpd с поддержкой mysql
aptitude install pure-ftpd-mysql
• Создаем группу для пользователей ftp и пользователя в ней – это делается для того чтобы впоследствии было удобней следить за тем, что происходит на вашем сервере.
groupadd -g 4001 ftpusers && useradd -u 4001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpusers ftp
• Создадим базу данных в MySQL для pure-ftpd. Это можно сделать и через phpmyadmin, но великим и могучим копипастом это быстрее сделать в консоли
mysql -u root –p
CREATE DATABASE pureftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'пароль_для_pureftpd';
FLUSH PRIVILEGES;
• Создадим таблицу, в которой будут храниться учетные записи фтп.
USE pureftpd;
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) ENGINE=MyISAM;
quit;
• Теперь настроим pure-ftpd, для этого откроем файл /etc/pure-ftpd/db/mysql.conf и сделаем его содержание таким:
MYSQLSocket /var/run/mysqld/mysqld.sock
MYSQLUser pureftpd
MYSQLPassword пароль_для_pureftpd
MYSQLDatabase pureftpd
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM ftpd WHERE User="L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")
• Теперь сделаем так, чтобы домашняя директория пользователя автоматически создавалась если она не существует
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
• Следующая команда не даст пользователям доступа к директориям, которые выше чем их домашний каталог.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
• И наконец отключим проверку хостнеймов пользователей – это значительно ускорит процесс авторизации и немного сократит количество трафика.
echo "yes" > /etc/pure-ftpd/conf/DontResolve
• Перезапустим сервис чтобы применить настройки
service pure-ftpd-mysql restart
• Теперь создадим пользователя www-ftp с GID и UID 4002, домашней директорией /home/www лимитами скорости загрузкиотдачи по одному мегабайту в секунду и без ограничений по занимаемому дисковому пространству. Приведу пример с использованием командной строки, вы же можете использовать и «выполнить SQL-запрос» в phpmyadmin, или даже воспользоваться «добавить строки» в phpmyadmin – но в этом случае нужно не прошляпить то, что пароль в БД храниться в виде его md5 хеша, и в поле password выбрать «Функция» md5
mysql -u root -p
USE pureftpd;
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('www-ftp', '1', MD5('пароль_для_пользователя_www-ftp'), '4002', '4002', '/home/www', '1024', '1024', 'Комментарий', '*', '0', '0');
quit;
• Вот и все, можно пробовать подключаться к вашему фтп серверу по адресу адрес_сайта.зона c логином www-ftp и указанным паролем.
• Если вы собираетесь передавать по протоколу ФТП данные, которые не должны попасть в чужие руки, то не лишним будет настроить TLS шифрование. Для этого выполним следующее:
echo 1 > /etc/pure-ftpd/conf/TLS
mkdir -p /etc/ssl/private/
• Устанавливаем пакет openssl, если он не установлен и генерируем сертификат.
aptitude update
aptitude install openssl
openssl req -x509 -nodes -days 3652 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
• Отвечаем на вопросы – эти данные будут отображаться в созданном сертификате.
• Устанавливаем права доступа на сертификат и перезапускаем pure-ftpd
chmod 600 /etc/ssl/private/pure-ftpd.pem
service pure-ftpd-mysql restart
• Вот и все. Помните, что для того чтобы данные шифровались необходимо включить tls шифрование со стороны клиента, и далеко не все фтп клиенты поддерживают его.
Установка комплекса управления игровыми серверами – Open Game Panel
Open game panel – он же OGP — единственное из мною найденных бесплатное решение, которое позволяет осуществлять мониторинг и управление разнообразными игровыми серверами. На момент написания статьи поддерживаются более 50 разных игр с серверами на платформах Windows и Linux. В том числе такие популярные как Counter-Strike (2D, 1.5, 1.6, Source, GO) и Minecraft( Vanilla, Bukkit)
Состоит комплекс из двух частей – веб-морды, через которую осуществляется мониторинг и управление(фронтэнд) и агента – сервиса, который висит на машинах с игровыми серверами и передает логи в фронтэнд, а команды из фронэнда игровым серверам.
• Первым делом регистрируемся на http://www.opengamepanel.org – для установки это не обязательно, но на сайте можно скачать дополнительные модули(например систему биллинга), темы и прочие плюшки.
• Устанавливаем необходимые пакеты
aptitude update
aptitude install libxml-parser-perl libpath-class-perl libarchive-any-perl screen
• Если система x64, то дополнительно устанавливаем ia32-libs
aptitude install ia32-libs
• Скачиваем сам агент
wget "http://www.opengamepanel.org/downloads/ogp_agent_nightly.tar.gz" -O agent.tar.gz
tar xf agent.tar.gz
cd agent
• Устанавливаем. Внимание – я предварительно создал пользователя в системе, включил его в группы root и sudo и создал ему домашний каталог – это все необходимо для того чтобы агент корректно работал.
bash ./install.sh
• У нас будут спрашивать имя пользователя под которым будет крутиться сервис – нужно указать того, про которого я говорил в предыдущем пункте, его пароль, директорию в которой будут находиться исполняемые файлы(/home/имя пользователя/OGP) и попросят ввести ключ агента – это не пароль пользователя, а ключ управления агентом, он нам пригодится позже, и еще нас попросят согласиться с правилами политики Steam.
• После установки залогиниваемся под созданным пользователем и запускаем
cd /home/имя пользователя/OGP
perl ./ogp_agent.pl --log-stdout
• Нам должны написать что все в порядке, процесс запущен и слушает на 12679 порту.
• Нажимаем ctrl+c, логинимся под рутом и прописываем – это нужно для того чтобы сервис стартовал при запуске ситемы
update-rc.d ogp_agent defaults
• Если серверов (выделенных или виртуальных) несколько, то агент необходимо установить на каждом
• Теперь установим веб-интерфейс от OGP, скачиваем архив и распаковываем
wget "http://www.opengamepanel.org/downloads/ogp_web_nightly.tar.gz" -O upload.tar.gz
tar xf upload.tar.gz
• Перемещаем содержимое папки upload в папку, в которой у нас лежит сайт
• В браузере открываем адрес_сайта.зона/папка_с_ogp и выбираем язык, если вдруг насм говорят что не хватает прав на создание каких-либо файлов или папок то выдаем права 777 chmodом, для этого зайдем в папку с ogp и выполним команду.
chmod 777 –v –R *
• Возвращаемся в веб-интерфейс и нажимаем «Повторить», потом «Дальше»
• Указываем параметры подключения к БД и нажимаем «Дальше»
• Регистрируем учетную запись администратора и нажимаем «Дальше»
• Далее следуем инструкциям, возможно в следующей статья я опишу процесс добавления серверов в OGP
Как связать существующий домен с сайтом, размещенным на VPS?
Если у вас уже есть зарегистрированное ранее доменное имя и вы хотите, чтобы по нему в браузере открывался сайт, который вы поместили на VPS, сделайте это одним из следующих способов.
- Использование наших серверов имен (DNS) для обслуживания домена
- Использование стороннего DNS сервера
- Как поменять серверы имен для доменного имени, зарегистрированного у нас?
- Для чего нужны записи A, CNAME, MX, TXT, SRV на сервере имен?
Использование наших серверов имен (DNS) для обслуживания домена
Через свой личный кабинет на сайте регистратора доменного имени измените серверы имён (NS) на наши:
- ns1.ispvds.com
- ns2.ispvds.com
В течение последующих 72 часов изменения должны примениться.
Далее создайте на VPS через панель ISPmanager сайт с вашим существующим доменным именем. Чтобы добавить домен с директорией сайта и автоматической привязкой к ней, перейдите в «Сайты» и нажмите «Добавить сайт»:
В верхнем поле укажите ваше доменное имя, остальные поля при этом заполнятся автоматически (при необходимости их можно отредактировать). Для подтверждения нажмите «Создать».
При успешном создании домен появится в списке сайтов:
Для проверки корректности добавления домена можно ввести URL созданного сайта в адресной строке вашего браузера, к примеру, http://my-new-domain.ispvds.com/, если всё верно — будет отображаться стандартная страница с его доменным именем:
При добавлении домена, использующего наши серверы имён, рекомендуем проверить настройки DNSmanager со стороны ISPmanager, найти их можно в «Управлении DNS», выбрав на странице DNSmanager:
Если запись, изображенная выше отсутствует, выберите на данной странице «Создать» и добавьте данные из раздела инструкции «Управление доменами»:
Затем из раздела «Управление DNS» передайте на вторичные серверы имён выбранный домен, используя кнопку «Передать в DNSmanager» :
Использование стороннего DNS сервера
В этом случае используемый сервер устанавливается как первичный (master) DNS для нашего — вторичного (slave) — сервера имен. Здесь нужно конфигурировать DNS на вашем VPS. Зайдите в ISPmanager, перейдите в раздел «Управление DNS», выделите нужное доменное имя и нажмите кнопку «Управлять DNS записями», как описано выше. Среди появившихся ресурсных записей DNS сервера выберите запись типа «NS (серверы имен)» и нажмите «Изменить».
Измените значение поля «Домен» на имя вашего DNS-сервера. Таких записей должно быть две, замените их обе.
Как поменять серверы имен для доменного имени, зарегистрированного у нас?
Зайдите в свой личный кабинет BILLmanager, перейдите раздел «Домены» и нажмите кнопку «NS».
В появившемся окне пропишите новые серверы и имен и нажмите «Изменить».
Для чего нужны записи A, CNAME, MX, TXT, SRV на сервере имен?
Сервер имен DNS содержит так называемые ресурсные записи, которые регламентируют ему работу с доменами (дают служебную информацию).
A — запись, устанавливающая соответствие между доменным именем и IP-адресом сервера, где находится ваш интернет-ресурс. Например,
example.org IN A 192.0.2.77
CNAME — ресурсная запись, присоединяющая к основному доменному имени дополнительное. Например, к www.mydomain.ru присоединяется дополнительно mydomain.ru, тогда и то, и другое имя ведет к одному и тому же сайту. Ресурсная запись в этому случае имеет вид
mydomain.ru IN CNAME www.mydomain.ru.
MX — запись, указывающая на почтовые серверы, на которые нужно перенаправлять почту, приходящую на адреса данного домена. Серверов может быть указано несколько, поэтому для каждого предусмотрен приоритет для отправки. Например, запись
example.org IN MX 20 mail.example.org
назначает переадресацию всей почты для домена example.org на mail.example.org, на котором почта будет обрабатываться почтовым сервером. Приоритет отправки в данном примере 20, чем меньше это число, тем более приоритетный сервер. В MX-записи допустимо использовать только имена почтовых серверов, но не их IP-адреса.
TXT — свободное текстовое поле, в которое можно поместить специфическую информацию. Например, SPF-записи (Sender Policy Framework), которые не позволяют делать злоумышленникам рассылки от доменов, которые не принадлежат:
example.org. IN TXT "v=spf1 a mx -all"