Автор Тема: Проблема със .htaccess добавяне в директория  (Прочетена 5354 пъти)

de_dust2

  • Напреднали
  • *****
  • Публикации: 44
    • Профил
Е как да стане, като очивидно модула mod_rewrite, не пали.. :)
Код:
Apache/2.4.25 (Debian) OpenSSL/1.0.2l configured
Активен

Vask0

  • Напреднали
  • *****
  • Публикации: 185
    • Профил
Е как да стане, като очивидно модула mod_rewrite, не пали.. :)
Код:
Apache/2.4.25 (Debian) OpenSSL/1.0.2l configured

Какава команда предлагаш да изпулня OS debian 9

ето и  последният ерор след

Код:
ls /etc/apache2/mods-enabled | grep rewrite
rewrite.load
root@user:~# a2enmod rewrite
Module rewrite already enabled
root@user:~# service apache2 restart

Ето и лога


root@user:~# tail /var/log/apache2/error.log
[Wed Jan 31 14:19:00.555767 2018] [:error] [pid 23189] [client 164.132.161.66:19948] PHP Notice:  Undefined index: action in /var/www/index.php on line 220
[Wed Jan 31 14:26:49.502595 2018] [core:alert] [pid 23033] [client 85.93.91.84:57563] /var/www/forum/.htaccess: <IfModule not allowed here
[Wed Jan 31 14:29:13.077020 2018] [core:alert] [pid 23030] [client 93.125.167.98:54238] /var/www/forum/.htaccess: <IfModule not allowed here, referer: http://mywebsite.org/
[Wed Jan 31 14:29:29.588251 2018] [mpm_prefork:notice] [pid 23028] AH00169: caught SIGTERM, shutting down
[Wed Jan 31 14:29:34.840915 2018] [mpm_prefork:notice] [pid 24412] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2l configured -- resuming normal operations
[Wed Jan 31 14:29:34.841102 2018] [core:notice] [pid 24412] AH00094: Command line: '/usr/sbin/apache2'
[Wed Jan 31 14:29:37.300216 2018] [core:alert] [pid 24413] [client 93.125.167.98:54244] /var/www/forum/.htaccess: <IfModule not allowed here, referer: http://mywebsite.org/
[Wed Jan 31 14:29:38.428729 2018] [core:alert] [pid 24414] [client 93.125.167.98:54246] /var/www/forum/.htaccess: <IfModule not allowed here, referer: http://mywebsite.org/
[Wed Jan 31 14:29:39.050203 2018] [core:alert] [pid 24416] [client 93.125.167.98:54248] /var/www/forum/.htaccess: <IfModule not allowed here, referer: http://mywebsite.org/
[Wed Jan 31 14:32:47.595055 2018] [core:alert] [pid 24416] [client 93.125.167.98:54304] /var/www/forum/.htaccess: <IfModule not allowed here, referer: http://mywebsite.org/




« Последна редакция: Jan 31, 2018, 14:52 от Vask0 »
Активен

makeme

  • Напреднали
  • *****
  • Публикации: 895
  • Distribution: Many
  • Window Manager: KDE
    • Профил
Как да стане като инаш

AllowOverride None

в конфа на апачето?

Я го направи AllowOverride All и опитай пак.


Код:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride FileInfo
    Order allow,deny
    allow from all
</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 ${APACHE_LOG_DIR}/error.log

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

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>




Не се получава отново.

Намери същия ред за /var/www в конфигурацията на апачето и го промени.
тук:
/etc/apache2/apache2.conf
Не забравяй да рестартираш после.

Това дето даваш е файла на вхоста /etc/apache2/sites-enabled/
« Последна редакция: Jan 31, 2018, 16:27 от makeme »
Активен

Distributions:  UbuntuMate; Kubuntu; CentOS; Kali; Raspberry Pi OS ...

Vask0

  • Напреднали
  • *****
  • Публикации: 185
    • Профил
Как да стане като инаш

AllowOverride None

в конфа на апачето?

Я го направи AllowOverride All и опитай пак.


Код:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride FileInfo
    Order allow,deny
    allow from all
</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 ${APACHE_LOG_DIR}/error.log

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

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>




Не се получава отново.

Намери същия ред за /var/www в конфигурацията на апачето и го промени.
тук:
/etc/apache2/apache2.conf
Не забравяй да рестартираш после.

Това дето даваш е файла на вхоста /etc/apache2/sites-enabled/

Няма го този ред във комфа /var/www


/etc/apache2/apache2.conf

Код:

# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See http://httpd.apache.org/docs/2.2/ for detailed information about
# the directives and /usr/share/doc/apache2-common/README.Debian.gz about
# Debian specific hints.
#
#
# Summary of how the Apache 2 configuration works in Debian:
# The Apache 2 web server configuration in Debian is quite different to
# upstream's suggested way to configure the web server. This is because Debian's
# default Apache2 installation attempts to make adding and removing modules,
# virtual hosts, and extra configuration directives as flexible as possible, in
# order to make automating the changes and administering the server as easy as
# possible.

# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
# /etc/apache2/
# |-- apache2.conf
# | `--  ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf.d
# | `-- *
# `-- sites-enabled
# `-- *
#
#
# * apache2.conf is the main configuration file (this file). It puts the pieces
#   together by including all remaining configuration files when starting up the
#   web server.
#
#   In order to avoid conflicts with backup files, the Include directive is
#   adapted to ignore files that:
#   - do not begin with a letter or number
#   - contain a character that is neither letter nor number nor _-:.
#   - contain .dpkg
#
#   Yet we strongly suggest that all configuration files either end with a
#   .conf or .load suffix in the file name. The next Debian release will
#   ignore files not ending with .conf (or .load for mods-enabled).
#
# * ports.conf is always included from the main configuration file. It is
#   supposed to determine listening ports for incoming connections, and which
#   of these ports are used for name based virtual hosts.
#
# * Configuration files in the mods-enabled/ and sites-enabled/ directories
#   contain particular configuration snippets which manage modules or virtual
#   host configurations, respectively.
#
#   They are activated by symlinking available configuration files from their
#   respective *-available/ counterparts. These should be managed by using our
#   helpers a2enmod/a2dismod, a2ensite/a2dissite. See
#   their respective man pages for detailed information.
#
# * Configuration files in the conf.d directory are either provided by other
#   packages or may be added by the local administrator. Local additions
#   should start with local- or end with .local.conf to avoid name clashes. All
#   files in conf.d are considered (excluding the exceptions noted above) by
#   the Apache 2 web server.
#
# * The binary is called apache2. Due to the use of environment variables, in
#   the default configuration, apache2 needs to be started/stopped with
#   /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
#   work with the default configuration.


