Блог об openSUSE » Linux/SuSE http://sapfeer.ru Блог по созданию и настройке openSUSE безопасного хамелеона Tue, 15 Mar 2011 12:04:30 +0000 ru-RU hourly 1 http://wordpress.org/?v=3.4.2 Прозрачное проксирование в связке SQUID + SuSEfirewall2 http://sapfeer.ru/2011/01/15/742 http://sapfeer.ru/2011/01/15/742#comments Sat, 15 Jan 2011 11:13:21 +0000 Сергей http://sapfeer.ru/?p=742 sudo zypper install squid user@opensuse:~> [...]]]> Squid - прозрачное проксирование Здравствуйте, меня уже несколько человек просило написать о том, как настроить прозрачное проксирование траффика, например, на офисном шлюзе, который, естественно, работает на openSUSE. На самом деле, ничего сложного в настройке нет, и вы сами в этом убедитесь, повторяя все за мной.

1) Устанавливаем, добавляем в автозагрузку и запускаем squid:
user@opensuse:~> sudo zypper install squid
user@opensuse:~> sudo chkconfig squid on
user@opensuse:~> service squid start

2) Настраиваем squid. В файле /etc/squid/squid.conf находим строку http_port 3128, меняем ее на:
http_port 192.168.1.1:3128 transparent
Внимание! Вместое 192.168.1.1 вам необходимо вписать адрес сервера в вашей локальной сети.. Это мы делаем для того, чтобы если вы даже где-то и ошиблись с конфигурацией файрволла, то никто извне не смог пользоваться вашим прокси сервером.

3) Перезапускаем squid:
user@opensuse:~> service squid restart

4) Настраиваем SuSEfirewall2. Находим параметр FW_REDIRECT="" в файле /etc/sysconfig/SuSEfirewall2 и меняем на:
FW_REDIRECT="192.168.1.0/24,0/0,tcp,80,3128"
Внимание! Вместо 192.168.1.0/24 вам необходимо вписать адрес и маску вашей локальной сети.Этот параметр так же требует, чтобы FW_ROUTE="yes" , если у вас уже настроен роутинг то значит все окей, если нет, ищите параметр в этом же файле и выставляйте правильно.

5) Перезапускаем SuSEfirewall2:
service SuSEfirewall2_setup restart

Все, уже после этого, у вас весь траффик будет идти через squid.

Оптимизация кэширования

К выше сказанному хочется добавить несколько советов по оптимизации КЭШа. Добавьте в конец /etc/squid/squid.conf следующие опции:

# Максимальный размер файла который может быть сохранен в кэше.
maximum_object_size 64 MB
# Параметры определяет какие файлы в кэше будут заменены, когда необходимо место в кэше.
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
# Описание
reload_into_ims on
# Оптимизация кэширования, путем игнорирования некоторых заголовков.
refresh_pattern -i (cam|kam|live|stream).*\.(gif|jpeg|jpg)(\?.*|)$ 10 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(gif|jpeg|jpg|swf|png|bmp|pic)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(html|php|asp|dll|htm|aspx|mspx|shtml|cgi|php3|jse|phtml|po|pl|fcgi|jsp|py|php4)$ 10 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private
refresh_pattern -i \.(js|css|class|jar|xml|txt|cfm|doc|xls|pdf)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(exe|gz|tar|tgz|zip|arj|ace|bin|cab|msi)(\?.*|)$ 10 20% 2880 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(mid|mp[234]|wav|ram|rm|au)(\?.*|)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(mpg|mpeg|avi|asf|wmv|wma)(\?.*|)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern . 0 20% 2880 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private

Информация об опциях squid очень подробно расписана, разумеется, здесь

Подводные камни: если у вас в локальной сети есть свой вебсервер, вы столкнетесь с тем, что все внутренние клиенты будут иметь адрес шлюза. Вы можете использовать mod_rpaf(для apache) или немного модифицировать правила SuSEfirewall2

Тех, кто дочитал до конца, поздравляю с прошедшим старым новым годом! :-)

]]>
http://sapfeer.ru/2011/01/15/742/feed 3
Настройка PPTP VPN в OpenSUSE. http://sapfeer.ru/2010/12/30/734 http://sapfeer.ru/2010/12/30/734#comments Thu, 30 Dec 2010 08:09:18 +0000 Сергей http://sapfeer.ru/?p=734 Здравствуйте читатели, запах елок и ускорение темпа жизни возвещает нам о наступлении 2011 года :-) И я спешу выложить все, что у меня накопилось в черновиках :-) И расскажу я вам сегодня о том, как очень быстро, за несколько минут поднять VPN сервер. В принципе, ничего сложного нет, но следуя стилю всех постов в этом блоге, я распишу весь процесс от и до :-)

