Недавно я перешел на Ubuntu. Одним из инструментов, которые я часто использовал, был XAMPP. Когда я установил стек LAMP на Ubuntu, я заметил значительное увеличение производительности и был очень рад этому. Тем не менее, после того, как буквально потратил дни и прочитал десятки практических статей, я все еще не мог настроить его правильно.
Я закончил установку apache2 + php5-fpm, потому что он мог выполнять файлы с разрешениями пользователя.
Однако это еще не все для меня. Например, я загрузил архив популярной CMS и извлек его в apache html-каталог. Результирующие разрешения для этих файлов - 0664 и 0700 в папках.
Правила каталога Apache:
<Directory "/home/myuser/www/">
AllowOverride All
Require all granted
Allow from all
</Directory>
Когда AllowOverride All:
[Fri Dec 12 21:16:01.037580 2014] [core:crit] [pid 23745:tid 140466931369728]
(13)Permission denied: [client 127.0.0.1:54670] AH00529:
/home/myuser/www/mycms/install/.htaccess pcfg_openfile: unable to check htaccess
file, ensure it is readable and that '/home/myuser/www/mycms/install/' is executable
Когда AllowOverride None, apache2 запускает index.php, который находится в корневом каталоге, но не будет запускаться /config/index.php
[Fri Dec 12 21:02:41.552369 2014] [core:error] [pid 22530:tid 140517706823424]
(13)Permission denied: [client 127.0.0.1:54465] AH00035: access to
/install/index.php denied (filesystem path
'/home/myuser/www/mycms/install/index.php') because search
permissions are missing on a component of the path
Я не слишком хорошо разбираюсь в правилах каталога apache , возможно, там есть некоторая ошибка. Должен ли файл index.php быть доступен? Служба php5-fpm работает как мой пользователь:
/etc/php5/fpm/pool.d
Line 22: user = myuser
Line 23: group = myuser
Файлы запускаются, когда я устанавливаю chmod -R 0755 www/. Тем не менее, я не могу продолжать выполнять эту команду каждый раз, когда я добавляю некоторые файлы или когда они создаются php. Разве нет способа работать без постоянного вмешательства с разрешениями? Я спросил коллегу, и он просто сказал: «Установите root пользователя для службы php5-fpm». Тем не менее, это скорее решение выхода из сменного перехода. Я также боюсь, что я могу запустить некоторые функции glob/* и удалить файлы, которые я не хотел удалить (случилось со мной в прошлом).
Как я могу установить свой стек LAMP в
Если есть хорошее руководство о том, как настроить его с помощью suphp или какого-либо другого мода, я бы с удовольствием посмотрел на него.
Как настроить стек LAMP для автоматического запуска всех моих файлов?
ps aux | egrep '(apache|httpd)'
root 18763 0.0 0.1 84256 4720 ? Ss 21:35 0:00 /usr/sbin/apache2 -k start
www-data 18767 0.0 0.1 373432 6256 ? Sl 21:35 0:00 /usr/sbin/apache2 -k start
www-data 18768 0.0 0.1 373432 6256 ? Sl 21:35 0:00 /usr/sbin/apache2 -k start
gskema 20515 0.0 0.0 14884 2364 pts/6 S+ 21:37 0:00 grep -E --color=auto (apache|httpd)
ps aux | egrep '(php)'
gskema 8312 0.0 0.0 4448 492 ? S 16:32 0:00 /bin/sh /opt/phpstorm/bin/phpstorm.sh
gskema 8361 8.7 31.0 4630304 1245684 ? Sl 16:32 26:52 /usr/lib/jvm/java-8-oracle/bin/java -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=225m -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djsse.enableSNIExtension=false -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dawt.useSystemAAFontSettings=lcd -Djb.vmOptionsFile=/opt/phpstorm/bin/phpstorm64.vmoptions -XX:ErrorFile=/home/gskema/java_error_in_WEBIDE_%p.log -Xbootclasspath/a:/opt/phpstorm/bin/../lib/boot.jar -Didea.paths.selector=WebIde80 -Didea.platform.prefix=PhpStorm -Didea.no.jre.check=true -Djb.restart.code=88 com.intellij.idea.Main
gskema 8396 0.0 0.0 4936 904 ? S 16:32 0:00 /opt/phpstorm/bin/fsnotifier64
root 18950 0.0 0.6 348744 24312 ? Ss 21:35 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data 18953 0.0 0.1 348744 7836 ? S 21:35 0:00 php-fpm: pool www
www-data 18954 0.0 0.1 348744 7836 ? S 21:35 0:00 php-fpm: pool www
gskema 20649 0.0 0.0 14888 2364 pts/6 R+ 21:40 0:00 grep -E --color=auto (php)
[d13 ] Я выполнил команду, и я вижу, что ее несколько? процессов. Может кто-нибудь прокомментировать это?