Executar vários sites em um único servidor Ubuntu 15.10 usando o Apache2

0

Estou usando o Ubuntu Server 15.10

Estou me referindo a executar vários sites -ubuntu-server-using-apache2 blog.

Problemas

  1. Parece que meu diretório apache2 agora está em /var/www/html/ , por isso não pudemos seguir o documento acima corretamente

Meus hosts virtuais

  1. Servidor padrão
    Address Any e Port Any Server Name Automatic e Document Root Automatic

  2. Servidor virtual
    Address website1.com
    Port 80 Server Name Automatic e Document Root /var/www/html/website1.com

  3. Servidor virtual
    Address website2.com
    Port 80 Server Name Automatic e Document Root /var/www/html/website2.com

Mas quando tento acessar meu website1.com , ele vai para o host virtual correto, mas meu website2.com está apenas redirecionando para website1.com .

também vi /var/www/html/index.php e require( dirname( __FILE__ ) . '/website1.com/wp-blog-header.php' );

Parece que está apenas apontando para website1.com . Se eu remover a linha acima, nenhum dos sites funciona. então talvez meus dois hosts virtuais não estejam funcionando.

Poderia ser meu 1. Default Server Virtual Hosts apenas superando isso?

Por favor ajude

***Content of conf files from /etc/apache2/sites-enabled***  <br/>
vi 000-default.conf   <br/>

Esvazie agora, fui para webmin e estava vendo a entrada dupla de website1.com , então excluí o extra e agora só tenho como mostrado abaixo.

// added this just now after the first comment and enabled it  <br/>
vi website1.com.conf
<VirtualHost website1.com:80>  <br/>
ServerAdmin webmaster@localhost  <br/>
DocumentRoot /var/www/html/website1.com  <br/>
ErrorLog ${APACHE_LOG_DIR}/error.log  <br/>
CustomLog ${APACHE_LOG_DIR}/access.log combined  <br/>
</VirtualHost>  <br/>

vi webiste2.com.conf
<VirtualHost website2.com:80>  <br/>
ServerAdmin webmaster@localhost  <br/>
DocumentRoot /var/www/html/website2.com  <br/>
ErrorLog ${APACHE_LOG_DIR}/error.log  <br/>
CustomLog ${APACHE_LOG_DIR}/access.log combined  <br/>
</VirtualHost>
    
por SeanClt 02.02.2016 / 04:54

2 respostas

1

Geralmente, os sites no Apache são manipulados por meio dos arquivos *.conf no diretório /etc/apache2/sites-available . Aqui está um exemplo do meu servidor, que está hospedando www.brownvpn.tk , www.browntech.tk , www.techyteen.tk e alguns outros.

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.

        ServerName browntech.tk
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/tech
        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
RewriteEngine on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
</VirtualHost>

Os comentários são muito úteis. Cada arquivo precisa ser praticamente o mesmo que isso. No entanto, talvez você queira remover as Rewrite linhas se não tiver SSL ativado ou se desejar permitir tráfego HTTP e HTTPS. Nós vemos no topo as duas linhas mais importantes. ServerName e DocumentRoot . O campo ServerName deve ser o domínio que aponta para o caminho DocumentRoot . Então, você precisará de dois arquivos de configuração (quatro se quiser www.domain1.com assim como domain1.com).

cd /etc/apache2/sites-available/
touch site1.conf
touch site2.conf

Em seguida, no editor de sua preferência, copie e cole meu arquivo de configuração de exemplo, fazendo as duas edições (três, se contar, configurando-o para seu e-mail, quatro se você remover essas linhas) em site1.conf e site2.conf .

sudo a2ensite site1 site2
sudo service apache2 restart

Isso ativará os dois sites e redirecionará os URLs de acordo.

    
por user323419 02.02.2016 / 06:21
0

link

Finalmente, essas instruções funcionaram para mim

    
por SeanClt 20.02.2016 / 04:36