subdomínios no apache com dns externos

0

Primeiro vou descrever minha configuração, depois disso, meu problema e durar a minha pergunta para solução.

Eu tenho uma solução de servidor DNS externo (não usando DNS no meu UBUNTU) onde eu controlo todo o meu DNS primário, etc. Eu tenho meus registros A estabelecidos assim:

localhost.itaportalen.dk    127.0.0.1   43200   
itaportalen.dk  5.196.14.205    43200

Além disso, tenho um CNAME :

.itaportalen.dk itaportalen.dk 43200

Eu tenho um servidor UBUNTU com o apache2 em execução, e meu site é colocado em /var/www/html - Isso funciona como um encanto.

Eu instalei MySQL e VSFTPD e isso funciona bem também.

Meu problema é que gostaria de executar um site multiusuário e todos os usuários devem ter um subdomain to itaportalen.dk . Quando eu criar um usuário, por exemplo, "teste", esse usuário deve ter um diretório base de acordo com o subdomínio test.itaportalen.dk com acesso FTP somente àquela pasta (e subdiretórios que o usuário pode criar).

Minhas perguntas são as seguintes:

Onde coloco a pasta do subdomínio test.itaportalen.dk para que CNAME aponte diretamente para essa pasta? Eu não consigo fazer isso funcionar em UBUNTU e APACHE2

Eu tenho chrooted de meus usuários para que eles vejam apenas sua homefolder (nesse caso, um subdomínio) qual é a maneira correta de fornecer acesso RW para que eles possam enviar arquivos para seus sites?

Eu sei que isso é uma coisa bem básica, mas não consigo fazer funcionar na instalação do UBUNTU.

    
por Bjarke Bundgaard 13.04.2015 / 09:55

1 resposta

0

Por padrão, o apache é configurado para que usuários individuais tenham seu próprio URL. Tudo que você precisa fazer é ativá-lo:

sudo a2enmod userdir

Em seguida, diga que o acesso do usuário test01 seria via itaportalen.dk/~test01 e seu diretório seria /home/test01/public_html . No entanto, eu sei que você não quer fazer isso dessa maneira.

Por exemplo, digamos que os nomes dos usuários são test01, test02, test03, test04. Adicione registros (ou registros CNAME, se preferir) ao seu arquivo de zona DNS:

epson-wp2       IN      A       192.168.111.111
s15             IN      A       192.168.111.112
bla             IN      A       192.168.111.112
test01          IN      A       192.168.111.112
test02          IN      A       192.168.111.112
test03          IN      A       192.168.111.112
test04          IN      A       192.168.111.112
s16             IN      A       192.168.111.113

Todos apontando para o mesmo endereço IP. No seu caso 5.196.14.205. Então, em /etc/apache2/sites-available você vai querer criar 4 novos arquivos. Comece copiando o arquivo padrão:

sudo cp 000-default.conf test01.conf

Edite o novo arquivo da seguinte forma:

<VirtualHost *:80>
    ServerName test01.smythies.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/test01

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/html/test01>
            Options Indexes FollowSymLinks MultiViews Includes
            AllowOverride All
            ...

Onde eu escolhi ter cada diretório em /var/www/html . Tu fazes o que queres. No entanto, talvez seja necessário editar /etc/apache2/apache2.conf , dependendo de onde você localizar os diretórios. Repita para os outros usuários. Em seguida, ative cada host virtual:

sudo a2ensite test01
sudo a2ensite test02
sudo a2ensite test03
sudo a2ensite test04

Reiniciar:

sudo service apache2 restart

Eu fiz isso no meu servidor de teste interno e funcionou como esperado. Eu usei apenas o Guia do servidor Ubuntu como referência.

    
por Doug Smythies 17.04.2015 / 04:10