После переноса всего рабочего процесс на MSI Wind у меня остался компьютер, который начал простаивать. Так как компьютер полностью рабочий, то меня это несколько расстраивало. После некоторых раздумий и прикидок я решил сделать этот компьютер домашним сервером. Итак, что на нём должно работать?
- WEB сервер, то есть LAMP с phpMyAdmin, для хранения моих небольших проектов во время проектирования и создания, а также для изучения открытых систем и системного администрирования;
- SVN для контроля версий систем моих небольших проектов;
- Trac для управления моими небольшими проектами;
- Torrent клиент, то есть rTorrent, для поддержания лозунга — «Искусство должно принадлежать народу».
Сейчас я настроил только LAMP, SVN и Trac. И дальше пойдёт некоторое повествование как это сделать. С rTorrent есть несколько затруднений, поэтому о нём я напишу чуть позже.
Установить LAMP, имея диск Ubuntu Server 8.04.1, не составляет никакого труда. Поэтому заострять на этом внимания я не буду. Тем более в Сети уже полно руководств по настройке сервера под контролем Ubuntu. Как на английском с картинками, так и на русском, но без картинок.
Установку SVN и Trac я выполнял по инструкции. Проблем никаких не возникло.
Но так как мне нужно чтобы в единый момент времени на сервере работало сразу несколько проектов, то есть было несколько сайтов на одном сервере, то нужно правильно сконфигурировать Apache. Для этого открываем для редактирования файл конфигурации хостов Apache:
sudo nano /etc/apache2/sites-available/default
Файл должен выглядеть примерно так:
# Эта строчка говорит о том что на сервере будет несколько сайтов
NameVirtualHost 10.5.5.11:80
# Конфигурируем первый хост. Набор данных взят из файла по-умолчанию.
<VirtualHost 10.5.5.11:80>
ServerAdmin webmaster@localhost
ServerName project1
DocumentRoot /home/serg/www/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory «/home/serg/www»>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ «/usr/share/doc/»
<Directory «/usr/share/doc/»>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
# Конфигурируем второй хост. Используем только то, что нужно
<VirtualHost 10.5.5.11:80>
ServerName project2
DocumentRoot /home/serg/www2
<Directory «/home/serg/www2»>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Где:
10.5.5.11 — IP адрес компьютера в локальной сети
Теперь нужно упросить Apache прочитать новые настройки. Благо он не девушка, поэтому это сделать совсем не сложно:
sudo /etc/init.d/apache2 force-reload
На компьютере с которого будет производиться обращение к серверу нужно сделать следующее: перейти в меню Система — Администрирование — Сеть. Разблокировать окно для редактирования. Перейти на вкладку Узлы и добавить параметры:
IP-адрес: 10.5.5.11 (это адрес сервера в моей сети, у вас скорее всего будет другой)
Псевдонимы: project1 project2 (здесь нужно указывать то, что было написано в директивах ServerName у каждого VirtualHost):
В результате получим что-то типа:
Теперь, при включённом домашнем сервере, я могу набрать в строке браузера http://project2 и посмотреть как работает проект после последних изменений.