Задача достаточно простая: поднять сервер, создать репозиторий и запретить анонимный доступ к нему, оставив возможность редактирования его для авторизованных пользователей. Для начала устанавливаем пакет 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:
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.
]]>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...