Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: 403 forbidden (apache + nginx)  (Прочитано 8112 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
403 forbidden (apache + nginx)
« : 03 Октября 2011, 16:20:41 »
UPDATE: решение вопроса via xeon_greg
sudo chmod go+x /var


Установил apache+nginx,
Путь домена exemple.com к файлам -  /var/www/exemple_com (проверить не смог, т.к. днс зона еще не обновлялась)
Назначил папку /var/www/default на ip сервака, проверял, все работало

Далее возился с proftpd, создавал пользователя ftp с домашним каталогом /var/www , но его удалил (пользователя).
После, когда днс обновилась, извне зашел на сайт exemple.com и форбиден встречает.

Как побороть 403? спасиб

+ Какие права по-умолчанию стоят на /var? я ей случайно присвоил 744

Пользователь решил продолжить мысль 03 Октября 2011, 17:15:55:
вот что в логах апача


[Mon Oct 03 13:12:23 2011] [crit] [client 127.0.0.1] (13)Permission denied: /var/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

« Последнее редактирование: 04 Октября 2011, 15:44:52 от x4team »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #1 : 03 Октября 2011, 18:22:08 »
Цитировать
/var/.htaccess
?? чего апач пытается его в этом месте достать??  корень сервера должен быть /var/www  конфиги сервера трогали ? по поводу прав на var, права изменили с рекурсией? меняли только права или еще и владельца сменили ?

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #2 : 03 Октября 2011, 18:30:56 »
Конфиги не трогал, в том то и дело, корень там /var/www. На var изменял с рекурсией..

Плюс прикол, зашел по ssh на старый рабочий сервак, просмотрел командой ls права на папку /var/www/exemple.com, а там 777, думаю не дело, дай ради прикола поменяю на 744 без рекурсии, и ОПЯть форбиден(, вернул все взад на 777 и ничего не изменилось, форбиден остался, после уже с рекурсией ради интереса на 777, тоже самое. Они что сговорились против меня?))


drwxr--r--  5 root root  4096 Апр 28 10:53 www

drwxrwxrwx 11 root root 4096 Сен 30 18:33 exemple.com

« Последнее редактирование: 03 Октября 2011, 18:36:51 от x4team »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #3 : 03 Октября 2011, 18:34:39 »
покажи
ls -la /var/www
apache2ctl -MS
да зыбыл и еще
cat /etc/apache2/sites-enabled/*  | egrep -v '^#|^$'
« Последнее редактирование: 03 Октября 2011, 18:37:37 от xeon_greg »

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #4 : 03 Октября 2011, 18:39:44 »
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:81                   is a NameVirtualHost
         default server localhost (/etc/apache2/sites-enabled/000-default:1)
         port 81 namevhost localhost (/etc/apache2/sites-enabled/000-default:1)
         port 81 namevhost 95.**.15.*** (/etc/apache2/sites-enabled/95.**.15.***:1)
         port 81 namevhost localhost (/etc/apache2/sites-enabled/default:1)
         port 81 namevhost d****.ru (/etc/apache2/sites-enabled/d****.ru:1)
         port 81 namevhost exemple.com (/etc/apache2/sites-enabled/exemple.com:1)
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 include_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 rpaf_module (shared)
 ruby_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 status_module (shared)
 suexec_module (shared)
Syntax OK


Пользователь решил продолжить мысль 03 Октября 2011, 18:43:52:

<VirtualHost *:81>
        ServerAdmin support@******.ru
        ServerName localhost
        DocumentRoot /var/www/default/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>
<VirtualHost *:81>
        ServerAdmin support@*****.ru
        ServerName 95.**.15.***
        DocumentRoot /var/www/default/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>
<VirtualHost *:81>
        ServerAdmin support@*******.ru
        ServerName localhost
        DocumentRoot /var/www/default/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>
<VirtualHost *:81>
        ServerAdmin support@d****.ru
        ServerName d***.ru
        ServerAlias www.d****.ru
        DocumentRoot /var/www/d****/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>
<VirtualHost *:81>
        ServerAdmin support@******.ru
        ServerName exemple.com
        ServerAlias www.exemple.com
        DocumentRoot /var/www/exemple/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>
« Последнее редактирование: 03 Октября 2011, 18:45:59 от x4team »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #5 : 03 Октября 2011, 18:48:08 »
ls -la /var/www ?
брррр какой бардак, логи со всех виртуалок сыпятся в кучу, потом в каждом виртуал хосте опиши конфиг для своего докумет рута и настрой логирование каждой виртуалки в свой лог, так же проще отлавливать ошибки..
« Последнее редактирование: 03 Октября 2011, 19:00:51 от xeon_greg »

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #6 : 03 Октября 2011, 22:19:40 »
Спасиб, вроде все поправил, поставил вебмин, список юзеров:



У пользователя www-data домашний каталог как раз /var/www, попробовал заново ему назначить этот каталог, таже ситуация.


[Mon Oct 03 18:53:35 2011] [error] [client 127.0.0.1] (13)Permission denied: access to / denied

и интересно, почему клиент 127.0.0.1?
« Последнее редактирование: 03 Октября 2011, 23:17:57 от x4team »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #7 : 04 Октября 2011, 10:17:08 »
раз поправил ,ну-ка давай еще раз :
cat /etc/apache2/sites-enabled/exemple.com | egrep -v '^$|^#'
ls -la /var/www
ls -la /var/www/exemple.com
cat /var/www/exemple.com/.htaccess
если последний существует, затем если разделил логирование смотреть логи только этого вхоста access и error

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #8 : 04 Октября 2011, 10:42:38 »
Вот:


1) cat /etc/apache2/sites-enabled/exemple.com | egrep -v '^$|^#'

        <VirtualHost *:81>
        ServerAdmin support@exemple.com
        ServerName exemple.com
        ServerAlias www.exemple.com
        DocumentRoot /var/www/exemple_com/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error_exemple.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access_exemple.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

2) ls -la /var/www
total 40
drwxr-xr-x  9 root root 4096 Oct  3 14:04 .
drwxr--r-- 15 root root 4096 Oct  3 17:11 ..
drwxr--r--  2 root root 4096 Oct  3 07:28 default
drwxr-xr-x  2 root root 4096 Oct  3 07:28 ****_ru
drwxr-xr-x  9 root root 4096 Oct  3 14:04 exemple_com
drwxr--r--  2 root root 4096 Oct  3 07:29 ***b_ru
drwxr--r--  2 root root 4096 Oct  3 07:29 *****ss_ru
-rwxr--r--  1 root root  177 Sep 29 12:55 index.html
drwxr--r--  2 root root 4096 Oct  3 07:29 n*****_ru
drwxr--r--  2 root root 4096 Oct  3 07:30 *****i_ru

3) ls -la /var/www/exemple.com
total 52
drwxr-xr-x  9 root root 4096 Oct  4 06:31 .
drwxr-xr-x  9 root root 4096 Oct  3 14:04 ..
drwxr-xr-x  6 root root 4096 May  6 07:07 admin
drwxr-xr-x  6 root root 4096 May  6 07:07 catalog
drwxr-xr-x  2 root root 4096 Mar 28  2011 cgi-bin
-rw-r--r--  1 root root  634 Oct  3 11:01 config.php
drwxr-xr-x  2 root root 4096 May  6 07:08 download
drwxr-xr-x  2 root root 4096 May  6 07:08 export
-rw-r--r--  1 root root  931 Oct  4 06:36 .htaccess
drwxr-xr-x  7 root root 4096 May  6 07:29 image
-rw-r--r--  1 root root 5877 May  6 07:08 index.php
-rw-r--r--  1 root root  169 May  6 07:08 robots.txt
drwxr-xr-x 11 root root 4096 May  6 07:08 system

4)cat /var/www/exemple.com/.htaccess

# Подробнее на http://myopencart.ru

Options +FollowSymlinks

# Запретить листинг директорий
Options -Indexes

# Закрыть доступ к файлам шаблонов
<FilesMatch "\.(tpl|ini|log|txt)">
Order deny,allow
Deny from all
</FilesMatch>

# Необходимо для ЧПУ.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling, then restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

5) nano /var/log/apache2/error_exemple.log

[Tue Oct 04 06:48:05 2011] [crit] [client 127.0.0.1] (13)Permission denied: /var/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

6) nano /var/log/apache2/access_exemple.log


127.0.0.1 - - [04/Oct/2011:06:48:05 +0000] "GET / HTTP/1.0" 403 484 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1"
« Последнее редактирование: 04 Октября 2011, 10:50:53 от x4team »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #9 : 04 Октября 2011, 12:49:05 »
вот это
Цитировать
<Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
Исправить на
         <Directory />
                Options FollowSymLinks
                AllowOverride none
                Order Deny,allow
                Deny from all

        </Directory>
        <Directory /var/www/exemple_com>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

Пользователь решил продолжить мысль 04 Октября 2011, 12:52:35:
или просто в вхост добавить описание документ рута для этого вхоста, как я говорил раньше
        <Directory /var/www/exemple_com>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
« Последнее редактирование: 04 Октября 2011, 12:52:35 от xeon_greg »

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #10 : 04 Октября 2011, 14:04:52 »
Поправил, но опять:


<VirtualHost *:81>
        ServerAdmin support@*****.ru
        ServerName ex*****.ru
        ServerAlias www.ex****.ru
        DocumentRoot "/var/www/ex*****_ru/"
        <Directory />
                Options FollowSymLinks
                AllowOverride none
                Order Deny,allow
                Deny from all
        </Directory>
        <Directory /var/www/ex****_ru>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error_ex*******.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access_ex******.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

Все равно ругается на корень..
Ведь до создания пользователя ftp с домашним каталогом /var/www все работало.

Forbidden
You don't have permission to access / on this server.

Apache/2.2.16 (Debian) Server at www.exoflowers.ru Port 80


Вообще за 80 порт отвечает nginx, может его не пускает?

server {
listen 80;
server_name ex*****.ru www.ex*****.ru;
access_log /var/log/nginx.access_log_ex****;
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/exo******_ru/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}


2011/10/04 09:38:27 [error] 1162#0: *316 open() "/var/www/ex*******_ru/favicon.ico" failed (13: Permission denied), client: 212.42.50.147, server: ex******.ru, request: "GET /favicon.ico HTTP/1.1", host: $ex*******.ru

Т.е. даже нжинксу запрещен доступ.. странно все это.
« Последнее редактирование: 04 Октября 2011, 14:06:43 от x4team »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #11 : 04 Октября 2011, 14:59:27 »
тю блин ты что под рутом в консоли? 
sudo chmod go+x /var
Пользователь решил продолжить мысль 04 Октября 2011, 15:00:47:
и будет тебе счастье
« Последнее редактирование: 04 Октября 2011, 15:01:06 от xeon_greg »

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #12 : 04 Октября 2011, 15:43:30 »
Блин, спасибо тебе огромное!
Я в полной эйфории)) Кстати по логам искал в гугле и тоже натыкался на +x, но подумал что это не для моего варианта..
Куда нести пиво?)

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #13 : 04 Октября 2011, 15:51:52 »
да пей сам :). далеко нести. кстати и на остальные папки сайтов тоже добавить флаги исполнения для go. а то тоже будет такая же фигня.
судя по этому
Цитировать
drwxr--r--  2 root root 4096 Oct  3 07:28 default
drwxr--r--  2 root root 4096 Oct  3 07:29 ***b_ru
drwxr--r--  2 root root 4096 Oct  3 07:29 *****ss_ru
drwxr--r--  2 root root 4096 Oct  3 07:29 n*****_ru
drwxr--r--  2 root root 4096 Oct  3 07:30 *****i_ru
то на них и возможно вложенные....
лучше пройтись поиском по атрибутам
« Последнее редактирование: 04 Октября 2011, 16:18:37 от xeon_greg »

Оффлайн x4team

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: 403 forbidden (apache + nginx)
« Ответ #14 : 04 Октября 2011, 16:57:07 »
Да, спс, учту  :)

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.