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

от автора

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

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

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

Заранее предполагаем, что наш сайт должен быть доступен по адресу mysite.zz, а папка с файлами сайта расположена по пути /home/user/server/mysite.zz.

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

Вводим в терминале

sudo apt-get install apache2 mysql-server php5 phpmyadmin

При установке пакетов нам будет необходимо выполнить их предварительную настройку в псевдографическом режиме терминала.
В первом окне нам предлагают ввести пароль для MySQL пользователя «root». Вводим пароль и подтверждаем его:

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

image

подтверждение пароля для 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» с содержанием

<VirtualHost *:80>   ServerAlias mysite.zz www.mysite.zz   DocumentRoot /home/user/server/mysite.zz   <Directory home/user/server/mysite.zz/>     AllowOverride All   </Directory> </VirtualHost>

и копируем его с правами суперпользователя в /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), например, с таким содержанием:

<? echo 'hello!))'; ?>

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

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

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

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

Phpmyadmin не доступен по адресу localhost/phpmyadmin

Для исправления этой ошибки необходимо переконфигурировать phpmyadmin

sudo dpkg-reconfigure phpmyadmin

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

Доступ к нашему сайту может быть запрещен сервером

Для исправления этой проблемы к имени конфигурационного файла нашего сайта в /etc/apache2/sites-available необходимо добавить расширение .conf

mysite.zz.conf

содержание файла должно быть отредактировано следующим образом

<VirtualHost *:80>   ServerAlias mysite.zz www.mysite.zz   DocumentRoot /home/user/server/mysite.zz   <Directory home/user/server/mysite.zz/>     AllowOverride All     Require all granted   </Directory> </VirtualHost>

А активация сайта должна производиться по имени конфига

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/.

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

ссылка на оригинал статьи http://habrahabr.ru/post/220181/


Комментарии

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

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