Форум программистов, компьютерный форум, киберфорум
Debian, Kali Linux, Raspbian, Astra Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 7

Как настроить веб-сервер nginx+php-fpm?

06.09.2013, 14:41. Показов 2241. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Нужно поднять веб-сервер (nginx+php-fpm) на Debian 7.1. Ранее пользовался тем, что установит хостер или какая-то панелька. Теперь есть выделенный сервер и хочется все собрать с 0. Хотел попросить у вас советов, о том какие пакеты/сервисы нужны для обеспечения стабльнои и продуктивной работы сервера, и защищенности.

Поискав информации сделал небольшой план работы:

- Обновления системы (apt-get update && apt-get -V upgrade, updatedb), создание нового пользователя с правами sudo, изменение порта ssh и запрет авторизации под рутом.
-Вроде как рекомендуют установить systemd, prelink и preload
-Дальше по iptables, какие правила мне нужно задать, насколько понимаю нужно закрыть все порты, порт ssh только с доверенных IP, ограничения на n подключений 80 порта в секунду и что еще нужно? Также нашел информацию о fail2ban, psad, lynis.
-Какой ftp сервер выбрать? также рекомендуються использовать TLS для фтп сессий.
-Относительно nginx/php-fpm вроде все понятно.
-Mariadb
-Относительно бэкапа, думал сделать скрипт на bash для копирования директории с сайтами и бэкапа бд, и повесить его в крон или есть хорошие готовые решения?

Правильный набор софта я указал, возможно что-то лишнее, возможно вы бы что-то добавили?

Буду очень благодарен всем вашим советам. Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.09.2013, 14:41
Ответы с готовыми решениями:

Настройка прав в nginx, php-fpm
Всем привет, мне нужна помощь. Сразу оговорюсь, что я не гуру линукса и вопросы мои могу быть даже глупыми, но я хочу разобраться. У меня...

nginx+php-fpm debian - большое потребление памяти
Больше потребление cached памяти на сервере. (Графиг приложен). mysql, memcached вынесены на отдельный сервер. На этом сервере стоит...

Nginx php-fpm
Здравствуйте, настраивал сервер nginx с php-fpm на виртуальной машине (linux) по этой статье. В результате сам nginx работает, но при...

4
 Аватар для Amet13
1362 / 1074 / 110
Регистрация: 16.03.2012
Сообщений: 4,543
06.09.2013, 18:57
Цитата Сообщение от starker Посмотреть сообщение
Обновления системы
Bash
1
sudo apt-get dist-upgrade
Цитата Сообщение от starker Посмотреть сообщение
создание нового пользователя с правами sudo
Bash
1
sudo useradd username wheel
Цитата Сообщение от starker Посмотреть сообщение
изменение порта ssh и запрет авторизации под рутом
Bash
1
2
3
vim /etc/ssh/sshd_config
Port ваше_значение
PermitRootLogin no
Цитата Сообщение от starker Посмотреть сообщение
Вроде как рекомендуют установить systemd, prelink и preload
Не нужно.


Цитата Сообщение от starker Посмотреть сообщение
порт ssh только с доверенных IP
Bash
1
2
3
4
5
vim /etc/hosts.allow: 
sshd: 127.0.0.1, 192.168., другие_доверенные_ip
 
vim /etc/hosts.deny
sshd: ALL
Цитата Сообщение от starker Посмотреть сообщение
fail2ban
Нужно.
Цитата Сообщение от starker Посмотреть сообщение
Какой ftp сервер выбрать?
Proftpd
Цитата Сообщение от starker Посмотреть сообщение
Относительно бэкапа, думал сделать скрипт на bash для копирования директории с сайтами и бэкапа бд, и повесить его в крон или есть хорошие готовые решения?
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
PROJNAME= #Имя проекта
CHARSET= #Кодировка базы данных (utf8)
DBNAME= #Имя базы данных для резервного копирования
DBFILENAME= #Имя дампа базы данных
ARFILENAME= #Имя архива с файлами
HOST= #Хост MySQL
USER= #Имя пользователя базы данных
PASSWD= #Пароль от базы данных
DATADIR= #Путь к каталогу где будут храниться резервные копии
SRCFILES= #Путь к каталогу файлов для архивирования
PREFIX=`date +%F` #Префикс по дате для структурирования резервных копий
 
#start backup
echo "[--------------------------------[`date +%F--%H-%M`]--------------------------------]" 
echo "[----------][`date +%F--%H-%M`] Run the backup script..."
mkdir $DATADIR/$PREFIX 2> /dev/null 
echo "[++--------][`date +%F--%H-%M`] Generate a database backup..."
#MySQL dump
mysqldump --user=$USER --host=$HOST --password=$PASSWD --default-character-set=$CHARSET $DBNAME > $DATADIR/$PREFIX/$DBFILENAME-`date +%F--%H-%M`.sql
if [[ $? -gt 0 ]];then 
echo "[++--------][`date +%F--%H-%M`] Aborted. Generate database backup failed."
exit 1
fi
echo "[++++------][`date +%F--%H-%M`] Backup database [$DBNAME] - successfull."
echo "[++++++----][`date +%F--%H-%M`] Copy the source code project [$PROJNAME]..."
#Src dump
tar -czpf $DATADIR/$PREFIX/$ARFILENAME-`date +%F--%H-%M`.tar.gz $SRCFILES 2> /dev/null
if [[ $? -gt 0 ]];then
echo "[++++++----][`date +%F--%H-%M`] Aborted. Copying the source code failed."
exit 1
fi
echo "[++++++++--][`date +%F--%H-%M`] Copy the source code project [$PROJNAME] successfull."
echo "[+++++++++-][`date +%F--%H-%M`] Stat datadir space (USED): `du -h $DATADIR | tail -n1`" 
echo "[+++++++++-][`date +%F--%H-%M`] Free HDD space: `df -h /home|tail -n1|awk '{print $4}'`"
echo "[++++++++++][`date +%F--%H-%M`] All operations completed successfully!"
exit 0
3
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 7
06.09.2013, 22:46  [ТС]
Amet13, большое спасибо. Вот еще сделал правила для iptables:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#Clear#
iptables -F
iptables -t nat -F
iptables -t mangle -F
 
iptables -X
iptables -t nat -X
iptables -t mangle -X
 
#Drop all#
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP 
echo 0 >/proc/sys/net/ipv4/ip_forward
 
#Loopback#                                              
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
#Whitelist#
iptables -A INPUT -s 1.2.3.4 -j ACCEPT
 
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
 
iptables -A INPUT   -m state --state INVALID -j DROP                            
iptables -A FORWARD -m state --state INVALID -j DROP                            
iptables -A OUTPUT  -m state --state INVALID -j DROP                             
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN -j DROP             
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
 
iptables -A INPUT -s 10.0.0.0/8       -j DROP                               
iptables -a INPUT -s 192.0.0.1/24     -j DROP                               
iptables -A INPUT -s 169.254.0.0/16   -j DROP                               
iptables -A INPUT -s 172.16.0.0/12    -j DROP                               
iptables -A INPUT -s 224.0.0.0/4      -j DROP                               
iptables -A INPUT -d 224.0.0.0/4      -j DROP                               
iptables -A INPUT -s 240.0.0.0/5      -j DROP                               
iptables -A INPUT -d 240.0.0.0/5      -j DROP                               
iptables -A INPUT -s 0.0.0.0/8        -j DROP                               
iptables -A INPUT -d 0.0.0.0/8        -j DROP                               
iptables -A INPUT -d 239.255.255.0/24 -j DROP                               
iptables -A INPUT -d 255.255.255.255  -j DROP
 
iptables -A INPUT -p tcp -m multiport --dport 22 -m state --state NEW -m recent --set --name FTP_BRUTE
iptables -A INPUT -p tcp -m multiport --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name FTP_BRUTE -j DROP
 
iptables -A INPUT -m state --state NEW -p tcp -m tcp --syn -m recent --name SYNFLOOD--set                       
iptables -A INPUT -m state --state NEW -p tcp -m tcp --syn -m recent --name SYNFLOOD --update --seconds 1 --hitcount 60 -j DROP
 
iptables -N LOGGING                                             
iptables -A INPUT -j LOGGING                                                
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 6    
iptables -A LOGGING -j DROP
Может что-то удрать/добавить?
0
 Аватар для Amet13
1362 / 1074 / 110
Регистрация: 16.03.2012
Сообщений: 4,543
06.09.2013, 22:48
Особо не вглядывался, с виду вполне нормально.
0
 Аватар для bander313
1 / 1 / 2
Регистрация: 18.04.2013
Сообщений: 69
18.07.2015, 23:25
Спасибо! очень выручило!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2015, 23:25
Помогаю со студенческими работами здесь

haproxy nginx php-fpm
Всем привет, форумчане. Вопрос в следующем 1. есть вэб сервер на nginx+php-fpm. есть один домен domain.su на этом сервере крутится...

freebsd, nginx, php-fpm
Здравствуйте, никогда не занимался администрированием. Имеется машина в Германии с freebsd, nginx, php-fpm. Мне нужно размещать сайты в...

freebsd, nginx, php-fpm
Здравствуйте, никогда не занимался администрированием. Имеется машина в Германии с freebsd, nginx, php-fpm. Мне нужно размещать сайты...

Nginx php-fpm не отображается текст в php файлах, пусые белые страницы при наборе в браузере
Вот конфиг файла домена: /etc/nginx/sites-available/domain2domain.net

Настройка nginx + php-fpm + wordpress
Подскажите, в чем проблема при обращении по ip адресу или по домену браузер переадресует на X.X.X.X:8000 и example.com:8000. У меня два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru