LAMP-Сервер


Ставим LAMP-сервер (Расшифровывается как Linux+Apache+MySQL+PHP):


 
tasksel install lamp-server
 
В процессе установки необходимо только будет ввести пароль для mysql. Установку можно проверить например так:
 
Создаем тестовую страничку:
 
touch /var/www/index.php
nano /var/www/index.php
 
<?php
phpinfo();
?>
 
И пробуем зайти на сервер, к примеру если адрес сервера 10.10.10.4 ,  то:
 
http://10.10.10.4/index.php
 
Если страница открылась и появилась подробная информация о php, значит все ок.
 

Настройка виртуальных хостов.


 
Теперь разберемся, как размещать на одном сервере несколько сайтов.
Имеем два доменных имени, к примеру pskovholod.ru и megaholod.lan (lan - потому что доступен только в лок. сети, запись для него добавлена в своем днс-сервере, в данном случае не важно, может быть любой адрес). Нужно что бы по каждому адресу открывался нужный сайт.
 
Создаем два каталога, где будут лежать сайты:
 
mkdir /var/www/megaholod
mkdir /var/www/pskovholod
 
Создаем тестовые странички в этих папках:
 
touch /var/www/megaholod/index.php
touch /var/www/pskovholod/index.php
 
nano /var/www/megaholod/index.php
 
megaholod.lan
<?php
phpinfo();
?>
 
nano /var/www/pskovholod/index.php
 
pskovholod.ru
<?php
phpinfo();
?>
 
Теперь указываем апачу путь к каталогам с сайтами, порт, на котором они будут доступны, и алиасы, т.е. псевдонимы. Для этого создаем файлы:
 
touch /etc/apache2/sites-available/megaholod
touch /etc/apache2/sites-available/pskovholod
 
Вносим в них нужную информацию:
 
nano /etc/apache2/sites-available/megaholod
 
<VirtualHost *:80>
ServerName megaholod
ServerAlias megaholod.lan www.megaholod.lan
DocumentRoot /var/www/megaholod
</VirtualHost>
 
nano /etc/apache2/sites-available/pskovholod
 
<VirtualHost *:80>
ServerName pskovholod
ServerAlias pskovholod.ru www.pskovholod.ru
DocumentRoot /var/www/pskovholod
</VirtualHost>
 
Теперь "включим" эти сайты, создав ссылки:
 
ln -s /etc/apache2/sites-available/megaholod /etc/apache2/sites-enabled/megaholod
ln -s /etc/apache2/sites-available/pskovholod /etc/apache2/sites-enabled/pskovholod
 
Перезапускаем apache2:
 
/etc/init.d/apache2 restart
 
И пробуем зайти на оба сайта:
 
http://pskovholod.ru/
 
Увидим на странице:
 
pskovholod.ru
и подробную инфу о php
 
http://megaholod.lan/
 
Увидим на странице:
 
megaholod.lan
и подробную инфу о php
 

Меняем порт апача.


 
Если нужно глобально изменить порт, то изменяем в строчках, указанных ниже, порт 80 на нужный, например 8080:
 
nano /etc/apache2/ports.conf
 
NameVirtualHost *:8080
Listen 8080
 
nano /etc/apache2/sites-enabled/000-default
 
<VirtualHost *:8080>
 
т.е. сайт, лежащий в /var/www/ будет на порту 8080.
Если для конкретного виртуального хоста, то, к примеру:
Добавляем (не изменяем существующие, а добавляем) две строчки в /etc/apache2/ports.conf, таким образом апач будет слушать на двух портах, на прежнем и на 8080:
 
nano /etc/apache2/ports.conf
 
NameVirtualHost *:8080
Listen 8080
 
И для нужного сайта ставим порт 8080:
 
nano /etc/apache2/sites-available/pskovholod
 
<VirtualHost *:8080>
 
т.е. сайт pskovholod.ru будет доступен на порту 8080, остальные - на прежнем порту.

Dec. 12, 2010