Запустить свой web сервер на линуксе очень просто. Рассмотрим как поставить популярную связку Linux + Apache + MySQL + PHP или просто LAMP.
Установка под Ubuntu
Чтобы установить всю связку нужно выполнить в консоли всего две команды:
sudo apt-get install tasksel sudo tasksel install lamp-server
В процессе нужно будет указать пароль для пользователя root необходимый для полного доступа к MySQL.
Установка под Debian
Под debian ненамного сложнее нужно лишь перечислить все что мы хотим поставить:
sudo aptitude install apache2 php5 libapache2-mod-php5 mysql-server mysql-client php5-mysql
Этот вариант подойдет почти для любого дистрибутива на основе debian включая ubuntu.
Тестирование PHP
Создадим тестовый файлик выполнив:
echo '<?php phpinfo() >;' > /var/www/test.php
Откройте в браузере http://127.0.0.1/test.php. Вы должны увидеть конфигурацию модуля php.
Установка phpmyadmin
Phpmyadmin это удобная панель управления для MySQL. Ставится также просто:
sudo apt-get install phpmyadmin
Перезапустите apache:
sudo /etc/init.d/apache2 restart
Теперь можно открыть админку в браузере http://127.0.0.1/phpmyadmin/
Мы получили сервер с базовой настройкой в принципе им уже можно пользоваться, если залить в папочку /var/www исходники сайта то он будет доступен по ip адресу или любому dns имени привязанному к ip.
Настройка нескольких сайтов
Для настройки несколько сайтов на одном ip нужно сначала привязать доменные имена к ip адресу. Чтобы сайт были доступны в интернете то нужно у провайдера получить статический ip адрес и указать его на DNS серверах у регистратора домена.
Если у вас ещё нету домена или вам нужно отладить сайт то можно сделать сопоставление отредактировав файл на машинке где запускаете браузер.
Для linux нужно добавить в файл /etc/hosts строчки вида:
127.0.0.1 mydomain1.ru 127.0.0.1 mydomain2.ru 127.0.0.1 mydomain3.ru
Аналогичный файл в windows лежит в C:\Windows\System32\Drivers\etc\hosts
Возвращаемся к нашему апачу.
Открываем файл /etc/apache2/ports.conf и проверяем что в нем есть строчки:
NameVirtualHost *:80 Listen 80
Если файла ports нету в вашем дистрибутиве то возможно выше указанные строки находятся в другом файле настроек.
Теперь в каталоге /etc/apache2/sites-available создадим файлик mydomain1.conf и напишем в нем минимальный конфиг:
<VirtualHost *:80> ServerName mydomain1.ru ServerAlias http://www.mydomain1.ru DocumentRoot /var/site/mydomain1.ru </VirtualHost>
Соответственно в каталоге /var/site/mydomain1.ru у нас должны лежать файлы сайта.
Чтобы включить сайт выполняем в терминале команды:
a2ensite mydomain1.conf apache2ctl restart
Для выключения выполняем:
a2dissite mydomain1.conf apache2ctl restart
Аналогично добавляем в /etc/apache2/sites-available другие сайты.
Все включенные сайты можно посмотреть в каталоге /etc/apache2/sites-enabled
В статье описаны лишь минимальный набор для простых PHP сайтов. Чтобы запустить сайт на крутой CMS нужно добавить ещё кучу специфичных настроек и модулей но это уже индивидуальная настройка которая обычно описывается в документации к CMS.
а дальше что?
А дальше обычно идут индивидуальные настройки под конкретные требования CMS. Хотя надо будит добавить описание наиболее часто встречаемых модулей.