Несколько недель назад я показал вам, как настроить свой собственный сервер Linux. Теперь я собираюсь показать вам, как добавить еще больше
функциональность.
Прежде чем мы начнем …
В этом руководстве предполагается, что вы следовали моему предыдущему руководству: Как бесплатно настроить выделенный веб-сервер , или
что у вас уже есть подобный сервер.
Что мы собираемся выполнить
В этом уроке мы собираемся:
- Установите сервер Subversion, чтобы вы могли использовать контроль версий для своих проектов.
- Добавьте приложение для управления системой, более известное как Webmin, чтобы вы могли отслеживать состояние вашего сервера
и получать обновления в режиме реального времени.
Быстрая заметка
Эти шаги могут быть выполнены, сидя за компьютером и набрав в консоли, или для тех, кто
как для запуска безголового сервера, вы можете использовать SSH. Я рассмотрел это в моем предыдущем руководстве, так что если вы не знакомы с
технология, отправляйся туда, чтобы начать ее использовать. Теперь, без лишних слов, давайте начнем!
Скачать Subversion
Хотя существует множество систем контроля версий, Subversion является одной из самых популярных. Subversion позволяет вам сохранить несколько версий вашего кода, позволяя вам всегда возвращаться назад, если вам нужна предыдущая версия.
Давайте загрузим это!
Во-первых, вам нужно войти на свой сервер; Я делаю это по SSH, поэтому на моих скриншотах будет показан мой терминал:
Теперь введите это и нажмите Enter:
1
|
sudo aptitude install subversion
|
Он попросит вас ввести пароль; введите его и нажмите Enter. Кроме того, он может спросить вас, хотите ли вы продолжить, нажмите «y» и нажмите ввод.
Ваш сервер теперь загрузит и установит сервер Subversion:
Как только это будет сделано, нам нужно это настроить.
Настройка Subversion
Эта следующая часть может быть немного запутанной. То, что мы собираемся сделать, это создать новую группу под названием «Subversion», которая позволит серверу Subversion
безопасно писать в свои репозитории на вашем веб-сервере, но не более того. Для этого введите следующие команды, заменив USERNAME на свое действительное имя пользователя.
1
2
3
|
sudo addgroup subversion
sudo usermod -a -G subversion USERNAME
sudo usermod -a -G subversion www-data
|
По порядку эти команды: добавьте новую группу под названием «subversion», добавьте свою учетную запись пользователя в новую группу и добавьте пользователя веб-сервера в группу.
Теперь нам нужно создать место для ваших репозиториев. Технически это можно поместить куда угодно, но я всегда храню его в / var:
1
|
sudo mkdir /var/svn
|
Наконец, создайте папку проекта и репозиторий:
sudo mkdir / var / svn / project sudo svnadmin создать / var / svn / project
И предоставьте веб-серверу (и всем, кто входит в группу subversion) доступ:
1
2
|
sudo chown -R www-data:subversion /var/svn/project
sudo chmod -R 770 /var/svn/project
|
Пока что мы создали группу subversion, создали место для наших репозиториев, создали новый репозиторий под названием «проект» и дали веб-серверу доступ к этому проекту.
Последнее, что нам нужно сделать, это позволить Apache обслуживать репозитории. Для этого нам нужно установить новую библиотеку Apache, которая называется libapache2-svn. К настоящему времени вы должны знать, как
сделай это:
1
|
sudo aptitude install libapache2-svn
|
После этого откройте файл конфигурации Apache SVN:
1
|
sudo nano /etc/apache2/mods-available/dav_svn.conf
|
Прокрутите весь путь до конца и добавьте следующее:
01
02
03
04
05
06
07
08
09
10
11
|
<Location /svn>
DAV svn
SVNParentPath /var/svn
SVNListParentPath On
AuthType Basic
AuthName «Subversion»
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
|
Сохраните файл (Control-O, а затем введите) и закройте его (Control-X). (обратите внимание, для пользователей Mac и Linux: независимо от настроек вашей ОС, он все равно является управляющим, а не командным или супер.)
В основном, что произошло, вы сказали Apache, что когда URL заканчивается на «/ svn»,
список ваших репозиториев Subversion, которые находятся в «/ var / svn». Вы тогда сказали, что только вы
хотите, чтобы люди, перечисленные в «/ etc / subversion / passwd», могли видеть эти репозитории.
Теперь, чтобы эти изменения вступили в силу, перезагрузите конфигурацию Apache:
1
|
sudo /etc/init.d/apache2 force-reload
|
После этого откройте ваш любимый веб-браузер и перейдите по адресу http: // yourserveraddress / svn. Он попросит вас войти в систему, но независимо от того, что вы положили, вы получите
внутренняя ошибка сервера:
Не волнуйся! Это потому, что мы еще не определили пользователей в / etc / subversion / passwd. Давайте сделаем это сейчас:
1
|
sudo htpasswd -c /etc/subversion/passwd USERNAME
|
Это создаст новую запись для USERNAME с указанным вами паролем. ПОЖАЛУЙСТА, НЕ используйте свой обычный пароль учетной записи, так как этот пароль отправляется небезопасно, и в нечетном случае кто-то
перехватывает его, вы не хотите, чтобы у них был root-доступ к вашей машине. После этого вернитесь на эту страницу (http: // yourserveraddress / svn) и обновите ее. Теперь следует запросить ваше имя пользователя
и пароль еще раз:
Положите их, и вуаля! Теперь вы можете видеть все свои репозитории (в данном случае, просто проект ), и вы готовы использовать его для контроля версий!
Чтобы добавить больше пользователей, запустите эту команду, заменив USERNAME новым именем пользователя.
1
|
sudo htpasswd /etc/subversion/passwd USERNAME
|
Настройка Webmin для управления сервером
Теперь, когда у вас есть этот причудливый сервер, делающий все эти разные вещи, разве не было бы неплохо иметь возможность легко им управлять? Передайте привет Webmin , потрясающему веб-интерфейсу для
Конфигурация системы, мониторинг и т. д. Он делает довольно приятные вещи, такие как отправка текстового сообщения на телефон, если ваш сервер выходит из строя. Лучшая часть: это абсолютно бесплатно. Итак, давайте установим это!
Во-первых, нам нужно загрузить последний пакет Debian Webmin со своего сайта. На момент написания этой статьи текущей версией является 1.450. Итак, запустите эту команду, чтобы загрузить файл:
1
|
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.450_all.deb
|
Однако, прежде чем мы сможем установить его, нам нужно удовлетворить некоторые зависимости (нам нужно установить программы, которые использует Webmin):
1
|
sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
|
После этого установите Webmin, используя только что скачанный файл:
1
|
sudo dpkg -i webmin_1.450_all.deb
|
Теперь, пусть это закончится, и как только это будет сделано, Webmin будет установлен! Откройте ваш любимый веб-браузер и перейдите по адресу https: // yourserveraddress : 10000 / (обратите внимание, что это http s ). Вы должны увидеть следующую страницу: (Если это не работает, продолжайте читать )
Войдите, используя ваши обычные данные; те же данные, которые вы используете для входа на сервер.
Для тех из вас, кто не может подключиться (вероятно, большинство из вас), прочитайте следующий раздел. Для тех, кто может, пропустите следующий раздел.
Задерживать; Я не могу подключиться!
Для тех, кто не может подключиться, хорошо. Это означает, что ваш брандмауэр выполняет свою работу. Однако в этом случае нам нужен доступ к порту 10000, поэтому нам нужно добавить новое правило брандмауэра. Эти указания специально для тех, кто следовал моему предыдущему руководству. Откройте файл правил Shorewall:
1
|
sudo nano /etc/shorewall/rules
|
Добавьте эту строку прямо над тем, где написано #LAST LINE:
1
|
ACCEPT net $FW tcp 10000
|
Сохраните файл (Control-O, а затем введите) и закройте его (Control-X).
Для сравнения, вот правила брандмауэра AlexVillmann.com: (У меня есть больше правил, чем добавляемое нами, но вы получите картину)
Теперь перезапустите Shorewall:
1
|
sudo /etc/init.d/shorewall restart
|
Наконец, вернитесь в веб-браузер и вернитесь к Webmin (https: // yourserveraddress : 10000 /), и на этот раз он должен работать.
Поздравляем! У вас есть Webmin все настроено! Есть миллион вещей, которые вы можете сделать с ним, но все они выходят за рамки этой статьи. Лично я бы просто поиграл с этим, пока он не сделает то, что вы хотите, тоже. Это довольно очевидно, а для всего остального есть документация Webmin . Веселиться!
Завершение
Следуя этому руководству, вы настраиваете контроль версий и удобное приложение для веб-управления. Хотелось бы подробнее рассказать о Webmin, но это статья сама по себе. В любом случае, я надеюсь, что это поможет вам продвинуться вперед в вашем приключении на сервере Linux!
Для тех, кто ищет больше информации по темам, которые я затронул, вот несколько отличных ссылок:
- Подпишитесь на RSS-канал NETTUTS, чтобы узнать о ежедневных новостях и статьях о веб-разработке.