что такое ламп сервер

Что такое LAMP? Преимущества и недостатки

В данной статье рассмотрим свободно распространяемый и практически бесплатный набор программного обеспечения под названиям LAMP. Как правильно расшифровывается данная аббревиатура? Она состоит из 4-ех популярных технологий, которые состоят в данной связке: Linux — операционная система; Apache — веб-сервер; MySQL — СУБД; PHP — язык программирования, с помощью которого создают веб-ресурсы.

Данный набор ПО устанавливают на сервер для отображения динамических веб-сайтов и веб-приложений.

Эта платформа позволяет установить (развернуть) большинство типов веб-сайтов и сетевого программного обеспечения на вашем сервере.

Lamp web очень часто необходим владельцам сайтов и приложений для работы на серверном оборудовании, поэтому часто пользователи ищут именно lamp hosting для размещения проектов.

Что такое LAMP (lamp стек)?

Тоесть это целый комплекс программного обеспечение, которое работает вместе для обеспечения стабильной, быстрой и профессиональной работы проекта пользователя. Также обратите внимание, что в данной аббревиатуре буква Р может обозначать не только PHP (php lamp), но и другие популярные языки программирования, например, Perl и Python.

Также сегодня можно встретить другие модификации термина LAMP, к примеру:

➡LEMP, где Nginx используется вместо Apache;

➡WAMP, Microsoft Windows вместо Linux (lamp windows);

Для чего нужен LAMP?

Итак кому на самом деле нужен lamp technology и для чего он используется, разложим все по полочкам, чтобы понять действительно нужен LAMP каждому пользователю виртуального сервера. Ламп сервер нужен:

Тоесть, если вам нужен сервер для любой работы, то рано или поздно пригодится установка ubuntu lamp или другой линукс ОС.

Настроить stack lemp на вашем сервере в компании ГиперХост могут технические администраторы по запросу в тикет. На серверах компании эта настройка производится бесплатно.

Преимущества сборки

Итак, зачем и кому нужен LAMP (веб сервер ламп), мы уже разобрались. Теперь рассмотрим его весомые преимущества.

✓ сборка замечательно подходит для быстрого развертывания приложения, из-за простой конфигурации, но все же она дает мало функций в плане масштабируемости и изоляции компонентов.

✓ установка LAMP (Linux + Apache + MySQL + PHP/Perl/Python) является довольно широко используемым вариантом настройки серверов с Ubuntu.

✓ есть большое количество приложений, которые имеют открытый исходный код и написаны с использованием стека приложений LAMP. Например, популярные приложения LAMP: wiki энциклопедии, системы управления содержимым (CMS) и управляющие приложения, например, phpMyAdmin.

гибкость при подборе баз данных, web серверов и языков сценариев.

✓ использует наборы открытого ПО, которое значительно ускоряет процесс разработки.

✓ актуальной заменой для MySQL служат PostgreSQL и SQLite. Python, Perl и Ruby можно заменить PHP. А Nginx, Cherokee и Lighttpd альтернатива Apache.

На практике это очень удачное и востребованное решение, которое подойдет для решения любых серверных задач. Но в нем также есть некоторые недостатки, который собраны ниже отдельным пунктом.

Недостатки LAMP комбинации

Среди недостатков подобной lamp platform следует выделить следующие:

✓ Приложение и база данных используют одни и те же ресурсы сервера (CPU, память, I/O и т.д.), что дает низкую производительность и затрудняет определение источника (приложение или база данных) этой проблемы.

✓ Так же есть помехи в осуществлении горизонтального масштабирования.

Если эти минусы для вас незначительны, то ламп выгодное и полезное решение для вашего проекта.

Где взять LAMP на сервере?

Установить и настроить сборку LAMP вы можете самостоятельно на любом сервере. Для этого в Сети есть большое количество инструкций и советов от системных администраторов. Например, чтобы быстро установить Lamp на дистрибутив Ubuntu, достаточно команды:

sudo tasksel install lamp-server

Далее необходимо время, так как скачиваются и настраиваются определенные пакеты.

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

Но если Вам необходимо наладить работу LAMP на наших VPS серверах и получить lamp vps hosting, обращайтесь в нашу круглосуточную техническую поддержку. Наши специалисты с многолетним опытом работы,в том числе и с LAMP, помогут быстро собрать и установить сборку на ваш сервер. Эта услугу входит в базовое администрирование. Если необходимо настроить ламп на сервере, заказанном не у нас, это можно осуществить на условиях почасового администрирования. В любом случае вы получите настроенный и оптимизированный LAMP для качественной работы ваших проектов.

Компания HyperHost желает Вам приятной работы!

Но это, конечно же, еще не все технологии, которые поддерживает хостинг от ГиперХост. Более детально в нашей предыдущей статье.

Источник

Установка LAMP-стека (Linux, Apache, MySQL, PHP) на Ubuntu

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

В статье мы узнаем, что такое LAMP-стек, как установить LAMP на Ubuntu, а также настроим виртуальные хосты.

Что такое LAMP

LAMP — это стек программного обеспечения, устанавливаемого на сервер и предназначенного для сайтов и веб-приложений. LAMP – это аббревиатура, она расшифровывается как: Linux, Apache, MySQL и PHP.

Рассмотрим каждый элемент LAMP подробнее:

Такой набор самостоятельных по отдельности компонентов стал очень популярен.

Существует множество вариаций LAMP, где какие-либо из компонентов заменяются на другие, например LEMP — вместо Apache в нем используется веб-сервер Nginx.

Подготовка к установке LAMP

Развернуть LAMP можно, например, на облачном сервере, который предварительно нужно создать. Создадим сервер в панели управления Облачной платформой Selectel. Подробно о начислении баланса на счет для доступа к работе в панели и создании облачного сервера можно прочитать в Базе знаний.

Создание облачного сервера

Перейдите в панель управления Облачной платформой, откройте вкладку Серверы и нажмите кнопку Создать сервер.

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

При создании сервера автоматически выбирается операционная система Ubuntu. Чтобы выбрать другую ОС для сервера, нажмите Выбрать другой источник. В целом, для установки LAMP подойдет любой дистрибутив Linux.

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

В этой инструкции в качестве операционной системы сервера выберите Ubuntu 18.04 LTS.

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

Для развертывания LAMP нужно присвоить серверу плавающий адрес. Для этого в разделе Сеть в качестве подсети выберите Новый плавающий IP-адрес. Проверьте стоимость сервера и нажмите Создать.

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

Созданный Облачный сервер со статусом ACTIVE появится в списке всех серверов. В карточке сервера на вкладке Порты можно посмотреть плавающий IP-адрес — в дальнейшем это пригодится для настройки LAMP.

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

Подключение к серверу по SSH

Работать с сервером можно во встроенной консоли в панели управления, которая находится на вкладке Консоль в карточке сервера. Но зачастую удобнее подключаться к серверу по протоколу SSH с локальной машины.

Для того чтобы подключиться к серверу по SSH, в терминале введите команду:

server_IP — это плавающий IP-адрес сервера, который был добавлен при его создании.

Терминал при подключении запросит root-пароль, который можно найти на вкладке Консоль в карточке сервера.

Если подключение к серверу прошло успешно, можно начать установку LAMP.

Установка Apache

Команды для установки

Установим первый после операционной системы компонент LAMP — Apache.

Предварительно загрузим списки пакетов обновлений, для этого используется команда:

Настройка брандмауэра

Брандмауэр (файервол) должен пропускать HTTP и HTTPS-трафик — то есть должны быть открыты порты 80 и 443.

Для начала нужно установить утилиту для управления правилами файервола UFW (Uncomplicated Firewall) и включить UFW:

На сервере должны быть доступны профили приложений для Apache. Посмотрим список профилей:

Вывод команды выглядит примерно таким образом:

Можем увидеть, что в выводе присутствует профиль Apache Full — именно он открывает нужные порты 80 и 443. Разрешим для него входящий трафик:

Чтобы в дальнейшем продолжать подключение к серверу по SSH, добавим также профиль OpenSSH:

В выводе команды проверим, что UFW активен, нужные профили включены, а, значит, разрешен HTTP и HTTPS-трафик:

Проверка работы Apache

Проверим статус Apache, он должен быть активен (Active в выводе команды):

Чтобы проверить работу Apache, введем публичный IP-адрес сервера в браузерной строке. В нашем случае это подключенный ранее плавающий IP. Если Apache установлен, и к нему разрешен доступ через файервол, то откроется страница с информацией:

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

Установка MySQL

Команда для установки

После установки и настройки Apache можно устанавливать следующий компонент — СУБД MySQL:

Настройка безопасности БД

Для защиты окружения рекомендуется запустить скрипт безопасности:

Когда система предложит установить плагин валидации паролей (VALIDATE PASSWORD plugin), введем в терминал y или Y для подтверждения. Установка этого плагина поможет задать пароль с повышенными требованиями к безопасности.

Далее выберем уровень надежности паролей, всего их три:

Введем в терминале значение для выбора уровня: 0 для LOW, 1 для MEDIUM или 2 для STRONG.

Затем введем два раза новый root-пароль, который соответствует условиям выбранного уровня надежности.

Система определит и выведет значение надежности пароля (Estimated strength of the password).

На дальнейшие вопросы от системы рекомендуем вводить в терминале подтверждение (y или Y) — это настройки удаления анонимных пользователей, удаление открытой тестовой базы и так далее.

Пароль будет создан, когда в терминале будет выведено сообщение «All done!».

Проверка работы MySQL

Проверим статус MySQL, он должен быть активен:

Установка PHP

Команды для установки

Теперь можно перейти к установке последней составляющей стека — PHP.

Установим PHP и специальные модули для работы PHP с Apache и MySQL:

При дальнейшей работе с сайтом, возможно, понадобятся и другие модули или расширения. Для настройки LAMP этих модулей достаточно.

В предыдущей команде при установке не была указана версия PHP. Вы всегда можете указать версию, которую хотите установить, например:

Чтобы узнать версию PHP, которая установлена, используйте команду:

Проверка установки PHP

Для проверки создадим небольшой PHP-скрипт с любым названием, например test.php, в корневой директории /var/www/html:

Заполним этот файл таким содержимым:

Сохраним и закроем файл (сочетание клавиш Ctrl+X, а затем Y+Enter).

Такой скрипт вызовет функцию phpinfo(), которая выводит информацию о PHP и список параметров.

Теперь откроем этот файл по URL:

Если все настроено корректно, будет доступна информация о PHP:

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп сервер

Настройка виртуальных хостов (опционально)

Apache позволяет запустить на одной машине несколько веб-сайтов — при этом данные каждого сайта будут лежать в разных директориях. Для этого используются конфигурационные файлы — виртуальные хосты.

Допустим, мы хотим разместить на одном сервере два сайта. Сконфигурируем Apache.

Создание директорий

Размещать файлы виртуальных хостов будем внутри директории /var/www/. Для каждого хоста создадим новую отдельную директорию:

Обратите внимание, что вместо IP-адреса можно использовать и доменное имя.

Предоставление прав

Сейчас права доступа к директориям есть только у root-пользователя. Настроим права всем пользователям системы, используя переменную среды $USER:

Откроем пользователю доступ на чтение, редактирование и запуск файлов в директории /var/www:

Создание страниц для тестирования

В дальнейшем нам нужно будет проверить, правильно ли настроены виртуальные хосты. Для этого можно создать для каждого IP-адреса (домена) HTML-страницы, которые будут открываться в браузере при вводе соответствующего IP или домена, например, главные страницы index.html.

Создадим страницу для первого IP:

Добавим на страницу текст:

Сохраним и закроем файл.

Выполним то же самое и для второго сайта:

Создание виртуальных хостов

По умолчанию в Apache используется виртуальный хост 000-default.conf. Этот файл мы будем использовать как шаблон для создания собственных виртуальных хостов.

Для каждого сайта конфигурационные файлы (виртуальные хосты) хранятся в директории /etc/apache2/sites-available/. Скопируем содержимое виртуального хоста, который используется по умолчанию, в новый файл — мы будем использовать его для настройки первого сайта:

Откроем новый конфигурационный файл первого сайта:

Изменим значения в файле:

Сохраним и закроем файл.

Подобным образом создадим конфигурационный файл для второго сайта:

Содержимое конфигурационного файла /etc/apache2/sites-available/second_IP.conf:

Активация виртуальных хостов

Активируем виртуальные хосты с помощью a2ensite:

Отключим виртуальный хост, который создается по умолчанию:

Проверим, нет ли ошибок в конфигурационных файлах:

Если ошибки отсутствуют, то получим результат:

Перезапустим Apache, чтобы активировать все изменения:

Теперь Apache должен обслуживать сайты, IP-адреса или домены которых мы прописали в виртуальных хостах. Проверим работу: перейдем в браузере на сайты — должны появиться созданные индексные страницы:

Источник

И снова о… LAMP и базово защищённый мини-хостинг своими руками

что такое ламп сервер. Смотреть фото что такое ламп сервер. Смотреть картинку что такое ламп сервер. Картинка про что такое ламп сервер. Фото что такое ламп серверУвидев в очередной раз презренный посыл в Google в ответ на вопрос о том, как развернуть собственную LAMP’у, решил написать данный пост. Чтобы хоть как-то разбавить тонны радостных отчётов об успешной установке из блогов, суть которых сводится к одной команде aptitude install blah-blah.

Нет, ну конечно понятно, PHP самый надёжный язык, а все движки сайтов, на нём написанные, являются живым воплощением непробиваемой защиты от взлома. Тогда да — aptitude install apache2 — и будет вам счастье. Не забудьте оставить phpmyadmin по дефолтному адресу, да поставьте какое-нибудь дырявое FTP решето.

Вообще, как оказалось, многие даже не в курсе, что взломав сайт и получив возможность исполнять свой PHP код, злоумышленник на системе с дефотными настройками сможет как минимум прочитать в вашей системе почти что угодно. Оно и понятно — работая с Linux привыкаешь как-то, что по дефолту безопасность находится на вполне достаточном уровне. А тут такая дыра…

В общем — в этой статье в очередной раз описывается банальщина на тему как развернуть LAMP и дать доступ внешним пользователям к файлам и базам ваших сайтов. Т.е. как быстро сделать мини-хостинг своими руками. Однако, в отличие от, хостинг у нас будет хотя бы базово защищённым.

Те, кому тема веб-серверов надоела, возможно смогут найти в статье интересные приёмы многопользовательского ограниченного доступа к серверу по SFTP.

И нет, это не ещё одна статья с описанием установки Linux и выполнением aptitude install apache2. Скорее наоборот: в этой статье я хотел показать фатальную недостаточность данных манипуляций и мягко говоря некомпетентность тех, кто их тиражирует в интернете.

Установка

Всё будет описано на примере Debian.

Для начала нужно установить всё необходимое (кстати, для Ubuntu phpMyAdmin лучше ставить из PPA):

При установке phpMyAdmin генерируем произвольный пароль для подключения к БД, в остальном всё очевидно.

Как это будет работать

Все пользователи, которым нужно получить доступ к файлам на сервере, будут иметь локальную учётную запись с возможностью захода только по SFTP и только в папку с принадлежащими им сайтами. При этом будет поддерживаться авторизация как по паролю, так и по ключу. Интерактивный же вход по SSH будет невозможен, хотя если очень надо — его можно будет включить, причём тоже с закрытым доступом к системным файлам.

Никакого FTP не будет, хотя его и возможно легко прикрутить. SFTP надёжней (шифрование, возможность авторизации по ключу), а FTP в данном случае элементарно избыточен и является достаточно большой потенциальной дырой в безопасности.

Каждый сайт будет принадлежать некоему ‘аккаунту’, т.е. под одним ‘аккаунтом’ может быть несколько сайтов. К этим ‘аккаунтам’ привязываются SFTP пользователи, причём никто не мешает к одному ‘аккаунту’ привязать несколько пользователей. Дальше, внутри ‘аккаунта’, всё можно будет разрулить стандартными механизмами прав доступа в Linux.

Пользователи и пароли от БД никак не будут зависеть от системных пользователей, управление БД будет происходить через стандартный phpMyAdmin.

Кроме всего прочего сайты, работающие на вашем сервере, не смогут вылезти за пределы своего рабочего каталога и прочитать или изменить какие-нибудь данные, к ним не относящиеся.

Немного подробней про структуру

Все сайты будут лежать в каталогах вида /var/www/ACCOUNT/sites/SITENAME. ACCOUNT тут не обязательно означает какого-то системного пользователя, просто некий произвольный идентификатор.

У системных пользователей, которые будут подключаться по SFTP для редактирования сайтов, в качестве домашней директории будет установлено /var/www/ACCOUNT/home/USERNAME. Соответственно в зависимости от значения ACCOUNT тот или иной пользователь будет иметь доступ к тому или иному аккаунту. Создание каталога home внутри аккаунта нужно для того, чтобы иметь возможность авторизовывать SFTP пользователей по ключам.

Для всех пользователей SFTP основной группой будет установлена www-data (дефолтная группа Apache2 в deb-based). Кроме этого, все создаваемые как пользователем по SFTP, так и Apache, файлы по умолчанию будут иметь права 0660, а каталоги — 0770. Поскольку у Apache и SFTP пользователя одна и та же группа, то по-умолчанию в любой новый файл или каталог сможет писать как пользователь, так и веб-сервер, вне зависимости от того, кто его создал. Что обычно и требуется.

Базы же будут использовать свой, полностью отдельный механизм авторизации и контроля доступа. Тут всё крайне просто: создаём пользователей и даём им права только на конкретные базы. Поэтому к этому вопросу возвращаться больше не будем.

Создание ‘аккаунтов’ и системных пользователей

Размещение сайта на сервере стоит начать с подготовки места под него и создания пользователя для работы с ним. Как описано выше, для сайта нам нужна папка вида /var/www/ACCOUNT/. В качестве ACCOUNT задействуем для примера 42. Просто 42. Ок, создаём папку:

Кроме этого внутри аккаунта нам нужны каталоги home/USERNAME и sites. Создаём их:

Для будущей настройки SFTP сразу стоит убедиться, что и /var/www/42/sites, и все нижестоящие папки принадлежат root:root и ни у кого, кроме root, нет прав на запись в них.

Дальше создаём пользователя. Чтобы не путаться с обычными, полноценными пользователями сервера, SFTP пользователей можно перенести в диапазон UID от 901 до 999. Если вам это не надо — уберите соотв. параметры. Если вы хотите авторизовываться только по ключу, то добавьте параметр —disabled-password. В итоге команда такая:

Установка шелла в /bin/false гарантирует нам, что пользователь никак не сможет интерактивно зайти в систему.

Настройка SFTP

Настройка SFTP будет заключаться в том, что для всех членов группы www-data мы сделаем так, чтобы при заходе по SFTP они попадали сразу в папку sites ‘аккаунта’, в котором находится их HOME директория, без возможности выбраться выше по дереву каталогов.

Делается это просто. Достаточно в конец файла /etc/ssh/sshd_config дописать код

И ткнуть sshd для обновления конфигурации:

Этот кусочек кода для всех пользователей из группы www-data, во-первых, отключает TCP и X11 форвадинг (им незачем иметь доступ в вашу локалку). Во-вторых делает для них при заходе chroot в sites папку их ‘аккаунта’ (именно для этого нам нужно было делать sites папки доступными для записи только для root — иначе не работает chroot). Ну и в третьих меняет им обработчик SFTP на встроенный (которому не нужно полноценное окружение с шеллом и прочим), попутно говоря ему создавать все файлы и папки со значение umask в 007. То есть права по умолчанию на новые файлы будут 0660, а на каталоги — 0770.

Настройка Apache и phpMyAdmin

Как-либо специфично настраивать Apache для обеспечения базовой работы не нужно. Единственное, что в Debian пакет PHP5 идёт с интегрированным патчем Suhosin, повышающим безопасность. Он будет необходим при настройке конфигов сайта, хотя вполне можно обойтись и без него.

А так в целом для Apache нужно лишь изменить umask для создаваемых файлов и папок на такой же, который мы использовали для настройки SFTP. Делается это путём добавления в /etc/apache2/envvars строчек:

Для минимальной настройки phpMyAdmin нужно лишь поменять адрес, по которому он будет доступен, с неприлично бестолкового your.site/phpmyadmin на что-то другое. Для этого в файле /etc/phpmyadmin/apache.conf нужно заменить строчку

