Назад | Перейти на главную страницу

Конфигурация разработки Linux apache

Recenly переустановил мою систему и дошел до того, что мне нужны apache и php.

Долго искал, но не могу понять, как лучше всего настроить apache для компьютера разработчика. План прост: я хочу установить сервер apache 2 + mysql, чтобы разработать какой-нибудь php-сайт.

Я не хочу устанавливать лампу, только apache2, php5 и mysql. Проблема, на которую я искал ответ, - это разрешения на папку / var / www /. Я попытался сделать это своей папкой, используя команду chown, а затем chmod -R 755 / var / www. Тогда большинство вещей работает, но fwrite, например, не сработает, потому что мне нужно дать разрешение на запись всем, если я не изменю свою глобальную umask на 000, я не уверен, что я могу сделать.

Вкратце: я хочу установить apache2, php5, mysql-server без использования лампы, но настроен таким образом, чтобы я мог открывать netbeans, запускать проект с root в / var / www / и запускать каждую функцию без ошибок разрешения . У кого-нибудь есть опыт или обходные пути для этого?

Дополнительно:

Ваша самая большая проблема в том, что вы настаиваете на работе с / var / www.

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

Я нашел ответ и выложу его здесь

Сначала войдите в систему как root, используя:

sudo su

Добавьте новую группу, все пользователи этой группы смогут управлять папкой / var / www /

groupadd www-pub

Добавьте свое имя пользователя в эту группу вот так

usermod -a -G www-pub username

Теперь измените владельцев папки / var / www /, как владельца, я бы не стал root, а скорее www-data, и изменил группу на только что созданную группу: www-pub

chown -R www-data:www-pub /var/www/

Нам все еще нужно изменить разрешения, чтобы мы могли создать файл на / var / www /. Если вы не знаете, что означает «2», это означает SGID, информацию об этом можно найти на http://www.codecoffee.com/tipsforlinux/articles/028.html

chmod 2775 /var/www/

Если в / var / www / есть файлы, обновите разрешения, подобные этому

find /var/www/ -type f -exec chmod 664 {} \;
find /var/www/ -type d -exec chmod 775 {} \;

Наконец, измените вашу umask в файле / etc / profile на 002, umask должна быть последней строкой этого файла.

Информация о www-data:

Apache запускается от имени пользователя www-data. Использование общего пользователя www-data вместо определенного «apache» позволяет всем веб-серверам, упакованным для Debian, совместно использовать корень документа, где файлы принадлежат www-data.

Другим решением могут быть ACL.

В современном Linux вы можете добавлять списки управления доступом помимо старой модели user: group: others, используя setfacl и getfacl.

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

Среди прочего, списки управления доступом позволяют устанавливать списки управления доступом по умолчанию для каталогов. Т.е. вы можете установить ACL по умолчанию для каталога, и этот ACL будет применяться ко всем объектам, созданным в этом каталоге.