Настройка 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
Здесь начинают устанавливаться сразу три вида пакетов: собственно сам сервер MySQL, клиент MySQL (он обеспечивает доступ ко всему серверному центру) и поддержка модулей MySQL в PHP. Когда процесс установки уже начался, то сам сервер MySQL должна попросить у вас пароль, обычно для пользователя root(обязательно не перепутайте с системным супер пользователем root!).

   Необходимо ввести пароль, затем ввести его повторно на другом экране и через несколько минут после выполненной работы, установленная MySQL будет завершен.
Такими действиями, после всех этих установок, у нас будет все нужное для полноценного веб-сервиса. Для большего удобства установим phpmyadmin. В основном такая легкая процедура делается в Debian:
apt-get install phpmyadmin
Когда вы начнете устанавливать, то программа должна спросить вас, для каких целей и для какого сервиса вы хотите сконфигурировать утилиту – необходимо указать на apache2, для этого нужно кликнуть на него или нажать пробел.

   Когда вы уже установите ее, вам будет предложено сконфигурировать базу данных под phpmyadmin. Нужно согласиться с этим выбрав Yes, далее нужно будет ввести пароль для пользователя root для MySQL (мы уже вводили его, когда устанавливали сервер) и так же создадим пароль для phpmyadmin.
Далее нужно запустить phpmyadmin, тем самым посмотрев, все ли работает у нас. Что бы это сделать необходимо, запустить браузер (желательно Google Chrome) и в адресной строчке пишем Ip-адрес нашего сервера (например, 192.168.0.208 – но они могут быть и другими) и тот же путь к phpmyadmin, он будет таким же «http://192.168.0.207/phpmyadmin». Тем самым после выполненной работы должна появиться страница с авторизацией.
    В строке логин вводим (root) и в строке пароль вводим (MySQL-root) и заходим. Именно этими действиями мы убедились, что Apache, PHP и MySQL начинают работать без перебоев, так как Phpmyadmin нагружает все три составляющие. Необходимо указать путь, локальной системы в данном случае неважен, но все равно нужно поменять имя адресу скрипта, со стандартной в какой ни будь необычный. Для того что бы переименовать необходимо в каталоге /etc/phpmyadmin, далее откроем файл apache.conf и в строчке Alias прописываем новый путь (скажем, mypath).
Далее необходимо перезапустить apache:
/etc/init.d/apache2 restart
Конечно же, путь к phpmyadmin изменится на http://192.168.0.207/mypath/

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

   Пометка: Конечно же, для случая с Debian 6 необходимо будет открыть /etc/mime.types, а не искать настройки типов в конфигурациях Apache).
Далее нужно открыть файл для редактирования, и находим там строку application/x-httpd-php и необходимо будет дописать в конце строки html (без точки).

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

useradd -d /home/user1 -m userone
   Ключ -m означает, что обязательно с помощью -d каталог обязан быть установлен или создан автоматически. Потом необходимо задать ему пароль – сделать это можно с помощью команды passwd:
passwduserone
   Теперь все готово к созданию сайта. Давайте сменим пользователя, что бы заново создать нового в необходимые нам каталоги:
suuseronemkdir /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, Для него обычно нужно указатьт адрес и порт, по нему будет написан этот сайт. Вложенные настройки напоминают следующее:
ServerName – Это доменное имя нашего сервера
ServerAlias – Алиас сервера (можно указывать несколько таких параметров)
DocumentRoot — Корневой каталог сайта
ErrorLog – Путь и имя файла для записи логов ошибок
LogLevel — Уровень важности ошибки, начиная с которого информация обязана попасть в лог CustomLog — Путь и имя файла для записи логов доступа
Конструкцию directory которую мы вложили в описанный нами каталог, он указывает на домашний и похож на него (DocumentRoot). Строка OptionsAllowOverrideAll обозначает, что мы даем согласие перезаписать любые настройки при помощи .htaccrss. В следующих двух строках определяется права на доступ, в данном случае, с какого мы захотим адреса. Необходимо запомнить что allow,deny пишется без пробела - это одна настройка.

Пометка:

   Необходимо отметить, что directory может без вашего ведома дать соглашение, а далее он примениться при конфигурации Apache не только внутри VirtualHost, он еще и может применяться в любом другом месте, где необходимо будет задать вопросы для каталога.

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

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\). Если у вас стоит WindowsVista/Seven, то необходимо запустить при помощи администратора. Также нужно выполнить:

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-getinstall proftpd
при установке он задаст вопрос о варианте работы, необходимо выбрать standalone, в результате чего FTP-сервер будет установлен, он так же будет автоматически настроен и начнет функционировать. Что бы подключится к нему, можно использовать любой FTP-клиент (Filezilla, TotalCommander и т.д.), будем использовать уже созданные пользователем настройки userone.
И вновь можно работать на сайте точно так же как и на реальном сервере. Ну в общем удачи вам, в ваших начинаниях.