public_html i .htaccess nie dzia

Konfiguracja serwerów, usług, itp.
Awatar użytkownika
Bartq
Posty: 15
Rejestracja: 14 maja 2010, 15:53

public_html i .htaccess nie działa

Post autor: Bartq »

Witam.
Prowadzę własne forum, do tej pory korzystałem z ugu, ale trochę mi nie odpowiada. Z racji, że posiadam własny serwer WWW chciałem forum przenieść właśnie tam.

Skopiowałem bazę danych i pliki skryptu do katalogu public_html. Niby wszystko jest dobrze, ale gdy klikam na jakiś dział bądź temat od razu dostaję:

Kod: Zaznacz cały

404 Not Found.
Chciałbym teraz zapytać jak uruchomić .htaccess w katalogu public_html. Próbowałem według Tego opisu ale nic to nie dało. Meczę się z tym już tydzień, mam nadzieję, że ktoś będzie mógł mi pomóc, z góry dziękuję i pozdrawiam.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

  1. Czy masz włączony moduł mod_rewrite?

    Kod: Zaznacz cały

    apache2ctl -M 2>&1 | grep rewrite
  2. public_html to z powodu używania mod_userdir, czy po prostu tak się nazywa katalog?
  3. Pokaż konfigurację VHosta i kawałek logów z tego "niedziałania".
Awatar użytkownika
Bartq
Posty: 15
Rejestracja: 14 maja 2010, 15:53

Post autor: Bartq »

Kod: Zaznacz cały

apache2ctl -M 2>&1 | grep rewrite

Zwraca mi:

Kod: Zaznacz cały

rewrite_module (shared)
Tak, uruchomiony mam mod_userdir.

Chodziło Ci o to:

Kod: Zaznacz cały

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

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

        <Directory ${HOME}/public_html>
                Options Indexes IncludesNOEXEC FollowSymLinks
                AllowOverride All
                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 /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 None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
P.S. mod_rewrite także mam uruchomiony.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

mod_rewrite i rewrite_module to to samo ;)
Skoro używasz mod_userdir to po co Ci ten kawałek?

Kod: Zaznacz cały

        <Directory ${HOME}/public_html>
                Options Indexes IncludesNOEXEC FollowSymLinks
                AllowOverride All
                allow from all
        </Directory>
Konfiguracja katalogów użytkowników jest w /etc/apache2/mods-available/userdir.conf - pokaż co tam masz. No i nie wkleiłeś logów ;)
Awatar użytkownika
Bartq
Posty: 15
Rejestracja: 14 maja 2010, 15:53

Post autor: Bartq »

Oto userdir.conf

Kod: Zaznacz cały

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>
A tu jest log, dosyć dlugi dlatego nie wklejałem go do postu.


Jestem nowym uzytkownikiem Linuksa, przepraszam za moją "niekompetencję" ale jak już wspomniałe, dopeiro zaczynam. Mam nadzieje, że nie denerwują Was moje "oczywiste" pytania :) .
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Mógłbyś wkleić jeszcze error_log. Czy w pliku .htaccess masz dyrektywę

Kod: Zaznacz cały

RewriteEngine On
?
Awatar użytkownika
Bartq
Posty: 15
Rejestracja: 14 maja 2010, 15:53

Post autor: Bartq »

Tak, posiadam tę dyrektywę. Oto mój .htaccess. Pochodzi on ze skryptu phpBB3.

Kod: Zaznacz cały

#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
#<IfModule mod_rewrite.c>
#RewriteEngine on
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#</IfModule>

<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

RewriteEngine on

Rewriterule ^(.+)-f([0-9]*).html-(.+)$				./viewforum.php?f=$2&$3
Rewriterule ^(.+)-(t|p)([0-9]*).html-(.+)$			./viewtopic.php?$2=$3&$4
Rewriterule ^(.+)-f([0-9]*)s([0-9]*).html-(.+)$		./viewforum.php?f=$2&start=$3&$4
Rewriterule ^(.+)-(t|p)([0-9]*)s([0-9]*).html-(.+)$	./viewtopic.php?$2=$3&start=$4&$5

Rewriterule ^(.+)-f([0-9]*).html$					./viewforum.php?f=$2&$3
Rewriterule ^(.+)-(t|p)([0-9]*).html$				./viewtopic.php?$2=$3&$4
Rewriterule ^(.+)-f([0-9]*)s([0-9]*).html$			./viewforum.php?f=$2&start=$3&$4
Rewriterule ^(.+)-(t|p)([0-9]*)s([0-9]*).html$		./viewtopic.php?$2=$3&start=$4&$5
A ten log to nie jest ten, który podałem wyżej (/var/log/apache2/error.log)? Jeśli nie, to gdzie mam go szukać?

P.S. Wkleiłem te same pliki wraz do katalogu w /var/www/twojpc/ i tam wszystko jest poprawnie, ale zależy mi na tym aby .htaccess działał w katalogu domowym użytkownika.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

W userdir.conf pozmieniaj:

Kod: Zaznacz cały

AllowOverride FileInfo AuthConfig Limit Indexes
na:

Kod: Zaznacz cały

AllowOverride All
Przeładuj apache i sprawdź jeszcze raz czy działa.
Awatar użytkownika
Bartq
Posty: 15
Rejestracja: 14 maja 2010, 15:53

Post autor: Bartq »

Nic, dalej to samo :(
ODPOWIEDZ