# Gepost op 12-08-2009 23:32
Bewerkt door vlerknozem op 12-08-2009 23:47
Bewerkt door vlerknozem op 12-08-2009 23:47
Vandaag een korte tutorial over hoe je apache kan configureren zodat voor meer gebruikers een aparte map kan maken, die je kan berijken met ~gebruiker/ achter de url.
Let op, deze tutorial is bestemd voor Linux gebruikers die Apache los hebben geinstalleerd. Windows gebruikers kunnen het misschien gebruiken als richtlijn, maar ik heb geen idee hoe het daar werkt. Ik gebruik commando's als 'gedit' en 'sudo'. Dit kan per distro, en grafische interface (GNOME, KDE, etc) verschillend zijn. Hou daar rekening mee.
Let ook op dat je eerst even de configuratie bestanden backupt voordat je ze bewerkt. Het gebruik van sudo is op eigen risico.
1. Module activeren.
Om te beginnen gaan we de module die hiervoor nodig is activeren. Deze module heet 'userdir', en de extensie van de modules is '*.load'.
Open een terminal venster. Ik gebruik 'gnome-terminal' hiervoor. We gaan nu een symbolische koppeling maken.
Type het volgende commando:
De module is nu nog niet geladen. Eerst moeten we apache herstarten.
2. De configuratie
We moeten nu het bestand '/etc/apache2/sites-available/default' aanpassen.
Voeg de volgende code toe binnen '<VirtualHost *:80>'.
De map /var/www is standaard de documentroot. De map 'Users' gebruik ik in deze tutorial als de map voor de gebruikers. Het '*' betekend dat hier de waarde achter het '~' tekentje in de url komt. De map public_html is overigens niet perse nodig.
Je ziet ook dat de gebruiker 'root' is gedisabled. Dit is alleen nodig als je de thuismappen gebruikt als userdir, bijvoorbeeld '/home/Aap/public_html/'. Als je dit wilt dan moet je de juiste mappen hiervoor instellen in stap2, en de juiste map aanmaken in stap 3. In dit geval is het zeker belangrijk om root te disablen.
3. Een map voor een gebruiker aanmaken
Eerst moeten we de map 'Users' aanmaken in de map '/var/www', omdat ik die gebruik in de vorige stap. In deze map komen dan de mappen voor de gebruikers. We maken nu een map aan voor een geruiker genaamd 'Aap'. De map van deze gebruiker is dan alsvolgt:
/var/www/Users/Aap/public_html
Om het nu te testen, plaats je gewoon een index bestand in de public_html. Ga dan naar de volgende url: http://localhost/~Aap/.
4. Gebruikers enabled en disableden
In stap 2 had ik het al hierover. Het kan handig zijn om bepaalde gebruikers uit te schakelen, zeker als je de thuismappen gebruikt als userdir.
Om een paar gebruikers gebruik te laten maken van de UserDir, maar niemand anders, kan je het volgende gebruiken:
Om bijna iedereen UserDir te laten gebruiken, en een paar te negeren kan je dit gebruiken:
Tot slot
Dit is een korte tutorial, en ik ga ervan uit dat je weet wat je doet. Hier vind je de 'echte' documentatie:
http://httpd.apache.org/docs/1.3/mod/mod_userdir.html
Let op, deze tutorial is bestemd voor Linux gebruikers die Apache los hebben geinstalleerd. Windows gebruikers kunnen het misschien gebruiken als richtlijn, maar ik heb geen idee hoe het daar werkt. Ik gebruik commando's als 'gedit' en 'sudo'. Dit kan per distro, en grafische interface (GNOME, KDE, etc) verschillend zijn. Hou daar rekening mee.
Let ook op dat je eerst even de configuratie bestanden backupt voordat je ze bewerkt. Het gebruik van sudo is op eigen risico.
1. Module activeren.
Om te beginnen gaan we de module die hiervoor nodig is activeren. Deze module heet 'userdir', en de extensie van de modules is '*.load'.
Open een terminal venster. Ik gebruik 'gnome-terminal' hiervoor. We gaan nu een symbolische koppeling maken.
Type het volgende commando:
- sudo ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load
De module is nu nog niet geladen. Eerst moeten we apache herstarten.
- sudo /etc/init.d/apache2 restart
2. De configuratie
We moeten nu het bestand '/etc/apache2/sites-available/default' aanpassen.
- sudo gedit /etc/apache2/sites-available/default
Voeg de volgende code toe binnen '<VirtualHost *:80>'.
- UserDir /var/www/Users/*/public_html
- UserDir disabled root
- <Directory /var/www/Users/*/public_html/>
- AllowOverride all
- Options MultiViews SymLinksIfOwnerMatch IncludesNoExec
- <Limit GET POST OPTIONS>
- Order allow,deny
- Allow from all
- </Limit>
- <LimitExcept GET POST OPTIONS>
- Order deny,allow
- Deny from all
- </LimitExcept>
- </Directory>
De map /var/www is standaard de documentroot. De map 'Users' gebruik ik in deze tutorial als de map voor de gebruikers. Het '*' betekend dat hier de waarde achter het '~' tekentje in de url komt. De map public_html is overigens niet perse nodig.
Je ziet ook dat de gebruiker 'root' is gedisabled. Dit is alleen nodig als je de thuismappen gebruikt als userdir, bijvoorbeeld '/home/Aap/public_html/'. Als je dit wilt dan moet je de juiste mappen hiervoor instellen in stap2, en de juiste map aanmaken in stap 3. In dit geval is het zeker belangrijk om root te disablen.
3. Een map voor een gebruiker aanmaken
Eerst moeten we de map 'Users' aanmaken in de map '/var/www', omdat ik die gebruik in de vorige stap. In deze map komen dan de mappen voor de gebruikers. We maken nu een map aan voor een geruiker genaamd 'Aap'. De map van deze gebruiker is dan alsvolgt:
/var/www/Users/Aap/public_html
Om het nu te testen, plaats je gewoon een index bestand in de public_html. Ga dan naar de volgende url: http://localhost/~Aap/.
4. Gebruikers enabled en disableden
In stap 2 had ik het al hierover. Het kan handig zijn om bepaalde gebruikers uit te schakelen, zeker als je de thuismappen gebruikt als userdir.
Om een paar gebruikers gebruik te laten maken van de UserDir, maar niemand anders, kan je het volgende gebruiken:
- UserDir disabled
- UserDir enabled user1 user2 user3
Om bijna iedereen UserDir te laten gebruiken, en een paar te negeren kan je dit gebruiken:
- UserDir enabled
- UserDir disabled user4 user5 user6
Tot slot
Dit is een korte tutorial, en ik ga ervan uit dat je weet wat je doet. Hier vind je de 'echte' documentatie:
http://httpd.apache.org/docs/1.3/mod/mod_userdir.html
Lees de forum regels