# Global configuration
#

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation (available
# at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
#ServerRoot "/etc/apache2"

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
Mutex file:${APACHE_LOCK_DIR} default

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5

##
## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadLimit: ThreadsPerChild can be changed to this maximum value during a
#              graceful restart. ThreadLimit can only be changed by stopping
#              and starting Apache.
# ThreadsPerChild: constant number of worker threads in each server process
# MaxClients: maximum number of simultaneous client connections
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# event MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxClients: maximum number of simultaneous client connections
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_event_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#

AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy all
</Files>

#
# DefaultType is the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, "text/plain" is
# a good value.  If most of your content is binary, such as applications
# or images, you may want to use "application/octet-stream" instead to
# keep browsers from trying to display binary files as though they are
# text.
#
# It is also possible to omit any default MIME type and let the
# client's browser guess an appropriate action instead. Typically the
# browser will decide based on the file's extension then. In cases
# where no good assumption can be made, letting the default MIME type
# unset is suggested  instead of forcing the browser to accept
# incorrect  metadata.
#
DefaultType None


#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog ${APACHE_LOG_DIR}/error.log

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

# Include module configuration:
Include mods-enabled/*.load
Include mods-enabled/*.conf

# Include list of ports to listen on and which to use for name based vhosts
Include ports.conf

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include of directories ignores editors' and dpkg's backup files,
# see the comments above for details.

# Include generic snippets of statements
Include conf.d/

# Include the virtual host configurations:
Include sites-enabled/


Активен

Vask0

  • Напреднали
  • *****
  • Публикации: 185
    • Профил
apachectl -V
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fe80::216:17ff:fec3:3418. Set the 'ServerName' directive globally to suppress this message
Server version: Apache/2.4.25 (Debian)
Server built:   2017-09-19T18:58:57
Server's Module Magic Number: 20120211:68
Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture:   32-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"
Активен

makeme

  • Напреднали
  • *****
  • Публикации: 895
  • Distribution: Many
  • Window Manager: KDE
    • Профил
Зачи е по-различно от Ubuntu :)

промени
Цитат
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride FileInfo
    Order allow,deny
    allow from all
</Directory>

на
Цитат
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>
и дай да видя какво има в тази папка:
Цитат
Include conf.d/
Активен

Distributions:  UbuntuMate; Kubuntu; CentOS; Kali; Raspberry Pi OS ...

Vask0

  • Напреднали
  • *****
  • Публикации: 185
    • Профил
Зачи е по-различно от Ubuntu :)


 и дай да видя какво има в тази папка:
Цитат
Include conf.d/

Ето, предполагам че това е директорията на папката.. ?  conf.d  OS: Debian



« Последна редакция: Jan 31, 2018, 17:19 от Vask0 »
Активен

makeme

  • Напреднали
  • *****
  • Публикации: 895
  • Distribution: Many
  • Window Manager: KDE
    • Профил
Колега, прочетох, че става въпрос за Дебиан, но аз работя само с Убунту (предположих, че са същити конфове) и Сентос и просто се опитвам да помогна.
В Убунту този проблем се получава, ако не си промениш главния конф на апачето (няма логика защото инклуда е после, но е факт!).

Предложения:
1. Гледам, че ми пращаш скрийншоти от фтп. Виж дали, ако изтриеш .htaccess и пеистнеш чрез конзолата съдържанието му през конзолата, има разлика. Виж правата на /var/www/ и последващите файлове/папки дали са ОК. (При убунту са на www-data.)

2. Това са моите правила в /etc/apache2/apache2.conf . Пейстни ги да видиш дали ще се оправи проблема (според мен е незачитане на AllowOverride All някъде). (пак през конзолата, някъде по средата {преди инклуда на вхостовете})
Код:
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

3. Виж дали апачето дава, че модула е зареден, въпреки конфигурацията.
Код:
apache2ctl -M | grep rewrite

4. Ако всичко това не стане, пейстни пак еррор лога, но само частта, която ти връща, когато заредиш линка. (скрий си ИПтата :) )

пп:
1. Виж дали нямаш други конфликтиращи конфове в /etc/apache2/sites-enabled/
2. За мен лично, това:
Код:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
няма място във вхост файловете и трябва да е в главния конф на апачето, затова може да го махнеш. (поне за пробата)

пп2: Не забравяй всеки път да ресваш апачето
« Последна редакция: Feb 01, 2018, 01:52 от makeme »
Активен

Distributions:  UbuntuMate; Kubuntu; CentOS; Kali; Raspberry Pi OS ...

Vask0

  • Напреднали
  • *****
  • Публикации: 185
    • Профил
Цитат
2. Това са моите правила в /etc/apache2/apache2.conf . Пейстни ги да видиш дали ще се оправи проблема (според мен е незачитане на AllowOverride All някъде). (пак през конзолата, някъде по средата {преди инклуда на вхостовете})
Код:
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>


пп2: Не забравяй всеки път да ресваш апачето

Колега Много ти благодаря за подробният коментар и стъпките.. къде може да се чупят нещата

При използането на точка 2 нещата се оправиха.... !!!! и мисля че вече всичко е на ред...!!!  така че имаш една бира от мен [_]3 [_]3 [_]3 [_]3 
Активен