CC TARGET CFLAGS SBINDIR
10. Biên dịch Apache trên Windows:
Để biên dịch Apache đòi hỏi Microsoft Visual C++ 5.0 hoặc 6.0 phải được cài đặt sẵn sàng. Nó có thể được cài đặt với các công cụ dòng lệnh hoặc với môi trường
Viual Studio. Tham khảo sách hướng dẫn C++ để xác định cách cài đặt chúng. Đặc
biệt nhất là nhận thấy file vcvars32.bat từ thư mục Program Files/DevStudio/VC/bin và và file setenv.bat từ Platform SDK được yêu cầu để chuẩn bị các công cụ dòng
lệnh cho việc sử dụng dòng lệnh. Để cài đặt Apache với file Makefile.win hoặc dự án
Install.Bin trong Visual Studio IDE, tiện ích awk cũng được yêu cầu.
Đầu tiên bản phải cài đặt awk.exe ở nơi nó có thể được tìm thấy trong đường dẫn và môi trường DevStudio nếu dự định sử dụng IDE, có nhiều phiên bản của awk sẵn có trên Windows. Cách dễ nhất là cài đặt bằng cái có sẵn được tải xuống từ
http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe và nên lưu nó với tên
awk.exe hơn là awk95.exe.
Sau đó bung gói Apache đưa vào trong một thư mục thích hợp, mở cửa sổ dòng lệnh và thay đổi thư mục con src của Apache. Các tài liệu chính cung cấp cho các file tạo Apache được chứa trong file Makefile.win. Để biên dịch Apache trên
nmake /f Makefile.win _apacher (release build) nmake /f Makefile.win _apached (debug build)
Nếu được một thông báo lỗi kiểu như "the name specified is not recognized..." thì
phải chạy file vevas32.bat trước: bằng dòng lệnh sau:
"C:\Program Files\DevStudio\VC\Bin\VCVARS32.BAT"
(cần phải sửa đổi dòng lệnh này nếu VC được cài ở nơi khác) Sau đó chạy nmake một lần nữa.
Apache cũng có thể được biên dịch với môi trường Visual Studio development của VC++. Để đơn giản tiến trình này một vùng làm việc Visual Studio, Apachedsw (được cung cấp trong thư mục src) đưa ra danh sách lối vào của các dự án
working.dsb được yêu cầu để hoàn thành Apache (binary release). Nó cung cấp các phần phụ thuộc giữa các tiến trình. Nó bao gồm cả các phần phụ thuộc giữa các dự án để đảm bảo rằng chúng được cài đặt theo một trật tự thích hợp. InstallBin là một dự án cao cấp mà nó sẽ cài đặt tất cả các dự án, và cài đặt các file biên dịch vào nơi thích hợp của nó.
Các nhân dự án .dsp được cài đặt bởi Apache.dsw và makefile.win là:
os\win32\ApacheOS.dsp os\win32\Win9xConHook.dsp regex\regex.dsp
ap\ap.dsp
lib\expat-lite\xmltok.dsp
lib\expat-lite\xmlparse.dsp yêu cầu xmltok lib\sdbm.dsp
main\gen_uri_delims.dsp main\gen_test_char.dsp
ApacheCore.dsp yêu cầu tất cả các file ở trên
Apache.dsp yêu cầu ApacheCore
Trong phần thêm vào, thư mục con os/win32 chứa các file dự án cho các mô đun chức năng, tất cả chúng đều yêu cầu ApacheCore.
os\win32\mod_auth_anon.dsp
os\win32\mod_auth_dbm.dsp cũng yêu cầu sdbm
os\win32\mod_auth_digest.dsp os\win32\mod_cern_meta.dsp os\win32\mod_digest.dsp os\win32\mod_expires.dsp os\win32\mod_headers.dsp os\win32\mod_info.dsp os\win32\mod_mime_magic.dsp os\win32\mod_proxy.dsp os\win32\mod_rewrite.dsp os\win32\mod_speling.dsp os\win32\mod_status.dsp os\win32\mod_unique_id.dsp os\win32\mod_usertrack.dsp os\win32\mod_vhost_alias.dsp
Thư mục support chứa các file dự án cho các chương trình được thêm vào mà nó không nằm trong phần Apache đang chạy nhưng nó được sử dụng bởi người quản trị để duy trì password và các file log.
support\htdigest.dsp support\htpasswd.dsp support\logresolve.dsp support\rotatelogs.dsp
Một khi Apache đã biên dịch nó cần được cài đặt trong thư mục gốc server của nó, mặc định là /Apache trên đĩa cứng đang sử dụng.
Để tự động cài đặt các file vào trong thư mục c:/ServerRoot, sử dụng lệnh nmake:
nmake /f Makefile.win installr INSTDIR=c:\ServerRoot (for release build) nmake /f Makefile.win installd INSTDIR=c:\ServerRoot (for debug build)
Đối số c:\ServerRoot để cho INTSDIR nhận các thư mục cài đặt (nó có thể được bỏ qua nếu Apache được cài đặt trong thư mục \Apache)
Quá trình cài đặt sẽ diễn ra như sau:
c:\ServerRoot\Apache.exe – Chương trình Apache
c:\ServerRoot\ApacheCore.dll - Apache runtime [shared libary]
c:\ServerRoot\Win9xConHook.dll - Win9x console fixups [shared library] c:\ServerRoot\xmlparse.dll – phân tích cú pháp XML [shared library] c:\ServerRoot\xmltok.dll - XML token engine [shared library]
c:\ServerRoot\bin\*.exe – Các chương trình quản trị c:\ServerRoot\cgi-bin – Ví dụ CGI scripts
c:\ServerRoot\conf – Thư mục chứa các file cấu hình. c:\ServerRoot\icons - Icons for FancyIndexing
c:\ServerRoot\include\*.h – Các file header củaApache c:\ServerRoot\htdocs - Site Welcome index.html
c:\ServerRoot\htdocs\manual – Tài liệu Apache. c:\ServerRoot\lib – Các file tài liệu động.
c:\ServerRoot\libexec – Thư viện liên kết động. c:\ServerRoot\logs – Thư mục rỗng logging.
CHƯƠNG II