LAMP + nginx на дебиан

Автор: Aport Среда, Январь 28th, 2015 Нет комментариев

Рубрика: Разное

Настройка веб-сервера с нуля.

Все ниже описываемые действия производить от пользователя root

Дополнительное ПО окружения (не обязательны)

apt-get install aptitude
aptitude update
aptitude upgrade
aptitude install htop
aptitude install nano

Установка LAMP

aptitude install mysql-server mysql-client
aptitude install apache2
service apache2 restart

если при перезапуске Апача возникла ошибка:

AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message

то в самом верху файла /etc/apache2/apache2.conf добавьте строчку:

ServerName localhost

установим php и модули взаимодействия с mysql и apache

aptitude install php5 php5-mysql libapache2-mod-php5

Включаем mode rewrite:

a2enmod rewrite

Настройка сайта

Создадим пользователя под которым будет крутится сайт (не обязательно — возможно у Вас уже есть пользователь)

groupadd lebnik
useradd -g lebnik -G www-data -s /bin/bash -p Pa$$word -d /home/lebnik -m lebnik

обратите внимание: мы создали себе пользователя lebnik (это владелец сайта) -s это путь к шелу, его можно изменить в файле /etc/passwd

Создадим директорию сайта

mkdir /var/www/monitor

Выставляем права доступа:

chown -R lebnik:www-data /var/www/monitor

Добавим Nginx конфиг нашего сайта в директорию /etc/nginx/sites-enabled/

server {
# расскоментировать следующую строчку, если это основной сайт на этом сервере
# listen       80 default_server;

server_name monitor.local www.monitor.local;

root /var/www/monitor;

location ~ /\.ht {
deny all;
}

location ~* ^.+\.(ico|jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
access_log /usr/share/nginx/access.log;
error_page 404 = @fallback;
}

location / {
proxy_pass http://localhost:81;
proxy_redirect http://localhost:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}

location @fallback {
proxy_pass http://localhost:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}

Добавим Apache конфиг нашего сайта в директорию /etc/apache/sites-enabled/

<VirtualHost *:81>
ServerName monitor.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/monitor
ErrorLog ${APACHE_LOG_DIR}/error.monitor
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond /var/www/monitor%{REQUEST_FILENAME} !-f
RewriteCond /var/www/monitor%{REQUEST_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !server-status
RewriteRule . /var/www/monitor/index.php [L]
</IfModule>
</VirtualHost>

в файле /etc/apache2/ports.conf укажите следующие параметры:

NameVirtualHost *:81
Listen 81

в файле /etc/apache2/apache2.conf проверьте следующий параметр:

IncludeOptional sites-enabled/*

Создадим файл, чтобы протестировать работу PHP

nano /var/www/monitor/index.php

и пропишем в нем:

<?php
echo `whoami`; echo get_current_user();
?>

Т.к. владелец нашего сайта пользователь — lebnik, то скрипт должен выдать:

www-data lebnik

Проверим, от какого пользователя работает Apache, для этого зайдем в директорию /etc/apache2 и выполним команду:

grep -R «APACHE_RUN_USER=» .

Должно быть: www-data

Подключаем php5 и ребутаем сервисы:

a2enmod php5
service nginx restart
service apache2 restart

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

Советую не откладывая, в файле /etc/php5/apache2/php.ini нужно указать:

upload_max_filesize = 32M
date.timezone = Europe/Moscow

Установка MongoDB

aptitude install php-pear
pecl install mongo
nano /etc/php5/cli/php.ini
extension=/usr/lib/php5/20100525+lfs/mongo.so

Удачи господа.

 

Источник: yapro.ru

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

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты