Strona 1 z 2

Nie działa www-domena i konfiguracja ftpquota, apache - Linux CentOS 6.2

: 03 kwietnia 2012, 10:23
autor: Gruszka
Witam.
S
konfigurowałem sobie serwer w środowisku chroot. Co prawda nie jest to Debian, tylko Linux CentOS 6.2, ale nie o to chodzi. Mam kilka problemów, ponieważ jestem nowicjuszem w wielu kwestiach jeśli chodzi o Linuksa. Mam następujący problem:

Gdy wpisuje adres, np.:

Kod: Zaznacz cały

 [URL]http://mojadomena.eu[/URL]
wówczas pokazuje się strona apache2, że serwer działa. Natomiast, gdy wpiszę ten sam adres, ale z przedrostkiem www, czyli:

Kod: Zaznacz cały

[url=http://www.mojadomena.eu]www.mojadomena.eu[/URL]
to strona już się nie wyświetla. Na serwerze jest zainstalowany named w jailu. A tak wygląda moja strefa dla domeny:

Kod: Zaznacz cały

xxx.eu.      IN SOA   fns1.42.pl. vps.xxx.eu (
                         2012033003 ; numer seryjny
                         3600       ; Czesosc odswiezania (refresh)
                         900        ; Czestosc powtorek (retry)
                         360000     ; Czas wygasniecia (expire0)
                         3600       ; Negatywne buforowanie TTL
)

$ORIGIN xxx.eu
                IN MX 0 mail.xxx.eu.
                IN NS   fns1.42.pl.
                IN NS   fns2.42.pl.
xxx.eu.      IN A    xx.xx.xxx.xxx
www             IN CNAME xxx.eu.
vps             IN CNAME xxx.eu.
mail            IN CNAME xxx.eu.
Oczywiście znaki x, y to domena lub adres IP.

Dodam też, że mój serwer robi tylko jako główny DNS [ang. master). Jako drugi (ang.slave), znajomy mi polecał skorzystać z usługi freedns.pl i tam ustawiłem adres IP mojego serwera w strefie. Natomiast domena jest w az.pl i serwery dns jakie mam ustawione dla domeny to mój serwer jako dns1 oraz jako dns2 mam wpisany freedns.pl (ns2.42.pl). Sygnał ping zwraca adres mojego serwera.

Drugie moje pytanie jest odnośnie dodawania kont w apache. Nie bardzo wiem jak to inaczej nazwać. Chciałbym dodać konto www. Nie bardzo mogłem znaleźć jakiś poradnik w internecie. Zawsze znajdowało mi tylko konfigurację apache, a nie sam element dodawania kont. Czy ktoś może mi powiedzieć jak się tworzy takie konta i robi do nich dostęp? Czy mam ręcznie dodać użytkownika i w /home/nazwa_użytkownika/ dodawać katalogi public_html, www i plik .htaccess?

Ostatnie pytanie dotyczy ,,quoty'' dla takich kont, ale w sumie to chyba znajdę już samemu w internecie, bo akurat tutaj wiem jak skonstruować zapytanie w wyszukiwarce.

Za wszelką pomoc bardzo dziękuje.


Pozdrawiam

: 03 kwietnia 2012, 13:54
autor: piotrd14
Z opcji "Szukaj" ciężko jest skorzystać?

Ten sam dział, strona dalej -> http://debian.linux.pl/threads/26265-Ap ... %82a-z-www

Gotowe oprogramowanie -> http://www.howtoforge.com/howtos/contro ... /ispconfig

: 03 kwietnia 2012, 15:02
autor: Gruszka
Czytałem już ten temat zanim założyłem swój. Znalazłem go poprzez Google. Nie rozwiązuje on mojego problemu, ponieważ jakbyś zobaczył konfig z binda, mój DNS powinien być prawidłowo skonfigurowany, linia:

Kod: Zaznacz cały

www             IN CNAME xxx.eu. 
Druga sprawa, wytłumaczyłem w poście co dokładnie ustawiłem u dostawcy domeny i w serwisie freedns, gdzie korzystam z ich serwera DNS jako ,,slave''. Trzecia sprawa jest taka, że ten odnośnik nie działa co jest podany w tamtym temacie. Mam na myśli ten skrypt.

: 03 kwietnia 2012, 15:13
autor: piotrd14
Czy utworzyłeś wirtualnego hosta i zawarłeś w nim opcję:

Kod: Zaznacz cały

ServerAlias www.domena.pl

Przeglądając właśnie konfigurację wirtualnego hosta możesz wywnioskować, że ścieżka jaką wskażesz będzie katalogiem danej domeny (wirtualnego hosta).

Odnośnie Twojego pytania:
Czy ktoś może mi powiedzieć jak się tworzy takie konta i robi do nich dostęp? Czy mam ręcznie dodać użytkownika i w /home/nazwa_użytkownika/ dodawać katalogi public_html, www i plik .htaccess?
Tak, musisz samemu tworzyć katalogi, a następnie odwoływać się do nich w wirtualnym hoście.

Nie przeglądałem tamtego skryptu, ale domyślam się że ułatwiał jedynie tworzenie katalogów i dodawanie wirtualizacji.

Jeden z najprostszych wirtualnych hostów:

Kod: Zaznacz cały

<VirtualHost *:80>    
    DocumentRoot /home/USER/public_html/www.domena.pl
  
    ServerName domena.pl
    ServerAlias www.domena.pl
    ServerAdmin [email protected]
    
      CustomLog /home/USER/logs/www.domena.pl.access.log combined
      
    <Directory /home/USER/public_html/www.domena.pl>
        Options FollowSymLinks
        AllowOverride Indexes AuthConfig Limit FileInfo
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

: 03 kwietnia 2012, 15:20
autor: Gruszka
Stworzyłem użytkownika testos z własnym katalogiem o takiej samej nazwie. Czyli /home/testos
Dodałem wirtualnego hosta w /etc/httpd/conf/httpd.conf, ale po restarcie apache, po wpisaniu mojej domeny, wyświetlany jest błąd:

Kod: Zaznacz cały

Permission Denided
Pomimo tego, że dla katalogu testos ustawiłem prawa dostępu 755 i właściciela na testos:testos.

Wirtualny host tak skonfigurowałem:

Kod: Zaznacz cały

#<VirtualHost *:80>
#    ServerAdmin [email protected]
#    DocumentRoot /home/testos/www/xxx.eu
#    ServerName xxx.eu
#    ServerAlias www.xxx.eu
#    ErrorLog logs/xxx.eu-error_log
#    CustomLog logs/xxx.eu-custom_log common
# </VirtualHost>
Przedstawiłem tutaj wyłączony kod w konfigu, bo jak wyżej napisałem, niestety nie działa. Dziękuję za odnośnik do gotowego oprogramowania, ale tak się nie nauczę poprawiać własnych błędów. To jest na razie luksus, który muszę odstawić na później, jeśli rozumiesz o co chodzi.

: 03 kwietnia 2012, 15:27
autor: piotrd14
Nie znam struktury katalogów Apache w CentOS, więc na przykładzie Debiana:
Wirtualnego hosta umieszczasz w katalogach: /etc/apache2/sites-available i /etc/apache2/sites-enabled, po czym restart apache2.

Błąd:

Kod: Zaznacz cały

Permission Denied
mógł wyskoczyć z kilku powodów.
[INDENT]Sprawdź logi (ale najpierw popraw ścieżki).
Przenieś plik index.html (albo inny index.*) do katalogu www i sprawdź wtedy.[/INDENT]

: 03 kwietnia 2012, 15:51
autor: Gruszka
Jeśli chodzi o plik index.html, to wrzucałem go i też miał odpowiednie prawa nadane. Co do katalogów sites-available i sites-enabled, to nie mam w ogóle czegoś takiego w CentOSie niestety. VirtualHosta miałem wzór podany na końcu httpd.conf, dlatego tam też dodałem swojego. Logi mi pokazują na moje nieszczęście tylko tyle:

Kod: Zaznacz cały

[error] [client 213.133.113.83] (13)Permission denied: access to / denied
Ewentualnie error_log jeszcze pokazuje coś takiego:

Kod: Zaznacz cały

Directory index forbidden by Options directive: /var/www/html/
Wklejam poniżej cały httpd.conf: http://wklej.to/uVLN8


Chyba znalazłem skąd to się bierze, ale nie jestem pewien jak mam to zmienić:

Kod: Zaznacz cały

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

i jeszcze to:

Kod: Zaznacz cały

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">

Niestety jak zmieniam DocumentRoot na: "/www" lub "/www/", to mam komunikat:

Kod: Zaznacz cały

Stopping httpd:                                            [FAILED]
Starting httpd: Syntax error on line 293 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory


: 03 kwietnia 2012, 16:34
autor: piotrd14

Kod: Zaznacz cały

Directory index forbidden by Options directive: /var/www/htm
Czyli wirtualny host ustawiony jest właśnie na wspomniany katalog, a w nim pewnie nie ma żadnego pliku index.* (moje przypuszczenie)

Kod: Zaznacz cały

Stopping httpd:                                            [FAILED]
Starting httpd: Syntax error on line 293 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
Powróć do poprzedniej wersji (bez znaku ukośnika /).

Z szybkiego rozeznania - utwórz plik wirtualnego hosta w katalogu /etc/httpd/conf.d/ o nazwie (przykładowo):

Kod: Zaznacz cały

gruszka.pl.[B]conf[/B]
i wstaw mój przykład wirtualnego hosta (zmieniając oczywiście katalogi). Restart i test.

: 03 kwietnia 2012, 20:31
autor: Gruszka
Struktura wygląda tak: /home/testos/www/grucha.eu/ i plik index.html w środku. W httpd.conf:

Kod: Zaznacz cały

DocumentRoot "/var/www/html"
tak ustawione.

W httpd/conf.d/ stworzyłem grucha.eu.conf z takimi ustawieniami (zgodnie z Twoimi wytycznymi):

Kod: Zaznacz cały

<VirtualHost *:80>
    DocumentRoot /home/testos/www/grucha.eu

    ServerName grucha.eu
    ServerAlias www.grucha.eu
    ServerAdmin [email protected]

      CustomLog /var/log/httpd/grucha.eu.access.log combined

    <Directory /home/testos/www/grucha.eu>
        Options FollowSymLinks
        AllowOverride Indexes AuthConfig Limit FileInfo
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>
Niestety nadal nie działa. Ten sam błąd dalej się pojawia. Czy wpis w httpd.conf:

Kod: Zaznacz cały

DocumentRoot "/var/www/html"
Mam zmienić na inny? Czy to nie ma znaczenia w tej chwili, skoro wirtualny host w conf.d jest ustawiony tak jak wrzuciłem wyżej?

Logi z error_log:

Kod: Zaznacz cały

(13)Permission denied: access to / denied
Z grucha.eu-custom_log:

Kod: Zaznacz cały

[03/Apr/2012:15:10:40 -0400] "GET / HTTP/1.1" 403 281

: 03 kwietnia 2012, 22:15
autor: piroaa
Witam
Poczytaj o userdir

Kod: Zaznacz cały

a2enmod userdir
Może ci się to przyda do automatycznego robienia wirtualnego hosta dla każdego systemowego użytkownika.
Pozdrawiam.