У меня есть сервер с человечностью 14.04.
Я установил apache2, php5 и чистый-FTPd.
Таким образом апач работает в mpm предварительном ветвлении с одним процессом, принадлежавшим корню и всем дочерним процессам, принадлежавшим www-данным.
/var/www/html принадлежит корню (-rw-r - r - 1 корневой корень)
Теперь у меня есть пользователь FTP, названный ftpuser.
Каков был бы лучший способ (и более безопасный) так, чтобы ftpuser мог создать и отредактировать файлы под/var/www/html?
Я могу изменить владельца группы/var/www/html к www-данным с доступом для записи и добавить ftpuser к группе www-данных?
Если теперь я также хочу использовать mediawiki, ему иногда нужен доступ для записи к/var/www/html. Так тот же вопрос: я могу изменить владельца группы/var/www/html к www-данным с доступом для записи?
Обычно, это - плохая идея дать доступ для записи к учетной записи, выполняющей веб-сервер (www-данные в соответствии с Ubuntu).
Для Вашего сценария я изменил бы владельца /var/www/html
к ftpuser с чтением-записью для него, только для чтения для группы и других. Apache должен, по крайней мере, смочь читать в этом каталоге.
UPD: Если у Вас есть больше чем один пользователь для предоставления доступа к, поместите их всех в ту же группу, измените владение группы на эту группу и дайте чтение группы и доступ для записи также.
Мудрый безопасностью, это - плохая идея дать доступ для записи Apache ко всем файлам, к которым он может получить доступ. Если кто-то сможет сделать "противные вещи" с Вашим веб-сервером, то по крайней мере, он не сможет изменить файлы с помощью Apache непосредственно.
Не забывайте защищать установку FTP-сервера, который Вы намереваетесь использовать, чтобы позволить ftpuser загрузить файлы.
Если бы Mediawiki должен записать на некоторых файлах, я дал бы этим файлам только права чтения-записи для www-пользователя-данных (путем установки владельца этих файлов к www-данным). Если Вы не можете предсказать, какие файлы должны быть перезаписываемы веб-приложением, Вы были бы лучше для изоляции этого приложения в подпапку ´/var/www/html´.
По опыту я знаю это, когда правильный доступ необходим на части файла, обычно документация деталей приложения точно которые.
Веб-сервер Apache2 доступен в Ubuntu Linux. Устанавливать Apache2:
При терминальной подсказке вводят следующую команду:
sudo apt-get install apache2
Основные настройки
Если Вы хотите настроить новый виртуальный хост или сайт, скопировать тот файл в тот же каталог с именем, Вы выбираете. Например:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite
Отредактируйте новый файл для конфигурирования нового сайта с помощью некоторых директив, описанных ниже.
Если Вам уже не установили Apache, можно сделать так теперь путем выдачи следующих команд:
sudo apt-get update
sudo apt-get install apache2
Это - все, что необходимо, чтобы иметь рабочий веб-сервер. При посещении IP-адреса VPS в веб-браузере Вы получите индексную страницу Apache по умолчанию:
your_domain_name_or_ip_address
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Файловая иерархия Apache в Ubuntu и Debian
На Ubuntu и Debian, Apache сохраняет свои основные конфигурационные файлы в "/etc/apache2" папке:
cd /etc/apache2
ls -F
apache2.conf envvars magic mods-enabled/ sites-available/
conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/
Рассмотрение файла Apache2.conf
Основные детали конфигурации для Вашего сервера Apache сохранены в "/etc/apache2/apache2.conf" файле.
Этот файл разделен на три основных раздела: конфигурация для глобального серверного процесса Apache, конфигурация для сервера по умолчанию и конфигурация Виртуальных Хостов.
В Ubuntu и Debian, большинство файла для глобальных определений, и конфигурация сервера по умолчанию и виртуальных хостов обрабатывается в конце, при помощи "Включают..." директиву.
"Включать" директива позволяет Apache читать другие конфигурационные файлы в текущий файл в местоположении, что оператор появляется. Результат состоит в том, что Apache динамично генерирует всеобъемлющий конфигурационный файл на запуске.
Если Вы прокручиваете к нижней части файла, существует много различных операторов "Include". Эти определения загрузочного модуля, ports.conf документ, определенные конфигурационные файлы в "conf.d /" каталог, и наконец, Виртуальные определения Хоста в "поддерживающий сайты /" каталог.
Мы сфокусируемся на первой части файла, чтобы изучить, как Apache определяет свои глобальные настройки.
Я надеюсь, что это работает на Вас