Если ваша работа требует обработки документов, веб-страниц и других типов файлов, которые регулярно обновляются, вы можете использовать механизм контроля версий, если вы этого еще не сделали.
Помимо прочего, это позволяет вам (а также группе потенциальных соавторов) отслеживать изменения, внесенные в данный файл, и позволяет вернуться к предыдущей версии, если возникает проблема или когда обновление не дало ожидаемых результатов. результат.
В экосистеме бесплатного программного обеспечения наиболее широко используемая система контроля версий называется Подрывная версия Apache (или SVN кратко). С помощью mod_dav_svn (Модуль Apache для Subversion), вы можете получить доступ к репозиторию Subversion, используя HTTP и веб-сервер.
Тем не менее, давайте засучим рукава и установим эти инструменты на RHEL / CentOS 7, Fedora 22-24, Debian 8/7 и Ubuntu 16.04-15.04 сервер. Для наших тестов мы будем использовать CentOS 7 сервер с IP 192.168.0.100.
На стороне клиента (a Windows 7 машина), мы установим и воспользуемся TortoiseSVN (который основан на Apache Subversion) в качестве интерфейса к SVN.
Сервер - CentOS 7Айпи адрес - 192.168.0.100Клиент - Windows 7
Как мы только что упомянули, мы будем полагаться на Apache, чтобы получить доступ к репозиторию SVN с помощью веб-интерфейса. Если он еще не установлен, обязательно добавьте его в список пакетов, как показано ниже:
На CentOS / RHEL / Fedora # yum update && yum install mod_dav_svn subversion httpd -y В Debian / Ubuntu # apt-get update && apt-get install libapache2-svn subversion apache2 -y
Во время установки на CentOS 7, файл конфигурации Apache для SVN будет создан как /etc/httpd/conf.modules.d/10-subversion.conf. Откройте файл и добавьте следующий блок конфигурации:
/etc/httpd/conf.modules.d/10-subversion.conf
DAV svn SVNParentPath / websrv / svn AuthType Basic AuthName "Добро пожаловать в SVN" AuthUserFile / etc / httpd / subversion-auth Требовать действительного пользователя.
Примечание: На Debian / Ubuntu вам нужно добавить строки ниже в /etc/apache2/mods-enabled/dav_svn.conf
файл.
/etc/apache2/mods-enabled/dav_svn.conf
DAV svn SVNParentPath / websrv / svn AuthType Basic AuthName "Добро пожаловать в SVN" AuthUserFile / etc / apache2 / subversion-auth Требовать действительного пользователя.
На Debian / Ubuntu, вам нужно включить dav_svn Apache модуль:
# a2enmod dav_svn.
Пара уточнений:
# mkdir -p / websrv / svn.
Важно отметить, что этот каталог НЕ должен находиться внутри или перекрывать DocumentRoot виртуального хоста, который в настоящее время обслуживается Apache. Это остановка!
Теперь мы будем использовать htpasswd создать пароль для учетных записей, которым будет разрешен доступ к SVN. Только для первого пользователя нам понадобится -c
вариант.
Разрешенные учетные записи и пароли, зашифрованные с помощью bcrypt (-B
) будет храниться в /etc/httpd/subversion-auth в парах "ключ-значение". Обратите внимание, что по сегодняшним стандартам шифрование MD5 или SHA по умолчанию, используемое htpasswd, считается небезопасным.
На CentOS / RHEL / Fedora # htpasswd -cB / etc / httpd / subversion-auth tecmint В Debian / Ubuntu # htpasswd -cB / etc / apache2 / subversion-auth tecmint.
Не забудьте указать права собственности и разрешения для файла аутентификации:
На CentOS / RHEL / Fedora # chgrp apache / etc / httpd / subversion-auth. # chmod 660 / etc / httpd / subversion-auth В Debian / Ubuntu # chgrp www-data / etc / apache2 / subversion-auth. # chmod 660 / etc / apache2 / subversion-auth.
Поскольку вы будете получать доступ к SVN через веб-интерфейс, вам необходимо разрешить HTTP (и, возможно, HTTPS) трафик через ваш брандмауэр.
На CentOS / RHEL / Fedora # firewall-cmd --add-service = http --permanent. # firewall-cmd --add-service = https --permanent. # firewall-cmd --reload
Путем перезагрузки конфигурации брандмауэра с помощью --reload
, постоянные настройки вступают в силу немедленно.
Создайте начальный репозиторий SVN с именем Tecmint:
# svnadmin создать / websrv / svn / tecmint.
Измените владельца и владельца группы на апач рекурсивно:
На CentOS / RHEL / Fedora # chown -R apache: apache / websrv / svn / tecmint В Debian / Ubuntu # chown -R www-data: www-data / websrv / svn / tecmint.
Наконец, вам нужно будет изменить контекст безопасности /websrv/svn/tecmint
(обратите внимание, что вам придется повторить этот шаг, если вы решите создать другие репозитории позже):
На CentOS / RHEL / Fedora# chcon -R -t httpd_sys_content_t / websrv / svn / tecmint / # chcon -R -t httpd_sys_rw_content_t / websrv / svn / tecmint /
Примечание: Последние две команды могут не применяться, если вы устанавливаете SVN на VPS с отключенным SELinux.
Предлагаемое чтение:Узнайте, как временно или навсегда отключить SELinux в Linux
Начать сначала Apache и убедитесь, что репозиторий доступен.
На CentOS / RHEL / Fedora # systemctl перезапуск httpd В Debian / Ubuntu # systemctl перезапустить apache2.
Затем запустите веб-браузер и укажите его на http://192.168.0.100/svn/tecmint
. После ввода учетных данных действительного пользователя, которого мы создали в Шаг 1, вывод должен быть похож на:
На данный момент мы не добавили никакого кода в наш репозиторий. Но мы сделаем это через минуту.
Как мы упоминали во введении, TortoiseSVN - это удобный интерфейс для Apache Subversion. Это бесплатное программное обеспечение под лицензией GPL, и его можно загрузить с https://tortoisesvn.net/downloads.html.
Выберите архитектуру (32 или 64-битный), который соответствует вашей машине, и установите программу, прежде чем продолжить.
На этом этапе мы будем использовать папку с именем веб-приложение
внутри Документы. Эта папка содержит файл HTML и две папки с именами скриптов и стилей с Javascript и файлом CSS (script.js и styles.cssсоответственно), которые мы хотим добавить в систему контроля версий.
Щелкните правой кнопкой мыши веб-приложение и выберите SVN Checkout. Это создаст локальную копию удаленного репозитория (который на данный момент пуст) и инициализирует папку для управления версиями:
В URL репозитория введите http://192.168.0.100/svn/tecmint
и убедитесь, что локальный каталог оформления заказа остался прежним, затем щелкните хорошо:
Введите имя пользователя и пароль (см. Шаг 2) и щелкните хорошо:
Вас спросят, хотите ли вы оформить заказ в непустой каталог. Подтверждать чтобы продолжить оформление заказа. После завершения рядом с именем папки появится зеленая галочка:
Щелкните правой кнопкой мыши на веб-приложение
снова и выберите Совершить в это время. Затем напишите описательный комментарий, чтобы позже идентифицировать эту фиксацию, и проверьте файлы и папки, которые вы хотите развернуть в репозитории. Наконец, нажмите хорошо:
В зависимости от размера файлов фиксация не должна занимать больше минуты. Когда он будет завершен, вы увидите, что мы сейчас на редакция 1, что соответствует версии и файлам, указанным в веб-интерфейсе:
Если над одними и теми же файлами работают несколько человек, вам нужно Обновлять вашу локальную копию, чтобы иметь возможность работать с последней версией. Вы можете сделать это, щелкнув правой кнопкой мыши на веб-приложение
и выбирая Обновлять из контекстного меню.
Поздравляю! Вы успешно настроили сервер SVN и завершили / обновили простой проект под контролем версий.
В этой статье мы объяснили, как установить и настроить Подрывная версия Apache сервер репозитория на CentOS 7 сервер, и как зафиксировать изменения в этом репозитории, используя TortoiseSVN.
Обратите внимание: есть еще много чего SVN и TortoiseSVN чем то, что мы можем здесь адекватно осветить (особенно, как вернуться к предыдущим версиям), поэтому вы можете обратиться к официальной документации (SVN и TortoiseSVN) для получения дополнительной информации и вариантов конфигурации.
Как всегда, не стесняйтесь сообщать нам, если у вас возникнут вопросы! Не стесняйтесь использовать форму комментариев ниже, чтобы связаться с нами в любое время.