LAMP + nginx на дебиан

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

Все ниже описываемые действия производить от пользователя 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

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

Оцени публикацию:
  • 3,15
Оценили человек: 3

Похожие статьи:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » Unix »