Strona 1 z 1

Apache2, mod userdir, użytkownicy z bazy mysql

: 09 lutego 2013, 08:45
autor: stepien86
Witam
S
konfigurowałem FTP (PureFTPd z bazą mysql według http://www.howtoforge.com/proftpd_mysql_virtual_hosting), wszystko działa jak należy, jednak chciałem dać możliwość tym użytkownikom posiadania własnej strony http://localhost/~użytkownikZbazy.
Dodałem moduł userdir dla serwera apache. Dla użytkownika systemowego wszystko działa jak należy, wywołanie:

Kod: Zaznacz cały

 [url]http://localhost/~[b]uzykownik[/b]SYSTEMOWY[/url]
działa. Wyświetla stronę w jego katalogu /home/użytkownikSYSTEMOWY/public_html
Niestety, dla użytkownika z bazy to nie działa, struktura /home/użytkownikZBAZY/public_html - wywołanie:

Kod: Zaznacz cały

[url]http://localhost/~[b]uzytkowni[/b]ZBAZY[/url]
nie działa. Znalazłem w sieci moduł

Kod: Zaznacz cały

mod_mysql_userdir

jednak nie mogę poradzić sobie z jego instalacją:

Plik Makefile:

Kod: Zaznacz cały

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

Niby wszystko kompiluje, instaluje ale ponowne uruchomienie serwera apache:

Kod: Zaznacz cały

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!
Proszę o pomoc, lub ewentualnie poradę jak umożliwiacie użytkownikom z bazy posiadania własnej strony we własnym katalogu domowym?

: 10 lutego 2013, 01:21
autor: dhapollo

: 10 lutego 2013, 14:22
autor: stepien86
Prześwietliłem podany wątek, jednak nie potrafię ustawić tak aliasu by z automatu czytał u wszystkich użytkowników katalog public_html.

: 10 lutego 2013, 15:34
autor: dhapollo
To inaczej:

Kod: Zaznacz cały

mkdir /etc/skel/public_html
echo "stona domyślna usera" > /etc/skel/public_html/index.php
cd /etc/apache2/mods-enabled/
ln -s /etc/apache2/mods-available/userdir.conf userdir.conf
ln -s /etc/apache2/mods-available/userdir.load userdir.load
a2enmod
/etc/init.d/apache2 restart
Powyższy opis dział dla czystej instalacji apache2. Po dodaniu nowego konta:

Kod: Zaznacz cały

adduser test
Wpisujemy adres:

Kod: Zaznacz cały

[URL]http://domena.pl/~test[/URL]
i may stronę użytkownika.

Na kontach lokalnych działa, teraz chcę to zmusić do działania z ftp, no niestety w tym temacie poległem.

Udało mi się zrobić za to inne rozwiązanie, czyli subdomeny dodawane z php i wtedy masz użytkownik.domena.pl zamiast domena.pl/~użytkownik

Jeśli zainteresowany to zapraszam na PW.