• Как настроить NS запись для веб сервера с указаним порта?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Этот вопрос тут уже был раз 10 точно, вас что в гугле банят, ну задолбали честное слово, нельзя для DNS указать порт, если нет поддержки SRV записей в клиенте, в браузерах ее нет. Вопрос этот решается только проксированием с 80 порта, разнесите сайты по именам и проксируйте в зависимости от имени - это умеет nginx.
    Ответ написан
    1 комментарий
  • Думаю запустить соцсеть, советы по хостингу, технологии?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. напишите тз, выложите на фриланс/разошлите по студиям - вот и цены
    2. не понятен вопрос
    3. никакие. на низких нагрузках все ± одинаково живет, на высоких все ± одинаково дохнет
    4. hetzner

    PS Мне кажется что Вы опоздали с этой идеей лет на 15.
    Я бы Вам крайне рекомендовал ответить для себя на вопросы "откуда на моем сайте появятся люди" и "зачем они там останутся"
    Ответ написан
    Комментировать
  • MacOSX - как автоматически загружать ssh-key в ОЗУ?

    @Nc_Soft
    в ~/.ssh/config пишем
    Host github.com
        HostName github.com
        IdentityFile ~/.ssh/github_key
        User ваш_для_гитхаба
        Port 22
    Ответ написан
    Комментировать
  • Как правильно вести разработку web-проектов?

    Matvey-Kuk
    @Matvey-Kuk
    Разработчик в Cisco, CA.
    Не понятен пункт 5. Зачем сливать из боевого в гит? В гите должны храниться только исходные коды, по этому там всегда самая актуальная версия. И суть тестового сервера теряется из-за пункта 3. Обычно строится так:

    Локальная машина разработчика -> пуш в git ветку test -> ci сервер сам накатывает ветку test на тестовый сервер -> разраб проверяет обновление -> мерж git ветки test с master -> ci накатывает ветку master на боевой сервер.

    Параллельно по таймауту работают джобы по бэкапу боевого сервера на резервный, базы данных(mysqldump) и статики(rsync), например, раз в день с 3:00 до 4:00. Обновление базы на тестовом сервере обычно никак не автоматизируется, ибо там всегда каша из мусорных данных, которые наплодили автотесты.
    Ответ написан
    2 комментария
  • Как переопределить имена объектов в forms.ModelMultipleChoiceField в Django Admin?

    @FireGM
    https://docs.djangoproject.com/en/1.7/ref/contrib/...

    там много примеров. Если вкратце, то создаёте у модели новую функцию, которая возвращает количество. Добавляем allow_tags. Идём в админку и прописываем lists_display. Всё.
    Правда я для manytomany не использовал. Только для foreignkey.
    UPD:
    Решил проверить, все нормально работает. Только не совсем то, но принцип понятен.
    models.py
    from django.utils.html import format_html
    
    class PostTag(models.Model):
        title = models.CharField(max_length=255)
    
        def __str__(self):
            return self.title
    
        def get_count_posts(self):
            return format_html('<span style="color: red">{0}</span>', self.post_set.count())
    
        get_count_posts.allow_tags = True
    
    class Post(models.Model):
        title = models.CharField(max_length=255)
        post_tag = models.ManyToManyField(PostTag, null=True, blank=True)
    
        def __str__(self):
            return self.title


    admin.py
    from games.models import PostTag, Post
    
    
    class PostTagAdmin(admin.ModelAdmin):
        list_display = ('title', 'get_count_posts')
    
    
    admin.site.register(PostTag, PostTagAdmin)
    admin.site.register(Post)
    Ответ написан
    Комментировать
  • Где можно попрактиковаться системному администрированию (тестовые полигоны)?

    @LooksWorking
    Купить на домашний комп побольше памяти, установить какой-нибудь гипервизор, спроектировать и поднять инфраструктуру какой-нибудь гипотетической конторы. Про ОС, думаю, и так все понятно, а многие сетевые железки или их аналоги существуют в виде виртуальных апплаенсов.
    Ответ написан
    Комментировать
  • Как вывести в админке ImageField Django?

    crazyzubr
    @crazyzubr
    Python backend-developer
    В классе админки нужно добавить:

    def icon_tag(self, obj):
        if not (obj.pk and obj.icon):
                return ''
        return u'<img src="%s" />' % obj.icon.url
    icon_tag.short_description = 'Icon'
    icon_tag.allow_tags = True


    И добавить в ридонли:
    readonly_fields = ('icon_tag',)
    Ответ написан
    Комментировать
  • Как переехать с RAID1 на RAID10 ?

    Melkij
    @Melkij
    PostgreSQL DBA
    Вставляете эти два диска.
    Инициализируете raid10 на этих дисках как "диск missing диск missing". RAID10 переживёт пропуск вообще любого диска или до половины дисков, но только в определённых местах (каких - зависит от стиля размещения данных по дискам, их есть несколько, если интересно - в мане описаны).
    Ставите загрузчик на новые диски
    Переносите систему (для lvm - штатными средствами), для других - погуглите.
    Перезагружаетесь с raid10
    Разбираете raid1 и добавляете эти диски в raid10. Ждёте конец ребилда массива, всё.

    Разумеется, с бекапами. Сам процесс довольно простой, чаще угробить всё можно опечаткой.

    Дико извиняюсь, курсивом выделены пункты вам нафиг не нужные, это для случая, если система на этом же рейде.
    И для переноса данных, если нет lvm, то остановки сервисов (а не всей системы) и rsync'а вполне хватит.
    Ответ написан
    3 комментария
  • Какой аппаратный межсетевой экран выбрать?

    Archangel
    @Archangel
    Никакой. Слишком много геморроя вы себе приобретете. Не зависимо от того, что выберете. Для того, чтобы получить учет трафика и логирование придется разворачивать полноценный биллинг, с RADIUS-ом, NetFlow, инспекцией трафика и прочими заморочками, которые не прибавят производительности устройству, между прочим. Для фильтрации урлов на основе категорий, придется ставить внешний сервер, а не редко и платить за подписку на эти самые базы (это если мы, например про Cisco). К тому же еще и куча ручной работы, для парсинга логов.
    Железных решений "все-в-одном" я не встречал.
    Тут стоит конкретизировать задачу. Почему именно аппаратное решение. Но в любом случаи, мне кажется - оно того не стоит, если конечно нет какого-нибудь мега-аргумента.
    Ответ написан
    3 комментария
  • Как грамотно настроить автоматические обновления на боевом Ubuntu Server?

    1. По опыту скажу что на production-серверах обновление лучше делать вручную, если нету зеркального сервера для тестов. Периодичность обновления советую раз в 15-20 дней. Разумеется, в случае экстренных проблем с безопасностью типа heartbleed, как ты упомянул, обновлять надо сразу, при выпуске заплаток.
    2. Если не осиливаешь пока chef и puppet почитай про Ansible. У него порог вхождения существенно ниже чем у вышеупомянутых и поддерживать его в дальнейшем намного проще, а по функционалу, если честно, он не уступает.
    3. Общие советы.
    1. Отключи не используемые службы (rpcbind, nfscommon) к примеру
    2. Заблокируй не используемых пользователей, проверь не имеют ли системные пользователи паролей (в /etc/shadow наличие хеша во втором поле, если имеют а доступ им не нужен ставь '!')
    3. Желательно включить ssh авторизацию только по ключам, включить опцию AllowUsers со списком пользователей которым авторизироваться разрешено. Отключить авторизацию по ssh root и создать системного пользователя с оболочкой sh, без всяких привилегий. Его занести в AllowUsers, при логине выполнять /bin/su - с полным путем.
    4. По возможности все используемые службы контролировать TCP Wrappers (/etc/hosts.{allow,deny})
    5. Установить библиотеку snoopy (snoopy logger) - очень подробное логирование запускаемых процессов.
    6. Соответственно настроить rsyslog/syslog-ng и перенаправлять логи желательно на сторонний сервер. Для логов есть различные веб-морды с различными отчетами и сортировками.
    7. Для контроля версий конфигурационных файлов советую использовать git в /etc либо выносить под различные службы в отдельные репозитарии и, конечно, настроить правильно .gitignore. Тут же присмотрись к подсистеме событий файловой системе inotify и отличному демону incron. Он пригодиться может не только в этом пункте, с ним можно много интересных вещей контролировать.
    8. По возможности настраивай все службы и сервисы в chroot окружении.
    9. Iptables. Можно на нем, а можно к примеру на ipset настраивать правила. Тут все просто. Лучше сначала создай скрипт на тестовой машине. Политики по умолчанию - deny all, а дальше разрешаешь что нужно. Конкретно что то посоветовать не имеет смысла если ты как обезьянка начнешь копировать без понимания. Есть отличная литература по iptables. А дальше ищи в интернете iptables tips, примеры настройки iptables и вникай что там делают и для чего. Но не перемудри. Понимай что пакеты пробегают по всем цепочкам правил. Это нагрузно. Задумайся об использовании ipset.
      Всякие fail2ban-ы советовать не буду. Слишком спорно и не нужно если ты правильно отстроишь любой сервис работающий поверх netfilter. Так же многие хостинги из коробки имеют защиту от DDOS и брута на уровне своего железа типа ASA-к и тд.
      Периодически делай срезы tcpdump-ом (особенно в подозрительных ситуациях) и анализируй wireshark-ом.
    10. Постоянные бэкапы, хоть rsync, fsbackup, unison, bacula и тд - выбор большой


    Вообще это далеко не все, но "настроить и забыть" на production-сервере плохая идея.
    Подключай мониторинг.

    Для этого могу посоветовать 4 системы (это лично мои приоритеты, но их оочень много).
    Zabbix, Nagios, Sensu, Cacti

    Хорошим вариантом будет установка zabbix_agent-а не сервер и удаленный мониторинг с другого сервера. Настроишь свои скрипты + анализ логов syslog и вот уже залог достаточно устойчивой и на мой взгляд хорошо защищенной системы.
    Ответ написан
    6 комментариев
  • Какой корпус взять лучше?

    Melkij
    @Melkij
    PostgreSQL DBA
    Берёте корпус. Вывинчиваете и выкидывается штатные жужжалки нафиг, меняете на нормальные. Минус - денег стоят. Плюс - гораздо тише, подчас ещё и лучше охлаждение.

    Корпус крупный, это не толпой 40мм кулеров пытаться продуть. Убираете провода внутри, чтобы не мешали воздуху, немного экспериментов с направлением вдув-выдув каждого кулера. И настраиваете регулировку скорости кулеров.
    Ответ написан
    Комментировать
  • Как проверить скорость через ssh?

    totalcount
    @totalcount
    Очень просто → iperf. Настроек там довольно приличное количество, думаю даже для самого требовательного пользователя хватит ;-)

    Делается так:

    1. На сервере: iperf -s
    2. На клиенте: iperf -c [server_ip]

    Вывод:

    root@server:/home/server# iperf -s
    ------------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 85.3 KByte (default)
    ------------------------------------------------------------
    [  4] local [server_ip] port 5001 connected with [ip] port 49262
    [ ID] Interval       Transfer     Bandwidth
    [  4]  0.0-10.5 sec  57.9 MBytes  46.1 Mbits/sec


    root@server:/home/server# iperf -c [server_ip]
    ------------------------------------------------------------
    Client connecting to [server_ip], TCP port 5001
    TCP window size: 22.7 KByte (default)
    ------------------------------------------------------------
    [  3] local 192.168.1.2 port 49262 connected with [server_ip] port 5001
    [ ID] Interval       Transfer     Bandwidth
    [  3]  0.0-10.2 sec  57.9 MBytes  47.7 Mbits/sec
    Ответ написан
    Комментировать
  • Что произошло с архивом (debian) :'(

    Meehalkoff
    @Meehalkoff
    А пробовали новый файл разархивировать? Есть подозрения, что там текстовый документ с требованиями о выкупе ;)
    Ответ написан
    Комментировать
  • Как сделать сайт на домашнем хостинге, доступный каждому пользователю интернет?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Да. Если хотите ещё и по доменному имени открывать сайт - настройте локально виртуальный хост, чтобы не только localhost, но и ваше доменное имя срабатывало, и создайте в настройках DNS вашего домена А запись, которая будет указывать на ваш статический IP.

    А вообще - вбейте ваш статический IP в браузере да посмотрите хватило или нет.
    Ответ написан
    Комментировать
  • Нужно ли перезагружать Debian после обновления пакетов ядра?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, нужно. Без дополнительных инструментов подменить ядро без перезапуска нельзя.
    Ответ написан
    Комментировать
  • RSTP - как изменить рут порты?

    @throughtheether
    human after all
    Вопрос: как мне сделать так, чтобы разрыв был между "Отдел гл. энергетика" и "правое крыло" ?

    Для этого необходимо, на мой взгляд, увеличить значение cost для этого линка с каждой стороны до достаточно высокого значения.

    Теперь, что касается этого самого значения. Учитывая гетерогенность вашей сети, стоит убедиться, какие именно значения cost установлены для каждого из интерфейсов, участвующих в RSTP-процессе. Они могут быть как 16-, так и 32-битными, насколько мне известно. Если все значения cost установлены в 4 для гигабитных и 19 для 100-мегабитных портов, должно хватить значения cost 300 для соответствующего линка (с каждой стороны, на случай дальнейшего изменения корневого коммутатора).

    Необходимо также убедиться, что каждый из вышеупомянутых интерфейсов работает в полнодуплексном режиме (т.е. является, с точки зрения RSTP, p2p-портом). Это необходимо для корректной обработки изменения топологии (topology change).

    Если это не поможет и возникнут дополнительные вопросы, то будьте добры, потрудитесь нарисовать нормальную читаемую схему сети с необходимой информацией (bridge id каждого коммутатора, cost для каждого интерфейса, участвующего в RSTP).
    Ответ написан
    2 комментария
  • Как поменять у nginx root при определенном url?

    @barsukoff
    мне хватает такой записи для работы phpmyadmin из папки внутри сайта:

    location /myadmin {
    	    index index.php;
    }
    Ответ написан
    Комментировать