Следить за новостями:

Категории
Свежие записи
BrainFБлог

настройка LAMP для локальной разработки на Linux

Если вы занимаетесь php-разработкой то вам пренепременно необходима какая-либо среда для этой самой разработки. Сегодня я расскажу о том как локальный веб-сервер устроен у меня.

Устанавливаем LAMP

Устанавливаем веб-сервер apache, php, mysql, phpmyadmin

sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server mysql-client php5-mysql phpmyadmin

Включаем модуль Rewrite в Apache:

sudo a2enmod rewrite

Включаем модуль vhost:

sudo a2enmod vhost_alias

По умолчанию все ваши локальные веб-сайты находятся в директории /var/www мне же больше нравится хранить их в домашней папке, поэтому проделаем еще несколько манипуляций.

Меняем пользователя apache

Сменить пользователя от имени которого будет работать apache можно в файле /etc/apache2/envvars

sudo nano /etc/apache2/envvars

Меняем пользователя

export APACHE_RUN_USER=parmactep

Добавляем локального пользователя в группу www-data

sudo usermod -a -G www-data parmactep

Меняем конфиг apache

sudo nano /etc/apache2/sites-available/000-default.conf

на следующий

<VirtualHost *:80>
ServerName dev
ServerAlias *.dev

VirtualDocumentRoot /home/parmactep/www/%0

<Directory "/home/parmactep/www">
AllowOverride All
Options -Indexes
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Внимательный читатель обратил внимание на директиву VirtualDocumentRoot. Она позволяет нам не прописывать конфиг для каждого сайта. Достаточно создать для него директорию и внести соответствующую запись в hosts
Перезапускаем apache

sudo service apache2 restart

Например для создания сайта test.dev достаточно создать директорию /home/user/www/test.dev и внести в /etc/hosts запись

127.0.0.1       test.dev

Дополнительные плюшки

Добавляем nginx

Мне приходится разрабатывать самые разные системы. Выше мы рассмотрели работу с apache2 в качестве сервера. А как же быть, если необходимо тестировать работу скрипта или сайта например на связке nginx+php-fpm. Можно поступить следующим образом.

Заставляем apache слушать только 127.0.0.10

sudo nano /etc/apache2/ports.conf

меняем в файле Listen 80 на Listen 127.0.0.10:80 и при необходимости Listen 443 на Listen 127.0.0.10:443
Заставляем nginx слушать только 127.0.0.20
sudo nano /etc/nginx/sites-available/default
меняем listen 80 default_server; на listen 127.0.0.20:80 default_server;
Перезапускаем оба сервера

sudo service apache2 restart
sudo service nginx restart

Теперь в /etc/hosts сайт назначенные 127.0.0.10 будут работать через apache, а сайты назначенные 127.0.0.20 будут работать через nginx

Еще по теме

2 комментария к записи “настройка LAMP для локальной разработки на Linux

  1. Боря
    12.01.2016 21:03:13 Ответить

    Привет , выдает ошибку в строке VirtualDocumentRoot, убрал знаки %0 все равно выдает ошибку. Не знаю даже что делать.

Ваш комментарий
выберите имя