Статьи

Улучшение вашего сервера Ubuntu

Несколько недель назад я показал вам, как настроить свой собственный сервер Linux. Теперь я собираюсь показать вам, как добавить еще больше
функциональность.

В этом руководстве предполагается, что вы следовали моему предыдущему руководству: Как бесплатно настроить выделенный веб-сервер , или
что у вас уже есть подобный сервер.


Учебник по Ubuntu

В этом уроке мы собираемся:

  1. Установите сервер Subversion, чтобы вы могли использовать контроль версий для своих проектов.
  2. Добавьте приложение для управления системой, более известное как Webmin, чтобы вы могли отслеживать состояние вашего сервера
    и получать обновления в режиме реального времени.

Эти шаги могут быть выполнены, сидя за компьютером и набрав в консоли, или для тех, кто
как для запуска безголового сервера, вы можете использовать SSH. Я рассмотрел это в моем предыдущем руководстве, так что если вы не знакомы с
технология, отправляйся туда, чтобы начать ее использовать. Теперь, без лишних слов, давайте начнем!

Скачать Subversion

Хотя существует множество систем контроля версий, Subversion является одной из самых популярных. Subversion позволяет вам сохранить несколько версий вашего кода, позволяя вам всегда возвращаться назад, если вам нужна предыдущая версия.
Давайте загрузим это!

Во-первых, вам нужно войти на свой сервер; Я делаю это по SSH, поэтому на моих скриншотах будет показан мой терминал:

Теперь введите это и нажмите Enter:

1
sudo aptitude install subversion

Он попросит вас ввести пароль; введите его и нажмите Enter. Кроме того, он может спросить вас, хотите ли вы продолжить, нажмите «y» и нажмите ввод.
Ваш сервер теперь загрузит и установит сервер 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

Наконец, создайте папку проекта и репозиторий:

И предоставьте веб-серверу (и всем, кто входит в группу 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 , потрясающему веб-интерфейсу для
Конфигурация системы, мониторинг и т. д. Он делает довольно приятные вещи, такие как отправка текстового сообщения на телефон, если ваш сервер выходит из строя. Лучшая часть: это абсолютно бесплатно. Итак, давайте установим это!

Во-первых, нам нужно загрузить последний пакет 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!

Для тех, кто ищет больше информации по темам, которые я затронул, вот несколько отличных ссылок: