LINUX.ORG.RU
ФорумAdmin

Простой интерпрайз на локалхосте? :)

 ,


1

5

С целью просто «поковыряться» (и опционально поднять скиллы), представим ситуацию, что, мы хотим сделать хостинговую компанию, в нашем распоряжении весь наш локалхост с 512мб памяти и старым процессором. Ну, локалхост же, - главное, чтобы все просто было сделано правильно.

Можно, конечно, поставить/настроить openssh, nginx+php-fpm, postfix, понаделать mount --bind в директории пользователей, но это ж такие костыли.

У меня нет не то что опыта, - я даже ниразу не пользовался каким либо хостингом, и посему не имею ни малейшего представления о внутреннем устройстве системы, когда в ней крутится куча отдельных друг от друга пользователей, которые, едва ли могут знать о существовании «соседей». Кажется, это зовется shared-хостингами? Не важно. Суть, что хочется поднять весь необходимый минимум сервисов и грамотно их настроить, распределить ресурсы между пользователями и прочая-прочая-прочая. Искал - не нашел подобных статей, типа «строим свой хостинг/ынтерпрайз за час».

Это нужно, во-первых как уже сказал просто поковыряться, дабы иметь представлении о развертывании хостинга, во вторых поднять скиллы в настройке и управлении конкретного софта (iptables, openssh, postfix, vsftpd, nginx+php), в третьих для себя, чтобы просто все это работало правильно. Допустим, вот как вы разрабатываете сайт? Верстаете/пишите его на локалхосте, затем заливаете в «ынтерпрайз», на хостинг? И теперь, я просто хочу делать точно также, только со своим локалхостом, чтобы на нем сервисы были не абы-как настроены. И в чертвертых, написать об этом статью на lor wiki, чтобы в будущем это помогло всем юным админам локалхоста, дав им представление и «постройке своего хостинга» в любом дистрибутиве. :)

Надеюсь услышать любые советы и рекомендации, как это лучше организовать, чтобы попросту иметь даже представление об устройстве хостингов. :)

★★★★★

понаделать mount --bind в директории пользователей

Во, кстати, хороший вопрос. У меня именно так сделано. Хостю ~150 сайтов с ssh-чрутами, proftpd, nginx, apache и поэтессами. Конфигурится всё это дело puppet'ом.
Собственно то, что мне больше всего не нравится - это именно тысячи mount --bind. Т.к. рекурсивно копировать чрут-окружение puppet'ом - очень долго и ресурсоёмко, а маунт-бинды вроде ок работают, да ещё и места не занимают.

Prius
()

Для начала освой какую-то хостинг-панель, вроде http://isp-control.net (тут недавно какой-то форк пробегал - можешь сразу на него ориентироваться). Поставь, поковыряй, посмотри как оно работает, какие скрипты что выполняют и так далее.

Потом найди мануал по мультисерверной конфигурации для этой панели.

Пожалуй, единственное, что в ней не вписывается в перечисленное тобой - это хост с ssh и чрутом. Тут уж организовывай на свое усмотрение :)

YAR ★★★★★
()