Шаг 1: Установка pptp
user@opensuse:~> sudo zypper install pptpd

Шаг 2: Настройка pptp (Не забываем удалить все содержимое файла)
user@opensuse:~> sudo mcedit /etc/pptpd.conf
Вписываем следующие опции:
option /etc/ppp/options.pptp # Файл с опциями для демоа pppd
localip 192.168.5.1 # Локальный IP VPN сервера
remoteip 192.168.5.2-102 # диапазон IP адресов, которые будут назначаться клиентам
pidfile /var/run/pptpd.pid

Шаг 3: Прописываем опции для pppd (Не забываем удалить все содержимое файла)
user@opensuse:~> sudo mcedit options.pptp
Вписываем следущее:
lock # Включаем блокировку интерфейса, чтобы избежать попыток использовать этот интерфейс другими соединениями
auth # Включение аутентификации
nodeflate # Отключаем сжатие
name pptpd # Имя , используется для аутентификации
refuse-chap # запрещение авторизации по протоколу CHAP
require-mppe-128 # поддержка шифрования MPPE128
require-mschap-v2 # поддержка метода аутентификации MSCHAP v2
nobsdcomp # отключаем сжатие потока данных по алгоритму BSD
mtu 1400 # Для тех, кто не знает - учим Вики
mru 1400 # Maximum Receive Unit, можно почитать тут и тут
lcp-echo-failure 5 # PPPD разорвет соединение с клиентом, если он не ответит на 5 echo запросов
lcp-echo-interval 30 # PPPD будет посылать echo-запросы каждые 30 секунд
proxyarp # Проксирование ARP запросов (позволяет видеть клиентам других клиентов подключенным по VPN)

Шаг 4: Открываем порт в файрволле:
user@opensuse:~> sudo mcedit /etc/sysconfig/SuSEfirewall2
Находим параметр FW_SERVICES_EXT_TCP и добавляем туда порт 1723

Шаг 5: Перезапускаем файрволл, чтобы применить новые правила:
user@opensuse:~> sudo /etc/init.d/SuSEfirewall2_setup restart

Шаг 6: Добавляем сервис в автозагрузку и стартуем
user@opensuse:~> sudo chkconfig pptpd on
user@opensuse:~> sudo /etc/init.d/pptpd start

Послесловие
Так же вы можете настроить NAT и пользоваться VPN повсеместно(Настройку NAT я описывал ранее). Однако, не забываем о проблемах, которые существуют у протокола GRE (он необходим для работы PPTP). Нужно подгружать необходимые модули на Gateway'e, чтобы все компьютеры за NAT'ом могли пользоваться VPN, либо ставить pptp proxy. Я пользуюсь первым способом, для этого вам потребуются модули "ip_nat_pptp" и "ip_conntrack_pptp". Но все равно, остаются проблемы использования PPTP в WI-FI кафе или в других местах, где нет никакий гарантий для GRE траффика.

P.S. Счастливого нового года друзья

]]>
http://sapfeer.ru/2010/12/30/734/feed 4
Настройка Samba в openSUSE http://sapfeer.ru/2010/10/08/688 http://sapfeer.ru/2010/10/08/688#comments Fri, 08 Oct 2010 05:18:44 +0000 Сергей http://sapfeer.ru/?p=688 zypper install samba 2) Смотрим конфиг: Хочу рассказать здесь обо всех опциях, которые могут понадобится. По умолчанию в секции global следующие опции: user@linux-m71t:~> cat [...]]]> Привет! Сегодня расскажу вам как быстро поднять файловый сервер в сети, весь процесс настройки не займет и 20 минут(разумеется, если у вас хорошая скорость интернета ) Поехали:
1) Устанавливаем Samba:
user@linux-m71t:~> zypper install samba
2) Смотрим конфиг: Хочу рассказать здесь обо всех опциях, которые могут понадобится. По умолчанию в секции global следующие опции:
user@linux-m71t:~> cat /etc/samba/smb.conf
········# Рабочая группа
workgroup = WORKGROUP
#Механизм хранения данных пользователей и групп. Более подробно Тут
passdb backend = tdbsam
#Интерпретация информации о принтере. Очень подробно расписано на этой страничке - Тут
printing = cups
# Для использования принтера через CUPS параметр должен иметь значение CUPS
printcap name = cups
# Время, через которое samba проводит опрос всех подключенных принтеров
printcap cache time = 750
# Параметр для библиотеки CUPS
cups options = raw
······· # Параметр работает только при security=share и отвечает за то, что делать samba, когда пользователь не прошел аутентификацию.
map to guest = Bad User
# Подключаем файл dhcp.conf
include = /etc/samba/dhcp.conf
# Директория, где хранятся профили пользователей
logon path = \\%L\profiles\.msprofile
# Путь до домашней директории пользователя
logon home = \\%L\%U\.9xprofile
# Диск, к которому домашняя директория будет подключена
logon drive = P:
# Разрешать ли гостям доступ к общим папкам пользователей (аналог guest ok = yes)
usershare allow guests = Yes

3) Добавим свои опции
# Интерфейсы на которых будет слушать Samba
interfaces = eth0
# Слушать только указанные интерфейсы
bind interfaces only=yes
# Название сервера, %h - означает автоматическую подстановку имени хоста
server string = %h server
# Имя netbios. Ознаечает, что ваш компьютер будет доступен через \\DATA
netbios name = DATA
# Одна из самых важных опций в файле. Она отвечает за то, как Samba будет отвечать клиентам. Совую обязательно почитать man smb.conf по этой опции
security = SHARE
# Включаем встроенный WINS сервер
wins support = yes

4) Я всегда комментирую все общие ресурсы в конфиге и добавляю свои. Не комментирую лишь секции printers и print$ , чтобы работали общие принтеры
[storage]
# Название общей папки, под которым она будет доступна в сети
comment = Storage
# Путь до папки
path = /home/common_storage
# Определяет, доступна ли эта папка на запись
read only = No
# Синоним (create mode). Определяет права доступа при создании файлов
create mask = 0700
# Отображается ли расшаренная папка в сети
browseable = Yes
# Разрешает доступ к общей папке без пароля (т.е. гостям)
guest ok = Yes

5) В локальной сети, так же, можно настроить фильтрацию доступа к папке по IP. Конечно, многие скажут что пользователь легко может сменить IP и т.п., но для офиса, где сидят бухгалтеры, маркетологи, менеджеры и другие люди, далекие от техники, между которыми возникают все время маленькие локальные войны, необходимо хоть как-то разделять доступ, чтобы не было лишнего повода :-) А вот доступ по паролю для них неудобен и сложен :( Поэтому пример разграничения доступа по IP:
[storage]
.....
# Ключевое слово ALL обозначает 0/0 , а EXCEPT - исключения.
hosts deny = ALL, EXCEPT 192.168.0.2, 192.168.0.3, 192.168.0.4

Обязательно почитайте man smb.conf, там очень подробно и понятно все расписано. И, кстати, security=user все-таки предпочтительней. Жду вопросов в комментариях, до новых встреч! :-)

]]>
http://sapfeer.ru/2010/10/08/688/feed 7
Обновление до KDE 4.5 в openSUSE http://sapfeer.ru/2010/08/22/651 http://sapfeer.ru/2010/08/22/651#comments Sun, 22 Aug 2010 12:02:26 +0000 BotnicK http://sapfeer.ru/?p=651 Вы еще не знаете, как обновить KDE 4.4 вашей Opensuse 11.3 до нового восхитительного релиза KDE 4.5? Тогда этот пост предназначен специально для Вас. Те, кому не терпится увидеть новейший KDE, могут воспользоваться предложением одного из разработчиков KDE Уилла Стивенсона, позволяющим уменьшить количество шагов в процессе обновления.

Если вы еще не опытный пользователь или просто опасаетесь за свою систему, то можете опробовать KDE 4.5 с помощью Live CD. Остальным же, кто не боится, предлагается сделать следующее.

1. Удалите все старые репозитории KDE:KDE4:*и KDE:Qt*. (YaST -> «Software Repositories»)

2. Добавьте репозитории, содержащие 4.5.0: KDE:Distro:Factory:
sudo zypper addrepo -f  http://download.opensuse.org/repositories/KDE:/Distro:/Factory/openSUSE_11.3 KDE45

3. Добавьте дополнительный репозиторий(рекомендуется)
sudo zypper addrepo -f http://download.opensuse.org/repositories/KDE:/Extra/openSUSE_11.3_KDE_Distro_Factory KDE-Extra

4. Обновите все пакеты из KDE:Distro:Factory and KDE:Extra:
sudo zypper dist-upgrade --from KDE45 --from KDE-Extra
5. Если вы используете knetworkmanager, то вам стоит заменить его на Network Management plasmoid, потому что в версии KNM 4.5.0 обнаружен баг, скрывающий все соединения. Лучше всего, если вы сделаете это до обновления, иначе есть риск остаться без соединения с Интернет. Разрешите zipper  удалить NetworkManager-kde4:

sudo zypper install plasmoid-networkmanagement

6. Выйдите из KDE, потом снова залогиньтесь.

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

]]> http://sapfeer.ru/2010/08/22/651/feed 13 KDE 4.5 – ускоритель openSUSE! http://sapfeer.ru/2010/08/22/648 http://sapfeer.ru/2010/08/22/648#comments Sun, 22 Aug 2010 11:53:12 +0000 BotnicK http://sapfeer.ru/?p=648 Внимание, отличная новость! Недавно команда разработчиков KDE проанонсировала релиз KDE 4.5.0, самого последнего релиза этой знаменитой рабочей среды. Этот выпуск рабочей среды включает обновления для платформы разработчиков, приложений KDE, основного рабочего стола – все это включено в очень важный для всего сообщества KDE релиз.

Возможно, из-за слишком больших задержек в процессе выпуска, вы уже не захотите видеть дебют нового KDE в openSUSE 11.4, выход которой намечен на март следующего года. Но чем же все-таки он привлекателен?

KDE 4.5 Plasma Netbook Workspace

KDE 4.5 Plasma Netbook Workspace

Одним из небольших, но важных изменений стало включение WebKit в платформу KDE. Те, кто разбирается в истории KDE, должны помнить, что WebKit был разработан на основе KHTML, инновационного и ультра-быстрого движка, также использованного для создания Konqueror. История отсылает нас к тому дню, когда компания Apple прекратила многолетнюю грызню между членами опенсорс-сообщества по поводу KHTML, запустив проект WebKit.  С тех пор проект получил чрезвычайно сильное развитие, став одним из наиболее распространенных в мире движков для веб-интерфейсов и дав путевку в жизнь таким браузерам, как Safari для Mac OS и Google Chrome.  Все улучшения, которым подвергался WebKit за последние восемь лет, доступны сейчас для юзеров KDE, использующих Konqueror.

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

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

В KDE 4.5  вы можете значительно легче управлять окнами, чем в предыдущих релизах, более эффективно располагая окна на экране с помощью способов, заимствованных из других менеджеров окон. Начиная с этого релиза, вы можете использовать функцию drap-and-drop для qt-приложений(KOffice, KMail и т.д.), просто захватывая пустое место в окне, которое теперь автоматически превращается в ручку для перетаскивания окна.

Этот релиз выглядит действительно замечательным, и я не стану ждать релиза KDE 4.6, который должен выйти вместе с openSUSE 11.4 в марте следующего года. Если вы не хотите ждать следующего релиза openSUSE с включенным в нее KDE 4.5 и openSUSE стоит у вас в виртуальной машине, то можете поставить новые «кеды» из репозиториев. Я бы не рекомендовал ставить KDE 4.5 на компьютере, который вы используете в повседневной работе, чтобы не создавать угрозу его стабильности.

]]>
http://sapfeer.ru/2010/08/22/648/feed 2
openSUSE — удаленное управление в gnome http://sapfeer.ru/2010/08/12/624 http://sapfeer.ru/2010/08/12/624#comments Thu, 12 Aug 2010 10:33:00 +0000 Сергей http://sapfeer.ru/opensuse-udalennoe-upravlenie-v-gnome/ Сегодня хочу рассказать как можно быстро и легко настроить удаленное управление в Gnome. Вот один из вариантов, зачем же оно может понадобиться.

Батарейка в моем ноутбуке окончательно сдохла, из Москвы заказать такую же батарейку нельзя, поэтому, ноутбук перешел в стационарное состояние на верхнюю полку. Он стал машиной для экспериментов, и первый мой эксперимент – установка VNC-сервера для gnome. Реализация VNC для гномовского десктопа – vino. Очень простая в настройке и эксплуатации программа, за что отдельное спасибо разработчикам Smile

Так вот, установка в 3 шага:

1) Устанавливаем программу vino

openSUSE 11.0 aluminium

openSUSE 11.1aluminium[3]

openSUSE 11.2aluminium[5]

openSUSE 11.3aluminium[7]

2) Запускаем, настраиваем:

Главное меню –> Другие приложения –> Система –> Удаленный рабочий стол

Главные настройки:

options

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

3) Установка клиента

Здесь вы вольны выбирать то, что вам больше всего нравится или то, что для вас удобней. Вот список клиентов:

- Vinagre для Gnome

- Krdc для KDE

- Tightvnc для Windows

- UltraVnc для Windows

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

]]>
http://sapfeer.ru/2010/08/12/624/feed 4
Ограничение времени в SuSE с помощью timekpr http://sapfeer.ru/2010/03/31/579 http://sapfeer.ru/2010/03/31/579#comments Wed, 31 Mar 2010 07:33:33 +0000 SuSEuser http://sapfeer.ru/?p=579
пример работы timekpr

Пример работы timekpr

Многие наверное сталкивались с ситуацией, когда необходимо каким-то образом ограничить время работы пользователей за компьютером. Под WIN платформу существует множество решений, но большинство из них платные... А что же есть у нас, линуксоидов? Во время своих поисков я натыкался на блоги, в которых эта проблема решалась с помощью самописных скриптов, что меня абсолютно не устраивало, поскольку нужна была GUI программа, которая бы могла оповестить пользователя, например, об оставшемся времени. Оказалось, что у Gnome уже есть два проекта, решающих эту проблему, а именно - GChildCate и Nanny, Но! Эти проекты еще находятся на ранних стадиях разработки и у них даже нет еще stable версий :( Конечно я попытался собрать Nanny из исходных кодов, но он отказался у меня работать, постоянно выдавая ошибки. И я продолжил поиски, и вскоре я натолкнулся на Timekpr. Именно эту программу мне удалось настроить и заставить ее работать, правда пришлось немного пошаманствовать, так как проект еще находится в стадии разработки. А самое ужасное - я не смог найти по нему никакой внятной и более-менее понятной документации, поэтому опишу все здесь, чтобы вы не мучались, так же как я. И так, приступим:

1) Загружаем пакет с исходниками отсюда , распаковываем, не забудьте установить все необходимые зависимости, в основном это библиотеки python'a. После этого собираем и устанавливаем:

user@notebook:~> tar xf timekpr_0.3.2~ppa1~ubuntu2.tar.gz
user@notebook:~> cd stable
user@notebook:~/stable> sudo ./install.sh

В принципе все готово. Проверьте запускается ли у вас timekpr без ошибок или нет, без ошибок, в смысле он вобще запускается и вы видите ошибку об отсутствующей секции в /etc/security/time.conf. Если у вас так же как у меня, то продолжаем, если нет - устанавливайте дополнительные библиотеки python'a.

2) Начинаем настраивать. Как обычно бывает, если установка прошла быстро и гладко, то после нее возникнет большое количество проблем. Решаем их , пропсываем для начала в /etc/security/access.conf следующий текст

## TIMEKPR START

## TIMEKPR END

То же самое дописываем в /etc/security/time.conf. Отлично, дописали, timekpr должен запускаться из консоли под рутом, настраиватся.. Уже хорошо, но на этом проблемы не заканчиваются. У timekpr есть демон, который следит за количеством использованного времени, и его необходимо запускать при старте системы, в исходниках программы, позже, я нашел в папке debian и автоматический установщик, и скрипт автозапуска, но проблема в том, что они были для DEB систем. Нам это не подходит, поэтому пришлось все снова сделать самому. К этому посту я приложил свой самописный скрипт автозапуска для timekpr. Скачайте его, распакйте и положите в директорию /etc/init.d/. Попробуйте запустить, и проверьте запущен ли timekpr. Если все прошло успешно - можете переходить к заключительному шагу настройки.

3) У timekpr есть клиент программа, которая висит в трее и оповещает пользователей о количество оставшегося времени. Чтобы она работала надо выполнить команду(видимо это последствия development версии, что не все файлы имеют верный chmod):

user@notebook:~> sudo chmod +x /usr/bin/timekpr-client

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

4) В папке debian лежат два файл .desktop первый отвечает за запуск GUI тулзы настройки timekpr'a, а второй - за клиента. Скопируйте файл timekpr-client.desktop в папку /usr/share/applications/ . А вот с timekpr.desktop возникла у меня проблемка. Он использует команду gksu для запуска программы от рута, у меня ее не оказалось в системе, ставить не хотелось, поэтому я использовал программу от драйверов ATI, которая запускает amdcccle от рута - amdxdg-su отредактируйте timekpr.dekstop, замените

Exec=gksu /usr/bin/timekpr-gui
На
Exec=amdxdg-su -c /usr/bin/timekpr-gui

Если у вас видео карта не ATI или не установлены драйвера поищите любую доступную альтернативу :)

Теперь у вас есть полноценная система огранчения времени работы за компьютером, респект разработчикам timekpr'a! :)

]]>
http://sapfeer.ru/2010/03/31/579/feed 3
Создание репозитория Subversion в openSUSE http://sapfeer.ru/2009/12/30/552 http://sapfeer.ru/2009/12/30/552#comments Wed, 30 Dec 2009 01:15:51 +0000 Сергей http://sapfeer.ru/sozdanie-repozitoriev-subversion-v-opensuse/ Настройка subversion  в opensuse Здравствуйте, вижу у моего блога прибавилось постоянных читателей. А это значит, то, что я выкладываю на страницах своего блога кому-то интересно и это является дополнительным стимулом для меня. Постараюсь радовать вас интересными заметками как можно чаще. Сегодня хочу рассказать о создании репозитория с помощью системы управления версий subversion и о подводных камнях, которые могут вам встретиться.

Задача достаточно простая: поднять сервер, создать репозиторий и запретить анонимный доступ к нему, оставив возможность редактирования его для авторизованных пользователей. Для начала устанавливаем пакет subversion:

_empty@linux:~> sudo zypper install subversion

Весь процесс, на самом деле, занимает не больше 10ти минут, но для новичка он превращается в сущуую пытку. По умолчанию, в openSUSE 11.2 все репозитории находятся в /srv/svn/repos

1) Создадим новый репозиторий в папке repositories(я специально сменил папку repos на repositories, только для примера, чтобы не привыкали к дефолту):

_empty@linux:~> sudo svnadmin create /srv/svn/repositories/testrepo

В папке testrepo находятся стандартные файлы для каждого репозитория svn. Теперь, отредактируем конфигурационный файл в папке conf:

_empty@linux:~> sudo svnserve.conf

Можно смело все оттуда удалить, и вписать следующие строки:

[general]
anon-access = none
auth-access = write
password-db = passwd

Поясню поднобно: anon-access устанавливает возможность неавторизованных пользователей просматривать репозиторий, auth-access управляет доступом к репозиторию для зарегистрированных пользователей, где password-db - имя файла с логинами и паролями этих пользователей.
И так, теперь нам необходимо вписать юзеров в файл passwd:

[users]
user = pass
user1 = pass1

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

2) Для запуска сервера нам нужен непривелегированный пользователь. Назовем его svn. При установке у меня пользователь не создавался, значит создадим его самостоятельно(проверьте в /etc/passwd, возможно пользователь уже есть!):

_empty@linux:~> sudo groupadd svn
_empty@linux:~> sudo useradd -r -g svn

Теперь мы должы дать все права на нашу директорию /srv/svn/repositories:

_empty@linux:~> sudo chown -R svn:svn /srv/svn/repositories

3) И последний, самый важный этап - запуск svn сервера. Здесь следует особо обратить внимание на файл /etc/sysconfig/svnserve! В нем нам необходимо указать параметры запуска SVN сервера. Во-первых, надо прописать путь к root директории для svn, а во-вторых, в openSUSE по умолчанию сервер стартует с параметором -R(что ознает ReadOnly). Поэтому коммитить и добавлять файлы в ваши репозитории удаленно вы не сможете! Редактируем параметр SVNSERVE_OPTIONS в /etc/sysconfig/svnserve:

SVNSERVE_OPTIONS="-d -r /srv/svn/repositories"

Все, после этого наш сервер готов к запуску:

_empty@linux:~> sudo /etc/init.d/svnserve

Для проверки запускаем на другой машине, у вас должен быть примерно такой вывод(на вопрос хранить ли пароли в домашней папке я ответил no):

user@laptop:~> svn co svn://x.x.x.x/testrepo
Authentication realm: e1ff449a-f4f1-11de-a083-6b70055eb850
Password for 'empty':

-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:

e1ff449a-f4f1-11de-a083-6b70055eb850

can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/user/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
Checked out revision 0.

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

]]>
http://sapfeer.ru/2009/12/30/552/feed 4
Особенности дистрибутива openSUSE http://sapfeer.ru/2009/12/26/550 http://sapfeer.ru/2009/12/26/550#comments Sat, 26 Dec 2009 09:12:31 +0000 Сергей http://sapfeer.ru/osobennosti-distributiva-opensuse/ openSUSE логотип Читал старые записи в блоге Joe Brockmeier'а. И вот решил у себя выложить, чем же ,по-мнению разработчиков, дистрибутив openSUSE отличается от других linux'овы сборок.

Вот список того, что есть только в openSUSE, этого вы не найдете в других дистрибутивах.
- YaST - всеми нами любимый системный менеджер
- Zypper - программа, для управления пакетами.
- openSUSE Build Service - пакет утилит для сборки пакетов, с которым можно работать как онлайн, так и оффлайн.
- One-click install - вот это точно одно из самых удачных нововведений, установка в один клик бывает удобна для не продвинутых юзеров.
- SUSE Firewall - Отличный файрвол, базирующийся на iptables. Удобен в настройке, достаточно гибок, позволяет без усилий решать базовые задачи разграничения доступа к сети.
- Большое количество репозиториев , которое появилось благодаря тому же openSUSE Build Service. Теперь практически любую программу можно найти уже в готовом RPM пакете под любую версию дистрибутива.
- SLED и SLES - дистрибутивы построенные на основе openSUSE, поэтому стабильные и надежные.
И, конечно, Хамелеон - символ всего, что связано с SuSE. Хамелеон , наверное, наиболее подходящий символ для дистрибутива, как легко и просто он изменяет свою окраску, так и дистрибутив мы можем легко подстроить под себя.

Спасибо ребятам из openSUSE за отличный дистрибутив!

]]>
http://sapfeer.ru/2009/12/26/550/feed 4
Ошибка с драйвером для ATI-видеокарт http://sapfeer.ru/2009/12/20/547 http://sapfeer.ru/2009/12/20/547#comments Sun, 20 Dec 2009 17:14:49 +0000 Сергей http://sapfeer.ru/oshibka-s-drajverom-dlya-ati-videokard/ Ну вот вроде бы все - заработал репозиторий от ATI. И я, осчастливленный этой новостью, поспешил поставить себе драйвер. Поставил пакеты из ATI репозитория. Но, к сожалению, видимо это оказалось очередной злой шуткой разработчиков. Не понимаю, чем думают люди из novell выставляя продукты, без должным образом проведенного тестирования? Хочется задать вопрос, - "Сколько это еще будет продолжаться?". Я уже всерьез подумываю, чтобы вернутся к версии 11.1 .
А теперь об ошибках. Если после установки пакетов ati-fglrxG01-kmp и x11-video-fglrxG01, вы выполните команду:

modprobe fglrx

И увидите вот такие ошибки в dmesg:

fglrx: Unknown symbol find_task_by_vpid
fglrx: Unknown symbol pci_enable_msi

Поздравляю! Теперь вы тоже стали жертвой халатности ATI. Как написано на форумах opensuse -
проблема актуальна только на 32-bit ных системах. Более того, как оказалось, такая же проблема есть и в Ubuntu и в других дистрибутивах. Можно смело констатировать факт, что ATI спустя рукава относится к поддержке своих видеокарт в Linux. Жаль, что из-за таких вот в кавычках "лидирующих" производителей видео чипсетов тормозится развитие opensource. А всем нам - обладателям 32-битных систем и чертовых видеокарточек ATI остается лишь ждать, когда же ,наконец, выйдет нормальный драйвер, либо - пересаживаться обратно на openSUSE 11.1, что я и собираюсь сделать. Где мой старый комп с nvidia fx5200...

]]>
http://sapfeer.ru/2009/12/20/547/feed 3