Не забывайте перезапускать Apache:

Добавление сайтов

Для добавления сайтов на ваш хостинг нужно сделать две вещи — во-первых, разместить файлы сайта с нужными правами на вашем сервере, а во-вторых создать конфиг апача для сайта. Кроме этого чаще всего потребуется создать БД и настроить права доступа к ней — но это тривиальная операция, поэтому рассматривать её не будем.

Для размещения файлов нужно из-под root создать каталог сайта в папке нужного ‘аккаунта’. Например:

Дальше выставить желаемые права. Как минимум у SFTP пользователя, который будет работать с этим каталогом, должны быть права на запись. К примеру, можно сделать так:

Ок, теперь пользователь может зайти и залить файлы сайта. Осталось настроить апач. Для этого, как всегда, создаём файл настроек в директории /etc/apache2/sites-available. Содержимое этого файла для сайта deep-thought.net с данными в каталоге /var/www/42/sites/deep-thought.net должно быть примерно таким:

Немного про temp: поскольку мы запрещаем PHP обращаться к файлам вне корневой директории сайта, то нам нужно указать каталог для сохранения временных файлов (файлов, загружаемых пользователями сайта на сервер через стандартный механизм загрузки из HTML формы) и файлов сессий внутри корня сайта. Каталог этот нужно, естественно, предварительно создать. Кроме этого лучше бы явно закрыть к нему доступ из интернета, что и сделано во втором блоке Directory. Иначе кто-нибудь может невзначай получить сессии ваших пользователей.

Если на сервере не установлен Suhosin, то вместо suhosin.executor.func.blacklist можно использовать стандартную опцию PHP disable_functions. Правда её нужно указывать в php.ini, т.е. она будет действовать на все сайты на вашем сервере.

Кроме этого в приведённых выше настройках не отключена функция eval. Увы, многим сайтам она зачем-то нужна, хотя всё же лучше её отключать. Обратите внимание на опции suhosin.executor.disable_eval и suhosin.executor.disable_emodifier всё того же Suhosin.

После того, как вы подготовите нужный вам конфиг, просто активируйте сайт:

И не забудьте пнуть апач:

Ну и конечно нужно залить файлы и базу данных сайта на сервер — без них вряд ли что-то заработает.

Тюнинг SSH: ключи и интерактивный вход

Для доступа пользователей SFTP по ключам нужно сделать всё тоже, что делается всегда: внутри HOME каталога создать директорию .ssh/, в ней файлик authorized_keys, в который прописать публичный ключи для пользователя.

Кроме этого, можно некоторым пользователям открыть интерактивный доступ на сервер. Для этого нужно, во-первых, подготовить в корневой папке соответствующего ‘аккаунта’ нужное chroot окружение, как минимум с интерпретатором и всеми необходимыми виртуальными ФС. Делается это стандартно и ничего сложно в этом нет.

Дальше можно создать дополнительную группу для интерактивного входа. Например, ssh-interactive:

Добавить в неё нужных пользователей, попутно сменив им SHELL на полноценный bash:

И прописать для этой группы специфические настройки в sshd_config. Для этого нужно модифицировать директиву Match, относящейся к www-data, дописав к ней !ssh-interactive, дабы она не распространялась на пользователей этой группы:

И после неё добавить ещё одну директиву Match:

Проблема только в том, что для членов группы ssh-interactive umask больше не будет выставляться в 007. Исправить это можно дописав соответствующий параметр в глобальных настройках подсистемы sftp в sshd_config. Кстати, вряд ли вы захотите перетаскивать компоненты openssh в chroot окружение, так что можно заодно сменить внешний обработчик sftp на внутреннюю реализацию:

В заключение

Меня всегда интересовал вопрос — а нет ли где-нибудь на официальных ресурсах полного списка с описанием всех PHP функций, которые так или иначе могут дать доступ скрипту к компонентам и файлам системы. Приведённый выше список честно взят из интернета, так что если кто поделится ссылочкой на списочек функций — буду премного благодарен.

Ну и да — если есть какие-то комментарии по поводу того, что ещё минимально можно сделать для обеспечения безопасной работы простейшего хостинга — пишите.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *