среда, 5 декабря 2012 г.

Linux Вопросы и ответы #lecture 1

Лекция по Linux в компании Thumbtack Technology Linux - Вопросы и ответы 

* Access control
* Environment
* Users and Grops
* File system'Ы
* Init system
* Network
* Bash

четверг, 11 октября 2012 г.

Переносим базу Drupal/Pressflow 6, без очистки кэша

Drupal logo
Drupal logo (Photo credit: Wikipedia)
Мыши плакали, кололись, но продолжали жрать кактус.

Так и с друпалом, все плюются но продолжают использовать.

Случалось ли вам переносить базу друпала вместе с кэшем? Мда многие скажут что этим кэшем можно отдавить себе ... впрочем опустим это.

Конечно же самый простой способ это перед дампом очистить кэши и всё, или воспользоваться плагином самого друпала который создаст дамп без кэша, или использовать drush для этих целей. НО не всегда есть возможность воспользоваться перечисленными выше примерами (слишком высокая нагрузка для сброса кэша/несогласованно внесение изменений в прод/или бла-бла... что ни-будь ещё)

Если у вас именно этот случай читайте дальше.

понедельник, 8 октября 2012 г.

Что делать если du и df выводят разные данные

Случалось ли вам столкнуться с ситуацией когда вы освободили место на диске, удалили жирные логи, а система по прежнему считает, что у вас переполнен диск.
Если вы столкнулись с подобной ситуацией, то скорее всего удалённые вами файлы до сих пор открыты каким бы то ни было приложением.

Это выглядит примерно следующим образом.
df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda1             7,9G  7,6G     0 100% /
 tmpfs                 502M     0  502M   0% /lib/init/rw
 udev                  497M  100K  497M   1% /dev
 tmpfs                 502M     0  502M   0% /dev/shm

du -sh /
 2,2G    /
Чтобы получить список процессов которые до сих пор держат удалённые файлы, выполните следующую команду

воскресенье, 23 сентября 2012 г.

WEP/WPA/WPA2 - Тестируем на стойкость к проникновению своё оборудование

Aircrack-ng










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

В наше время технология Wi-Fi стала очень распространена, в каждом жилом доме или офисе можно поймать 3 и более wi-fi сетей. Я уверен, что у вас тоже имеется несколько домашних или рабочих wi-fi точек. И все знают, или хотя бы слышали о том, что wi-fi уязвим, но насколько, и как проверить насколько уязвима ваша личная точка никто толком не знает. Чем собственно и пользуются недоброжелатели и охотники до халявы.

В данной статье мы рассмотрим атаку на самый распространённый протокол безопасности WPA2(он же является самым надёжным на данный момент), и самый распространённый тип атаки - перебор по словарю(brute force).
Для этого в режиме мониторинга беспроводной карты сканируется эфир и записываются необходимые пакеты. Далее проводится деавторизация клиента для захвата начального обмена пакетами (handshake), либо нужно ждать пока клиент совершит подключение. После этого уже нет необходимости находиться недалеко от атакуемой точки доступа. Атака проводится оффлайн с помощью специальной программы и файла с хэндшейком.(Wikipedia)

среда, 19 сентября 2012 г.

CentOS LAMP чуть больше чем в две строчки

Устанавливаем httpd.
yum install -y httpd mysql mysql-server php php-cli\
 php-mysql php-common php-curl php-gd php-mcrypt php-suhosin
Записываем виртуалхост.
cat >> /etc/httpd/conf/httpd.conf <<EOF

NameVirtualHost *:80
<VirtualHost *:80>
        <Directory /opt/www/example.com>
        AllowOverride All
        </Directory>
    DocumentRoot /opt/www/example.com/

    ServerName example.com
    ErrorLog logs/example.com-error_log
    CustomLog logs/example.com-access_log common
</VirtualHost>
EOF
Создадим директорию сайта.
mkdir -p /opt/www/example.com/
Запишем httpd в автозагрузку и запустим сервис.
chkconfig --level 345 httpd on
service httpd start

Enhanced by Zemanta

Рассчитываем параметры prefork.c для Apache в Linux

English: Logo for the Apache HTTPD Server Proj...

Не так давно мне пришлось настраивать LAMP кластер с балансером несколькими WEB нодами и одной базой данных. В отличие от не больших сайтов с низкой загруженностью, крупным проектам нужна более детальная настройка. В этой статье я собираюсь рассказать о настройке лишь одного модуля под названием prefork.c это один из нескольки multi-processing модулей для Apache httpd и самый распространённый по ряду причин. Во время своих изысканий, я перерыл очень много документации и статей в интернете основная часть которых сводилась к тому, что параметры prefork.c для каждого хоста следует выбирать тестовым путём. Вышеуказанное заявление не лишено смысла, универсальных настроек не существует, но оно не решает основной задачи: а что же делать конкретно мне прямо сейчас, особенно в условиях продакшн сервера. Я решил попытаться ответить на этот вопрос, и сделать максимально простое и универсальное средство для решения этой задачи.

вторник, 11 сентября 2012 г.

Load Balancer на базе NGINX в Debian Squeeze

English: Nginx Logo Español: Logo de Nginx


Рассмотрим построение простого дешевого HTTP балансера на базе Debian+Nginx.

Итак мы имеем

  1. MySQL server - мы не будем рассматривать его конфигурацию, и предположим, что WEB ноды к нему обращаются и работают.
  2. WEB Server 1 - host1.example.com(принимает запросы, общается с базой данных, отдает контент)
  3. WEB Server 2 - host2.example.com(настроен идентично "WEB Server 1")
  4. HTTP balancer - NGINX

Схема выглядит примерно так:

PHP53u + memcache + apc в CentOS 5

Когда я попытался настроить memcache + APC в тестовой ветке CentOS 5, я очень удивился когда не нашел расширения memcache для php53 в репозитарии.

По этой пришлось использовать репозиторий IUS.

Приступим:
Установим репозитории в систему.
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-10.ius.el5.noarch.rpm
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-5-4.noarch.rpm

вторник, 28 августа 2012 г.

Прописываем статический public_key в VMware ESXi 4.1

VMware Player


















Для начала вы должны создать связку Public/Private ключей, разумеется если у вас их нет.
Как это делается вы можете прочесть тут.

Теперь можно скопировать ваш публичный ключ на ESXi хост.
ssh-copy-id root@esxi-host
И на конец подключимся к esxi хосту, заархивируем каталог .ssh и скажем гипервизору, чтобы архив  public_key.tgz распаковывался при каждой загрузке системы.
ssh root@esxi-host
 X11 forwarding request failed on channel 0
 You have activated Tech Support Mode.
 The time and date of this activation have been sent to the system logs .

 VMware offers supported, powerful system administration tools.  Please
 see www.vmware.com/go/sysadmintools for details.

 Tech Support Mode may be disabled by an administrative user.
 Please consult the ESXi Configuration Guide for additional 
 important information.

~ # tar -C / -czf public_key.tgz .ssh
~ # BootModuleConfig.sh --add=public_key.tgz --verbose
 Acquiring lock /tmp/bootbank.lck
 Copying public_key.tgz to /bootbank/public_key.tgz
 Editing /bootbank/boot.cfg to add module public_key.tgz
~ # exit
~ # Connection to esxi-host closed by remote host.
Connection to esxi-host closed.
Всё!!!
Enhanced by Zemanta

Настраиваем SSH аутентификацию по публичному RSA/DSA ключу

Использовать аутентификацию по публичному ключу можно в разных целях, и рас вы попал на эту страницу, значит вы знаете зачем оно вам надо =)).

Для аутентификацию по публичному ключу можно использовать либо RSA либо DSA алгоритм. Лично я предпочитаю RSA.

Генерируем RSA ключи
ssh-keygen -t rsa
 Generating public/private rsa key pair.
 Enter file in which to save the key (/home/user/.ssh/id_rsa): 
 Created directory '/home/user/.ssh'.
 Enter passphrase (empty for no passphrase): 
 Enter same passphrase again: 
 Your identification has been saved in /home/user/.ssh/id_rsa.
 Your public key has been saved in /home/user/.ssh/id_rsa.pub.
 The key fingerprint is:
 41:0d:3b:e2:23:e1:24:a2:57:11:10:0e:b5:03:e8:0f user@scorpius-adm
 The key's randomart image is:
 +--[ RSA 2048]----+
 |+.+oo.  oo       |
 |.+ . . . ..      |
 |o = + . +        |
 |.E * o . o       |
 |. + o o S        |
 | . . . .         |
 |                 |
 |                 |
 |                 |
 +-----------------+

воскресенье, 26 августа 2012 г.

VNC Terminal Server на базе Debian Squeeze

Virtual Network Computing logo
Virtual Network Computing logo (Photo credit: Wikipedia)











Я думаю многие знают что такое Terminal Server и зачем он нужен, а кто не знает может сходить по ссылке и почитать WiKi.

Так же осмелюсь предположить что многие уже использовали VNC для однопользовательского подключения, но что можно сделать в случае если необходим многопользовательский доступ.

Я попробовал осуществить несколько вариантов, но остановился на запуске vnc4server через openbsd-inetd.

Кстати оговорю сразу, мы будем использовать порт 5901 поскольку дефолтовый порт занят встроенным в Gnome сервисом vino. Так же необходимо удалить network-manager, и настроить сетевые интерфейсы через старый добрый /etc/network/interfaces.
И последнее но не менее важное. Мы установим GDM вместо текущего GDM3 по причине того что последнего совершенно не впечатляют опции [xdmcp] Enable=true так необходимые для многопользовательского доступа.

Приступим

вторник, 21 августа 2012 г.

Лёгкая анонимизация трафика через связку Tor + Proxychains в Debian

English: Tor Logo
English: Tor Logo (Photo credit: Wikipedia)








Сейчас правительства многих стран стараются максимально сократить анонимную деятельность людей в интернете. Выпускают различные законы прикрываясь благой деятельностью стараются свести всё к тотальному контролю.

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

На эту тему  можно много холивалить но что мы можем противопоставить.
На данный момент есть 2 популярных, развивающихся проекта, это: I2P и TorProject.
  1. I2Phttp://www.i2p2.de/ Это распределённая шифрованная сеть, имеющая собственные ресурсы, которая использует интернет в качестве транспорта для своих нужд.
  2. TorProjecthttps://www.torproject.org/ Это распределённая сеть обеспечивающая анонимизацию вашего трафика в пределах глобальной сети интернет.
В этой статье мы рассмотрим самый простой способ анонимизировать ваш трафик для любого приложения вашей системы с помощью связки Tor + Proxychains, даже если оно не предусматривает работу через SOCKS Proxy.

пятница, 20 июля 2012 г.

Устанавливаем compat-wireless на Debian/Ubuntu

Список поддерживаемого оборудования вы можете посмотреть тут Supported devices

Устанавливаем всё необходимое для сборки модулей ядра:
apt-get update
apt-get install gawk bzip2 linux-headers-$(uname -r) -y
apt-get build-dep linux-image-$(uname -r) -y
Приступим к установке compat-wireless. По скольку версия compat-wireless сильно привязана к ядру, то качаем нужную ветку тут, либо выполним нижеуказанный скрипт.
# Скачаем compat-wireless 
cd /usr/src
wget $(wget -O - http://linuxwireless.org/en/users/Download/stable | \
grep "compat-wireless-$(read -n 3 KERN <<< $(uname -r); echo $KERN)" | \
gawk -Fref=\" '{ print $2 }' | gawk -F\" '{ print $1 }')

# Распакуем его 
tar xjfv compat-wireless-*

# И зайдём в директорию
cd compat-wireless-*

среда, 4 июля 2012 г.

Решаем проблему /sbin/modprobe: invalid option -- 'l' при компиляции программ из имходников.


В последней версии modprobe была выпилена опция -l из за чего ломается установка некоторых программ у которых modprobe вшит в Makefile.

Что же теперь можно сделать

Можно создать скрипт который будет выполнять нудную нам зядачу, а всё остальное будет перенаправлять настоящему модпробу.
cat > /sbin/modprobe.sh <<EOF
#!/bin/bash

if [[ \$1 == -l ]]
then

if [ -z \$2 ]    
then
find /lib/modules/\$(uname -r) -name '*.ko' | sed -e "s#\\/lib\/modules\/\$(uname -r)\/##g"
else
find /lib/modules/\$(uname -r) -name '*.ko' | sed -e "s#\/lib\/modules\/\$(uname -r)\/##g" | grep \$2
fi

else
/sbin/modprobe \$@
fi
EOF
Но этого мало. Теперь сделаем его исполняемым, и пропишем алиас в систему.
chmod +x /sbin/modprobe.sh
alias modprobe=/sbin/modprobe.sh
echo "alias modprobe=/sbin/modprobe.sh" >> /etc/bash.bashrc
Хотя в некоторых случаях и этого будет не достаточно. Если адрес к modprobe жестко указан в Makefile, то зайдите в директорию проекта и выполните следующее.
cp Makefile Makefile.save
sed -i -e 's/^MODPROBE.*/MODPROBE := \/sbin\/modprobe.sh/g' Makefile

Enhanced by Zemanta

среда, 13 июня 2012 г.

Содержим в актуальном состоянии WEB Server на Debian


Если вы используете стабильную ветку Debian на момент написания этой статьи это Squeeze, и желаете иметь актуальные версии программ составляющих LAMP или у кого то может быть LNMP то вам прийдётся по душе репозиторий dotdeb.org

После его подключения у вас будут обновлены следующие пакеты, если конечно были до этого установлены.

mysql-5.5/
mysql-dfsg-5.1/
nginx/
percona-toolkit/
php5/
php5-pecl/
pinba-mysql-engine/
redis/
ruby-passenger/


Всё достаточно просто.
Достаточно прописать репозиторий в /etc/apt/sources.list , и добавить в apt его ключ.
При обновлении системы вышеуказанные пакеты будут обновляться из repo. dotdeb.org.
Пример для Debizn Squeeze
cat >> /etc/apt/sources.list <<EOF
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
EOF

wget http://www.dotdeb.org/dotdeb.gpg && cat dotdeb.gpg | sudo apt-key add -

apt-get update
apt-get dist-upgrade -y

Выбираем самое быстрое зеркало обновлений в Debian

Иногда случается так, что в вашем распоряжении оказывается се самый молодой сервер, система на котором успела уже изрядно устареть. При всём при этом находится чёрти где, и зеркало обновлений выбрано не лучшим образом, оно медленное или вовсе не доступное.

В этом случае нам может помочь программа apt-spy. В дефолтовой конфигурации её нет поэтому установим её из текущего репозитария. 

apt-get update
apt-get install apt-spy

понедельник, 4 июня 2012 г.

Передача данных по нестабильном каналу через SSH

Намедни мне пришлось на не очень стабильном канале передавать кучу разрозненных файлов. И всё бы ничего, запаковать в архив, и передать  опцией докачки, делов то. Но не всё так просто, если на диске для архива не достаточно места. Вы скажите есть же rsync, но это чудо природы виснет на больших бинарных файлах при не стабильном канале, и к тому же не умеет рисовать прогресс бар.

Я нашел достаточно удобный способ решения этой проблемы.

Для начала на обеих машинах должны быть установлены следующие пакеты: openssh-server, openssh-client, tar, bzip2, pv, screen, rsync

Установить их можно так:

Для Debian/Ubuntu
apt-get install -y openssh-server openssh-client tar bzip2 pv screen rsync

Для RHEL/CentOS
yum install -y openssh-server openssh-clients tar bzip2 pv screen rsync

Кстати. Все команды лучше запускать в screen он доступен в пакетной практически всех дистрибутивах.

Итак зайдём по SSH на 1ый хост, и запустим screen.

Не забудьте заменить "$HOST1" "$HOST2"  на свои адреса хостов, а /mnt/data/ на свой путь к данным.
 Для тех кто не очень понимает bash синтаксис поясню что делает этот скрипт.

tar'om мы сжимаем содержимое директории /mnt/data/ и с помощью ключа "-" отправляем его в стандартный поток вывода, но не выводим на дисплей,  а через пайп отправляем команде pv которая считает сколько данных через неё прошло, и выводит данные на экран. Таким образом мы будем наблюдать за процессом передачи данных. После подсчёта команда pv отправит данные в неизменном виде в следующий пайп который передаст данные ssh сессии где мы перейдём в корневой каталог и начнём распаковку tar'om уже на втором хосте. Переход в корневой каталог необходим по той причине, что при архивации tar вырезает / и из абсолютного пути мы получим относительный. 
После окончания сей мистерии следует проверить rsync'om все ли данные верно передались.


ssh "$HOST1"
screen
tar cjf - /mnt/data/ | pv | ssh root@"$HOST2" "cd / && tar xjf - "
rsync -vcazr -e ssh /mnt/data root@"$HOST2":/mnt/
Теперь следует обговорить screen он умеет многое, и достоин отдельной статьи.
Сейчас о его устройстве вам следует знать 4 вещи.

ctrl a d # Используется для того чтобы свернуть терминал
screen -ls # Используется для того чтобы просмотреть список существующих терминалов
screen -r pid.pts-0.hostname # Используется для того чтобы вернуться в указанный терминал
screen -r # Используется для того чтобы вернуться в терминал если он открыт у вас один

На сим всё.

Могу сказать только что на сильно проседающем канале 6GB данных за ночь передались безошибочно.



Enhanced by Zemanta

понедельник, 14 мая 2012 г.

VirtualBox - Восстановление работоспособности после обновления ядра в Debian/Ubuntu

VirtualBox
VirtualBox (Photo credit: Wikipedia)













Если в dmesg вы вдруг обнаружили запись:
dmesg | grep 'warning: `VirtualBox'
[  429.050250] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
Значит скорее всего у вас обновилось ядро в системы и вам нужны новые header'ы ядра. Установить их достаточно просто.

apt-get install linux-headers-$(uname -r) -y --force-yes

Теперь нужно перезапустить сервис отвечающий за драйвера VirtualBox'a если будет необходимо он мам пересоберёт модули.
/etc/init.d/vboxdrv restart
Stopping VirtualBox kernel modules:.
Starting VirtualBox kernel modules:.

Enhanced by Zemanta

четверг, 10 мая 2012 г.

Уеличение файловой системы ext4 поверх LVM на примере CentOS 6.2

Итак CentOS по умолчанию для системы использует LVM, что правильно для кооперативных продуктов.

Для начала посмотрим сколько у нас израсходовано ресурса файловой системы.
df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       7.4G  7.4G   0G   100% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             485M   45M  415M  10% /boot
И о ужас мы использовали всё место на диске. Что же делать, но погодите у нас же используется VLM так что не расстраиваемся и принимаемся за работу.

суббота, 5 мая 2012 г.

Настройка sendmail в CentOS для отправки почты с localhost


Многие сталкивались с проблемой отправки сообщений с сервера из bash/perl/python/php/etc...

На самом это достаточно просто.
Достаточно поставить sendmail.
yum install sendmail sendmail-cf -y

chkconfig --level 345 sendmail on

/etc/init.d/sendmail start
Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]
В принципе вы уже можете отправлять почту, но по умолчанию в конфигурации указано что вы отправляете почту с хоста localhost.localdomain


понедельник, 16 апреля 2012 г.

Устанавливаем USVN на Debian Squeeze x64


Прежде чем приступим к установке, необходимо понизить версию php до версии 5.2 как это сделано в статье Понижение версии php5.3 до php5.2 в Debian 6 squeeze поскольку USVN сделан на старой версии Zend'a которая не умеет работать с php5.3

Когда будет устанавливаться MySQL-Server, нужно будет придумать и ввести пароль MySQL Root. Запомните его, или запишите.
apt-get update
apt-get install -y subversion php5 php5-cli php5-mysql mysql-server mysql-client apache2 libapache2-mod-php5 \
 php5-common php5-curl php5-gd php5-mcrypt php5-suhosin libapache2-mod-encoding libapache2-svn

Удалим дефолтовый index.html чтобы не мешался, и включим модуль rewrite.
rm /var/www/index.html 
git clone https://github.com/usvn/usvn.git /var/www/
mkdir /var/www/files/
chown -R www-data:www-data /var/www/
a2enmod rewrite
/etc/init.d/apache2 restart

четверг, 5 апреля 2012 г.

Отправка SMS с сервера через sms шлюз smsc.ru


Недавно для системы мониторинга мне приспичило сделать sms оповещение.
Поскольку сервер мониторинга лежит в Америке использовать usbмодем нет ни какой возможности, по этому выбор пал на sms шлюз в интернете.

Я решил воспользоваться услугами http://smsc.ru.

У них сравнительно не дорогие цены, и удобное API

Всё что нужно для использования, это зарегистрироваться, оплатить счёт, заполнить поля логина, пароля и номера телефона или телефонов. 
Учтите чтобы лог писался файл /var/log/sms.log должен иметь права на запись для пользователя от которого вы запускаете скрипт.



Все параметры которые вы передадите скрипту будут восприняты как тело сообщения.

Пример commands файла для nagios /etc/nagios3/commands.cfg






Enhanced by Zemanta

четверг, 29 марта 2012 г.

Обновляем PHP в Centos 5 до версии 5.3


Для для обновления нам понадобится подключить репозитарий содержащий нужную нам ветку php.
cat > /etc/yum.repos.d/CentOS-Testing.repo <<EOF
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/\$releasever/testing/\$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*
EOF
Теперь мы сохраним список установленных модулей PHP, удалим существующие модули из системы, и на базе сохранённого списка, установим новые модули PHP.
rpm -qa |grep php > old_php.log
yum erase php-* -y
yum --enablerepo=c5-testing install $(cat old_php.log \
 | sed -e 's/-5.*$//g' | sed -e 's/php/php53/g' \
 | awk '{ printf $1" " }') -y

На этом обновление PHP завершено.
Проверим версию установленного PHP.
php -v
PHP 5.3.3 (cli) (built: Feb 22 2012 19:38:14) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Осталось перезапустить WEB сервер.

/etc/init.d/httpd restart





Enhanced by Zemanta

вторник, 14 февраля 2012 г.

Включаем SSL в Apache2 для Debian/Ubuntu

По этой теме уже многие писали.
Но как правило это достаточно большие статьи которые описывают в сущности простое действие.


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

Пользоваться им достаточно.
Качаем скрипт, делаем его исполняемым,  смотрим доступные сайты на web сервере, и передаём первым параметром имя файла vhost сайта.

понедельник, 13 февраля 2012 г.

Установка JRE и Java Plugin для установка JRE и Java Plugin для Firefox в Ubuntu


Если вы уже пытались установить Java Plugin для Firefox в Ubuntu и получили ошибку:
Fixed(Исправлено)
Didn't find JVM under /home/username/.mozilla/plugins
firefox: ../../../../src/plugin/solaris/plugin2/common/JavaVM.c:104: 
InitializeJVM: Assertion `foundJVM' failed.
или
Fixed(Исправлено)
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
то эта статья для вас.

пятница, 27 января 2012 г.

Простейшая Samba на Debian без головнйо боли

Случается такое, что нужно очень быстро развернуть файлохранилище, а времени копаться в настройках самбы категорически некогда.
Если у вас такой случай тогда эта статейка для вас.

Начнём с начала )))
Установка
apt-get install samba -y
#На всякий случай скопируем оригинальный конфига# 
cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
#Создадим директории на которые будем ссылаться в конфиге#
mkdir -p /srv/smb/pub/
mkdir -p /srv/smb/archive/
#Поскольку Samba у нас будет работать от пользователя nobody присвоим хранилищу его права#
chown -R nobody /srv/smb/


среда, 25 января 2012 г.

Установка APCUPSD на Debian 6 Squeeze

English: Logo of American Power Conversion
English: Logo of American Power Conversion (Photo credit: Wikipedia)










Все мы рано или поздно задумываемся о парашюте для сервера.
Я, как и многие предпочитаю использовать для этой цели оборудование фирмы APC поскольку у них достаточно качественное железо, и имеется admin frendly демон под названием apcupsd для управления бесперебойником.

Если наши вкусы в этом вопросе совпадают то подключаем сервер через UPS, и соединяем USB-Data кабелем.
Теперь можем заглянуть в /var/log/dmesg там иы должны увидеть что то подобное.
cat /var/log/dmesg | grep -i 'American Power Conversion'
[    1.570614] usb 6-2: Manufacturer: American Power Conversion
[    2.174944] generic-usb 0003:051D:0002.0001: hiddev0,hidraw0: USB HID v1.10 Device \
 [American Power Conversion Back-UPS ES 525 FW:851.t3.I USB FW:t3] on usb-0000:00:1d.1-2/input0

пятница, 20 января 2012 г.

Понижение версии php5.3 до php5.2 в Debian 6 squeeze


Для начала соберём список всех php модулей установленных в систему, и удалим их.
PHP=`dpkg -l | grep -i php | awk '{ printf $2" " }'`
apt-get purge ${PHP}
Добавим в sources.list старый репозиторий


cat >> /etc/apt/sources.list <<EOF
deb http://archive.debian.org/debian/ lenny main
deb-src http://archive.debian.org/debian/ lenny main
EOF

apt-get update
Объясним системе что нас интересует php версии ни как не выше 5.2

среда, 18 января 2012 г.

Web файлохранилище XtraFile на Debian

Мне кажется время от времени всем хочется иметь сервис хранения файлов по типу RapidShare, DepositFiles, iFolder и прочего, но только без лишних проблем, ограничения скорости и подобных неприятностей. Но всё ни как не доходили руки написать, или хотябы поискать готовые решения. На самом деле готовые решения уже есть omploader, XtraFile, Jyraphe, FileZ.

Сегодня я хотел бы рассказать об одном из таких сервисов. Я решил остановиться на XtraFile хоть он уже давненько не развивается, но чем то он мне приглянулся.

Для начала установим всё что нужно
apt-get update
apt-get install -y unzip php5 php5-cli  php5-mysql mysql-server \ 
 mysql-client apache2 libapache2-mod-php5 libfcgi-dev libmhash-dev sudo
a2enmod actions rewrite
/etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .

Если у вас Debian 6 Squeeze то вам прийдётся понизить версию php5.3 до php5.2

вторник, 17 января 2012 г.

Debian GNU/Linux 6.0 squeeze x86_64 + vsFTPd(RUS)

По мативам одной из предыдущих статей CentOS release 6.2 x86 + vsFTPd(RUS) в купе с вопросами а почему ни на Debian. Вот вам на Debian господа хорошие.

Итак нам нужен FTP сервер с поддержкой русской кодировки, с условием, чтобы каждый пользователь видел только свою домашнюю директорию (chroot).
apt-get install vsftpd -y
проверим текущую версию демона
vsftpd -v
vsFTPd version 2.3.2
Ставим необходимые компоненты для сборки
apt-get build-dep vsftpd -y

понедельник, 16 января 2012 г.

Интеллект, это единственное что человек имеет на самом деле. Но чтобы сохранить и приумножить его, человеку необходимо здоровое, и если не вечное, то как можно долгоживущее тело.
Зачем планомерно употреблять алкоголь и наркотики для временного ухода от реальности, если можно изменить реальность по своему вкусу, и прибывать в ней постоянно.

пятница, 13 января 2012 г.

Установка locales Debian/Ubuntu

Если вам достался сервер, у которого, не установлена русская локаль,
и он временами сыплет подобными предупреждениями.

Для ubuntu:
...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "ru_RU.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously deselected package bash-completion.
(Reading database ... 23221 files and directories currently installed.)
Unpacking bash-completion (from .../bash-completion_1%3a1.3-1ubuntu3_all.deb) ...
Processing triggers for man-db ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up bash-completion (1:1.3-1ubuntu3) ...

...

Установка Java Plugin для Firefox в Linux

Этот способ подходит для большинства Linux систем, за исключением Ubuntu, для неё воспользуйтесь статьёй [Установка JRE и Java Plugin для Firefox в Ubuntu]

Для начала скачайте Java Runtime Environment

Выберите там:
  • Linux (self-extracting file) - если у вас 32х битная система
  • Linux x64 *                        - если у вас 64х битная система

cd ~/get                          # перейдём в директорию в которую мы установили JRE
ls jre-*                          # посмотрим как называется файл
jre-6u30-linux-i586.bin           #
chmod +x jre-6u30-linux-i586.bin  # сделаем его исполняемым
./jre-6u30-linux-i586.bin         # и выполним
Скопируем плагин в директорию firefox
mkdir ~/.mozilla/plugins/
cp `find ./dir/ -type f -name libnpjp2.so` ~/.mozilla/plugins/

Осталось перезапустить firefox

Протестировать работоспособность Java Plugin можно тут.

Enhanced by Zemanta

четверг, 12 января 2012 г.

Создание виртуальной машины на базе OpenVZ в Proxmox



Для создания виртуальной машины на базе OpenVZ, в главном окне Proxmox нажимте на кнопку [Create TC]


Устанавливаем Proxmox VE на Debian Squeeze(amd64)


Вообще хочется отметить что Proxmox VE проще установить из специально подготовленного ISO-файла, но в некоторых случаях, например если у вас файл хранилище более 2Тб, это ограничение MBR. Если у вас диск на 3Тб либо RAID большего объёма, вам придётся использовать файловую таблицу GPT а соответственно ставить голую систему на которую придётся накатить Proxmox в ручную.

Почему именно Proxmox?
  1. Возможность использования как KVM так и OpenVZ.
  2. Web vnc-client.
  3. Возможность кластеризации.
  4. Неплохая система бэкапов виртуальных машин.

Установка