Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

XAMPP + Tomcat

Bom dia senhores,

No meu cloud estou fazendo a instalação do XAMPP porém deu conflito que o tomcat que eu existia na porta 80, como consigo deixar os dois servidores funcionando ?

Abraçoos.

10 respostas

Matheus,

Voce so pode ser um servidor rodando na porta 80. Geralmente o que o pessoal faz nesses casos é deixar o Apache na porta 80 e o Tomcat em outra porta (8080 por exemplo).

E o Apache fica na frente despachando as requisições pro Tomcat quando bater certa URL por exemplo.

Pra isso vc vai precisar do mod_jk. Na documentacao do Tomcat explica como usa-lo:

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

Beleza Sergio, vou dar uma pesquisada sobre o assunto, realmente preciso que os dois estejam online.

Aproveitando, o XAMPP não seria mais para iniciante ou desenvolvimento ? acredito que talvez instalar o PHP e Apache separadamente seria melhor, pois ja possua uma instalação do MySQL, mas quando acesso o phpmyadmin é como se fosse outro MySQL.

Abraçooos.

Realmente nao é comum instalar o XAMPP em producao. E se ja tem o MySQL la no seu server, melhor nao instalar outro nao com o XAMPP.

Maravilha, vou instalar o PHP e Apache manual pelo apt então.

E sobre o mod_jk, assim que eu conseguir configurar ja marco o tópico como solucionado.

Obrigado.

solução!

Após ler bastante as documentações, consegui fazer o tomcat rodar na porta 80 do apache, segue os links que tive ajuda:

https://felipebbarbosa.wordpress.com/2012/10/15/configurando-apache2-e-tomcat-com-mod_jk-no-linux/

http://tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

Agora só uma outra duvida Sérgio, como ficará a questão de domínios que eu tinha registrado dentro do server.xml ?

Obs: Um detalhe importante pra quem tiver a mesma necessidade é que agora os .wars devem ficar dentro de /var/www

Boa!

A ideia agora é que vc configura os hostnames no Apache, nao no Tomcat mais. Ele que vai responder direto a porta 80 ai despacha pro Tomcat que nem precisa saber dos hostnames.

Maravilha, vou pesquisar sobre o assunto.

Sérgio, criei os dominios porém ele esta toda hora caindo na raiz do /var/www

Segue arquivo referente ao dominio "nevesfilmes.com.br", o mesmo deve acessar a pasta "nevesfilmes" dentro de /var/www

<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 www.example.com

    ServerAdmin admin@nevesfilmes.com.br
    ServerName nevesfilmes.com.br
    ServerAlias www.nevesfilmes.com.br
    DocumentRoot /var/www

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    # 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

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    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

    # Aqui você adiciona os PATH que deseja
    JkMount /nevesfilmes ajp13_worker
    JkMount /nevesfilmes/* ajp13_worker
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Se eu acesso nevesfilmes.com.br/nevesfilmes, ai da certo e o site abre.

Entao, nao manjo muito de Apache (uso nginx no dia a dia).

Mas olhando aqui ele ta montando o path /nevesfilmes no mod_jk, certo? Sera que nao devia ser o / direto?

Ja fiz / direto e não deu certo.