![]() |
Здравствуйте, гость ( Авторизация | Регистрация )
![]() |
![]() Сообщение
#1
|
|
![]() Почетный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Текущее настроение: ![]() Вст. ник | Цитата Группа: Супер Стар Сообщений: 3097 Регистрация: 29.12.2009 Пользователь №: 33839 Награды: 15 Подарки: 41 Пол: М Репутация: ![]() ![]() ![]() |
Ни думал, ни гадал, что когда-нибудь возьмусь за такое занятие. Во-первых, у меня не было идеи, о чём должен быть сайт. Во-вторых, я никогда не делал сайты, и у меня нет соответствующих навыков. Но тут у друга появилась идея для сайта, которая мне понравилась. А у меня начало появляться свободное время, которое нужно было использовать. Начинать что-то новое я никогда не боялся, поэтому решил начать. Тем более, что общие навыки программирования у меня есть. Сразу скажу: Идею сайта пока рассказывать не буду, не просите! Даже если просто поржать
![]() Честно говоря, я уже начал делать сайт, и есть кое-какие наработки. Можно было, конечно, не создавать эту тему, а просто продолжать делать своё дело. Но я человек ленивый, и если не с кем пообщаться на эту тему, то работоспособность у меня почему-то снижается. А если на форуме в теме будет с кем поговорить, то это дело должно стать более захватывающим для меня и пойти веселее ![]() Обычно я веду беседы совсем на другие темы, не связанные с техникой, что может стать неожиданностью для участников, знакомых со мной на форуме. В связи с этим я считаю необходимым сделать следующее предупреждение. ПРЕДУПРЕЖДЕНИЕ: В данной теме предполагается углубленное рассмотрение информационно-алгоритмических подробностей с использованием сложных и неоднозначных для обычных людей понятий, применяемых в этой области. Это способно вызвать у неподготовленного читателя состояние трудно-идентифицируемой дезориентации, во избежание чего, во время прочтения данной темы рекомендуется не пытаться осознать сразу всё, что написано, а также рекомендуется делать перерывы и пить больше жидкости. За психическое состояние читателей автор ответственности не несёт. Продолжение следует... -------------------- -------------------- Подарки: (Всего подарков: 41 ) |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
|
![]() |
![]() Сообщение
#2
|
|
![]() Почетный ![]() ![]() ![]() ![]() ![]() ![]() ![]() Текущее настроение: ![]() Вст. ник | Цитата Группа: Супер Стар Сообщений: 3097 Регистрация: 29.12.2009 Пользователь №: 33839 Награды: 15 Подарки: 41 Пол: М Репутация: ![]() ![]() ![]() |
Теперь о настройке почты.
У нас на одном сервере несколько сайтов, и каждый сайт должен отправлять письма со своего почтового ящика, принадлежащего этому же домену. То есть, сайт site1.ru должен отправлять почту с ящика, например, mail@site1.ru, а сайт site2.ru — с ящика mail@site2.ru. Нашёл способ, как это можно сделать, проверил, работает. Этот способ состоит из двух этапов: 1. Нужно запустить сайты от разных пользователей. А точнее, чтобы каждый сайт работал от своего пользователя операционной системы. А ещё точнее, нужно настроить PHP так, чтобы для каждого сайта запускался свой отдельный процесс PHP, и чтобы процесс этот работал от отдельного пользователя операционной системы. 2. Нужно установить программу почтового сервера postfix и настроить её так, чтобы разные пользователи операционной системы отправляли письма с разных почтовых ящиков. То есть, для каждого сайта у нас должна получиться связка: Сайт1 работает от имени Пользователя1, который отправляет письма с Почтового_ящика1. И более наглядно:
Сайт2 — Пользователь2 — Ящик2 Сайт3 — Пользователь3 — Ящик3 И т.д... Итак, приступим к первому этапу — настроим работу сайтов от разных пользователей. Для этого сначала заведём этих пользователей в системе. Для каждого сайта — свой новый пользователь: Код adduser u-site1-ru Код adduser u-site2-ru В имени пользователей недопустимы точки, поэтому мы используем дефисы. Также советую перед именем сайта делать какой-нибудь свой префикс (я сделал "u-"), чтобы злоумышленникам, пытающимся зайти на сервер через SSH, было сложнее подобрать логин. Для этих новых пользователей система создаст домашний каталоги с одноимёнными названиями: /home/u-site1-ru и /home/u-site2-ru.И теперь мы сделаем одну манипуляцию — переместим рабочие каталоги сайтов из каталогов /var/www/site1.ru и /var/www/site2.ru в домашние каталоги пользователей /home/u-site1-ru/www и /home/u-site2-ru/www, соответственно. Так удобнее — при входе в систему мы оказываемся в своём домашнем каталоге, и сразу вот он рядом наш сайт. Для этого в домашней папке мы создаём каталог www и копируем в него все файлы из каталога /var/www/site1.ru (в программе mc это делается легко). А затем пользователя u-site1-ru делаем владельцем каталога /home/u-site1-ru/www, а также владельцем всех файлов, находящихся внутри: Код chown -R u-site1-ru:u-site1-ru /home/u-site1-ru/www Ведь у нас PHP будет работать именно от имени пользователя u-site1-ru, и если владельцем файлов будет другой пользователь, то PHP не сможет работать с этими файлами. Но теперь веб-сервер nginx должен знать, что рабочий каталог сайта переместился. А значит, в файле настроек /etc/nginx/sites-available/site1.ru меняем соответствующую строчку: Код root /var/www/site1.ru; наКод root /home/u-site1-ru/www; После чего можно перезапустить nginx:Код systemctl restart nginx И сайт заработает из нового каталога. Но при этом PHP не сможет создавать файлы и делать записи в файлы существующие, т.к. пока у нас ещё нет отдельного процесса PHP, работающего под пользователем u-site1-ru. Значит, создаём такой процесс. Для этого в каталоге /etc/php/7.0/fpm/pool.d создаём файл site1.ru.conf со следующим содержимым:» Кликните сюда для просмотра оффтоп текста.. « Где строка listen = /var/run/php/site1.ru.sock указывает на то, что обмен данными между PHP и Nginx происходит через файл /var/run/php/site1.ru.sock. Этот файл особенный, служебного типа, его называют "сокет". И Nginx тоже должен знать, что именно этот сокет используется для сайта site1.ru. Смотрим в настройки nginx, файл /etc/nginx/sites-available/site1.ru, что у нас там указано? А вот что:Код fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; Соответственно, тоже меняем на:Код fastcgi_pass unix:/var/run/php/site1.ru.sock; Сохраняем файл. После чего перезапускаем PHP и Nginx:Код systemctl restart php7.0-fpm Код systemctl restart nginx Заходим на сайт, убеждаемся, что всё работает, и понимаем, что первый этап нашей задачи мы выполнили.Продолжение следует... -------------------- -------------------- Подарки: (Всего подарков: 41 ) |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 16.06.2025 - 6:34 |