27 дек. 2011 г.

Добавление маршрута для VPN

Чтобы у Вас был и инет и доступ к локальным ресурсам виртуальной сети, нужно правильно настроить маршруты. Всё нижесказанное справедливо для Linux, а точнее Ubuntu Linux.

А точнее, добавить к обычным маршрутам маршрут для VPN. Предположим, у нас адрес сети внутри VPN 10.0.x.x, а VPN поднимается на интерфейсе ppp0. Тогда нужно добавить такой маршрут (после включения VPN):

route add -net 10.0.0.0/16 dev ppp0

Таблица маршрутов по команде route -n должна быть что-то типа такого:


Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         10.10.0.1       0.0.0.0         UG    0      0        0 eth0
10.10.0.0       0.0.0.0         255.255.240.0   U     1      0        0 eth0
10.232.73.0     10.10.0.5       255.255.255.0   UG    0      0        0 eth0
157.199.8.0     10.10.0.5       255.255.255.0   UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
10.0.0.0        0.0.0.0         255.255.0.0     U     0      0        0 ppp0

Самый последний - наш маршрут для VPN.

25 дек. 2011 г.

Восстановление данных из файлов .chk


Если данные пропали, а после них появились какие-то непонятные скрытые папки FOUND.000, FOUND.001 и т.д., а в них файлы file0001.chk, file0002.chk… Что случилось?

Это означает, что вы запустили Проверку диска в Windows без отмеченной галочки Автоматически исправлять системные ошибки:


Так вот чекалка прочекала, но если есть какие-то файлы, которые она не поняла, куда надо притулить, то она их пихает в эти вот самые .chk.

Сделать из .chk файлов нормальные несложно - открываем их текстовым редактором, например, Блокнот. Далее видим мешанину символов. 

НО каждый тип файла имеет свою т. н. сигнатуру. Сигнатура файла – это константа, некий постоянный набор символов, позволяющий однозначно идентифицировать, какого типа данные содержатся в данном файле. Опять же, изъясняясь проще – это фрагмент кода в файле, по которому однозначно можно понять, что это за файл, какой программой он создан и другую информацию.

К примеру, exe-файл всегда начинается с символов «MZ», Rar-архив имеет в своём коде «Rar!» и т.д.


Т. е. можно пересматривая файлы вручную смотреть эти сигнатуры и при нахождении оных переименовывать файлы. Это хорошо, но если файлов много? Тут на помощь нам прийдет утилита ChkParser. Скачать CHKParser можно тут.

Интерфейс программы прост:



Командой Select выбираем папку и Go! - даем команду парсить. Программа сама найдет и переименует файлы согласно найденным в них (ну или не найденным :) ) сигнатурам.

Восстановление удаленных данных и с флешки или жесткого диска (HDD)

Столкнулся я недавно с такой проблемкой. Принесли мне флешку, которую перепахал вирус, и попросили восстановить фотки с нее. 

Вначале попробовал открыть в линуксе - ничего хорошего не вышло. Далее начал рыться в поисках проги. Нашел прогу с названием, говорящим самим за себя - Recover My Files. Да еще и портабельная - гуд. Скачал, запустил - и она мне помогла. 

После запуска видим мастер, в котором можно выбрать что восстанавливать - конкретно какую-то папку или целый диск.



Что такое Wildcard mask

Недавно столкнулся с таким термином и - к своему стыду - сразу не понял, что это такое.

Willcard mask – это перевернутая маска, или как ее еще называют – инверсная. Эта маска показывает какая часть (сколько бит) IP адреса могут меняться. Она может применяться при объявлении сетей в протоколах маршрутизации таких как IGRP, EIGRP, OSPF, в списках доступа. Принцип работы маски тоже такой же как у обычной маской, за исключением того, что вместо единиц ставятся нули, а вместо нулей единицы.

Например: Адрес сети 192.168.1.0 маска 255.255.255.0, в двоичном виде это выглядит так

11000000.10101000.00000001.00000000 - 192.168.1.0      Адрес сети 

11111111.11111111.11111111.00000000 – 255.255.255.0  Обычная маска 

 Диапазон адресов : 
от 11000000.10101000.00000001.00000001 - 192.168.1.1 
до 11000000.10101000.00000001.11111110 - 192.168.1.254

Как посчитать Willcard mask? А очень просто, для этого мы просто в обычной маске пишем вместо единиц нули, а вместо нулей единицы.

Обычная маска 255.255.255.0 будет выглядеть
11111111.11111111.11111111.00000000 - 255.255.255.0   Обычная маска 00000000.00000000.00000000.11111111 - 0.0.0.255          Это и будет Willcard mask

Диапазон адресов такой же как и с обычной маской
11000000.10101000.00000001.00000000 - 192.168.1.0       Адрес сети 
00000000.00000000.00000000.11111111 - 0.0.0.255          Willcard mask 
от 
11000000.10101000.00000001.00000001 - 192.168.1.1 
до 
11000000.10101000.00000001.11111110 – 192.168.0.254 

Для маски 255.255.252.0 Willcard mask будет 0.0.3.255,

255.255.240.0        -     0.0.15.255 
255.0.0.0                -     0.255.255.255 
255.255.255.252    -     0.0.0.3

Вот здесь нашел полезную штуку - калькулятор масок http://www.subnet-calculator.com/wildcard.php


23 дек. 2011 г.

Собрать программу из исходников в определенную папку

Для этого вначале идем, напрмиер в каталог нашего пользователя - /home/user/ Затем скачиваем файл. (Мне нужно было собрать Sphinx в /opt/sphinx) Сделать это можно либо wget-ом если есть прямая ссылка, либо консольным браузером lynx. Либо залить на сервак командой scp (http://geckich.blogspot.com/2011/11/scp-lanwan.html).
Распаковываем сырцы:

tar -xzvf sphinx-2.0.2-beta.tar.gz

Переходим в папку с исходниками:

sphinx-2.0.2-beta

Далее конфигурируем:

./configure --prefix /opt/sphinx

Параметр --prefix как раз указывает, в какую директорию устанавливать. Далее ждем, пока оно отконфигурируется. Если будут ошибки - исправляем и повторяем. Далее собираем бинарники:

22 дек. 2011 г.

В cPanel PHPMyAdmin вызывает циклическую переадресацию (redirect loop)

Зашли вы в cPanel через веб-морду, клацаете на PHPMyAdmin, вводите свой логин и пароль - и всё) браузер колбасит редайрект бесконечно.

Происходит это потому что cPanel не может отдать сессию PHPMyAdmin. Т. е. он вроде как авторизуется типа всё окей, а сессию не получает.

Решение такой траблы не очень очевидно, но просто - поменяйте пароль на этого пользователя в cPanel.

21 дек. 2011 г.

Блокирование рекламы в браузере Google Chrome

Недавно наткнулся на такую очень полезную инфу - пусть и не админскую, но она мне очень облегчила жизнь.

Вам не надоела флеш-реклама на веб-сайтах? Мне уже очень и очень :) Если и Вам тоже, то заходим в браузер и для начала в строке адреса набираем:

chrome://flags

На этой страничке перечислены всякие хорошие и не очень плюшки хрома, которые не активны по-умолчанию.

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



20 дек. 2011 г.

Кекс на сметане

В общем, сделали кекс по такому рецепту - получилось очень вкусно.

Продукты:
  • 1 стакан сметаны
  • 1 стакан сахара
  • 3 яйца
  • 1,5стакана муки
  • 1,5ч.л соды гашеной
Взбить яйца с сахаром, добавить сметану, соду, взбить. Затем добавить муку и вымешать. Тесто по консистенции должно быть как густая сметана. Выложить в форму для хлебопечки, можно в тесто добавить сухофрукты, мелкопорезанные яблоки, мороженную вишню. Выпекать 60мин.+30мин. (или до готовности) на режиме «выпечка».

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

15 дек. 2011 г.

Создание программного RAID на CentOS

Всё нижеописанное валидно для CentOS 5. Для других систем пути или какието детали могут отличаться - будьте внимательны.

Смотрим, что у нас с примонтированными разделами.

df -h

Если диски, которые мы хотим использовать смонтированы - отмонтируем их, предварительно слив куда-нибудь информацию.

Далее программой fdisk можно создать необходимые разделы на наших дисках.

После создаем рейд командой:

mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdf1 /dev/sdh1

Где --level - тип raid. Может быть linear, 0, 1, 5, 6. --raid-devices - количество дисков в рейде, а затем перечисление, каких именно.

Проверяем, что всё создалось нормально:

cat /proc/mdstat

Должно быть что-то типа такого:


md0 : active raid0 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

Создаем файловую систему на нашем рейд-разделе (ext3 в моем примере):


mkfs.ext3 /dev/md0

Далее необходимо создать конфиг для mdadm командой:

mdadm --detail --scan --verbose > /etc/mdadm.conf

Создаем папку, куда будем монтировать наш новый рейд-раздел:

mkdir /raid

Монтируем:

mount /dev/md0 /raid

И, напоследок, не забываем добавить запись в fstab:

/dev/md0 /raid ext3 defaults 1 2

Всё. Перезагружаемся и исправляем глюки, если таковые будут.

8 дек. 2011 г.

Исправление ошибки Cannot open the disk or... VMware ESX cannot find the virtual disk... в VMware vSphere.

Недавно была такая проблема – виртуальная машина на VMware, отказывалась запускаться и выдавалась ошибка как на этом скриншоте (скриншот не мой - свою ошибку я не заскриншотил ибо надо было быстро всё восстанавливать):



Из данной ошибки видно, что ESX не может найти виртуальный диск <vm_name>.vmdk и соответственно виртуальная машина не запускается. <vm_name> - имя искомой вирт. машины. Поковырявшись в браузере датастора, я обнаружил, что есть файл <vm_name>-flat.vmdk, на котором - слава японским богам - судя по размеру были все данные. Поковырявшись в гугле, я обнаружил, что <vm_name>.vmdk - это конфиг, а <vm_name>-flat.vmdk - это собственно сам файл с данными. Приступим к восстановлению этого пропавшего конфига:
1) При помощи консоли (ssh или putty) заходим по ssh на ESX хост:
ssh root@<hostname_IP>

7 дек. 2011 г.

Установка расширений, модулей для Perl с помощью CPAN (CPAN.pm)

Здравствуйте, уважаемые читатели :)

Вот недавно был мелкий таск - установить модуль Tie::Handle::CSVдля Perl. Я в Перле как-то так ни бум-бум) потому сразу начал изучать тему и нашел такое простое и действенное решение - установил командой:

perl -MCPAN -e 'install Tie::Handle::CSV'

Далее ответил на вопросы по начальной настройке установщика - там всё понятно из описания - и всё :) Делов-то.

Добавление нового сайта в Virtualmin на сервере с Nginx


При добавлении нового сайта в Virtualmin вылезает пара косяков, если вы используете в качестве веб-сервера не Apache, а Nginx.

Последовательность действий:

1) Зайдите на веб-морду Виртуалмина, например https://yourdomain.com:10011/ и залогиньтесь. Затем нажмите Create Virtual Server  и введите данные о вашем сайте. Не забудьте ввести в поле
Default database name имя новой базы. Также можно убрать флажок Allow Mailman mailing lists? - по-умолчанию будет ругаться, если оставить :) Пецкаем Create Server и ждем окончания всех процедур.

2)  Идем в Edit Databases и создаем БД с именем, которое ввели в шаге 1 - БД не создается автоматически.

3) Теперь косяки. Статический контент отображаться не будет просто так :) Надо сделать следующее.

Идем по SSH на наш сервер, лезем в конфиг Nginx:

nano /etc/nginx/nginx.conf

2 дек. 2011 г.

Рецепт вкусного грога :)

Вот такую вот статью запостю в админский блог :)

В общем, рецептик такой:

- 50 мл темного рома;
- 100 мл теплой воды;
- половина свежевыжатого лимона (если лимон большой и сочный, то хватит четверти вполне)
- ложка меда.

Сам пробовал так делать - получается отличное пойло :) Нагреваем воду (до кипения или нет, но чтобы была теплая), разливаем по кружкам и добавляем по 50 мл рома, сок лимона и ложку меда. Выпиваем не быстро. наслаждаясь вкусом :)

25 нояб. 2011 г.

Как узнать версию CentOS

Очень просто :)

rpm -q centos-release

Просто команда uname -a на сервисах типа амазона не показывает почти ничего полезного.

Также:

cat /etc/redhat-release

lsb_release -a

24 нояб. 2011 г.

Ошибка апача: [warn] _default_ VirtualHost overlap on port 443, the first has precedence

Такая ошибка вылазит при перезагрузке или переконфигурировании апача.

Причина такой ошибки очень простая - в конфиге апача (httpd.conf, apache2.conf - смотря какой линукс у вас) не хватает строчки:

NameVirtualHost *:443

Добавьте - и будет вам счастье :)

Настройка mod_proxy в Apache

В общем, был такой таск: есть у нас локальная сетка и маршрутизатор Peplink. В локальной сетке на многих тазиках крутятся сайты, которые должны быть доступны извне. Как это сделать? Разносить по портам - не вариант, т. к. пользователю неудобно всё-таки набирать  URL типа блаблабла:8081. Решение - использовать HTTP-прокси, а на тазик с ним открыть в маршрутизаторе порты 80, 443. Для проксирования обычно используют nginx, но апач тоже отлично справляется с этой задачей.

Так сложилось, что тазик с прокси был Убунтой (клиент категорически н ехотел работать с другими дистрибутивами Linux), а "в Убунте всё не как у людей" (с) :) потому конфигурация её несколько отличается от других дистрибутивов. Но, приняв философию Убунты, я понял, что многие решения в ней очень даже удобны, хотя некоторые мне не нравятся - например, отсутствие пользователя root. Но это уже философия, грозящая холиваром, потому перейдем к делу :)

В убунте манипулирование апачем происходит с помощью глобальных команд: включение/выключение виртуал хостов - a2ensite / a2dissite с одним аргументом - пути к конфигу, в котором прописан виртуал хост. Включение/выключение модов или расширений происводится командами a2enmod / a2dismod.

В общем, алгоритм работы такой:

1) Нужно включить необходимые модули апача. Устанавливаем:

sudo apt-get install libapache2-mod-proxy-html libapache2-mod-gnutls

Разрешаем:

sudo a2enmod proxy
sudo a2enmod ssl
sudo a2enmod cache
sudo /etc/init.d/apache2 restart

2) Делаем конфиг виртуал хоста (по 1му файлу на 1 хост!) и помещаем его в /etc/apache2/sites-available. Пример HTTPS конфига проксирования на тазик с Confluence - это такая джавовская веб-морда для программистов и не только, работающая на Apache Tomcat (с портом 8444):

22 нояб. 2011 г.

Расширение EBS Volume на Amazon AWS

Амазон славится своей масштабируемостью. И вот если нам стало мало места на нашем виртуальном жестком диске, то его очень легко увеличить.

Заходим в AWS, например: https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Volumes

Тут у нас два пути: 1 - создаем снапшот со старого диска, затем разворачиваем его на новом (но придется вручную увеличивать его объем, т. к. он будет как у старого, а остаток пространсва - неразмеченным), 2 - создать пустой диск и скопировать, например rsync'ом данные со старого диска на новый.

18 нояб. 2011 г.

Установка и использование антивируса Clamav

Бывает, что rkhunter и chkrootkit недостаточно чтобы точно определить, есть ли зловредный руткит или типа того в вашей системе. Тут нам на помощь приходит антивирус для Linux - Clamav.

Установка. В зависимости от дистрибутива используем одну из следующих команд:

yum install clamav, urpmi clamav, apt-get install clamav, pacman -S clamav

Для обновления антивирусных баз юзаем команду:

freshclam

Для сканирования каталога:

clamscan -r <каталог>

 Также можно использовать следующие опции:

- управление информационными сообщениями
  • --verbose 
  • --no-summary (не выдавать итоговый отчёт) 
  • --infected (сообщать только об обнаруженных вирусах) 
  • --quiet (об обнаруженных вирусах также не сообщается!) 
  • --bell (звенеть при обнаружении вируса; звенит даже при --quiet) 
  • --debug 
  • --log=имя-файла (файл дополняется) - очень полезная штука, иначе вы не узнаете, что у вас заражено в принципе, если файлов много 
  • --stdout 
- действия при обнаружении вирусов
  • --move=имя-каталога (перемещать инфицированные файлы в указанный каталог; д.б. права на запись) 
  • --copy=имя-каталога (копировать инфицированные файлы в указанный каталог; д.б. права на запись) 
  • --remove (удалять файлы с вирусами; не советую)

Использование hosts.deny и hosts.allow

Бывают ситуации, когда надо заблокировать доступ злоумышленникам на наш компьютер. Если разбираться с правилами iptables не нужно, то самое простое решение - добавить ip злоумышленника в hosts.deny. А hosts.allow служит как раз для противоположной цели

Синтаксис этих файлов очень прост:

<служба или ALL>: <IP-адрес или имя хоста или подсеть>

Так, например, если мы хотим блокировать все smtp-пакеты, идущие к нашему серверу от mail.test.ru, нам необходимо ввести в файл hosts.deny следующую строчку:

smtp: mail.test.ru

Для ssh:

sshd: 210.123.134.56

А если мы хотим запретить подключение по ssh всем, кроме локальной сети, то:

/etc/hosts.deny
sshd: ALL

/etc/hosts.allow
sshd: 192.168.1.

В этом примере 192.168.1. значит 192.168.1.0..255
Всем удачи :)

14 нояб. 2011 г.

SCP - утилита копирования файлов по LAN/WAN

Часто возникает задача скопировать файл (например, конфиг) с одной Linux машины на другую.  Если надо скопировать 1-2 файла, то поднимать FTP сервер нет смысла - проще воспользоваться командой SCP, которая копирует файлы по протоколу SSH.

Пример копирования из машины-источника (назовем ее так) на нашу:

scp -P 230 root@192.168.1.5:/etc/ssl/server.key /etc/ssl/

10 нояб. 2011 г.

Установка SVN + mod-dav в Linux

Недавно был такой таск - установить на клиентский тазик связку svn + mod_dav для апача с соединением по HTTPS. ОС там была Ubuntu, а в ней настройка апача не совсем как везде :) Так что смотрите.

Пошагово делаем так:

1. Устанавливаем subversion:

sudo apt-get install subversion libapache2-svn apache2

2. Включаем ssl модуль для апача. Если нам ssl не нужен, то пропускаем пункты 2-4.

sudo a2enmod ssl

9 нояб. 2011 г.

Настройка шлюзов при VPN соединении - если при подключении к VPN пропадает интернет

Сегодня столкнулся с такой вот не совсем очевидной и в то же время простой проблемой: Управлял я Windows 2008 сервером по RDP. И мне понадобилось соединиться по VPN с другой сетью (PPTP). Создал я VPN подключение, включил его... И доступ по RDP пропал :) Фишка оказалась в том, что при включении RDP винда по умолчанию роутит все пакеты на шлюз VPN'a, а не на наш старый. Я уже думал открывать консоль и писать всякие там роуты, но нашел способ попроще.

Заходим в Панель управления, Цент управления сетями и общим доступом, Свойства адаптеров и вызываем параметры нашего VPN-соединения. Далее клацаем на вкладке Networking (как по-русски - не помню :) ), и вызываем свойства протокола TCP/IP.


7 нояб. 2011 г.

Подключение репозитория Epel к CentOS 6.x

Подключение репозитория Epel 6.7 к CentOS 6.x. Идем на сайт Эпеля, и скачиваем пакет или скармливаем установщику по URL

http://ftp.tlk-l.net/pub/mirrors/fedora-epel/6/i386/repoview/epel-release.html

rpm -Uvh http://ftp.tlk-l.net/pub/mirrors/fedora-epel/6/i386/epel-release-6-7.noarch.rpm

14 окт. 2011 г.

Ошибка запуска Rkhunter - ругается на BINDIR ~/bin


Происходит это потому что не в конфиге ошибка, а в переменной окружения папка /root/bin указана как ~/bin. Вот:

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/share/java/apache-ant/bin:/opt/java/bin:/opt/java/db/bin:/opt/java/jre/bin:/usr/bin/vendor_perl:/usr/bin/core_perl:~/bin

Для системы это одно и то же, а вот ркхантер так не понимает... меняем PATH на нормальный командой:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/share/java/apache-ant/bin:/opt/java/bin:/opt/java/db/bin:/opt/java/jre/bin:/usr/bin/vendor_perl:/usr/bin/core_perl:/root/bin

Только свои ж значения подставьте после "="!!

6 окт. 2011 г.

Настройка mass virtual hosting для Apache (Linux)


В общем, идея масс виртуал хостинга состоит в том, что у нас есть папочка на сервере, мы в ней создаем подпапку с именем в виде названия нашего сайта - и всё, виртуальный хост готов, не надо править никакие конфиги и т. д. В моем случае папка для виртуал хостов была /srv/http/vhosts, затем название сайта, например site1.example.int, а вся начинка в подпапке сайта public. Т. е. заглавная страница сайта: /srv/http/vhosts/site1.example.int/public/index.php

Для реализации этого добавляем в конец конфига апача (httpd.conf) следующее:

RewriteEngine On
## Create a handle to convert upper or mixed-case to lower-case
RewriteMap lowercase int:tolower


##-----------------------------------
## where hostname has www prefix
##-----------------------------------
## Firstly create custom variable that contains the host without the www prefix
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule .? - [E=noWWWHost:%1]

30 сент. 2011 г.

Авторизация пользователя по ssh с использованием rsa-ключа

Есть такая фишка в ssh - авторизация пользователя не по паролю, а по ключу. Это удобно если... да просто удобно) если у вас куча серверов или несколько людей могут их админить. В общем, постановка задачи есть - выполняем.

1. Создание rsa-ключа.

Вначале на той машине, с которой хотите ходить везде (т. е. например, ваша рабочая) создаем пару ключей:
ssh-keygen -t dsa
 
Отвечаем на вопросики, даем или не даем (не рекомендуется, иначе зачем мы вс это делаем?) пароль на ключик.

Получаем пару файлов - публичный и приватный ключ. Публичный ключ, который мы будем копировать на сервера, на которые хотим заходить по ключу называется:
 
id_dsa.pub

2. User management

Далее опциональные шаги. Заходим на целевой сервер и:
1. Создаем юзера командой useradd name_of_user
2. Создаем пароль нашему юзеру командой passwd name_of_user
3. Добавляем пользователя в файл /etc/sudoers (если sudo не установлен и файлика нет - устанавливаем apt-get install sudo или типа того) после похожей записи рута и изменяем или комментируем строчку требования пароля:
 
Defaults !requiretty

Затем после строчки %sudo ALL=(ALL) ALL пишем:
name_of_user ALL=(ALL) NOPASSWD:ALL
 
Теперь команда sudo su - не будет запрашивать пароль.

3. Копирование ключа на удалённый сервер

Есть два пути:
 
а) копируем ключ автоматически. Для этого на сервере, где есть публичный ключ, выполняем:
ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote-host
 
где параметром -i передается путь в публичному ключу и кладется в папку .ssh указанного пользователя со всеми правами автоматически.
 
б) копируем вручную. Для этого заходим в хомяк пользователя на удаленном сервере, создаем там папку .ssh, а в ней файл authorized_keys, в который копируем наши публичные ключи - смотрите, чтобы каждый ключик был в одну строчку!
Изменяем владельца наших файлов/директорий - ссх очень чувствителен к этому.

chown -R name_of_user:name_of_user .ssh
chmod 700 .ssh
chmod 400 .ssh/authorized_keys
 
Всё, теперь мы можем зайти удаленно на наш сервер по ssh не указывая пароль нашего пользователя и командой sudo su - сразу превратиться в рута без вопросов :)

4. Способы авторизации на удалённом сервере по ключу

Один из способов был указан ранее.
Далее просто командой c указанием пути к ключу:
 
ssh -i /path/to/key/key.pem user@server
 
И ещё один вариант - добавить конфиг файл. Осбенно хорошо когда серверов несколько.
Добавляем в папку вашего пользователя на клиенте:
 
nano /home/your_user/.ssh/config
 
следующее:
 
Host server1 server1.company.com
Hostname 192.168.1.2
User username
IdentityFile /path/to/key/key1.pem

Host server2 server2.company.com
Hostname server2.com
User username
IdentityFile /path/to/key/key2.pem

И потом можно сразу заходить командами вида:

ssh server1

ssh server2

Update 1.

 
Столкнулся с ситуацией, когда всё проделанное выше не работало для удаленного сервера Oracle Linux 6.8 (аналог RHEL/CentOS 6.8) пока я не выполнил команды:
 
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
restorecon -R -v /root/.ssh
 
Несмотря на то, что Selinux был выключен.

Update 2.

 
Описанные в начале команды для новых систем Debian/Ubuntu не сработали. Потому создаём ключи другого формата:
 
Создаём ключи на сервере1:
 
ssh-keygen -t rsa -b 4096 -C "domain.com"
 
Копируем ключи на сервер2:
 

ssh-copy-id user@server2

Дролжны получить такой результат:

"

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@server2's password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'user@server2.

"

Проверяем:

ssh user@server2

Ссылки:

  1. http://www.beginninglinux.com/home/server-administration/openssh-keys-certificates-authentication-pem-pub-crt
  2. https://linuxhint.com/generate-ssh-key-ubuntu/

26 сент. 2011 г.

Автоматизация управления Snapshot'ами в VMWare vServer, vCenter

Если у вас много виртуальных машин на vServer'e, то создание новых снапшотов и удаление устаревших может стать очень рутинным занятием. Есть тулза, которая ставится вместе с сервером - VMware vCenter Orchestrator. Но её очень напряжно настраивать - для неё нужно настроить MSSQL Server, LDAP/AD и еще много чего) я запнулся на LDAP, т. к. структуры АД не было в той сети, в которой был сервер, а ADAM как-то странно себя вел на том сервере. И я нашел альтернативу :)  - примочку к Power Shell. Работало у меня всё под Windows Server 2003, а там нет по умолчанию павер шелла - выкачиваем его отсюда: http://support.microsoft.com/kb/968930/en-us

Затем качаем саму примочку - Power CLI: http://communities.vmware.com/community/vmtn/server/vsphere/automationtools/powercli


По умолчанию в Windows 2003 не разрешено выполнять скрипты PowerShell в соответствии с политиками выполнения сценариев (Execution Policy). Чтобы разрешить это, запустим консоль PowerShell и напечатаем:

Set-ExecutionPolicy RemoteSigned

Теперь можем пользоваться новой примочкой, запустив ее из меню Пуск/Программы.

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

1й - addsnapshots.ps1 :


Connect-VIServer ИмяСервера
get-vm | new-snapshot -name "AutoSnapshot"


20 сент. 2011 г.

Ruby Gem за прокси

Недавно столкнулся с проблемой при установке gem'a Rails:

gem install rails

ERROR: Could not find a valid gem 'rails' (>= 0) in any repository

путем гугла понял проблему:

gem install rails -V


Error fetching remote data: Errno::ECONNREFUSED: Connection refused - connect(2) (http://rubygems.org/quick/Marshal.4.8/rails-3.1.0.gemspec.rz)

Falling back to local-only install

ERROR: Could not find a valid gem 'rails' (>= 0) in any repository

ERROR: Possible alternatives: rails


Руби не прохавал настройки прокси :) пробиться через проксю помогла такая опция:

gem install rails -p http://proxy.com:3128

Вместо моего адреса пишите адрес вашего прокси, конечно.

Всем пока :)

15 сент. 2011 г.

Настройка Squid как High Anonymity(Elite) proxy

Немного теории. Есть такая штука - html headers ( http://en.wikipedia.org/wiki/HTTP_header ). Передавая которые, наш прокси сообщает очень много данных о себе целевым хостам.

Существует 2 типа анонимных прокси:
  • Anonymity - скрывает только IP клиента;
  • High Anonymity(Elite) proxy - скрывает вообще сам факт того, что клиент находится за прокси.
Настраивается High Anonymity(Elite) proxy очень легко: по статье на офиц вики  http://www.squid-cache.org/Doc/config/header_access/

Т. е. Оставляем только нужные нам html-хедеры, а остальные запрещаем (вариант 2):

header_access Allow allow all
header_access Authorization allow all
header_access WWW-Authenticate allow all
header_access Proxy-Authorization allow all
header_access Proxy-Authenticate allow all
header_access Cache-Control allow all
header_access Content-Encoding allow all
header_access Content-Length allow all
header_access Content-Type allow all
header_access Date allow all
header_access Expires allow all
header_access Host allow all
header_access If-Modified-Since allow all
header_access Last-Modified allow all
header_access Location allow all
header_access Pragma allow all
header_access Accept allow all
header_access Accept-Charset allow all
header_access Accept-Encoding allow all
header_access Accept-Language allow all
header_access Content-Language allow all
header_access Mime-Version allow all
header_access Retry-After allow all
header_access Title allow all
header_access Connection allow all
header_access Proxy-Connection allow all
header_access All deny all


Еще можно разрешить хедер Set-Cookie ибо без кукисов многие сайты не будут корректно проводить авторизацию пользователя и т. п.

После этого перезапускаем сквид, не забыв настроить права доступа и т. д. - то, что Вам еще нужно от прокси.

Протестить наш проксик можно с помощью сайта http://proxydetect.com/ (не забыв в настройках браузера вбить наш прокси).

После написание вышеописанного :) обнаружил более простой способ:

header_access Via deny all
header_access Proxy deny all

header_access X-Forwarded-For deny all

И всё :) не отсылая эти заголовки, наш прокси становится хай анонимным.

З. Ы. Конфиг валидный для сквиды 2.5 или 2.7. Для 3.х сквиды директива header_access заменяется на request_header_access и reply_header_access, т. е. нужно запрещать заголовки как для запроса, так и для ответа.

9 сент. 2011 г.

Установка веб-сервера Apache на Linux Gentoo с использованием разных версий php на разных виртуалхостах

Я не проггер, потому не могу сказать, какие там отличия у php 5.2 и php 5.3, но они есть и иногда возникает необходимость девелопить под ту или другую версии. Сейчас я поведаю вам, как это реализовать на одной машине с Gentoo Linux.

Для начала устанавливаем апач и оба пхп. Там надо немного поколдовать с  USE - у меня уже не сохранился лог моих мучений) но у вас всё получится - я уверен: оно, как правило, пишет чего ему не хватает и остается только подключить это.

Для того чтобы подключить два mod_php к разным apache на разных IP нужно две разных конфигурации для apache (да и два разных запущенных apache). В Gentoo, к счастью, это делается очень просто. Скрипт запущенный из /etc/init.d/ будет искать себе начальную конфигурацию в /etc/conf.d/ согласно своему префиксу: скрипт /etc/init.d/apache2 получит конфигурацию из /etc/conf.d/apache2, /etc/init.d/apache2.php52 из /etc/conf.d/apache2.php52, /etc/init.d/apache2.php53 из /etc/conf.d/apache2.php53. Таким образом просто делая линки на оригинальный скрипт из /etc/init.d мы можем передавать разные параметры программе. В нашем случае это будут разные Define директивы апачу (через флаг -D). Это позволит использовать один конфигурационный файл разделив нужные нам опции директивами IfDefine.

Разделять директивами следует те ресурсы, которые не могут совместно использоваться разными процессами apache, например лог-файлы, pid-файлы. Или разную функциональность, например разные версии mod_php или разные сертификаты SSL.

Настройка всего этого хозяйства.

Для начала создаем себе 2-й IP адрес:

ifconfig eth0:0 10.10.7.249

Для того чтобы меньше менять в конфигурации примем стандартные определения - для того чтобы грузится с PHP 5.2 апачу нужно передать -D PHP52, а для PHP 5.3 соотвественно -D PHP53. Добавим к этим двум еще и определение -D TWO_PHP, что позволит нам иметь три разных конфигурации:

  • если неопределено TWO_PHP (что есть по-умолчанию), то будем иметь апач настроенный по-умолчанию (удобно для тестирования и отладки глюков других конфигураций)

  • если определено TWO_PHP & PHP52 - получаем апач с PHP 5.2

  • если определено TWO_PHP & PHP53 - получаем апач с PHP 5.3

Соответственно делаем два линка на стартовый скрипт:

ln -s apache2 /etc/init.d/apache2.php52
ln -s apache2 /etc/init.d/apache2.php53


Копируем и изменяем настройки в /etc/conf.d:

cp /etc/conf.d/apache2{,.php52}
cp /etc/conf.d/apache2{,.php53}


в apache2.php52:


APACHE2_OPTS="-D PHP52 -D TWO_PHP ..."

в apache2.php53:

APACHE2_OPTS="-D PHP53 -D TWO_PHP ..."

Также в этих двух файлах меняем директорию PIDFILE.

httpd.conf от стандартного отличается следующим:


<IfDefine !TWO_PHP>
   Listen 80

</IfDefine>
<IfDefine TWO_PHP>
   <IfDefine PHP52>
     Listen 10.10.7.7:80
   </IfDefine>
   <IfDefine PHP53>
     Listen 10.10.7.249:80
   </IfDefine>
</IfDefine>


Include /etc/apache2/vhosts.d/*.conf

Понятно, что в listen указываем свои IP, а Include нужен для поддержки виртуал хостов.

vhosts.confбудет таким:

<VirtualHost site1.example.int> 
   ServerName site1.example.int
   DocumentRoot "/var/www/php5.2/"
   <Directory "/var/www/php5.2">
     Options Indexes FollowSymLinks
     DirectoryIndex index.php
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>

<VirtualHost site2.example.int>
   ServerName site2.example.int
   DocumentRoot "/var/www/php5.3/"
   <Directory "/var/www/php5.3"> 
     Options Indexes FollowSymLinks
     AllowOverride All
     DirectoryIndex index.php
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>

Также надо подправить файлик /etc/httpd/modules.d/70_mod_php5.conf:

IfDefine PHP5> # Load the module first
<IfModule !mod_php5.c>
   LoadModule php5_module modules/libphp5.so
</IfModule>

# Set it to handle the files
<IfModule mod_mime.c>
   AddHandler application/x-httpd-php .php .php5 .phtml
   AddHandler application/x-httpd-php-source .phps
</IfModule>
   DirectoryIndex index.php index.phtml
</IfDefine>

<IfDefine TWO_PHP>
   <IfDefine PHP52>
     LoadModule php5_module /usr/lib/php5.2/apache2/libphp5.so
   </IfDefine>
   <IfDefine PHP53>
     LoadModule php5_module /usr/lib/php5.3/apache2/libphp5.so
   </IfDefine>
<IfModule mod_mime.c>
   AddHandler application/x-httpd-php .php .php5 .phtml
   AddHandler application/x-httpd-php-source .phps
</IfModule>
</IfDefine>

Также, если не настроен ДНС у вас, то не забываем вписать в /etc/hosts наши домены:

10.10.7.7      site1.example.int
10.10.7.249    site2.example.int


Вроде бы всё... Запускаем:

/etc/init.d/apache2.php52 start

Проверяем 1й IP (пофиг проверяем, даже если ругается апач что не стартует - у меня ругался, но работал :) ).
 Затем удаляем PID файл апача:

rm /var/run/apache2

Магия запуска двух апачей с разными PID файлами мне пока еще не доступна, потому так по-китайски делаем :)

/etc/init.d/apache2.php53 start

Всё должно работать теперь.

Кстати, не забудьте в директории /var/www/php5.3 и /var/www/php5.2 для проверки кинуть файлик index.php с содержимым:

<? php
phpinfo();
/> 

Всем спасибо за внимание :) 

Автоматический редирект с http версии на ssl (https) версию сайта в Apache

Чтобы решить этот маленький квест нужно в конфиге апача (httpd.conf) прописать следующее:

RewriteEngine On 
RewriteCond %{SERVER_PORT} !443 
RewriteRule (.*) https://localhost/ [R]

Вместо  https://localhost/ вписываем название своего домена.

З. Ы. Чтобы заработало, надо или собрать апач с поддержкой mod-rewrite или чтобы этот модуль был включен:

LoadModule rewrite_module modules/mod_rewrite.so

1 сент. 2011 г.

Установка Gentoo Linux на VMWare

Сам процесс установки мало чем отличается от того, что описан на http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1 За исключением одних небольших, но очень важных граблей... О них я тут и поведаю.

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

# cd /usr/src/linux
# make menuconfig


В менюшке найти ([/]) и включить в ядро ("*", а не "М"!!! - в этом-то как раз и весь прикол) драйвера, cодержащие фразы VMWare, Buslogic, Sym53.

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

Всем удачи! 

30 авг. 2011 г.

Устранение ошибок типа "Strict Standards:..." в связке xampp+joomla 1.7

Сегодня столкнулся с такой вот проблемкой.
Решил я, значит, поковыряться в Джумле, потренироваться создавать сайтики. Чтобы сильно не морочить себе голову, скачал набор XAMPP (инсталлер под винду), где уже есть APAche, PHP, MySQL плюс куча телз для них и всё это настроено так, чтобы друг с другом работало "из коробки". Залил в апач джумлу, зашел в джумлу в браузере, прошел е веб-инсталляцию и тут - хопа, на пол-страницы ошибки типа  "Strict Standards:..." и еще куча матюков :) Что делать?...
Вскоре решение было найдено: необходимо было зайти в директорию php, там есть файлик php.ini и в нем найти и изменить параметр error_reporting  на:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

и  display_errors  на:

display_errors = Off

Далее перезапускаем апач - и всё, всё работает без проблем и матюков :)

4 авг. 2011 г.

Как запустить Windows-программы под Linux с помощью wine

В процессе администрирования локальных сетей в организациях часто приходится сталкиваться с задачей запуска программ, написанных под MS Windows в среде Linux. Например, чтобы сэкономить на покупке винды и антивирусника к ней. В принципе, путем некоторого секса многие пряморуконаписанные программы должны запускаться и работать без глюков.

Делается это примерно так.

Вначале устанавливаем сам Wine и его конфигуратор из диспетчера пакетов вашего дистрибутива (я пользуюсь Debian 6). Система - Администрирование - Центр приложений.


А можно и по-джедайски :) через командную строку (для Убунты):

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine 


Далее запускаем Wine Configuration (Приложения - Системные).

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

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


Заходим в папку system32 и копируем туда все .dll, .ocx и прочие библиотеки из рабочей Windows XP. Можно вообще тупо всё скопировать - мало ли чего там программам понадобиться :) Копируем с заменой.


В общем-то и всё... Далее запускаем прожку, если она не запустилась, то скорее всего выдаст окошко, что не хватает какой-то там длл-ки ей - лезем в гуглъ, скачиваем оную длл-ку и пихаем в систем32 вайна.

Таким методом запускается 1С, другие программки типа клиент-сервер и не только.

З. Ы. Одной программулине понадобилось кинуть в директорию пользователя логотипы и всякие там картинки - она их не видела из своей и материлась при запуске. Так что для разных программ могут возникнуть разные вполне решаемые ситуации. Удаче вам в поиске решений!

5 мая 2011 г.

Исправление ошибки Windows XP при загрузке вида "Отсутствует или поврежден файл WINDOWS\system32\config\system ..."

Здравствуйте, дорогие сограждане.

Недавно вот столкнулся с такой проблемкой у себя на работе: сотрудники выключили ПК в пятницу, а в Пн от уже не включается с такой вот ошибкой "Отсутствует или поврежден файл WINDOWS\system32\config\system ...". Путем гугла и секса с ПК нашел такое решение проблемы:

Установил на другой раздел новую ХР и, зайдя из-под неё, запустил консоль (нажать [Win+R], набрать cmd, нажать [Enter]), там набрал команду:

chkdsk c: /f /r

Далее согласился с тем, чтобы проверить этот раздел (набрать Y в ответ на вопрос), подождал, пока оно обработало раздел. Кстати, как раз нашло и исправило ошибку в этом файле. И - вуа-ля - старая винда начала нормально грузиться и работать. З. Ы. указал диск С: потому что новая винда считала диском С: не тот, на котором установлена она, а раздел со старой виндой.

Есть мнение, что можно 2ю винду не устанавливать, а просто в консоли восстановления (нажать [R] в ответ на 1й вопрос при установке, где выбор восстановление/установка/выход) набрать указанную выше команду. Но я описал так, как сделал я (вначале думал вообще переустановить винду).

Еще по этой теме есть статья на суппорте Майкрософта:

http://support.microsoft.com/kb/307545/ru

Я думаю, что метод описанный здесь с восстановлением злополучного файла из папки Repair или из другой винды, может помочь в случае, если не помог мой метод.

Всем спасибо за внимание, надеюсь эта инфа будет полезна.

9 мар. 2011 г.

Начальная настройка прокси-сервера Squid

Сегодня мы поговорим о прокси-серверах.

Прокси-сервер - это такая штука, обеспечивающая доступ нескольких компьютеров из одной сети в другую сеть (но не путать с маршрутизаторами - это совсем разные вещи, прокси-сервер работает на прикладном уровне). Наиболее расспространенная задача прокси-сервера - обеспечить доступ в интернет для ПК, на которых его нет через один ПК, который имеет доступ в глобальную сеть. Рассмотрим эту задачу в случае использования Windows-компьютера в качестве шлюза в интернет.

Для решения этой задачи можно пользоваться проприетарными решениями с визуальным интерфейсом - например, UserGate.Но у меня не получилось заставить его корректно работать на ПК с Windows 7 да и он платный :) Поэтому лучшим решением я считаю доставшийся нам с *nix-ов Squid. Скачать сие творение можно по адресу: Squid 2.7 (последняя версия на момент написания статьи)

Скачиваем и распаковываем желательно в корень диска. Не пытайтесь что-нибудь запустить оттуда - в этой программе нет графического интерфейса - и пусть вас это не пугает :)
Далее открываем консоль - Win+R / сmd / [Enter] переходим в папку с установленным сквидом (далее я буду писать для пути установки c:\squid)

c:\
cd c:\squid\sbin


Теперь необходимо установить сквид как службу Windows командой:

squid -i -f c:/squid/etc/squid.conf -n Squid27

где Squid27 - имя службы, которое в принципе может быть любое допустимое.

Теперь надо подредактировать файл настроек squid.conf, который находится в папке c:/squid/etc/ советую забекапить оригинальный файл. Далее удаляем из этого файла весь текст и прописываем следующее:

http_port 3128
acl localnet src 192.168.3.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
http_access allow localnet
http_access allow localhost
http_access deny all

cache_log none
cache_store_log none 

где  
  • http_port 3128 - номер порта на сервере, через который работает сквид. Т. е. в настройках клиентов будем указывать адрес сервера и этот порт;
  • acl localnet src 192.168.0.0/255.255.0.0 - эта строчка указывает диапазон ip-адресов, для которых возможно подключение к нашему прокси. Маску можно указывать как /8, /16, /24 (для 255.0.0.0, 255.255.0.0, 255.255.255.0 соответсвенно), а localnet - это имя. По сути, этой строчкой мы объявляем переменную, с которой дальше будем работать. следующая строчка аналогично объявляет переменную all, где указаны все существующие ip;
  • http_access allow localnet - этой строкой мы разрешаем доступ с ip, указанных в переменной localnet к нашему прокси;
  • http_access deny all - запрещаем всем остальным доступ к прокси. Эти разрешения работают сверху-вниз, потому эту строчку нужно указывать последней! Иначе никто до проксика не достучится :) 
  • cache_log none - нужна, как и следующая строка, чтобы логи не разрослись в гигабайты)  
Еще можно внести следующие параметры:
  • cache_mem 32 MB - определяет размер дополнительного кеша сквида в оперативной памяти;
  • cache_dir ufs c:/squid/var/cache 100 16 256 - определяет путь к папке кеша, размер его в Мб (100) и количество подпапок (зачем последнее - я так и не понял :) )
Теперь надо в той же папке убрать ".default" в названии файла mime.conf или просто создать пустой текстовый файл с таким именем. Это нужно для формирования кеша. В консоли набираем команду (находясь в папке sbin):

squid -z -f c:\squid\etc\squid.conf

Вот, в принципе, мы и готовы к запуску нашего прокси. Пишем в командной строке (или можно зайти в Службы и запустить мышкой :)

net start Squid27

Остановка:

net stop squid27

Переконфигурация:

squid -n Squid27 -f с:/squid/etc/squid.conf -k reconfigure

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

Всем спасибо, все свободны :)

4 мар. 2011 г.

Использование онлайн-хранилища Microsoft SkyDrive

Бывает, нужно перенести данные из одного ПК на другой или создать резервные копии документов где-то кроме нашего ПК, а флешки как на зло под рукой нет... что делать? А вот что - пользоваться онлайн хранилищами.

Ранее в этом блоге я описывал работу с сервисом Sugar Sync. Недостаток данного сервиса состоит в необходимости запуска резидентной программулины, которая кушает ресурсы - немножко озу, немножко процессора... немножко, но кушает. Лично я стараюсь минимизировать количество резидентного софта на своем ПК.

Так вот, у майкрософтного сервиса live есть интересный подсервис SkyDrive, доступны по адресу http://explore.live.com/windows-live-skydrive

22 февр. 2011 г.

Программа для обмена файлами между Вашими (и не только) ПК

Недавно один мой хороший друг показал мне неплохую утилитку для обмена данными с помощью интернета.

Что я имею в виду?) Вот, допустим, у вас ПК дома и на работе... и одна и та же информация нужна и там и там и вы на обоих ПК ее изменяете. Можно, конечно, носить инфу на флешке, но флешку можно забыть дома спросонья :) или тупо потерять О_о. Потому выгоднее использовать онлай-хранилища для информации.

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

На просторах инета есть много таких сервисов. На мой взгляд, два самых неплохих - SugarSync и MS SkyDrive.

Рассмотрим первый из них.

Для начала надо создать свой аакаунт - ну, это как всегда :) Заходим по ссылке https://www.sugarsync.com/referral?rf=cnxhytii2p3is :

Это ссылка с моим реферральством) она даст мне и вам небольшой бонус. Заполняем поля формы - создадим аккаунт. Затем выбираем бесплатный аккаунт:


Этот тип аккаунта даёт нам 5 Гб дискового пространства на сервере - вполне хватит для документов и даже небольних фильмов :) Скачиваем клиент программы:


И устанавливаем его. Процесс установки прост.

После установки программулина сидит в трее и попросит добавить наш ПК в список синхронизируемых - добавляем, назначив ему имя. Окно программы:



В нем слеваотображается дерево ПК, на которых будет производиться синхронизация папок, а справа - содержимое выбранной слева категории.

Чтобы залить папку на сервер нажимаем кнопку Manage Sync Folders:



Здесь показано что и куда синхронизируется... По началу не вникайте - не заморачивайтесь) Нажимаем кнопку Add folders from this computer, выбираем папку и Ок.

Чтобы скачать залитую папку или файлы в окне программы выбираем из контакстного меню папки/файла:


 

Чтобы сделать папку доступной другим пользователям Шугара - выделяем ее и нажимаем вверху кнопочку Share. Нас отправит на веб-сайт, где мы можем установить пароль на шару и изменить другие настройки шары. Там же можно получить ссылку на ресурс - Get Link.

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


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

Вот, в общем-то, и всё. Надеюсь, кому-нибудь данная статья будет полезна :)

16 февр. 2011 г.

Шарль Бодлер "Вампир"

Вот нарыл довольно-таки смешной перевод на украинский язык этого стихотворения моего любимого поэта :)

О ти, хто, наче сталь ножа,
Ввійшла у плоть мою криваву,
І я всім тілом задрижав,
Як степ з чортячої розправи,

Навіщо, мій скоривши дух,
Зробила з нього блудне ложе?
І для раба весь світ потух -
Мене звільнить ніхто не може:

Як гра затятого гравця
І як п'яницю склянка винна,
Як черви чорний труп мерця,
Мене ти, суко, не покинеш.

Меча я гострого просив
Подарувать мені свободу,
Отруту чесну я молив
На змову дать таємну згоду.

Але отрута й гордий меч
Мені зневажливо сказали:
Таким, як ти, немає втеч -
Смерть не вампіру зуби скалить.

Тварюко! З чорних володінь
Якби тебе звільнить для миру,
Ти б цілував померлу тінь,
Щоб воскресить свого вампіра!

8 февр. 2011 г.

Установка DSpace

На днях, руководство нарыло информацию по этому проекту и дало задание разобраться...
В общем, DSpace - это буржуйская разработка, ппредставляющая собой архив электронных ресурсов какой-либо организации, выполненный в виде веб-сайта с базой данных.
Актуальная штука для ВУЗ-ов и исследовательских организаций, т. к. предполагает публикацию не просто всяких там электронных версий книжек, которые можно найти на торрентах или быдло-сайтах, а предполагает размещение трудов ученых, аспирантов, преподавателей и т. д. именно этой организации. Можно это даже обозвать "научно-публикационным портфолио" :)
Сие программерское чудо использует технологию Java Server Pages, сервер Apache Tomcat и БД PostgreSQL, можно также Оракл, но я не пробовал с Ораклом его настроить общаться. Устанавливать можно как на *никсы, так и на винду.
Подробно об установке написано в мануале на сайте разрабов: http://www.dspace.org/1_6_2Documentation/DSpace-Manual.pdf
Скажу лишь, что установка разбивается на следующие этапы (команды, пути, версии - всё это указано в вышеозначенном мануале, не буду его копипастить):
1) установка сопутствующего ПО: Apache Tomcat, Apache Maven, Apache Ant, PostgreSQL, JRE 1.6+;
2) добавление переменных окружения дабы не прописывать полные пути команд потом;
3) настройка базы данных;
4) первый билд Dspace из исходников, скачанных с сайта разрабов с помощью Apache Maven;
5) второй билд с помощью Apache Ant;
6) создание админской записи и копирование скомпилировынной софтины в директорию веб-приложений Apache Tomcat.
Вот, собственно и всё... то, что авторы назвали "Out of the box" :))
З. Ы. Чтобы не возникло каких-то непонятных проблем, в винде лучше всё устанавливать на диск С:.
Руссифицируется это хозяйство, как оказалось, очень просто:
В файле dspace.cfg прописываем:

#Кодировка писем
mail.charset = UTF8

#Локализация
default.locale = ru

#Язык сообщений
default.language = ru_RU


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

#установить имя SMTP сервера, например - smtp.mail.ru
mail.server = ИМЯ_ВАШЕГО_SMTP_СЕРВЕРА

#почти для всех почтовых серсеров нужно пройти авторизацию - пользователь и пароль, пользователь указывается БЕЗ @mail.ru например.
mail.server.username = ВАШ_ПОЛЬЗОВАТЕЛЬ
mail.server.password = ПАРОЛЬ_НА_ЯЩИК

#Обратный адрес сообщений
mail.from.address = ВАШ_ПОЧТОВЫЙ_АДРЕС

#Почтовый адрес для обратной связи
feedback.recipient = ВАШ_ПОЧТОВЫЙ_АДРЕС

#Почтовый адрес администратора
mail.admin = ВАШ_ПОЧТОВЫЙ_АДРЕС

#Почтовый адрес для сообщения об ошибках
alert.recipient = ${mail.admin}

В принципе, это всё расписано в главе 6 мануалки.

Всё, можно создавать коллекции данных, заполнять их собственно данными, добавлять пользователей и т. д. :)
Кстати, пользователь по умолчанию не может добавлять данные - надо из-под админа добавить его в соотв. группу.
Пример работающего Дспейса тут: http://open-archive.kture.kharkov.ua/ 
Всем спасибо за внимание.