Тебе чтобы перфекционизм потешить или понять, как на этом зарабатывать? Если второе, то возьми триалку ispmanager, например, поставь и посмотри, как оно раскатит конфиги. В общем случае на шаредах никто не заморачивается особо ни с производительностью, ни с секьюрностью (хотя бы потому, что install.php 99% cms'ок по-прежнему требуют 777 на upload)

leave ★★★★★
()
Ответ на: комментарий от leave

Как показала практика, лучше не упарывать все эти cPanel'и и ISPmanager'ы, от них реально секьюрность падает почти до нуля. Популярные цмс-ки начинают обрастать тонной вредоносных скриптов, с твоих ip начинает тоннами рассылаться спам, адреса попадают в спам-листы, потом 25 порт банится провайдером и ещё много хорошей фигни возникает, также на главных страницах сайтов появляются редиректы на дорвеи, что приводит к бану сайтов в поисковиках и жалобах от провайдера, а потом прикрытием всего этого дела, т.к. справиться со всем этим, когда у тебя дофига сайтов уже становится невозможно, всё время начинает уходить на удаление вирусни.
Лучше сразу сделать вручную, если для клиентов не критична возможность тыкать кнопки в панельке и всё администрирование происходит через сисадмина.

Prius
()
Ответ на: комментарий от leave

Если второе, то возьми триалку ispmanager, например, поставь и посмотри, как оно раскатит конфиги.

Плохой пример. Конкретно ispmanager отвратительно «раскатывает» конфиги. Не надо брать его за образец.

shell-script ★★★★★
()

Я двумя вариантами пользуюсь.

Первый тебе не подойдёт, видимо, потому что openvz и толпы виртуалок. Тут на 512-ти метрах не развернёшься.

Второй - ручками подготавливаю темплейты конфигов для используемого софта(apache2, nginx, proftpd и т.д.) Далее пишу скрипты, которые будут добавлять/удалять/сохранять бекапы/разворачивать из последних сайты, хостящиеся/разрабатывающиеся на машине. В темплейтах учитываются все права и прочее. В зависимости от назначения машины, делаются либо те самые mount --bind, либо просто создание виртхостов в апаче и/или нгинксе. Схема - один сайт, один файл для каждого используемого сервера. В зависимости от того, что будет хостится, эти же самые темплейты делаются под разные варианты(т.е. для сайтов на разных движках php, для python+django, для ещё чего-нить). Если известны стандартные движки, которые будут часто использоваться, для них делаются тарболлы и дампы баз для быстрого развёртывания, чтобы не пускать каждый раз их встроенные инсталл-скрипты. Когда-нибудь я всё это упорядочу и тоже напишу статью. :) Уже года три как собираюсь.

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

openvz и толпы виртуалок. Тут на 512-ти метрах не развернёшься.

Если у него работать будет на холостом ходу, и толпа будет из трёх с половиной контейнеров, то вполне развернётся.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

bind - 1, mysql - 1, nginx - 1, apache - 2 (в одном виртуальные хосты и веб приложения, второй что бы с nginx упражняться не на одном направлении). Итого 5 считай пустых контейнеров. И подкачку пока никто не отменял. А, да, можно ещё почту и джаббер какие нибудь развернуть.

sin_a ★★★★★
()

isp и прочие манагеры сразу лесом, ибо не Ъ. гуй для лохов, консоль - выбор мастеров ☺ (ц) карты деньги два ствола.
виртуалки (не chroot'ы) тоже туда же, поскольку хочу экономить каждый килобайт.
и не запускать сторонний софт, если только нет на то необходимости, когда софт выполняет какую-то конкретную задачу.

перфекционизм потешить

конечно же. я всего лишь хочу чтобы сервисы работали правильно, уровня «интерпрайз». а какое железо стоит - не важно.
и «клиенты» на нашем хостинге: их может быть много, а может быть будете один вы, да пара друзей. опять же, целью является построить хостинг, а что с ним будет делать пользователь - каждый решит сам. а потом хочу поделиться всем этим howto в вики.

теперь к делу :)
...всех секретов не скажу, но уже взялся настраивать ынтерпрайз, к вечеру начну писать вики. следите, - дам ссылку тут.

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Spoofing

Советую все-таки взглянуть на puppet. Я для него написал модуль (выкладывать тут пока не возьмусь, там много рефакторить + разбить на отдельные модули, т.к. у меня и nginx, и apache и proftpd, и ssh, всё в одну кучу свалено, и комментить надо, но архитектуру показать/рассказать могу, если надо, там всё предельно просто, по моему мнению), который автоматически настраивает мне хостинг, создает где надо вирутуалхосты, итд итп. Писал в районе 2х дней, и ещё пару недель отлаживал.

Prius
()
Ответ на: комментарий от sin_a

Согласен. С небольшой нагрузкой вполне можно и с контейнерами поиграться. Можно ещё и nginx на хосте в качестве проксирующего поставить.

shell-script ★★★★★
()
Ответ на: комментарий от Spoofing

Контейнерная виртуализация по накладным расходам как chroot.

sin_a ★★★★★
()
Ответ на: комментарий от shell-script

зато бабло можно начать зарабатывать сразу после окончания установки :)

leave ★★★★★
()
Ответ на: комментарий от Spoofing

Клиенты у тебя тоже в консоли будут FTP/MySQL/email-аккаунты создавать и смотреть, сколько у них вообще чего?

YAR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.