Каким образом можно настроить разрешения для Apache в Ubuntu (Linux)?

Нам дали задание (в учебном заведении, в котором я учусь) настроить локальный сервер на Ubuntu (стандартный стек из Apache + MySQL + PHP). До этого я имел дело с этими тремя технологиями только на Windows, что было довольно просто и работоспособно. Но все не так просто оказалось с Linux. Я смог по инструкциям на httpd.apache.org осуществить компиляцию и инсталляцию Apache, но появилась проблема с правами доступа.
Все папки Apache имеют в качестве владельца root, что привело к тому, что Apache даже свои логи записать не может (соответственно и запуститься не может). Я узнал какие команды мне могут помочь изменить права доступа и разрешения, но я не совсем понимаю как мне стоит их применить к каталогам Apache (я начал знакомство с Linux относительно недавно). Стоит ли мне создать группу пользователя apache, одноименного пользователя и дать группе полный доступ ко всем каталогам Apache (лишив root прав на эти каталоги) или только к некоторым(оставив root права на эти некоторые каталоги)? Правильно ли я понимаю, что, если я дам группе apache доступ к каталогу, то сам я ничего не смогу создавать, изменять или удалять в этих каталогах? Значит мне нужна себя добавить в группу apache и тогда я получу доступ к эти каталогам?
Я бы рад был узнать, как бы настроили Apache в реальных условиях, но не могу найти об этом какой-либо толковой информации.
  • Вопрос задан
  • 467 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Оф.инструкция сборки Apache HTTPD

install-bindist.sh.in и тут
УРА! :)
echo "Ready."
echo " +--------------------------------------------------------+"
echo " | You now have successfully installed the Apache @ver@ |"
echo " | HTTP server. To verify that Apache actually works |"
echo " | correctly you should first check the (initially |"
echo " | created or preserved) configuration files: |"
echo " | |"
echo " | $SR/conf/httpd.conf"
echo " | |"
echo " | You should then be able to immediately fire up |"
echo " | Apache the first time by running: |"
echo " | |"
echo " | $SR/bin/apachectl start "
echo " | |"
echo " | Thanks for using Apache. The Apache Group |"
echo " | www.apache.org |"
echo " +--------------------------------------------------------+"
echo " "

PS: Набор документации сборки по всему!
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
moropsk
@moropsk
но не могу найти об этом какой-либо толковой информации.


Не верю.

https://www.8host.com/blog/nastrojka-apache-v-ubun...
Ответ написан
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Я смог по инструкциям на httpd.apache.org осуществить компиляцию и инсталляцию Apache,

Не надо так делать. Такие вещи для тех, кто понимает, что делает.

Вам - делать все только через пакетный менеджер - он сам все поставит и сам создаст все папки с нужными правами. Не, конечно Вашу работу можно довести до ума - упорным чтением манов о том, как устроен UNIX, как в нем назначаются права etc. - это тоже прикольно, но долго.
Ответ написан
flapflapjack
@flapflapjack
на треть я прав
При установке апача штатным способом через apt-get, апач сам создает нужную группу и юзера.
И логи писать он может.

Вы как ставили?

Попробуйте сделать
sudo apt-get purge apache2 && sudo apt-get autoremove
,
потом поставить сервер по любой статье по запросу из гугла "LAMP Server" (Linux+apache+php+mysql).
Ответ написан
slo_nik
@slo_nik
Добрый вечер.
Вот парочка моих вопросов/ответов, в них всё расписано
Как вывести текст из файла? // установка и настройка apache2
Отказ в доступе консольному контролеру, как решить? // права доступа, но скорей всего Вам не понадобится

Пример конфигурации виртуального хоста, пути поменяйте на свои.
<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	ServerName localhost

	DocumentRoot /home/slonik/localhost/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /home/slonik/localhost/www/>
		Options +Indexes +FollowSymLinks -MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
		Require all granted
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /home/slonik/localhost/error.log
	#AccessLog /home/slonik/localhost/access.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
Ответ написан
Комментировать
shambler81
@shambler81 Куратор тега Linux
braynycp - ставится 1 скриптом, вебморда бесплатная, очень много имеет не очень удобная.
bitrix vm - отличная скорость ставится толкьо на centos в 1 клик, имеет консольный но интерфейс ( нажми 1 если нажми 2если, введи домен)
vestacp - тоже бесплатная тоже веб морда тоже ставится в 1 клик
ispconig3 - ставится ручками по ману.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы