Debian установка apache php mysql. Установка и настройка веб-сервера LAMP для разработки на PHP

14.05.2019

Дистрибутив Debian рассматривается в первую очередь как самая стабильная операционная система, поэтому довольно часто он используется на серверах для размещения сайтов. Также часто пользователи Linux вынуждены устанавливать программное обеспечение для работы сайтов на локальную машину чтобы иметь возможность все протестировать и привести в порядок перед отправкой во всемирную сеть.

В этой статье мы рассмотрим как выполняется установка LAMP Debian 9. Аббревиатура LAMP расшифровывается как Linux Apache Mysql PHP, это набор программного обеспечения, который чаще всего используется для размещения сайтов. Раньше мы уже говорили про , процесс не будет очень сильно отличаться в Debian, но все же есть нюансы.

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

sudo aptitude update && sudo aptitude upgrade

1. Установка компонентов

Сначала установим веб-сервер и интерпретатор языка программирования PHP:

sudo aptitude install apache2 php php-mysql libapache2-mod-php php-mbstring php-zip php-gd

Мы установили не только веб-сервер, но и основные библиотеки PHP, которые могут понадобиться для работы с графикой, строками и сжатыми архивами. Пакет libapache2-php отвечает за интеграцию поддержки php для веб-сервера Apache.

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

sudo aptitude install mariadb-server mariadb-client mariadb-common

А для установки MySQL:

sudo aptitude install mysql-server mysql-client mysql-common

В этой статье мы будем рассматривать MariaDB, но работа с MySQL не будет очень сильно отличаться.

2. Настройка Apache и PHP

Уже прошли те времена, когда для того чтобы подключить PHP к Apache нужно было пересмотреть кучу конфигурационных файлов, теперь установка LAMP Debian 9 выполняется достаточно просто. Если уже сейчас запустить Apache, и ввести адрес localhost, то все будет работать. Но давайте сначала добавим домен к нашему сайту. На локальной машине это тоже полезно. Сначала создадим папку для сайта:

sudo mkdir /var/www/test-site/

Конфигурационные файлы виртуальных хостов хранятся в каталоге /etc/apache2/sites-available/ просто скопируйте конфигурацию по умолчанию 000-default в новый файл:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test-site.conf

Теперь полученный файл нужно отредактировать. Нас будут интересовать директивы ServerName и DocumentRoot. Установите для них правильные значения:

ServerName test-site.com
DocumentRoot /var/www/test-site/

Все остальное можно оставить по умолчанию. Дальше сохраните изменения и активируйте сайт командой:

sudo a2ensite test-site.conf

Теперь осталось перезапустить Apache:

Чтобы проверить как все работает создайте файл index.php со следующим содержимым в папке /var/www/test-site/:

Если домен зарегистрирован в интернете и все запросы к нему направляются на ваш ip то уже можно открыть сайт в браузере. Если же нет, вы можете настроить маршрут для домена локально с помощью файла /etc/hosts:

sudo vi /etc/hosts

127.0.0.1 test-site.com

Теперь можете открывать сайт в браузере и проверять:

http://test-site.com

Если вы увидели информацию о версии php, как на снимке экрана, значит все работает и нам осталось только настроить базу данных.

3. Настройка базы данных

Как я уже говорил, в качестве основной базы данных мы будем использовать mariadb. Чтобы начать ее настройку выполните:

mysql_secure_installation



Я не буду подробно описывать все шаги настройки. Они уже описаны в статье установка MySQL в Ubuntu. После того как процесс первоначальной настройки завершится, создадим новую базу данных:

CREATE DATABASE testsite;

Затем создайте пользователя и дайте ему доступ к этой базе данных:

CREATE USER "testuser"@"localhost" IDENTIFIED BY "password";
GRANT ALL PRIVILEGES ON testsite.* TO "testuser"@"localhost";

Ну и для тестирования добавим таблицу:

USE testsite;
CREATE TABLE testtable (
id INT NOT NULL AUTO_INCREMENT,
str VARCHAR(100) NOT NULL,
PRIMARY KEY(id)
);

Теперь добавим одну запись в только что созданную таблицу:

INSERT INTO testtable (str) VALUES ("test1"), ("test2"), ("test3");

Теперь, чтобы убедиться что все работает, мы попытаемся получить данные из mysql через PHP. Для этого создадим небольшой скрипт. Он будет подключаться к базе данных и читать по порядку записи из таблицы:

sudo vi /var/www/test-site/testmysql.php

$connection = mysqli_connect("localhost","testuser","password","testsite") or die("Error " . mysqli_error($connection));
$sql = "SELECT id, str FROM testtable";
$result = mysqli_query($connection, $sql) or die("Error " . mysqli_error($connection));
$items = array();
while($row = mysqli_fetch_assoc($result))
{
$items = $row;
}
echo json_encode($items);
?>

http://test-site.com/testmysql.php

Несколько часов назад, о классном хостинге DigitalOcean . Если ты заинтересовался и хочешь попробовать его в действии, то тебе необходимо создать свой первый дроплет и установить/настроить все необходимые серверные компоненты (Apache , MySQL , PHP ). В этой заметке я хочу рассказать, как правильно установить и настроить популярную для всех хостингов связку: Apache , MySQL и PHP (LAMP). Заметка ориентирована на новичков в linux-мире.

Обновляем репозитории

Перед установкой программного обеспечения обязательно обнови репозитории. Делается это при помощи одной команды:

Apt-get update

Установка Apache в Debian 7

Установка Apache не должна вызвать сложностей. Все сводится к вызову одной единственной команды (репозитории классная вещь):

Apt-get install apache2

Поле ее выполнения будет выдано сообщение об отсутствии некоторых пакетов и предложение на загрузку. Соглашайся, и приготовься пару минут лицезреть бегущие в консоли надписи. После завершения процесса установки протестируй работоспособность web-сервера. Для этого открой браузер и перейди по адресу http://ip_твоего_сервера. Если ты поднимаешь хост в DigitalOcean , то IP адрес ты узнаешь из панели управления дроплетами или выполнив в консоле команду:

Ifconfig eth0 | grep inet | awk "{ print $2 }"

Корректно установленный web-сервер выдаст страницу с надписью “It works! ”.

Следующим компонентом, который нам предстоит установить, будет СУБД MySQL. Для загрузки и установки MySQL требуется выполнить опять же одну команду:

Apt-get install mysql-server

Менеджер пакетов нам также предложит загрузить и установить зависимые компоненты, а после их загрузки будет запущена конфигурационная утилита. Первым ее вопросом будет запрос пароля для учетной записи “root”. Придумываем пароль посложней и жмем “enter”. Советую вводить пароль с клавиатуры самостоятельно, а не из буфера. Одина раз, таким образом я ввел ошибочный пароль и потом пришлось переустанавливать MySQL .

После завершения установки MySQL тебе потребуется выполнить сценарий: mysql_secure_installation . Для этого в окне терминала напиши команду:

Mysql_secure_installation

Сценарий сразу запросит у тебя пароль от учетной записи «root», который ты задавал во время установки. Вводи пароль и жми клавишу “Enter”. Если пароль был введен правильно, сценарий предложит его сменить. Поскольку ты наверняка придумал хороший пароль во время установки, вводи «N», тем самым отказавшись от смены пароля.

Следующим вопросом будет предложение на удаление анонимных пользователей. На боевом хостинге они не нужны, поэтому соглашаемся (вводим в терминале “Y” ).

Далее сценарий предложит заблокировать root пользователю возможность подключаться с удаленных хостов. Для безопасности это очень хорошо, поэтому соглашаемся. Пользователь с полными правами должен подключаться к серверу баз данных только локально. Вводим «Y» и жмем клавишу «Enter». В очередном вопросе мастер предложит удалить тестовые базы. Они нам не нужны, поэтому соглашаемся. Последний вопрос будет связан с разрешение перезагрузки таблицы привилегий. Соглашаемся, и все наши ответы на предыдущие вопросы немедленно вступят в силу.

Устанавливаем PHP5 в Debian 7

Последним шагом будет установка PHP. Выполняется она также просто, как и установка Apache. Вводим в окне терминала команду:

Apt-get install php5 php-pear php5-mysql

Установка php5 в debian 7 занимает немного времени. Чтобы убедиться в корректности установки интерпретатора, потребуется перезапустить Apache . PHP взаимодействует с WEB-сервером посредством модуля, который будет автоматически запущен с перезапуском Apache. Для перезапуска Apache используй команду:

Service apache2 restart

Проверяем работоспособность PHP

Последним шагом на сегодня станет проверка работоспособности PHP. Попробуем создать тестовый сценарий и обратиться к нему через браузер. Вводим в терминале команду

Nano /var/www/phpinfo.php

Она запустит текстовый редактор «nano». В нем вводим стандартную, для проверки работы интерпретатора PHP строчку:

Сохраняем изменения в файле (ctrl + o ) и закрываем файл (ctrl + x ). Этим нехитрым действием мы создали файл по пути /var/www/phpinfo.php – папке хоста по умолчанию. Соответственно, чтобы обратиться к данному файлу удаленно мы должны вбить в браузере:

Http:///phpinfo.php

Если все компоненты были установлены правильно, то ты увидишь примерно страницу как на рисунке ниже.

Готов к труду и обороне

На этом шаге можешь считать, что WEB-сервер на Debian 7 полностью готов к работе. Ключевые компоненты установлены и готовы обслуживать толпы клиентов. Для полного счастья не хватает FTP доступа и удобной панели управления базами данных. Об этом, я расскажу завтра.

21 апреля 2014 в 14:36

Установка и настройка веб-сервера LAMP для разработки на PHP

  • Разработка веб-сайтов ,
  • PHP
  • Tutorial

Много начинающих веб-разработчиков переходят на дистрибутивы на базе Linux только лишь для того, чтобы создать свой стабильный веб-сервер для тестирования и отладки своих проектов. И проекты чаще всего, конечно же, на PHP. В данной статье я предлагаю Вам свой способ развертывания веб-сервера LAMP (Linux+Apache+MySQL+PHP) в очень доступной форме.

Данный способ уже несколько лет использую на.deb-based дистрибутивах. Ранее веб-сервер был установлен и отлично работал на Debian, Mint, Ubuntu, LMDE (с некоторыми поправками) и сейчас работает на elementaryOS.

Итак, начнем.

Заранее предполагаем, что наш сайт должен быть доступен по адресу mysite.zz , а папка с файлами сайта расположена по пути /home/user/server/mysite.zz. Веб-сервер будет устанавливаться на ElementaryOS. Поэтому в процессе настройки будет использован стандартный текстовый редактор scratch-text-editor. Можно использовать любой текстовый редактор, заменив «scratch-text-editor» на название своего редактора.

1. Установка необходимых пакетов

Вводим в терминале
sudo apt-get install apache2 mysql-server php5 phpmyadmin
При установке пакетов нам будет необходимо выполнить их предварительную настройку в псевдографическом режиме терминала.
В первом окне нам предлагают ввести пароль для MySQL пользователя «root». Вводим пароль и подтверждаем его:

ввод пароля для MySQL пользователя root


подтверждение пароля для MySQL пользователя root


Далее идет настройка phpmyadmin.
Здесь нас спросят, какой веб-сервер использовать для запуска phpmyadmin. Отмечаем apache2 клавишей пробела и жмем enter:

выбор веб-сервера для запуска phpmyadmin


На следующем экране читаем некоторую информацию и жмем enter

некоторая информация


Далее подтверждаем настройку базы при помощи dbconfig-common:

подтверждение настройки при помощи dbconfig-common


Вводим введенный выше пароль в

трех следующих экранах

2. Проверка работы сервера и phpmyadmin

Переходим в любом браузере по адресу localhost . Если сервер нормально установлен, то мы должны увидеть тестовую страницу сервера:

тестовая страница сервера


Для доступа к phpmyadmin переходим по ссылке localhost/phpmyadmin . Вводим логин «root» и пароль, введенный ранее:

страница входа phpmyadmin


Там же можно изменить язык интерфейса phpmyadmin.

Если все сделано верно, то мы перейдем к управлению нашими базами:

главная страница phpmyadmin

3. Настройка сервера

Создаем ссылку на phpmyadmin в /var/www
sudo ln -s /etc/phpmyadmin /var/www
Открываем конфигурационный файл сервера:
sudo scratch-text-editor /etc/apache2/apache2.conf
и добавляем в конец файла строчку:
ServerName localhost:80

/etc/apache2/apache2.conf

4. Добавление нашего сайта

Открываем файл hosts для добавления нашего сайта:
sudo scratch-text-editor /etc/hosts
и добавляем в файл строчку
127.0.1.1 mysite.zz

/etc/hosts

Создаем в любой папке конфигурационный файл сайта с названием «mysite.zz» с содержанием
AllowOverride All
и копируем его с правами суперпользователя в /etc/apache2/sites-available
sudo cp полный_путь_к_файлу /etc/apache2/sites-available/
Активируем наш сайт:
sudo a2ensite mysite.zz
Активируем модуль mod-rewrite (необходим для реализации ЧПУ):
sudo a2enmod rewrite
И перезапускаем сервер:
sudo /etc/init.d/apache2 restart

5. Проверка работы нашего сайта

Создаем файл index.php в папке нашего сайта (/home/user/server/mysite.zz), например, с таким содержанием:

Далее в любом браузере переходим по адресу mysite.zz

тестовая страница нашего сайта


Если мы видим нашу страничку, то все сделали верно.

6. Возможные проблемы

Phpmyadmin не доступен по адресу localhost/phpmyadmin
Для исправления этой ошибки необходимо переконфигурировать phpmyadmin
sudo dpkg-reconfigure phpmyadmin

Следующие проблемы мной наблюдались только в LMDE. Но не исключено, что могут встретиться в других дистрибутивах.

Доступ к нашему сайту может быть запрещен сервером
Для исправления этой проблемы к имени конфигурационного файла нашего сайта в /etc/apache2/sites-available необходимо добавить расширение.conf
mysite.zz.conf
содержание файла должно быть отредактировано следующим образом
ServerAlias mysite.zz www.mysite.zz DocumentRoot /home/user/server/mysite.zz AllowOverride All Require all granted
А активация сайта должна производиться по имени конфига
sudo a2ensite mysite.zz.conf
Не определяется логин и пароль при входе в phpmyadmin
Для исправления этой ошибки внесем некоторые изменения в конфигурационный файл phpmyadmin.
Открываем его
sudo scratch-text-editor /etc/phpmyadmin/config.inc.php
и добавляем следующие строчки
$dbuser = "root"; $dbpass = "kenny";
после строк
$cfg["Servers"][$i]["controluser"] = $dbuser; $cfg["Servers"][$i]["controlpass"] = $dbpass;
Теперь phpmyadmin должен распознать наш логин и пароль.

Дополнение

В данной статье не было рассмотрено подключение проекта к базе данных. Вариантов подключения очень много как в процедурном PHP, так и в объектно-ориентированном. Единственное, что могу сказать по этому поводу, это то, что при любой реализации подключения к определенной базе необходимо будет использовать пользователя «root» и пароль, который мы указывали при настройке пакетов при их установке.

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

И в заключение отмечу, что настройки конфигурационный файл PHP php.ini находится в директории /etc/php5/apache2/.

Удачных Вам проектов и чистого кода!

Хотелось бы рассказать как я устанавливал apache2 c php5 и mysql, а так же phpmyadmin на Debian, Ubuntu и Linux Mint в своей статье «Установка Apache2 с PHP5 и MySQL + phpmyadmin для Debian/Ubuntu/Mint». У меня установлен Debian, работать будет так же на Ubuntu и Linux Mint.

Я использую my_server.example.net — это доменное имя с 192.168.16.66- это его айпишник. Они будут отличны от ваших, и их можно настроить под себя. А посмотреть можно вот так:

# vim /etc/hosts [...] 192.168.16.66 my_server.example.net [...]

Я буду запускать все команды с привилегиями суперюзера, поэтому убедитесь, что вы вошли в вашу систему как администратор (root):

Установка Mysql

Когда я начал писать эту статью, то последняя версия mysql была 5, сейчас установим:

# apt-get install mysql-server mysql-client

В ходе установки, попросят ввести пароль для MySQL (для полного доступа, для рута) — это пароль будет одинаков как для root@localhost, так и для root@my_server.example.net. Его нужно ввести 2 раза.

Еще полезные статьи по теме:
1. 2. 3.
4.
5.

Установка apache2

Apache2 содержится в репозитории Ubuntu, как пакет, по этому я могу установить следующим образом:

# apt-get install apache2

После того как завершится установка, нужно перейти в свой ​​браузер на http://ip_server_or-IP (у меня это http://my_server.example.net), и вы должны увидеть страницу приветствия Apache2 (Это работает!), на английском «It’s works!». По этому если вы это увидели, то сервер работает нормально.

Домашняя директория с apache-м, по умолчанию, находится в /var/www на Debian, и файл конфигурации лежит в /etc/apache2/apache2.conf. Дополнительные конфигурации хранятся в подкаталогах, в таких как /etc/apache2/mods-enabled (для модулей Apache), /etc/apache2/sites-enabled (для виртуальных хостов), и /etc/apache2/conf.d.

Установка PhP5

Мы можем установить пхп и модуль для работы вот так:

# apt-get install php5 libapache2-mod-php5

Перезапускаем веб сервер чтобы все что установили вступило в силу:

Для того чтобы убедится что все хорошо работает у нас, нужно создать файл в домашней директории апача (если вы не меняли то он находится по пути /var/www) и добавим php код который будет выводить полезную информацию о установленных приложения (php, apache, модули и тд):

# vim /var/www/php_info.php

Открываем браузер и переходим на этот файл:
http://your_ip/php_info.php

Вы должны увидеть некоторые данные на экране. Чтобы была поддержка MySQL в PHP,нужно установить php5-mysql пакет. Сейчас я установлю полезные модули, по этому, если нужны они вам, то устанавливайте (они не помешают), так же можно выбрать самое необходимое и не ставить все что я ставлю себе.

# apt-cache search php5

Выберите те, которые вам нужны, и установить их так:

# apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-suhosin

Я установлю все перечисленное, оно не помешает мне. В этой установке содержатся модули для работы с шифрованием + для работы с кешем (улучшение работы пхп) + поддержка sqlite и еще много чего. Я не буду описывать каждый из них, если уж очень нужно будет, то напишите и я добавлю описание каждого из них и вам станет понятно, но гугл еще работает =)

Теперь перезагрузите сервер:

# /etc/init.d/apache2 restart

XCache — модуль для кэширования и оптимизации промежуточного кода PHP. У него есть пару аналогов, таких как Eaccelerator и APC. Я рекомендую, чтобы хотя бы один из них был установлен у вас он должен ускорить работу ваших страниц которые написаны на PHP.

XCache можно установить следующим образом:

# apt-get install php5-xcache

Перезапускаем апач:

# /etc/init.d/apache2 restart

Чтобы посмотреть весь список установленных модулей, выполните:

# php -m

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

Установка phpmyadmin

Если нужно установить именно phpmyadmin для работы с вашими базами, то сейчас мы это сделаем:

# apt-get install phpmyadmin

Мастер установки спросит какой веб -сервер вы используете (Web server to reconfigure automatically ): выбираем apache2, есть так же еще lighttpd. На следующий вопрос «Configure database for phpmyadmin with dbconfig-common ?» — отвечаем No. Хотя можно нажать и Yes, тогда установщик спросит пароль для пользователя admin (нужен для входа в phpmyadmin).

Чтобы начать пользоваться phpmyadmin, нужно открыть в браузере:
http://yourIP_or_server/phpmyadmin/

Вводим в поле логин «root», пароль вводим такой как вы создали для mysql.

Настройка mysql

попозже будет(через пару дней)

Настройка apache2

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

Виртуальные хосты (Virtualhosts).

Хочу начать я свою настройку с создания и настройки Virtualhosts (виртуальных хостов). Есть много разных способов чтобы создать виртуальные хосты, но я бы посоветовал данный метод (поискав и перебрал много вариантов и литературы, я выбрал именно его).

По умолчанию, веб-сервер апач «слушает» все IP-адреса которые доступны для виртуального сервера. Это не есть хорошо, по этому нужно подредактировать и настроить его на прослушивание только определенного ИП-адреса. Даже если Вы имеете только один IP адрес!

Делаем изменение в файле ports.conf:

# vim /etc/apache2/ports.conf [...] NameVirtualHost 192.168.16.66:80 [...]

Измените данный ИП-адрес на свой!

Делаем изменение в файле default:

# vim /etc/apache2/sites-available/default

Теперь я создам 1 виртуальный хост в качестве примера:

# vim /etc/apache2/sites-available/test ServerAdmin [email protected] # введите свой емейл ServerName 192.168.16.66 # замените на свой IP ServerAlias www.192.168.16.66 # замените на свой ИП-адрес или доменное имя DocumentRoot /var/www/192.168.16.66/public_html/ # домашняя директория для данного домена или сайта ErrorLog /var/www/192.168.16.66/logs/error.log # файл для хранения ошибок CustomLog /var/www/192.168.16.66/logs/access.log combined # # папка для хранения ошибок

Создадим папки которых нет:

# mkdir -p /var/www/192.168.16.66/ # mkdir -p /var/www/192.168.16.66/public_html # mkdir -p /var/www/192.168.16.66/logs

После всех изменений, нужно подключить данный домен в apache:

# a2ensite test

И перезагрузить веб-сервер:

# /etc/init.d/apache2 reload

Можно отключить данный сайт (виртуальный хост test)следующей командой:

# a2dissite test

Чтобы проверить работает ли все нормально, я скопирую файл (php_info):

# cp /var/www/php_info.php /var/www/192.168.16.66/public_html/

Можно открыть браузер и перейти:
http://192.168.16.66/php_info.php

Настройка PHP5

Все изменения нужно проводить в конфигурационном файле php.ini, сейчас мы его немного поправим:

# vim /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 [...]

Вот и все, данная тема «Установка Apache2 с PHP5 и MySQL + phpmyadmin для Debian/Ubuntu/Mint» полностью раскрыта, можно использовать наш установленный LAMP.

06Сен

LAMP - является набором программных продуктов, широко применяемых для создания веб-сервисов. Данный набор состоит из операционной системы Linux, одного из самых распространенных веб-серверов Apache, СУБД Mysql и скриптового языка PHP. Данная статья посвящена процедуре стандартной установки и настройки данного набора для дальнейшего использования под веб-сервисы.

В качестве операционной системы был выбран Debian 8, как один из самых популярных дистрибутивов GNU/Linux. Сам процесс установки данной операционной системы рассматриваться не будет, так как не относится к теме статьи.

Все операции по установке и настройке будут выполняться под учетной записью пользователя root.

Установка Apache

Перед началом установки необходимо выполнить команду:

Apt-get install apache2

После завершения установки веб-сервер будет готов к работе. Проверить его работоспособность можно просто, открыв в веб-браузере IP-адрес сервера, на который был установлен пакет Apache. Для версии 2.4 страница заглушка выглядит следующим образом:

Конфигурационный файл Apache, находится в /etc/apache2/apache2.conf

Директория /etc/apache2/sites-enabled/ содержит файлы конфигурации созданных веб-сервисов, а директория /etc/apache2/sites-available/ символические ссылки на файлы конфигураций веб-сервисов, которые на данный момент включены.

С помощью данных файлов конфигураций можно управлять настройкой виртуальных хостов. Сервер Apache позволяет размещать несколько виртуальных хостов (сервисов) на одном сервере. По умолчанию все содержимое веб сервисов располагается в папке /var/www. Размещение содержимого можно изменять, указав это в конфигурационном файле виртуального хоста, за это отвечает директива DocumentRoot.

Рассмотрим создание простейшей веб странички с надписью “Hello World”. Для начала создадим папку, где будет храниться содержимое. Для этого выполним команду:

Mkdir /var/www/helloworld.net

В данной папке создадим простейший html файл index.html следующего содержания:

Hello World

This is a test page.

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

ServerName helloworld.net ServerAdmin [email protected] ServerAlias www.helloworld.net DocumentRoot /var/www/helloworld.net CustomLog ${APACHE_LOG_DIR}/helloworld.net.access.log combined ErrorLog ${APACHE_LOG_DIR}/helloworld.net.error.log

Здесь присутствуют параметры:

  • ServerName – доменное имя виртуального хоста (нашей странички);
  • ServerAdmin – адрес электронной почты администратора;
  • ServerAlias – псевдоним виртуального хоста (доменное имя хоста с добавлением www);
  • DocumentRoot – место, где хранится содержимое самого сервиса;
  • CustomLog - название файла журнала доступа с сервису;
  • ErrorLog – название файла журнала ошибок.

Подробное описание всех параметров и их значений в конфигурационном файле можно посмотреть в официальной документации(http://httpd.apache.org/docs/2.4).

Следующим шагом необходимо включить наш виртуальный хост. Это можно сделать как просто создав символическую ссылку:

Cd /etc/apache2/sites-enabled ln -s ../sites-available/helloworld.net.conf helloworld.net.conf

Также включение и выключение виртуальных хостов можно выполнять, применяя команды a2ensite и a2dissite соответственно.

Для включения:

A2ensite helloworld.net

Для выключения:

A2dissite helloworld.net

После включения хоста, необходимо перезапустить сервер Apache:

/etc/init.d/apache2 restart

Теперь можно проверить работу созданной странички.

Для проверки страницы, возможно, на компьютере, с которого осуществляется проверка понадобиться добавить строчку в файл hosts:

Xxx.xxx.xxx.xxx helloworld.net

Где xxx . xxx . xxx . xxx – это IP-адрес сервера с установленным Apache. Файл hosts, находится:

  • C:\Windows\System32\drivers\etc (в Win7);
  • /etc/hosts (в Debian).

Установка PHP

Следующий шаг – это установка скриптового языка PHP. Установка осуществляется командой:

Apt-get install php5

Теперь необходимо проверить работу PHP. Для этого добавим в папку с содержимым сайта (/var/www/helloworld.net) файл test.php. В данный файл необходимо написать следующее:

Следует отметить, что существует модуль PHP под сервер Apache. Этот модуль позволяет Apache и PHP работать более эффективно. Проверить установлен ли модуль можно:

Dpkg -l | grep libapache2-mod-php5

Если модуля нет, то его надо установить:

Apt-get install libapache2-mod-php5.

Проверить подключен ли модуль в самом сервере Apache можно следующим образом:

Ls -l /etc/apache2/mods-enabled/ | grep php5

Должно появиться следующее:

Lrwxrwxrwx 1 root root 27 Sep 2 10:07 php5.conf -> ../mods-available/php5.conf lrwxrwxrwx 1 root root 27 Sep 2 10:07 php5.load -> ../mods-available/php5.load

Если модуль не включен, его по аналогии с виртуальными хостами можно включить командой

A2enmod php5

Выключается модуль командой a2dismod.

Установка mysql

Последним шагом к подготовке среды для работы с веб-сервисами является установка СУБД mysql. Установка осуществляется командой:

Apt-get install mysql-server php5-mysql

В процессе установки необходимо будет ввести пароль для пользователя root.

После завершения установки проверить работу mysql можно подключившись к самой СУБД.

Mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 43 Server version: 5.5.49-0+deb8u1 (Debian) … mysql>

На этом базовая подготовка сервера завершена. Дополнительно для управления базой данных можно еще установить утилиту phpmyadmin.

Apt-get install phpmyadmin

При установке нужно указать сервер с которым будет производиться работа, это позволит программе установке автоматически настроить утилиту для работы с данным сервером.

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

И несколько раз ввести пароль для администратора базы данных (тот что был указан для root пользователя при установке mysql).

После завершения установки phpmyadmin. Его работу можно проверить перейдя по ссылке http://localhost/phpmyadmin (если браузер открывается с того же сервера) или по ссылке http://xxx.xxx.xxx.xxx/phpmyadmin с другого компьютера, где xxx.xxx.xxx.xxx – это IP-адрес сервера.

Для входа необходимо использовать логин и пароль, заданные при установке mysql.