Этот материал является подробным уроком для пошаговой установки LAMP (Apache+MySQL+PHP) на Ubuntu server 10.10 LTS (Maverick), так может работать и на desktop сборке Ubuntu 10.10 LTS. Но в данном примере показан только консольный вид установки и настроки LAMP. Это руководство предполагает, что Вы вошли в систему как root.
Предварительные замечания
Перед началом установки LAMP и ее настройки, инеобходимо обновить программы и ядро системы Ubuntu, сделать это можно следующим образом:
|
Установка Apache
Для установки текущей версии веб-сервера Apache из имеющихся обновленных репозиториев устанавливается следующие командой:
|
Теперь мы настроим виртуальный хостинг, для установки нескольких доменов одновременно на одном сервере (или субдоменов). Управление доменами происходит одним или несколькими пользователями.
Настройка виртуального хостинга
Есть много способов достижения этой цели, я всего лишь предлогая один из них. По умолчанию, Apache прослушивает все IP-адреса, доступные виртуальному серверу. Мы должны настроить его на прослушивание только адреса, который мы указыжем. Даже если у Вас есть только один IP адрес, не стоит пренебрегать этой процедурой. Начните с изменения параметра NameVirtualHost entry в файле /etc/apache2/ports.conf. Для этого отредактируем файл /etc/apache2/ports.conf:
|
Замените 188.127.241.217 на IP адрес Вашего виртуального сервера.
Изменим VirtualHost сайта по умолчанию. Редактируем файл /etc/apache2/sites-available/default исправив <VirtualHost>:
|
Настройка виртуальных хостов
Для каждого домена нужно создать файл с настройками в каталоге /etc/apache2/sites-available/. Название каждого конфигурационного файла для домена должно быть аналогичным самому домену. Например файл для доменов "mini-server.ru" и "forum.mini-server.ru"...
Редактируем файл /etc/apache2/sites-available/mini-server.ru:
<VirtualHost 188.127.241.217:80>
ServerAdmin Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
ServerName mini-server.ru
ServerAlias www.mini-server.ru
DocumentRoot /srv/www/mini-server.ru/public_html/
ErrorLog /srv/www/mini-server.ru/logs/error.log
CustomLog /srv/www/mini-server.ru/logs/access.log combined
</VirtualHost>
Редактируем файл /etc/apache2/sites-available/forum.mini-server.ru:
<VirtualHost 188.127.241.217:80>
ServerAdmin Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
ServerName forum.mini-server.ru
ServerAlias www.forum.mini-server.ru
DocumentRoot /srv/www/forum.mini-server.ru/public_html/
ErrorLog /srv/www/forum.mini-server.ru/logs/error.log
CustomLog /srv/www/forum.mini-server.ru/logs/access.log combined
</VirtualHost>
Примечание по поводу этого примера конфигурации:
- каталог /srv/www является корневым каталогом сайта виртуального хостинга.Конечно же сайт можно разместить и в другом месте указав правильное расположение
- ErrorLog и CustomLog создаются для отслеживания ошибок и сбора статистики. Их создание не обязательно. Если они определены (как показано Выше), каталоги должны быть созданы до перезагрузки Apache
Для того что бы это все работало, нам необходимо создать указанные в ней каталоги. Выполнив следующие команды:
|
После того, как Вы настроили виртуальные хосты, выполните следующие команды:
|
Перезагрузим Apache:
|
Если Вам когда-нибудь понадобится отключить сайт, Вы можете использовать команду a2dissite. Например, если вы хотите отключить сайт mini-server.ru, Вы должны выполнить эту команду:
|
Для включения сайта используйте команду a2ensite. Помните, что после включения, отключения или изменение любого конфигурационного необходимо перезапустить Apache:
|
Предполагается, что Вы уже настроили DNS для Вашего домена. Помните, что Вы можете создать столько виртуальных хостов сколько Вам понадобиться.
Установка и настройка MySQL
Установим MySQL-сервер, выполнив команду:
|
Во время установки Вам будет предложено ввести пароль. Введенный пароль вы сможете изменить позже. Файл с настройками MySQL расположен в /etc/my.cnf.
Настройка MySQL и создание базы данных
Для настройки безопасности MySQL рукомендуется использовать mysql_secure_installation. Запущенная mysql_secure_installation, предложит Вам изменить пароль MySQL для суперпользователя root (по умолчанию он не установлен), удалить анонимные учетные записи пользователей и удалить тестовые базы данных. На все предложения запущенной программы рекомендуется отвечать ДА. Если Вам будет предложено перезагрузить таблицы привилегий, выберите ДА. Выполните следующую команду, чтобы запустить программу:
|
Далее, создадим базу данных (БД) и предоставим пользователям разрешений на использование баз данных. Для этого войдем в MySQL:
|
Введите пароль root пользователя MySQL. И создайте БД с предоставлением доступа пользователям, введите следующую команду. Обратите внимание, двоеточие (;) в конце линии означает завершение вводы команды. Команда должна выглядеть следующим образом:
|
В приведенном выше примере, создана БД с именем test, user - это имя пользователя c паролем 12345. Использование этой БД не обязательно, так как Вы можите создать свою. Для выхода из администрирования MySQL выполните команду:
|
Apache и MySQL установлены, теперь Вы готовы перейти к установке PHP.
Установка и настройка PHP
Установить PHP можно следующим образом:
|
После того как PHP установлен нам необходимо настроить файл /etc/php5/apache2/php.ini. Изменения, которые мы внесем, достаточны для начала использования PHP. Убедитесь, что следующие значения установлены, и соответствующие строки без комментариев (комментарии строк, начинающихся с запятой (;)). Редактируем файл /etc/php5/apache2/php.ini:
|
max_execution_time = 30 memory_limit = 64M error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR display_errors = Off log_errors = On error_log = /var/log/php.log register_globals = Off
Перезапустим Apache:
|
Если Вам необходима поддержка MySQL в PHP, то Вы должны установить php5-MySQL пакет:
|
Для установки пакета php5-suhosin обеспечивающего дополнительную безопасность для PHP 5 (рекомендуется), выполним:
|
Перезапустим Apache:
|
На этом установка и настройка LAMP на Ubuntu server 10.10 закончена.