Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-02-07 21:15:33

  stepien86 - Członek DUG

stepien86
Członek DUG
Skąd: Łódź
Zarejestrowany: 2006-03-26

apache2 + mod userdir + uzytkownicy z bazy

Witam, skonfigurowałem FTPa (PureFTPd z baza mysql ) wszystko hula jak należy, jednak chciałem dać możliwość użytkownikom posiadania własnej strony http://localhost/~user. Zainkludowałem moduł userdir dla apacha, stworzyłem katalog public_html i niestety - wywołanie http://localhost/~user la uzytkownika z bazy nie działa. Dodam tylko, że wszystko działa dla uzytkownika systemowego - tworze public_html i http://localhost/~usersystemowy działa. Proszę o pomoc


manual ponad wszysytko....konsola ponad manual

Debian GNU Linux

Offline

 

#2  2013-02-08 00:18:09

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

Re: apache2 + mod userdir + uzytkownicy z bazy

A zakładasz strukturę katalogów: /home/user/public_html/ ?

Offline

 

#3  2013-02-08 08:32:58

  stepien86 - Członek DUG

stepien86
Członek DUG
Skąd: Łódź
Zarejestrowany: 2006-03-26

Re: apache2 + mod userdir + uzytkownicy z bazy

djjanek - oczywiście - jak pisałem dla uzytkowników systemowych działa bez problemu, dla uzytkowników z bazy niestety nie.
Znalazłem jeszcze na forum wątek : http://forum.dug.net.pl/viewtopic.php?id=14185
Powiesz mi jak mam aktywować ten moduł?

plik Makefile wygląda u mnie tak:

Kod:

APXS=/usr/bin/apxs2
#APXS=/usr/local/apache/bin/apxs
LIBS=libmysqlclient -lz -L/usr/lib/
LDFLAGS=-I/usr/include/mysql
ACTIVATE=-a

PROG=mod_mysql_userdir

$(PROG).so: $(PROG).c
        $(APXS) -c -o $@ $(LDFLAGS) $(LIBS) $< -shared

install: $(PROG).so
        $(APXS) -i $(ACTIVATE) $<

clean:
        rm -rf *.lo *.slo *.so *.o .libs/ *~ core

wydaję polecenie make :

Kod:

root@debian:/home/lukasz/mod_mysql_userdir-1.2# make
/usr/bin/apxs2 -c -o mod_mysql_userdir.so -I/usr/include/mysql libmysqlclient -lz -L/usr/lib/ mod_mysql_userdir.c -shared
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static i486-linux-gnu-gcc -prefer-pic -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/openssl -I/usr/include/xmltok -pthread     -I/usr/include/apache2  -I/usr/include/apr-1.0   -I/usr/include/apr-1.0  -I/usr/include/mysql  -c -o mod_mysql_userdir.lo mod_mysql_userdir.c && touch mod_mysql_userdir.slo
mod_mysql_userdir.c: In function ‘strcopy’:
mod_mysql_userdir.c:555: warning: ignoring return value of ‘realloc’, declared with attribute warn_unused_result
/usr/share/apr-1.0/build/libtool --silent --mode=link --tag=disable-static i486-linux-gnu-gcc -o mod_mysql_userdir.la  -rpath /usr/lib/apache2/modules -module -avoid-version    mod_mysql_userdir.lo libmysqlclient -lz -L/usr/lib/ -shared

nastepnie make install

Kod:

root@debian:/home/lukasz/mod_mysql_userdir-1.2# make install
/usr/bin/apxs2 -c -o mod_mysql_userdir.so -I/usr/include/mysql libmysqlclient -lz -L/usr/lib/ mod_mysql_userdir.c -shared
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static i486-linux-gnu-gcc -prefer-pic -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/openssl -I/usr/include/xmltok -pthread     -I/usr/include/apache2  -I/usr/include/apr-1.0   -I/usr/include/apr-1.0  -I/usr/include/mysql  -c -o mod_mysql_userdir.lo mod_mysql_userdir.c && touch mod_mysql_userdir.slo
mod_mysql_userdir.c: In function ‘strcopy’:
mod_mysql_userdir.c:555: warning: ignoring return value of ‘realloc’, declared with attribute warn_unused_result
/usr/share/apr-1.0/build/libtool --silent --mode=link --tag=disable-static i486-linux-gnu-gcc -o mod_mysql_userdir.la  -rpath /usr/lib/apache2/modules -module -avoid-version    mod_mysql_userdir.lo libmysqlclient -lz -L/usr/lib/ -shared
/usr/bin/apxs2 -i -a mod_mysql_userdir.so
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/apr-1.0/build/libtool' mod_mysql_userdir.so /usr/lib/apache2/modules
/usr/share/apr-1.0/build/libtool --mode=install cp mod_mysql_userdir.so /usr/lib/apache2/modules/
libtool: install: cp mod_mysql_userdir.so /usr/lib/apache2/modules/mod_mysql_userdir.so
cp: cannot stat `mod_mysql_userdir.so': No such file or directory
apxs:Error: Command failed with rc=65536
.
make: *** [install] Błąd 1

Ok, poradziłem sobie z w/w błędami, zmieniłem plik Makefile jak z wątku który podałem na początku tzn mam teraz tak:

APXS=/usr/bin/apxs2
#APXS=/usr/local/apache/bin/apxs
LIBS=libmysqlclient -lz -L/usr/lib/mysql
LDFLAGS=-I /usr/include/mysql
ACTIVATE=-a

PROG=mod_mysql_userdir

$(PROG).so: $(PROG).c
        $(APXS) -c -o $@ $(LDFLAGS) $(LIBS) $< -shared

install: $(PROG).so
        $(APXS) -i $(ACTIVATE) $<

clean:
        rm -rf *.lo *.slo *.so *.o .libs/ *~ core

po make pojawił się katalog .lib, przekopiowałem wszystkie pliki do głownego katalogu make install - poszło, restart apacha i błąd:

root@debian:/home/lukasz/mod_mysql_userdir-1.2# /etc/init.d/apache2 restart
apache2: Syntax error on line 203 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/mysql_userdir.load: Cannot load /usr/lib/apache2/modules/mod_mysql_userdir.so into server: /usr/lib/apache2/modules/mod_mysql_userdir.so: undefined symbol: mysql_select_db
Action 'configtest' failed.
The Apache error log may have more information.
failed!

W logach info

Feb  8 14:50:13 debian kernel: mod_mysql_userd[20292]: segfault at 1 ip 00000001 sp bfb89ad4 error 4 in mod_mysql_userdir.so[b7774000+3000]

Ostatnio edytowany przez stepien86 (2013-02-08 14:58:30)


manual ponad wszysytko....konsola ponad manual

Debian GNU Linux

Offline

 

#4  2013-02-08 14:40:05

  lulus81 - Użytkownik

lulus81
Użytkownik
Zarejestrowany: 2006-06-23

Re: apache2 + mod userdir + uzytkownicy z bazy

Witam

Ja u siebie wykorzystuje aliasy, które wskazują na odpowiedni katalog użytkownika. Aliasy mam w katalogu:

Kod:

/etc/apache2/conf.d

Podam Ci przykład jednego z nich:

Kod:

Nazwa pliku:
---------------------------
alias-user1

Zawartość:
---------------------------
Alias /user1 /home/ftp/user1/public_html

<Directory /home/ftp/user1/public_html>
   Options Indexes FollowSymLinks
   AllowOwerride None #zmieniamy na All, gdy ma działać modrewrite
   Order allow,deny
   allow from all
</Directory>

Jak podam teraz nazwę: www.strona.pl/user1, to wczytywana jest strona z katalogu user1.

Offline

 

#5  2013-02-09 23:06:42

  stepien86 - Członek DUG

stepien86
Członek DUG
Skąd: Łódź
Zarejestrowany: 2006-03-26

Re: apache2 + mod userdir + uzytkownicy z bazy

lulus81 - dziękuję za odpowiedź - fakt rozwiązanie jest, które działa, które aktualnie będę wykorzystywał, ale zastanawiam się jak to jest w przypadku firm hostingowych - Wydaje mi się, że lepiej trzymać userów w bazie, niż zakładać konto jako uzytkownik systemowy ale bez możliwości logowania się poprzez ssh.
Djjanek widziałem, że miałeś podobny problem ale udalo Ci się wdrożyć mod_mysql_userdir mogę liczyć na Twoją pomoc?


manual ponad wszysytko....konsola ponad manual

Debian GNU Linux

Offline

 

#6  2013-02-10 01:20:43

  lulus81 - Użytkownik

lulus81
Użytkownik
Zarejestrowany: 2006-06-23

Re: apache2 + mod userdir + uzytkownicy z bazy

Ja u siebie wykorzystuję FTP-a vsFTPd i użytkowników właśnie mam w bazie danych mysql, nie w systemie. Im tylko tworzę w systemie katalog, na który mogą wchodzić i umieszczać swoje pliki.

Przez SSH nikt, poza specjalnie utworzonym użytkownikiem systemowym, nie może się logować.
Klienci mogą się logować tylko przez jakiegoś klienta FTP, np. Total Commandera.

Zastanawiałem się kiedyś nad użyciem PureFTPd, ale po analizie bezpieczeństwa i opinii różnych użytkowników, wyszło na to, że jednym z najbezpieczniejszych FTP-ów jest vsFTPd i nie żałuję wyboru. Wszystko ładnie śmiga i dość prosto się konfiguruje.

Polecam fajne HOWTO, na którym się opierałem -> http://www.howtoforge.com/virtual-hosting-with-vsft … ebian-squeeze

Offline

 

#7  2013-02-10 10:52:41

  stepien86 - Członek DUG

stepien86
Członek DUG
Skąd: Łódź
Zarejestrowany: 2006-03-26

Re: apache2 + mod userdir + uzytkownicy z bazy

Witam, to prawie tak samo jak u mnie z tym, że ja używam pureFTPd. lulus81 można ustawić tak aliasy by automatycznie po stworzeniu katalogu public_html w katalogu usera mozna by wystawic jego strone na swiat: www.strona.pl/user1 ( bez konieczności tworzenia kolejnego pliku alias-userX  )

Ostatnio edytowany przez stepien86 (2013-02-10 14:23:39)


manual ponad wszysytko....konsola ponad manual

Debian GNU Linux

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)