Olen pystyttylemässä palvelimeen muutamaa webbisaittia. Miten saan konffattua phpmyadminin niin, että kun tavallinen sivuston omistaja katselee sitä, niin se ei edes näkisi muiden tietokantoja. Oletuksenahan kaikki näkee kaikkien tietokannat ja käyttäjät.
Voitko vielä valaista asiaa?
Voitko vielä valaista asiaa?
Ota Apachessa käyttöön UserDir. Näyttää olevan Ubuntun Apache2:ssa pois päältä oletuksena,
#UserDir is now a module
#UserDir public_html
#UserDir disabled root
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>
Palvelimelle luot tunnukset noille saittien käyttäjille aivan normaalisti.
Juurihakemisto tunnuksille ei olekaan /var/www vaan /home/tunnus/public_html.
Jokaisen tunnuksen public_html-hakemistoon voit laittaa oman phpMyAdmin-ohjelmiston.
Hae tar.gz-paketti, pura se public_html-hakemistoon ja anna oikeat tiedot.
Hakemistoon viitataan tyyliin http://palvelin/~tunnus/.
(Jos hankit domainit, voit virtualisoida hakemistot: http://palvelin/~tunnus/ = http://www.tunnus.fi/
Tällöin tarvitse DNS-palvelut.)
Eli.
Tee MySQL-palvelimelle tietokanta nimeltään "tunnus".
Tee MySQL-palvelimelle käyttäjä nimeltään "tunnus".
Salli vain "tunnuksen" käyttää ainoastaan tietokantaa "tunnus".
Tee Apache-palvelimelle käyttäjä nimeltään "tunnus".
Ota käyttöön UserDir.
(Ota käyttöön Apachen VirtualHost.)
Ystävällisin terveisin Asmo Koskinen.
User | Host | Type | Privileges | Grant |
debian-sys-maint | localhost | global | ALL PRIVILEGES | Yes |
php_user | localhost | global | SELECT, INSERT, UPDATE, DELETE | No |
root | localhost | global | ALL PRIVILEGES | Yes |
test_user | localhost | database-specific | SELECT, INSERT, UPDATE, DELETE, CREATE, DROP | No |