Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: ryan 23 Května 2010, 15:14:26
-
Zdravim, chtel bych vas poprosit o radu, na virtualni masine(pres VMware) jsem si nainstaloval Ubuntu 9.10 a lamp server, nasledne bych chtel nastavit autentizaci uzivatelu pro pro pristup do slozek v tom apache serveru. Chtel bych mit 3 slozky, pristup do prvni by se overoval pres .htaccess, druha by byla pres mysql a tu treti bych chtel mit pres ssl a certifikat. Mam to jako ukol do skoly a v linuxech jsem toho moc neodpracoval tak bych byl velice vdecny za nejake rady jak na to nebo jednoduchy navod.
-
My za vás máme dělat domácí úkol? Předpokládám, že úmyslem vašeho pedagoga bylo přimět k vás k tomu, abyste si prostudoval a hlavně pochopil toto: http://httpd.apache.org/docs/2.2/howto/auth.html. Pokud vám něco konkrétního nebude jasné, klidně se ptejte.
-
ne nechci aby ste to delali za me, jen jsem se chtel zeptat jestli neni nejaky srozumitelny navod na netu, pripadne pokud s tim ma nekdo nejake zkusenosti tak kdyby mi mohl poradit, uz jsem toho procetl celkem dost a pokazde je postup popsany jinak a vetsinou na ty starsi verze apache serveru :(
-
Odkazovaný návod http://httpd.apache.org/docs/2.2/howto/auth.html je srozumitelný, jedná se o oficální dokumentaci k aktuální verzi Apache. Pokud vám něco konkrétního nebude jasné, klidně se ptejte.
-
no toto jsem tak nejak pochopil ale nedari se mi to zprovoznit, v tom souboru .htaccess staci napsat jen ty direktivy co tam jsou vypsany nebo se to musi jeste nejak uvest (treba jako v httpd.conf se to pise do <directory>) a jak mam potom nastavit aby to overovalo podle obsahu toho souboru .htaccess ktery mam v te slozce kterou chci zabezpecit (napr. /var/www/skola/)? timto bych vyresil jen prvni cast, jak potom zajistit kontrolu pres mysql databazi a pomoci toho ssl?
-
Ne pokud vkládáte autentizaci do htaccess tak nemusí být v kontejneru directory
AuthType Basic
AuthName "My Protected Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
Bude platit v působnosti konkrétního souboru htaccess.
K ostatním způsobům autentizace, záleží jen a jen na Vás jak to pojmete. Pokud má autentizace probíhat v rámci Apache tak můžete použít modul třetí strany mod_auth_mysql (http://www.heuer.org/mod_auth_mysql/). U SSL zase můžete použít třeba toto (http://www.mediawiki.org/wiki/Extension:SSL_authentication) a spoustu dalších.
-
to ETNyx: takhle podobne jsem to mel vytvoreno a kdyz jsem v prohlizeci zadal cestu do te "zabezpecene slozky" tak se nic nestalo a normalne mi to zobrazilo obsah aniz by se to ptalo na heslo, proto jsem se ptal jestli se to musi nekde nastavit aby to bralo v potaz ten soubor .htpasswd v te slozce
-
pak na tydle cestě /path/to/.htpasswd nic neexistovalo... ;)
chce to vytvořit správný soubor pro heslo a jméno .htpasswd
např. tady: http://www.htaccesstools.com/htpasswd-generator/
-
tak vytvarel jsem ho podle navodu prikazem
htpasswd -c /vas/adresar/.htpasswd uzivatel
a soubor je tam kde jsem ho vytvoril a i s obsahem ktery jsem mu zadal, kdyz jsem napevno napsal do /etc/apache2/sites-available/default
<Directory /var/www/skola>
Options MultiViews
AllowOverride None
AuthType Basic
AuthName "Administrace"
AuthUserFile "/var/www/.htpasswd"
Require radek
Order allow,deny
Allow from all
</Directory>a vynechal tim ten .htaccess tak se me to teda zepta na jmeno a heslo ale kdyz je zadam tak mi ten dotaz vyskoci znovu :(
-
tak uz jsem to vyresil, proste jsem to nahodil vsechno znovu a fici to jak ma :-) teda zatim ta prvni cast, ted jen vedet jak tam dostat moduly mod_auth_mysql a mod_ssl naslednou konfiguraci bych uz snad nejak zvladl
-
Zase není tak těžké si najít dokumentaci.
http://www.heuer.org/mod_auth_mysql/INSTALL (http://www.heuer.org/mod_auth_mysql/INSTALL)
http://www.modssl.org/docs/2.8/ssl_overview.html (http://www.modssl.org/docs/2.8/ssl_overview.html)
jinak co se týká mod_ssl tak ten je součástí apache2-common což je závislost balíku apache2 takže pro jeho povolení stačí
a2enmod ssla pro nakonfigurování apache pro https
a2ensite default-sslsamozřejmně je potřeba dodat certifikáty :-)
-
tak uz se mi celkem zadarilo rozchodit i to mysql, nasel jsem navod
http://debianhelp.co.uk/mysqlapache.htmpodle navodu jsem postupoval az od casti kdy uz se prihlasuje do mysql, protoze jsem si ten modul nainstaloval pomoci spravce baliku Synaptic
a kdyz resnu apache tak mi to nahlasi chybu
... waiting Syntax error on line 237 of /etc/apache2/apache2.conf:
Invalid command 'Auth_MySQL_Info', perhaps misspelled or defined by a module not included in the server configuration
nevite kde jsem chyboval?
-
Chybu máte napsanou v té hlášce. Buď chyba ve spellingu (někde jste se upsal) nebo jste modul není zavedený do apache.
-
jo chyba baly ve spatne zavedenem modulu, ted to misto prihlasovani vypise
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/2.2.12 (Ubuntu) Server at localhost Port 80a v error logu je
[error] Internal error: pcfg_openfile() called with NULL filename
[error] [client ::1] (9)Bad file descriptor: Could not open password file: (null)
co jsem pos*al ted? :)
-
Je v tom nějaký bug
https://bugs.launchpad.net/ubuntu/+source/libapache-mod-auth-mysql/+bug/150649 (https://bugs.launchpad.net/ubuntu/+source/libapache-mod-auth-mysql/+bug/150649)
1) Co jsem to procházel tak někomu pomohlo zkompilovat modul manuálně así 7-mí příspěvek
2) nebo použít šifrování MD5 (místo plaintext) AuthMySQL_Encryption_Types PHP_MD53) údajně také funguje nastavit AuthUserFile /dev/null
-
zdravim, tak uz jsem rozchodil vsechno co jsem chtel krome te MySQL autentizace, nemohl by mi prosim nekdo napsat kde mam co nastavit aby mi to fungovalo???
toto jsem dopsal do apache2.conf
Auth_MySQL_Info localhost mysqluser heslo
<Directory "/var/www/skolamysql">
Options +Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig Options FileInfo Limit
Order allow,deny
Allow from all
</Directory>
a takhle vypada .htaccess soubor
AuthMYSQL on
AuthMySQL_Authoritative on
AuthMySQL_DB overeni
AuthMySQL_Password_Table wwwusers
AuthMySQL_Empty_Passwords off
AuthMySQL_Encryption_Types PHP_MD5
AuthUserFile /dev/null
AuthName "<description>"
AuthType Basic
# <Limit GET POST>
require valid-user
# </Limit>
a kdyz zadavam uzivatele ktereho mam ulozeneho v databazi tak mi ho to nebere, kdyz to potom zrusim tak v error logu je toto
[Sat May 29 19:00:14 2010] [error] [client 127.0.0.1] user tom not found: /skolamysql
[Sat May 29 19:00:15 2010] [error] mod_log_sql: insufficient configuration info to establish database link
[Sat May 29 19:00:15 2010] [error] mod_log_sql: child spawned but unable to open database link
[Sat May 29 19:00:24 2010] [error] [client 127.0.0.1] user tom not found: /skolamysql
[Sat May 29 19:00:48 2010] [error] [client 127.0.0.1] user tom not found: /skolamysql
-
tak ty predchozi kroky jsem nejak zmaknul, ted bych potreboval poradit jestli by se k tomu Mysql dala nejak pripojit ldap kontrola nebo klidne samostatne vlastni slozku jeste pro LDAP kontrolu pristupu?
-
s LDAP nemám moc zkušenosti, ale začal bych stějně jako na začátku tohoto vlákna nějakým návodem či dokumentací. Nechte zapracovat google :-) http://www.openldap.org/doc/admin24/backends.html#SQL (http://www.openldap.org/doc/admin24/backends.html#SQL)