Якщо ваша робота вимагає роботи з документами, веб -сторінками та іншими типами файлів, які регулярно оновлюються, ви можете скористатися механізмом контролю версій, якщо ви цього ще не зробили.
Серед іншого, це дозволяє вам (а також групі потенційних співробітників) відстежувати зміни, внесені до даного файлу, і дозволяє повернутись до попередньої версії, якщо виникає проблема або коли оновлення не дало очікуваного результат.
В екосистемі вільного програмного забезпечення називається найбільш широко використовувана система контролю версій Apache Subversion (або SVN коротко). За допомогою mod_dav_svn (Модуль Apache для Subversion), ви можете отримати доступ до сховища Subversion за допомогою HTTP та веб -сервера.
Тим не менше, давайте закатаємо рукави та встановимо ці інструменти на RHEL / CentOS 7, Fedora 22-24, Debian 8/7 та Ubuntu 16.04-15.04 сервер. Для наших тестів ми будемо використовувати a CentOS 7 сервер з IP 192.168.0.100.
На стороні клієнта (a Windows 7 машину), ми встановимо та використовуємо TortoiseSVN (який базується на Apache Subversion) як інтерфейс для SVN.
Сервер - CentOS 7IP-адреса - 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 Тип автентифікації Основне ім'я автентифікації "Ласкаво просимо до 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 Тип автентифікації Основне ім'я автентифікації "Ласкаво просимо до SVN" AuthUserFile/etc/apache2/subversion-auth Вимагати дійсного користувача.
Увімкнено Debian / Ubuntu, потрібно включити dav_svn Apache модуль:
# a2enmod dav_svn.
Пара уточнень:
# mkdir -p /websrv /svn.
Важливо відзначити, що цей каталог НЕ повинен розташовуватися всередині або перекривати DocumentRoot віртуального хоста, який зараз обслуговується Apache. Це шоу -стоп!
Тепер ми будемо використовувати htpasswd створити пароль для облікових записів, яким буде дозволено доступ до SVN. Лише для першого користувача нам знадобиться -в
варіант.
Дозволені облікові записи та паролі, зашифровані bcrypt (-В
) буде зберігатися у /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 # брандмауер-cmd --add-service = http --постійний. # firewall-cmd --add-service = https --permanent. # firewall-cmd --reload
Перезавантаживши конфігурацію брандмауера за допомогою -перезавантажити
, постійні налаштування вводяться в дію негайно.
Створіть початковий репозиторій SVN під назвою tecmint:
# svnadmin create/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
Перезапустіть Апач та перевірте наявність сховища.
На 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-розрядна), що відповідає вашому апарату, і встановіть програму, перш ніж продовжити.
На цьому кроці ми будемо використовувати папку з іменем webapp
всередині Документи. Ця папка містить HTML -файл та дві папки зі сценаріями та стилями з Javascript та CSS -файлом (script.js та styles.cssвідповідно), які ми хочемо додати до контролю версій.
Клацніть правою кнопкою миші webapp і виберіть SVN Checkout. Це створить локальну копію віддаленого сховища (на даний момент порожнє) та ініціалізує папку для контролю версій:
Введіть URL -адресу сховища http://192.168.0.100/svn/tecmint
і переконайтеся, що локальний каталог оплати залишився незмінним, а потім клацніть добре:
Введіть ім’я користувача та пароль (див Крок 2) і натисніть добре:
Вас запитають, чи хочете ви перейти до непустого каталогу. Підтвердити щоб продовжити оплату. Після завершення біля назви папки з’явиться зелений прапорець:
Клацніть правою кнопкою миші webapp
ще раз і виберіть Здійснювати цього разу. Далі напишіть описовий коментар, щоб пізніше визначити цю фіксацію, та перевірте файли та папки, які потрібно розгорнути у сховищі. Нарешті, натисніть добре:
Залежно від розміру файлів, фіксація не повинна тривати більше хвилини. Коли це буде завершено, ви побачите, що ми зараз перегляд 1, що відповідає версії та файлам, зазначеним у веб -інтерфейсі:
Якщо над тими ж файлами працює кілька людей, вам захочеться Оновлення локальну копію, щоб мати найновішу версію для роботи. Ви можете зробити це, клацнувши правою кнопкою миші webapp
і вибираючи Оновлення з контекстного меню.
Вітаємо! Ви успішно налаштували сервер SVN та доручили / оновили простий проект під контролем версій.
У цій статті ми пояснили, як встановити та налаштувати Apache Subversion сервер сховища на CentOS 7 сервер і як внести зміни до цього сховища за допомогою TortoiseSVN.
Зверніть увагу, що є ще багато іншого SVN та TortoiseSVN ніж те, що ми можемо адекватно охопити тут (зокрема, як повернутися до попередніх редакцій), тому ви можете звернутися до офіційних документів (SVN та TortoiseSVN) для отримання додаткової інформації та конфігураційних випадків.
Як завжди, не соромтеся повідомляти нас, якщо у вас виникнуть запитання! Не соромтеся використовувати форму коментаря нижче, щоб зв’язатися з нами в будь -який час.