SNK Software
Web Studio Монополия Metaproducts Утилиты Игры
Монополию Web Studio Библиотека
Вебмастер Дельфи Работа на ПК Самоучитель
Для PHP Для Delphi
Веб-дизайн Программирование Компьютеры Девайсы Заметки
SNK Software Индустрия hardware Индустрия software
О студии Портфолио Сопровождение сайтов

Новые материалы

Девайсы:
Сравнительный обзор Nokia Lumia 920 и HTC 8X
Девайсы:
Обзор Nokia Lumia 820 – смартфона на WP8
Вебмастеру:
Настройка Apache, PHP и MySQL для Linux-VPS
Вебмастеру:
VPS на домашнем ПК: настройка сети в VM VirtualBox и Debian
Вебмастеру:
VPS на домашнем ПК: устанавливаем Linux Debian 6
Вебмастеру:
VPS на домашнем ПК: установка VM VirtualBox
Работа на компьютере:
Иные возможности текстового процессора Word
Работа на компьютере:
Вставка объектов
Работа на компьютере:
Таблицы в Word
Работа на компьютере:
Печать и сохранение документов
Работа на компьютере:
Сноски, колонтитулы, оглавление и указатели в Word

Настройка Apache, PHP и MySQL для Linux-VPS

В ранее опубликованных материалах уже рассматривалась как установка Apache с PHP и MySQL под Windows, так и более правильный вариант — установка локального VPS с Linux под Windows. В последнем случае даже приводился пример установки этой троицы под Debian, описываемый одной строчкой. Однако ни в том, ни в другом случае, не рассматривались подробно собственно настройки на Web-, ни SQL-серверов. Особенно Web, то бишь Apache — ведь для хостинга (пусть и отладочного) это очень важно.

Установка Apache, PHP и MySQL в Debian

Первым делом следует установить необходимое ПО на свой виртуальный (или реальный — в свете рассматриваемой задачи это значения не имеет) сервер. Как уже было отмечено, в Linux это делать гораздо проще, чем в Windows. Тем не менее, остановимся на этом подробнее, тем более, что мы будем устанавливать не «голые» версии Apache и PHP, а с обвязкой из различных вспомогательных библиотек. В частности, полезно установить, как минимум, GD для поддержки графики, а так же ImageMagick (улучшенная поддержка графики в PHP) и Mcrypt (функции шифрования).

Итак, устанавливаем:

apt-get install apache2 php5 imagemagick libapache2-mod-php5 php5-gd php5-imagick php5-mcrypt

Здесь мы устанавливаем сами Apache, PHP и ImageMagick (GD уже установлен с базовой системой), а так же модули для взаимодействия Apache с PHP и PHP с GD, ImageMagick и Mcrypt.

Примечание
Суть работы с установщиком пакетов в Debian сводится к вызову apt-get с командой (в данном случае Install) и последующему перечислению через пробел всех нужных пакетов.

Теперь установим MySQL:

apt-get install mysql-server mysql-client php5-mysql

Тут устанавливаются 3 пакета: собственно сервер MySQL, клиент MySQL (обеспечивающий доступ к серверу) и модуль поддержки MySQL в PHP. По ходу установки сервера программа установки MySQL запросит у вас пароль для пользователя root (не путать с системным суперпользователем root!).

Установка пароля root в MySQL

Введите пароль, затем введите его повторно на следующем экране и через несколько секунд после этого установка MySQL будет завершена.

Таким образом, мы имеем все необходимое для полноценного веб-сервера. Для удобства установим phpmyadmin. Делается это в Debian очень просто:

apt-get install phpmyadmin

В процессе установки программа спросит вас, для какого сервера вы хотите сконфигурировать утилиту — укажите apache2 (нажав пробел на соответствующей строке).

Установка phpmyadmin в Linux Debian

В конце установки вам будет предложено настроить базу данных для phpmyadmin. Согласимся с этим предложением (выбрав Yes), затем введем пароль пользователя root для MySQL (который был указан нами ранее при установке сервера), и создадим пароль для пользователя phpmyadmin.

Теперь можно запустить phpmyadmin, попутно проверив, как у нас все работает. Для этого открываем браузер и в адресной строке вводим IP-адрес нашего сервера (в примере по настройке сети был использован адрес 192.168.0.207) и путь к phpmyadmin, который по умолчанию будет таким же, т.е. «http://192.168.0.207/phpmyadmin». В результате должна появиться страница авторизации.

Установленный PHPMyAdmin

Вводим логин (root) и пароль (для MySQL-root) и заходим. Таким образом, мы убеждаемся что вся связка из Apache, PHP и MySQL работает правильно, т.к. Phpmyadmin использует все 3 эти составляющие. Единственное замечание — это путь к скрипту. Пусть в данном случае (локальной системы для тестирования) это и не важно, но правила хорошего тона требуют переименовать адрес скрипта со стандартного на какой-либо уникальный. Для этого в каталоге /etc/phpmyadmin надо открыть файл apache.conf и в строке Alias прописать новый путь (скажем, mypath).

Конфигурирование alias для apache

Теперь следует перезапустьть apache:

/etc/init.d/apache2 restart

Соответственно, путь к phpmyadmin изменится на http://192.168.0.207/mypath/

Настройка Apache в Linux

Таким вот образом мы перешли к конфигурированию Apache. Файлы конфигурации этого веб-сервера в случае с Debian (да и в большинстве других дистрибутивов Linux) находятся в каталоге /etc/apache2. Основные интересующие нас настройки расположены в каталогах mods-available и sites-available. Однако, следует учитывать что используются только те файлы конфигурации, на которые имеются ссылки из каталогов mods-enabled и sites-enabled, соответственно. Либо можно создавать свои файлы непосредственно в этих каталогах. Для начала определимся с типами файлов. Дело в том, что по умолчанию интерпретатор PHP будет обрабатывать только файлы с расширением .php, .pht и .phtml. Но нам, наверное, хотелось бы, добавить еще и .html к этому списку. По этому находим файл mime.conf в /etc/apache2/mods-available и ищем в нем строку, содержащую «php» (поиск во встроенном редакторе mc осуществляется по нажатию F7). Если не находим, то смотрим, где находится общий (системный) файл конфигурации типов. Строка должна начинаться с TypesConfig. Как правило, этот файл находится в корне каталога /etc и называется mime.types.

Примечание
Собственно, для случая с Debian 6 можно сразу открывать /etc/mime.types, а не искать настройки типов в конфигах Apache).

Открываем файл для редактирования, находим строку application/x-httpd-php и дописываем в конец строки html (без точки).

настройка обработки PHP для Apache

Типы настроены, переходим к созданию каталога для сайта. Тут было бы желательно расположить его в том же каталоге, что и на «живом» хостинге. Скорее всего, это будет каталог вида «/home/мия_пользователя/имя_сайта». Тут мы сталкиваемся с тем, что нам нужен пользователь: работать с сервисом httpd из-под root недопустимо. Для создания пользователя используется команда useradd, в качестве параметров к которой следует указать путь к домашнему каталогу пользователя и собственно имя пользователя. Пусть это будет userone:

useradd -d /home/user1 -m userone

Ключ -m указывает, что указанный при помощи -d каталог должен быть создан автоматически. Далее следует задать пароль при помощи команды passwd:

passwd userone

Теперь все готово к созданию сайта. Сменим пользователя на вновь созданного и создадим все необходимые каталоги:

su userone mkdir /home/user1/site1 mkdir /home/user1/site1/logs mkdir /home/user1/site1/www exit

Каталоги готовы, теперь вернемся к Apache. Нам надо определить виртуальный хост для сайта site1 (пусть он называется site1.ru), Правильнее всего это сделать таким образом: в каталоге /etc/apache2/sites-available создается файл конфигурации вида имя_сайта.conf, в нашем случае это site1.ru.conf. В нем и прописываются все нужные настройки. Для нашего примера получаем примерно следующее:

<VirtualHost *:”80> ServerName site1.ru ServerAlias www.site1.ru DocumentRoot /home/user1/site1/www <directory /home/user1/site1/www> AllowOverride All Order allow,deny allow from all </directory> ErrorLog /home/user1/site1/logs/error.log LogLevel warn CustomLog /home/user1/site1/logs/access.log combined </VirtualHost>

Как видно, все параметры вложены в своеобразный тег VirtualHost, в качестве атрибута которого указывают адрес и порт, по которому доступен описываемый сайт. Вложенные параметры означают следующее:

Вложенная конструкция directory здесь описывает каталог, указанный в качестве домашнего (DocumentRoot). Строка Options AllowOverride All означает, что мы разрешаем перезаписывать любые настройки при помощи файлов .htaccrss. А следующие 2 строки определяют права доступа, в данном с любого адреса (обращаю внимание на то, что allow,deny пишется без пробела — это один параметр).

Примечание
Следует отметить, что directory может применяться при конфигурировании Apache не только внутри VirtualHost, но и в любом другом месте, где требуется задать права доступа для какого-либо каталога.

После того как файл конфигурации Apache для нового сайта готов, надо указать серверу, что этот файл надо задействовать. Для этого создадим симлинк на этот файл в каталоге /etc/apache2/sites-enabled. Делается это при помощи команды ln:

ln -s /etc/apache2/sites-available/site1.ru.conf /etc/apache2/sites-enabled/site1.ru.conf

Таким образом, мы теперь всегда можем выключить созданный файл из конфигурации, просто удалив ссылку на файл в sites-enabled, или подключить его вновь, создав ссылку заново.

Теперь протестируем получившуюся конфигурацию, перезапустив Apache:

/etc/init.d/apache2 restart

Теперь дело за малым — надо сообщить браузеру, что доменное имя site1.ru следует искать по IP-адресу нашей виртуальной машины. Для этого достаточно сделать соответствующую запись в файле hosts (он традиционно расположен в c:\windows\system32\drivers\etc\). В командной строке Windows (для Win7/Vista запустите её с правами администратора) выполните:

notepad.exe c:\windows\system32\drivers\etc\hosts

И допишите в конец:

192.168.0.207 site1.ru

Сохраните файл, запустите браузер и введите site1.ru в адресной строке. Откроется стандартная страница просмотра каталога через HTTP:

Index of / Name Last modified Size Description Apache/2.2.16 (Debian) Server at site1.ru Port 80

Отлично, наш первый сайт под Linux-VPS настроен и работает.

Установка FTP-сервера в Debian

После того, как Apache настроен, неплохо было бы залить контент на созданный сервер. Для этого нужен FTP-сервер. Возвращаемся к командной строке виртуальной машины Debian и пишем:

apt-get install proftpd

На запрос о варианте работы выбираем standalone, в результате чего FTP-сервер установлен, настроен и уже функционирует. Подключаемся любым FTP-клиентом (Filezilla, Total Commander и т.п.), используя настройки созданного ранее пользователя userone.

Настройки FTP

Теперь можно работать с созданным сайтом точно так же, как если бы он находился на реальном сервере в интернете.

2011-11-08 // Есть вопросы, предложения, замечания? Вы можете обсудить это на форуме !

Избранное

SNK GSCP
SNK GSCP - новая библиотека для PHP 5!
Web Studio
Web Studio и Visual Workshop
Библиотека:
Стандарты на web-технологии
Монополия
Монополия v. 2.0.2
Загрузки:
скачать программы
Продукция:
программы и книги
Техподдержка / Связаться с нами
Copyright © 1999-2013 SNK. Все права защищены.
При использовании материалов с сайта ссылка на источник обязательна.
Рейтинг@Mail.ru