Logo

Web сервер на debian или ubuntu за полчаса

Запустить свой 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.

2 комментария

  1. а дальше что?

    • А дальше обычно идут индивидуальные настройки под конкретные требования CMS. Хотя надо будит добавить описание наиболее часто встречаемых модулей.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *