...

понедельник, 21 апреля 2014 г.

[Из песочницы] Установка и настройка веб-сервера 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/.


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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий