Edifício httpd com o Visual Studio arquivos de projeto
Requisitos
Compilar o Apache requer o seguinte ambiente para ser instalado corretamente:
-
Espaço em Disco
certifique-se de ter pelo menos 200 MB de espaço livre em disco disponível. Após a instalação, o Apache requer aproximadamente 80 MB de espaço em disco, além de espaço para arquivos de log e cache, que podem crescer rapidamente. Os requisitos reais de espaço em disco variam consideravelmente com base na configuração escolhida e em quaisquer módulos ou bibliotecas de terceiros, especialmente quando o OpenSSL também é construído. Como muitos arquivos são texto e muito facilmente compactados, a compactação do sistema de arquivos NTFS corta esses requisitos pela metade.
-
Patches apropriados
o binário httpd é construído com a ajuda de vários patches para pacotes de terceiros, que garantem que o código liberado seja compilável e depurável. Esses patches estão disponíveis e distribuídos a partir de http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ e são recomendados para serem aplicados para obter resultados idênticos aos binários distribuídos asf” oficiais”.
-
Microsoft Visual C++ 6.0 (Visual Studio 97) ou posterior.
o Apache pode ser construído usando as ferramentas de linha de comando ou de dentro do ambiente de trabalho do Visual Studio IDE. A construção da linha de comando requer que o ambiente reflita o
PATH
,INCLUDE
,LIB
e outras variáveis que podem ser configuradas com o scriptvcvars32.bat
.você pode querer o pacote de processadores do Visual Studio para sua versão mais antiga do Visual Studio, ou uma versão completa (não expressa) das edições mais recentes do Visual Studio, para o ml.exe assembler. Isso permitirá que você construa OpenSSL, se desejado, usando a implementação de código de montagem mais eficiente.apenas a cadeia de ferramentas do compilador Microsoft é ativamente suportada pelos contribuidores httpd ativos. Embora o projeto aceite regularmente patches para garantir que o MinGW e outras construções alternativas funcionem e melhorem, eles não são mantidos ativamente e muitas vezes são quebrados no curso do desenvolvimento normal. -
atualizado Microsoft Windows Platform SDK, fevereiro de 2003 ou posterior.
um SDK apropriado da plataforma Windows é incluído por padrão nas versões completas (Não express/lite) do Visual C++ 7.1 (Visual Studio 2002) e posteriores, esses usuários podem ignorar essas etapas, a menos que escolha explicitamente uma versão mais recente ou diferente do SDK da plataforma.
para usar o Visual C++ 6.0 ou 7.0 (Studio 2000.net), o ambiente do SDK da Plataforma deve ser preparado usando o script
setenv.bat
(instalado pelo SDK da plataforma) antes de iniciar a construção da linha de comando ou iniciar o ambiente MSDEV/devenv GUI. A instalação do SDK da plataforma para versões do Visual Studio Express (2003 e posteriores) deve ajustar o ambiente padrão adequadamente."c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
"c:\Program Files\Platform SDK\setenv.bat" -
Perl e awk
várias etapas recomendadas aqui exigem um interpretador perl durante o processo de preparação da compilação, mas de outra forma não é necessário.
para instalar o Apache no sistema de compilação, vários arquivos são modificados usando o utilitário
awk.exe
. awk foi escolhido uma vez que é um download muito pequeno (em comparação com Perl ou WSH/VB) e realiza a tarefa de modificar arquivos de configuração após a instalação. O site http://www.cs.princeton.edu/~bwk/btl.mirror/ de Brian Kernighan tem um binário Win32 nativo compilado, http://www.cs.princeton.edu/~bwk/btl.mirror/ awk95.exe que você deve salvar com o nomeawk.exe
(em vez deawk95.exe
).se awk.exe não foi encontrado, Makefile.o destino de instalação do win não executará substituições no instalado .arquivos conf. Você deve modificar manualmente o instalado .arquivos conf para permitir que o servidor seja iniciado. Pesquise e substitua todas as tags” @token@ ” conforme apropriado.o Visual Studio IDE só encontraráawk.exe
no caminho ou no caminho executável especificado nos diretórios menu option Tools -> Options -> (Projects ->). Garantir awk.exe está no caminho do seu sistema.observe Também que se você estiver usando o Cygwin ferramentas (http://www.cygwin.com/) o awk utilitário é chamadogawk.exe
e que o arquivoawk.exe
é realmente um link simbólico para ogawk.exe
arquivo. O shell de comando do Windows não reconhece links simbólicos e, devido a isso, o InstallBin falhará. Uma solução alternativa é excluirawk.exe
da instalação do cygwin e copiargawk.exe
paraawk.exe
. Observe também as portas cygwin / mingw do gawk 3.0.x foram buggy, por favor atualizar para 3.1.x Antes de tentar usar qualquer porta gawk. -
biblioteca zlib (para
mod_deflate
)o Zlib deve ser instalado em um subdiretório
srclib
chamadozlib
. Isso deve ser construído no local. Zlib pode ser obtido de http://www.zlib.net/ — omod_deflate
é confirmado para funcionar corretamente com a versão 1.2.3.nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test -
bibliotecas OpenSSL (para
mod_ssl
eab.exe
com suporte ssl)a biblioteca OpenSSL é um software criptográfico. O país em que você reside atualmente pode ter restrições à importação, posse, uso e/ou reexportação para outro país, de software de criptografia. Antes de usar qualquer software de criptografia, verifique as leis, regulamentos e políticas do seu país relativas à importação, posse ou uso e reexportação de software de criptografia para ver se isso é permitido. Consulte http://www.wassenaar.org/ para obter mais informações.configurar e construir OpenSSL requer que perl seja instalado.
OpenSSL deve ser instalado em um subdiretório
srclib
chamadoopenssl
, obtido de http://www.openssl.org/source/ , a fim de compilarmod_ssl
ou o projetoabs.exe
, que é ab.c com suporte SSL habilitado. Para preparar OpenSSL para ser vinculado ao Apache mod_ssl ou abs.exe e desative os recursos onerados por patentes no OpenSSL, você pode usar os seguintes comandos de compilação:perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32 -Ipath/to/srclib/zlib -Lpath/to/srclib/zlib
ms\do_masm.bat
nmake -f ms\ntdll.maknão é aconselhável usar zlib-dynamic, pois isso transfere o custo de esvaziar fluxos SSL para a primeira solicitação que deve carregar a dll zlib. Observação o patch sugerido permite que o sinalizador-L funcione com compilações do windows, corrige o nome do zdll.lib e garante .os arquivos pdb são gerados para solução de problemas. Se o assembler não estiver instalado, você adicionaria no-asm acima e usaria ms\do_ms.bat em vez do ms\do_masm.roteiro de morcego. -
bibliotecas de banco de dados (para
mod_dbd
emod_authn_dbm
)a biblioteca apr-util expõe a funcionalidade do cliente dbm (keyed database) e dbd (query oriented database) ao servidor httpd e seus módulos, como autenticação e autorização. Os provedores sdbm dbm e odbc dbd são compilados incondicionalmente.
o suporte dbd inclui o pacote oracle instantclient, MySQL, PostgreSQL e sqlite. Para construir esses todos, por exemplo, configurar a LIB para incluir o caminho de biblioteca, INCLUIR para incluir os cabeçalhos caminho, e o CAMINHO para incluir a dll bin caminho de todos os quatro SDK, e definir o DBD_LIST variável de ambiente para informar a construir que o driver cliente SDKs estão instalados corretamente, e.g.;
set DBD_LIST=sqlite3 pgsql oracle mysql
da mesma forma, o dbm suporte pode ser estendido com DBM_LIST para construir um Berkeley DB (db) e/ou gdbm fornecedor, através da mesma forma de configurar LIB, INCLUIR e o CAMINHO para garantir a biblioteca de cliente de bibliotecas e cabeçalhos estão disponíveis.
set DBM_LIST=db gdbm
dependendo da escolha das distribuições de banco de dados, pode ser necessário alterar o nome de destino do link real (por exemplo, gdbm.lib vs. libgdb.lib) que estão listados no correspondente .dsp/.arquivos mak dentro dos diretórios srclib \ apr-util \ dbd ou …\ dbm.veja o README-win32.arquivo txt para obter mais dicas sobre como obter os vários SDKs de driver de banco de dados.
construindo a partir de fontes Unix
a política do projeto Apache HTTP Server é liberar apenas Fontes Unix. Os pacotes de origem do Windows disponibilizados para download foram fornecidos por voluntários e podem não estar disponíveis para cada versão. Você ainda pode construir o servidor no Windows a partir do tarball de origem Unix com apenas algumas etapas adicionais.
- Baixe e descompacte o tarball de origem Unix para a versão mais recente.
- Baixe e descompacte o tarball de origem Unix para a versão mais recente de APR, AR-Util e APR-Iconv, coloque essas Fontes nos diretórios httpd-2.X. X \ srclib \ apr, httpd-2.X. X \ srclib \ apr-util e httpd-2.x.x \ srclib \ apr-iconv
- abra um Prompt de comando e CD para o httpd-2.x.pasta x
- Executar as terminações de linha utilitário de conversão no prompt;
perl srclib\apr\build\lineends.pl
agora Você pode criar o servidor com o ambiente de desenvolvimento Visual Studio usando a IDE. As compilações de linha de comando do servidor não são possíveis a partir de fontes Unix, a menos que você exporte .arquivos mak conforme explicado abaixo.
construção de linha de comando
Makefile.win
é o Apache makefile de nível superior. Para compilar o Apache no Windows, basta usar um dos seguintes comandos para criar o release
ou debug
sabor:
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
o comando irá compilar o Apache. Este último desativará a otimização dos arquivos resultantes, facilitando a etapa única do código para encontrar bugs e rastrear problemas.
você pode adicionar suas opções de Provedor de DBD e dbm apr-util com as variáveis adicionais make (environment) DBD_LIST e DBM_LIST, consulte os comentários sobre bibliotecas de banco de dados, acima. Revise os comentários iniciais no Makefile.ganhe por opções adicionais que podem ser fornecidas ao invocar a compilação.
Developer Studio Workspace Ide Build
o Apache também pode ser compilado usando o ambiente de desenvolvimento do Visual Studio do VC++. Para simplificar esse processo, um espaço de trabalho do Visual Studio, Apache.dsw
, é fornecido. Este espaço de trabalho expõe toda a lista de projetos de trabalho .dsp
que são necessários para a versão binária completa do Apache. Inclui dependências entre os projetos para garantir que eles sejam construídos na ordem apropriada.
abra o espaço de trabalho Apache.dsw
e selecione InstallBin
(Release
ou Debug
construir, conforme desejado) como o projeto ativo. InstallBin
faz com que todos os projetos relacionados sejam construídos e, em seguida, invoca Makefile.win
para mover os executáveis e dlls compilados. Você pode personalizar a escolha INSTDIR=
alterando as configurações InstallBin
, guia Geral, criar entrada de linha de comando. INSTDIR
o padrão é o diretório /Apache2
. Se você deseja apenas uma compilação de teste (sem instalar), pode construir o projeto BuildBin
.
os arquivos de projeto .dsp
são distribuídos no formato Visual Studio 6.0 (98). Visual C++ 5.0 (97) vai reconhecê-los. Visual Studio 2002 (. NET) e usuários posteriores devem converter Apache.dsw
mais os arquivos .dsp
em um Apache.sln
mais .msproj
arquivos. Certifique-se de reconverter o arquivo .msproj
novamente se seu arquivo de origem .dsp
mudar! Isso é realmente trivial, basta abrir Apache.dsw
no VC++ 7.0 IDE mais uma vez e reconverter.
perl srclib\apr\build\cvtdsp.pl -2005
irá converter os sinalizadores / D para sinalizadores RC para usar uma sintaxe alternativa e parseable; infelizmente, essa sintaxe não é suportada pelo Visual Studio 97 ou exportada .arquivos mak. Estes sinalizadores / D são usados para passar a longa descrição do mod_apachemodule.so arquivos para o compartilhado .versão do recurso rc-compilação do identificador.
perl srclib\apr\build\cvtdsp.pl -ossl11
O Visual Studio 2002 (.NET) e, mais tarde, os usuários também devem usar o Compilação menu, Configuração do Gestor de caixa de diálogo, desmarque ambas as Debug
e Release
Solução módulos abs
, mod_deflate
e mod_ssl
componentes, bem como todos os componentes começando com apr_db*
. Estes módulos são construídos invocando nmake
, ou o IDE diretamente com o BinBuild
destino, que cria os módulos condicionalmente se a srclib
diretórios openssl
e/ou zlib
existir, e com base na configuração de DBD_LIST
e DBM_LIST
variáveis de ambiente.
exportar linha de comando .os arquivos mak
exportados .mak
representam um incômodo maior, mas são necessários para que os usuários do Visual C++ 5.0 construam mod_ssl
, abs (ab
com suporte SSL) e/ou mod_deflate
. O.os arquivos mak também suportam uma gama mais ampla de distribuições de cadeia de ferramentas C++, como o Visual Studio Express.
você deve primeiro construir todos os projetos para criar todos os destinos dinâmicos gerados automaticamente, para que as dependências possam ser analisadas corretamente. Construa todo o projeto a partir do Visual Studio 6.0 (98) IDE, usando o destino BuildAll
e, em seguida, use o menu de projeto exportar para todos os makefiles (verificando “com dependências”. Execute o seguinte comando para corrigir caminhos absolutos em relativos caminhos para que eles vão construir em qualquer lugar:
perl srclib\apr\build\fixwin32mak.pl
Você deve digitar este comando a partir do diretório de nível superior do httpd árvore de origem. Cada arquivo de projeto .mak
e .dep
dentro do diretório atual e abaixo será corrigido, e os carimbos de data / hora ajustados para refletir o .dsp
.
sempre revise os arquivos gerados .mak
e .dep
para o SDK da plataforma ou outros caminhos de arquivos locais específicos da máquina. O diretório DevStudio\Common\MSDev98\bin\
(VC6) contém um arquivo sysincl.dat
, que lista todas as exceções. Atualize este arquivo (incluindo caminhos para frente e para trás, como sys/time.h
e sys\time.h
) para ignorar essas dependências mais recentes. Incluir caminhos de instalação local em um arquivo .mak
distribuído fará com que a compilação falhe completamente.
se você contribuir com um patch que revisa arquivos de projeto, devemos confirmar arquivos de projeto no formato Visual Studio 6.0. As alterações devem ser simples, com o mínimo de compilação e sinalizadores de ligação que podem ser reconhecidos por todos os ambientes do Visual Studio.
instalação
uma vez que o Apache foi compilado, ele precisa ser instalado em seu diretório raiz do servidor. O padrão é o diretório \Apache2
, da mesma unidade.
Para construir e instalar todos os arquivos para a pasta desejada dir automaticamente, use um dos seguintes nmake
comandos:
nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir
dir argumento para INSTDIR
fornece o diretório de instalação; pode ser omitido se o Apache for instalado em \Apache22
(da unidade atual).
Aviso sobre a construção do Apache a partir da árvore de desenvolvimento
.dsp
são mantidos entre as compilações release
. Os arquivos .mak
não são regenerados, devido ao tremendo desperdício de tempo do revisor. Portanto, você não pode confiar nos comandos NMAKE
acima para construir arquivos de projeto revisados .dsp
, a menos que você exporte todos os arquivos .mak
do projeto. Isso é desnecessário se você construir a partir do ambiente do Microsoft Developer Studio.