Как заставить Apache работать как текущий пользователь

Возможно, вы хотите использовать usb-stick (или cd) для тестирования ubuntu. то вы можете посмотреть, все ли работает. надеюсь, что это сработает. просто получите ubuntu на usb или cd и загрузитесь оттуда. то у вас есть возможность попробовать ubuntu, не устанавливая ничего. (довольно новый с ubuntu тоже).

35
задан 23 January 2012 в 18:00

5 ответов

Я бы добавил пользователя в группу www-data с ...

sudo adduser {username} www-data

Простой и эффективный. Не вмешиваться в файлы конфигурации или разрешения.

22
ответ дан 25 May 2018 в 14:57
  • 1
    Я делал это все время, но это не будет устранять некоторые проблемы с разрешением, поскольку права группы не совпадают с правами пользователя для всех файлов. – Kostanos 11 September 2013 в 22:10
  • 2
    Это не будет исправлено, если CHMOD не разрешил группе писать. – GusDeCooL 14 November 2013 в 01:14
  • 3
    проблема для меня в том, что у меня локальная установка. Когда я создаю файлы с моей IDE, у них есть мой «пользователь / группа», а иногда apache не может читать эти файлы – Postadelmaga 7 February 2014 в 15:45
  • 4
    это само по себе не решает много проблем с разрешениями, потому что ваша основная группа обычно не является www-данными, а для некоторых приложений php требуются права на запись в группу. (joomla, wordpress) – Eric 23 August 2017 в 07:05
  • 5
    Это не решает проблему, когда вы создаете файлы, а www-data не может их удалять и редактировать, потому что ваша основная группа не является www-данными – billy 19 October 2017 в 15:46

Отредактируйте следующий файл как root: / etc / apache2 / envvars

с помощью команды:

sudo nano /etc/apache2/envvars

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

IE, если вы только регистрируетесь и запускаете сервер как пользователь 'big_dog':

export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog

Черт, может изменить этого пользователя к текущему пользователю. Я уверен как-то. Затем установите user_dir, у вас все есть веб-ресурсы, только вы можете иметь полный контроль над ними (если вы не измените это).

Перезагрузите сервер (если не уверены, просто перезагрузитесь или goole), и вам хорошо идти.

43
ответ дан 25 May 2018 в 14:57
  • 1
    Это работает как прелесть! Спасибо. я бы добавил: sudo chown big_dog.big_dog /var/lock/apache2 – Kostanos 11 September 2013 в 22:14
  • 2
    Также, вероятно, вам понадобится sudo chown big_dog.big_dog -R /var/log/apache2 – Kostanos 18 December 2013 в 19:14
  • 3
    На OpenSUSE-Tumbleweed (и, возможно, на каком-то другом) файл находится в /etc/apache2/uid.conf – Dilawar 7 November 2016 в 15:34

Устраняя проблему «если вы это сделаете», вы можете найти, где пользователь для apache установлен, выполнив:

grep www- /etc/apache2/apache2.conf

. Тогда это случай редактирования этих экземпляров в /etc/apache2/apache2.conf и перезагрузка Apache (sudo /etc/init.d/apache2 reload).

0
ответ дан 25 May 2018 в 14:57
  • 1
    apache2.conf не содержит www- для меня – Jiew Meng 23 January 2012 в 20:15
  • 2
    У меня такое чувство, что вы имели в виду что-то вроде grep -HR "www-" /etc/apache2/. Если вы уже знаете, что это в apache2.conf, просто отредактируйте этот файл. В моем случае его там не было, но в / etc / apache2 / envvars, как указывает ответ Эрика. – Mike 5 November 2014 в 22:21
  • 3
    Это потому, что apache.conf ищет ${APACHE_RUN_USER} и ${APACHE_RUN_GROUP}. Не www-data напрямую. – Yahya Uddin 9 August 2016 в 15:06

, почему бы вам это сделать, я боролся с этими перманентными проблемами в прошлом, но это мой dev-процесс с сегодняшнего дня:

установить новый Linux-пакет (виртуальный или локальный, как ноутбук) standard sudo apt-get install lamp-server^ proc, чтобы получить лампу вверх, сделайте символическую ссылку на мой домашний каталог, где проекты выглядят следующим образом: ln -s /home/user/html /var/www/html сделать символическую ссылку на файл конфигурации хостов ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default

вот он:)

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

hth, cheers

0
ответ дан 25 May 2018 в 14:57

создайте новую пользовательскую группу webdev и добавьте к ней пользователя www-data.

sudo addgroup webdev
sudo adduser www-data webdev

Затем перейдите и добавьте своего пользователя в эту группу и сделайте его группой по умолчанию для пользователя.

sudo adduser {your-user} webdev
sudo addgroup webdev

Последнее, что нужно сделать, это убедиться, что у группы webdev есть права rwx на файлы

sudo chmod 775 -R /path/to/project

Теперь единственное, что может произойти, это то, что, например, для www-data создает новый файл журнала, и вы не можете rwx его.

0
ответ дан 25 May 2018 в 14:57
  • 1
    В чем преимущество этого, просто добавляя моего собственного пользователя в группу www-data, особенно потому, что мы говорим о среде разработки? – Dan 24 April 2015 в 13:19
  • 2
    если вы сделаете это так, и установите права на 775, например, public_html или / var / www, у вас не будет проблем с правами на вашей машине dev. другие aproaches, оставляют вас с дополнительными шагами, чтобы сделать или не так эффективны, как я их не буду. Поэтому, на мой взгляд, это лучший способ справиться с этим на dev-машине. для продуктивных серверов я бы рекомендовал другую настройку. также с этим aproach, вы можете легко добавлять пользователей. – Thomas Venturini 24 April 2015 в 13:41

Другие вопросы по тегам:

Похожие вопросы: