Отмечено: администрирование RSS Показать/спрятать ветки комментариев | Горячие клавиши

  • linuxesrf 8:37 pm on April 24, 2011 Постоянная ссылка | Ответить
    Метки: администрирование,   

    «Алиасы» для ssh. Используем ~/.ssh/config для упрощения своей жизни. 

    Спасибо @riarheos за подсказку.Пост является логическим продолжением поста про DSH и решает проблему DSH с работой с нестандартными портами ssh. А так же сильно упрощает жизнь тем, кто ходит на разные серверы по разным портам под разными пользователями. Идея очень проста – мы создадим что-то вроде алиасов в конфиге ssh. Решение очевидное, но всё же [...]
    ссылка на сайт автора

     
  • linuxesrf 4:21 pm on April 24, 2011 Постоянная ссылка | Ответить
    Метки: администрирование   

    tail /dev/zero — заполнить всю доступную память 

    При настройке параметров виртуальной памяти или лимитов процессов бывает необходимо, чтобы какой-нибудь процесс занял всю доступную память. Обычно первое решение, которое приходит на ум — выделение памяти в бесконечном цикле. Но проще всего это сделать командой tail /dev/zero.

    ссылка на сайт автора

     
  • linuxesrf 8:06 pm on April 10, 2011 Постоянная ссылка | Ответить
    Метки: dsh, администрирование, управление кучей серверов   

    Управляем пачками debian серверов. Выполняем команды разом на куче хостов. Sysadmin lifehack. 

    Перед прочтением этого мануала крайне советую разрешить авторизацию рутом по ключам по ssh на всех подопытных серверах (и запретить авторизацию по паролю, если беспокоитесь). Заодно не забудьте поставить fail2ban.Иногда необходимо выполнить команду на всех серверах. У меня, например, каждый час. И как то я для этого давно завел утилиту и считаю её само собой разумеющейся. [...]
    ссылка на сайт автора

     
  • linuxesrf 5:33 pm on April 10, 2011 Постоянная ссылка | Ответить
    Метки: amon.so, администрирование, защите веб-сервера   

    Обеспечиваем безопасность LAMP методом «в лоб». Защищаемся от php-шеллов и прочих игрушек скрипт-киддисов. Библиотека amon.so 

    Собственно… меня снова начали спрашивать куда я пропал… Да-да-да… стыдно. На выходных сплю по 18 часов, а в будни – смотрим тег #yakit в твиттере. Ну и работа стала отнимать намного больше времени, в связи с вводом в строй кластера. А ещё на днях начну пробовать UEC (его же допилили, да?) на рекордных 5 серверах! [...]
    ссылка на сайт автора

     
  • linuxesrf 12:43 am on March 7, 2011 Постоянная ссылка | Ответить
    Метки: администрирование, веб-сервер,   

    Решение проблемы: apache2 could not reliably determine the server’s fully qualified domain name using… 

    Часто встречаю мучительные поиски решений упомянутой в заголовке проблемы в Debian-подобных дистрибутивах, в том числе и в Ubuntu.

    А решение, тем временем, тривиальное и однозначное.

    Надо в vhosts.conf добавить директиву ServerName со значением localhost. Проще всего это сделать одной лаконичной командой:
    sudo echo ServerName localhost >> /etc/apache2/conf.d/vhosts.conf

    И после этого надо перезапустить сервер:
    service apache2 restart

    Ссылка на сайт автора статьи

     
  • linuxesrf 12:41 am on March 7, 2011 Постоянная ссылка | Ответить
    Метки: администрирование, , , , update-alternatives   

    Установка Java Development Kit (JDK) в Linux. Настройка update-alternatives 

    Если вам потребовался стандартный JDK от Sun Microsystems (а точнее теперь уже от Oracle), вместо OpenJDK, который поставляется с современными свободными дистрибутивами Linux, то его можно скачать либо с дополнительных сторонних репозиториев для вашего дистрибутива, либо напрямую с сайта http://www.oracle.com. Если ставить Java из репозиториев для вашего дистрибутива, то скорее всего всё само настроется и заработает, и ни о чем беспокоится вам не придется, но если вы скачали JDK или JRE в виде бинарного файла .bin с сайта Oracle, придется совершить несколько дополнительных телодвижений.
    Скачать JDK с сайта Oracle можно в двух видах: это бинарные файлы вида *.bin и *-rpm.bin. На сколько я заметил, разница между ними небольшая. Файл *.bin содержит просто каталог с файлами JDK, который будет распакован в директорию из которой вы запустили этот *.bin, а файл *-rpm.bin содержит RPM-пакеты, которые распакуются в ту директорию из которой вы запустили *-rpm.bin, а затем будут установлены. Вся установка RPM-пакетов заключается в распаковке в каталог /usr/java тех же самых файлов и каталогов, которые содержит пакет *.bin. По крайней мере, так у происходит у меня в OpenSUSE 11.2 и ALT Linux 5.0, думаю что в остальных дистрибутивах картина такая же. После распаковки JDK приступаем к тем самым дополнительным телодвижениям.

    Переменные окружения

    Простой распаковки файлов JDK недостаточно для того, что бы можно было нормально использовать установленный JDK по умолчанию в системе. Следующим шагом необходимо настроить переменные окружения. Приведу пример установки переменных окружения для JDK полученного из файла jdk-6u19-linux-i586-rpm.bin. Для этого в самый конец файла /etc/profile (в OpenSUSE /etc/profile.local )  добавляем следующие строки:

    JAVA_HOME=/usr/java/jdk1.6.0_19
    JRE_HOME=/usr/java/jdk1.6.0_19/jre
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME JRE_HOME PATH

    Примечания:

    • В некоторых случая возможно понадобится добавить эти же строки в файл /etc/bashrc SUSE /etc/bash.bashrc.local), который читается bash‘ем, если он запущен без параметра –login 
    • В дистрибутивах SUSE для установки глобальных переменных окружения по умолчанию следует использовать файлы /etc/profile.local и /etc/bash.bashrc.local, потому что после апгрейда системы, файлы /etc/profile и /etc/bash.bashrc могут быть перезаписаны. Если таких файлов нет, то необходимо их создать.
    • Переменная JRE_HOME может быть и не особо нужна, но я часто встречаю её в современных дистрибутивах, поэтому на всякий случай лучше её установить.
    • Таким же образом в файле /etc/profile можно описать создание переменной CLASSPATH, в которой можно указать пути к каталогам с дополнительными java-классами и к файлам *.jre.

    После подготовки файлов /etc/profile и /etc/bashrc необходимо перезайти в систему. В консоле можно проверить правильно ли установлены значения переменных:

    $ set |grep JAVA_HOME
    JAVA_HOME=/usr/java/jdk1.6.0_19
    $ set |grep CLASSPATH
    CLASSPATH=/usr/java/jdk1.6.0_19/lib:.
    $ set |grep ^PATH         
    PATH=/usr/java/jdk1.6.0_19/bin:/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin

    Теперь проверяем версию Java:

    $ java -version
    java version “1.6.0_19″
    Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
    Java HotSpot(TM) Client VM (build 16.2-b04, mixed mode, sharing)

    Всё, теперь по умолчанию будет использоваться JDK вместо OpenJDK.

    Утилита update-alternatives

    На самом деле, переменную PATH можно было и не менять. В современных дистрибутивах Linux установка среды выполнения Java по умолчанию осуществляется с помощью утилиты update-alternatives.  Кратко опишу принцип её работы на моем примере с java. В каталоге альтернатив /etc/alternatives есть символическая ссылка java, которая указывает на настоящий файл java, расположенный где-то в файловой системе. В каталоге /usr/bin есть символическая ссылка, которая указывает на ссылку /etc/alternatives/java. Таким образом, для всех пользователей и программ, которые вызывают java на самом деле доступна ссылка /usr/bin/java которая ссылается на реальную программу java через ссылку /etc/alternatives/java. Утилита update-alternatives служит для переключения символической ссылки /etc/alternatives/java на различные версии java, установленные в системе, а все пользователи либо программы как использовали ссылку /usr/bin/java для вызова java, так и будут продолжать её использовать.

    Посмотрим какие установленные версии java доступны для /etc/alternatives/java в моем случае c помощью команды –list, для этого ей необходимо указать имя ссылки в каталоге  /etc/alternatives:

    # update-alternatives –list java
    /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

    Используя команду –config можно так же посмотреть доступные альтернативы для java, а потом выбрать нужную в интерактивном режиме :

    # update-alternatives –config java
    There is only 1 program which provides java

    (/usr/lib/jvm/jre-1.6.0-openjdk/bin/java). Nothing to configure.

    Приведу теперь простую и понятную схему ссылок, которая используется на данный момент в моей системе:

    /usr/bin/java -> /etc/alternatives/java -> /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

    Итак, как стало ясно, на данный момент в моем случае доступна только одна альтернатива для java, это OpenJDK. Для того, чтобы добавить альтернативную версию java, необходимо использовать команду –install:

    # update-alternatives –install /usr/bin/java java /usr/java/jdk1.6.0_19/bin/java 100000
    # update-alternatives –list java
    /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
    /usr/java/jdk1.6.0_19/bin/java        

    Для установки альтернативы необходимо указать главную ссылку, которая будет ссылаться на символическую ссылку в /etc/alternatives (для моего случая это /bin/usr/java), затем имя ссылки в каталоге /etc/alternatives (в данном случае java), альтернативу для этой ссылки, т.е. местоположение самой программы ( /usr/java/jdk1.6.0_19/bin/java) и приоритет для этой альтернативы. Приоритет необходим для автоматического выбора альтернативы при включении automatic mode (будет выбрана альтернатива с наибольшим приоритетом).

    После установки новой альтернативы проверяем список доступных альтернатив для java и видим, что там появилась /usr/java/jdk1.6.0_19/bin/java и теперь нам необходимо переключиться на неё, для этого используем команду –config:

    # update-alternatives –config java
    There are 2 alternatives which provide `java’.
      Selection    Alternative
    ———————————————–
            1    /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
    *+      2    /usr/java/jdk1.6.0_19/bin/java
    Press enter to keep the default[*], or type selection number: 2
    Using ‘/usr/java/jdk1.6.0_19/bin/java’ to provide ‘java’.

    В моем случае переключение произошло автоматически, т.к. я установил новую альтернативу с приоритетом более высоким, чем был у OpenJDK, а группа альтернатив java находилась в automatic mode. Но я все равно ввёл цифру 2, что повторно переключило альтернативу java на JDK и отключило automatic mode. Теперь при добавлении еще одной версии java в альтернативы автоматического переключения не произойдет.
     
    Примечания:

    • При использовании –config, символ “*” показывает какая альтернатива сейчас используется а “+” на сколько я понял, указывает на альтернативу с наивысшим приоритетом, именно на неё произойдет переключение в случае перевода данной группы альтернатив в автоматический режим.
    • Если вы руками переназначите значение ссылок /etc/alternatives/java или /usr/bin/java, то скорее всего при перезагрузке эти значения вернутся в состояние которое описано утилитой update-alternatives.
    • Каталог альтернатив /etc/alternatives является каталогом по умолчанию и может быть изменен командой update-alternatives –altdir
    • Утилиту update-alternatives можно использовать так же для создания своих собственных групп альтернатив

    После настройки update-alternatives можете закомментировать строку в файле /etc/profile, которая добавляет в переменную окружения PATH путь к директории /bin и перезайти в систему. Теперь вы можете использовать java из JDK по привычной ссылке /usr/bin/java.

    Описание остальных команд update-alternatives я приводить не буду, их смысл очень легко понять из man’а.

    Ссылка на сайт автора статьи

     
  • linuxesrf 11:10 pm on February 18, 2011 Постоянная ссылка | Ответить
    Метки: , , администрирование, , it's edible, , , vuurmuur   

    Установка Vuurmuur 0.7 на Debian 

    Vuurmuur — за таким «кошачьим» именем скрывается довольно мощная GUI надстройка для iptables. Основным отличием от других iptables-надстроек является наличие консольного интерфейса написанного на Ncurses. Поэтому администрирование всё также легко возможно посредством SSH или консоли. Vuurmuur умеет работать с шейпингом, поддерживает функции мониторинга трафика, ведёт отдельные логи, прекрасно работает как на 2.4 так и на 2.6 [...]

    Ссылка на сайт автора статьи

     
  • linuxesrf 4:50 am on February 18, 2011 Постоянная ссылка | Ответить
    Метки: , администрирование, kernel-based virtual machine, , , , ,   

    Установка KVM/QEMU на Debian 

    KVM (или Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (англ.) (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).Да кстати, без аппаратной поддержки процессором она, как я понял, работать не будет. Будет установлена KVM на ОС Debian.На самой виртуальной машине,также [...]

    Ссылка на сайт автора статьи

     
  • linuxesrf 3:17 am on February 13, 2011 Постоянная ссылка | Ответить
    Метки: администрирование,   

    lshell — отличная альтернатива chroot для ограничения возможностей пользователей, приходящих по ssh и sftp (с дополнительной помощью MySecureShell) 

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

    Недостаток chroot в том, что для запертого в нём пользователя, требуется собирать какое-то минимальное окружение. Например, копировать в виртуальный корень файл /bin/bash и все связанные файлы для того, чтобы у пользователя появилось приличное окружение. Грубо говоря, в виртуальный корень придётся скопировать часть основной системы. Это приводит к дублированию данных (например, на VPS для этого может не быть лишнего дискового пространства), усложняет обновления (если в настоящий системе обновились какие-то файлы, то их свежие копии вручную придётся копировать в chroot-окружение) и пр.

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

    Нашлось изящное решение — lshell.

    читать далее

    Ссылка на сайт автора статьи

     
c
cоздать новую запись
j
следующая запись/комментарий
k
предыдущая запись/комментарий
r
ответить
e
редактировать
o
показать/скрыть комментарии
t
перейти наверх
l
go to login
h
show/hide help
shift + esc
отменить
Follow

Get every new post delivered to your Inbox.