Установка nginx+php5-fpm на Debian 7(Wheezy)

Данная статья поможет Вам настроить nginx+php5-fpm+mysql сервер на Debian 7 (Wheezy).

Редактируем список репозиториев:
nano /etc/apt/sources.list
Добавлям:

deb http://packages.dotdeb.org wheezy all
Добавляем GPG ключ.
wget -q http://www.dotdeb.org/dotdeb.gpg -O- | apt-key add -

Обновляем список пакетов и всю систему:
aptitude update && aptitude upgrade
Устанавливаем PHP:
aptitude install php5-cli php5-common php5-mysql php5-suhosin php5-gd php5-fpm php5-cgi php5-fpm php-pear php5-mcrypt -y
Настройки php5-fpm находятся
/etc/php5/fpm/pool.d/www.conf
Устанавливаем nginx:
aptitude install nginx -y
Создаем конфиг нового виртуального хоста:
nano /etc/nginx/sites-enabled/test.ru
С содержимым:
server {

    listen 80;
    root  /путь/до/папки/виртуального/хоста;
    server_name test.ru www.test.ru; 
   index index.html index.php;  
  access_log  /home/user/logs/nginx.access.log; 
   location ~ \.(php)$ {  
 fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_script_name;
    #  
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 60;
    fastcgi_read_timeout 60;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k; 
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_intercept_errors on;
             
    include fastcgi_params;
    client_max_body_size       10m;
    client_body_buffer_size    128k;
    expires off;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
    location / {
    proxy_redirect off;
    client_max_body_size       10m;
    client_body_buffer_size    128k;
    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;
    proxy_buffer_size          1024k;
    proxy_buffers              8 5120k;
    proxy_busy_buffers_size    10240k;
    proxy_temp_file_write_size 10240k;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    expires off;   
}
}


Незабываем пофиксить cgi.fix_pathinfo=0 если еще не сделали, в файлике /etc/php5/fpm/php.ini
Создаем нового пользователя:
useradd user -b /home/ -m -U
Установим пароль:
passwd user
Создаем дирректории необходимые для публикации сайта:
mkdir -p -m 755 /home/user/www
mkdir -p -m 754 /home/user/logs

Дадим права пользователю на созданные дирректории:
chown -R example: /home/user/www/
chown -R example: /home/user/logs/

Добавляем в группу:
usermod -a -G user www-data
Устанавливаем MYSQL:
aptitude install mysql-server mysql-client mysql-common libmysqlclient18 -y
Установка phpmyadmin:
aptitude install phpmyadmin
Во время установки Вам предложат выбрать с каким веб-сервером вы работаете, на этом шаге ничего выбирать ненужно, просто нажать кнопку "OK"
Далее необходимо исправить конфиг виртуального хоста:
nano /etc/nginx/sites-enabled/test.ru В секцию server{} нам необходимо добавить следующее:
location /phpmyadmin {
               root
/usr/share/;
               index index
.php index.html index.htm;
               location
~^/phpmyadmin/(.+\.php)$ {
                       try_files $uri
=404;
                       root
/usr/share/;
                       
fastcgi_pass unix:/var/run/php5-fpm.sock;
                       fastcgi_index index
.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename
;
                       include
/etc/nginx/fastcgi_params;
               
}
               location
~*^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root
/usr/share/;
               
}
       
}
        location
/phpMyAdmin {
               rewrite
^/* /phpmyadmin last;
        }

Для нашей же безопасности настроим http-авторизацию:
Нам необходимо сгенерировать htpasswd (сделать можно используя онлайн генератор). Cоздаем файл: nano /home/user/htpasswd
с полученным из онлайн генератора содержимым:
admin nf)zjMB'%V
Возвращаемся к конфигу виртуального хоста
nano /etc/nginx/sites-enabled/test.ru
в секцию отвечающую за phpmyadmin необходимо добавить:
auth_basic "Enter Password";
auth_basic_user_file /home/host/htpasswd;

Перезагружаем nginx
/etc/init.d/nginx restart
  • 32 Пользователи нашли это полезным
Помог ли вам данный ответ?

Related Articles

Установка LAMP на Debian

Одна простая команда очень облегчит Вам жизньaptitude update && aptitude upgrade...

Установка и настройка DoubleVPN.

Имеем 2 сервера. Сервер А(ip 1.1.1.1) - сервер к которому подключается клиент. Сервер Б (ip...

Установка OpenVPN

Данная статья поможет Вам установить OpenVPN на Ваш Сервер.apt-get udpate apt-get install...

Полезные команды Linux

КомандаОписание Система uname -m Отобразить архитектуру компьютера uname -r...

Powered by WHMCompleteSolution