Задать вопрос
  • Как настроить 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
    DBA Team для вашего PostgreSQL?
    Вставляете эти два диска.
    Инициализируете 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
    DBA Team для вашего PostgreSQL?
    Берёте корпус. Вывинчиваете и выкидывается штатные жужжалки нафиг, меняете на нормальные. Минус - денег стоят. Плюс - гораздо тише, подчас ещё и лучше охлаждение.

    Корпус крупный, это не толпой 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;
    }
    Ответ написан
    Комментировать