Egen hemsida för alla användare

Frågor kring allt som rör systemadministration.
Post Reply
olli
Posts: 1
Joined: 12 November 2009, 13:55

Egen hemsida för alla användare

Post by olli » 20 December 2009, 14:10

Hej, jag har installerat apache på min ubuntu 9.10 och vill konfigruera webservern så att alla användare får sin egen html-katalog i sin hemkatalog där den kan göra sin egen hemsida.
Så att om man surfar in på min-ip-adress/användarnamn så kommer man till den personens sida.
Nån som kan förklara eller vet en bra guide?

User avatar
kjell-e
Posts: 2817
Joined: 21 December 2002, 16:27
Location: Linköping
Contact:

Re: Egen hemsida för alla användare

Post by kjell-e » 20 December 2009, 18:35

I konfigurationen till din apache bör det finnas ett avsnitt som det nedan:

Code: Select all

<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    UserDir disabled

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disabled" line above, and uncomment
    # the following line instead:
    # 
    #UserDir public_html

</IfModule>
Ändra "UserDir disabled" till "UserDir enabled", spara och starta om webbservern.
Nu ska användarna kunna skapa en index.html i katalogen public_html.

Vill du att katalogen ska heta någonting annat får du ändra "#UserDir public_html" till "UserDir webbkatalogen".


Sedan kan du vilja ha inställningar för vad man ska få göra med användarnas public_html från webbservern.

Här är ett exempel där man endast får titta på webbsidor som användarna lägger upp.

Code: Select all

# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes 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>
Konfigurationen brukar ligga i filen /etc/httpd/conf/httpd.conf och jag har för mig att det även gäller på Ubuntu.

Nu ska det fungera att gå till http://dinwebbserver/~användare

erik_persson
Posts: 1474
Joined: 29 August 2002, 15:19

Re: Egen hemsida för alla användare

Post by erik_persson » 21 December 2009, 01:56

I ubuntu (eller debian) kan du göra de saker som kjell-e beskriver enkelt på 2 olika sätt.

1. I katalogen /etc/apache2/mods-available ligger de moduler som ubuntu (för tillfället) tillhandahåller. Genom att göra en symlänk från /etc/apach2/mods-enabled till motsvarande fil i /etc/apache2/mods-available och sedan starta om webservern så aktiveras modulen.

Ex som root
cd /etc/apache2/mods-enabled
ln -s ../mods-available/userdir.conf . (observera att det finns ett mellanslag och en punkt sist!)
ln -s ../mods-availbale/userdir.load . (observera att det finns ett mellanslag och en punkt sist!)
/etc/init.d/apache2 restart

2. genom att använda a2enmod. a2enmod skapar de 2 symlänkarna enligt ovan, så metoderna är ekvivalenta. Du måste vara root.
Skriv antingen enbart a2enmod, varpå du presenteras en lista där du kan välja vilken modul du vill aktivera, eller så kan du skriva a2enmod userdir
Starta sedan om apache: /etc/init.d/apache2 restart

De båda filerna userdir.conf och userdir.load innehåller de saker som kejll-e beskriver ovan och laddas som del av apaches konfiguration när apache startas (eg. filerna i mods-enabled inkluderas i apache vanliga konfigurationsfil). Att göra på detta sätta är därmed ekvivalent med att göra så som kjell-e beskriver. Genom att dela upp konfigurationsfilerna på detta sätt så erhålls dock en vissa modularitet och det blir enklare att lägga till och att ändra vilka moduler som ska laddas.

Du kan ta bort userdir genom att antinge ta bort de båda symlänkarna ur /etc/apach2/mods-enabled, tex genom att som root ange:
cd /etc/apache2/mods-enabled
rm userdir.conf
rm userdir.load

eller genom att använda a2dismod, tex a2dismod userdir. Metoderna är helt ekvivalenta.


/ep

Post Reply