Đồ án web server mailing list và mail system nhằm xây dựng IM hoàn chỉnh - 2 docx

39 295 0
Đồ án web server mailing list và mail system nhằm xây dựng IM hoàn chỉnh - 2 docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Quá trình cấu hình sẽ được bắt đầu bằng cách tham khảo httpd.conf và các chỉ thị của nó. Mặc dù các file access.conf và srm.conf còn tồn tại song chúng là những file cũ mà không được sử dụng nhiều bởi hầu hết các nhà quản trị và người sử dụng sẽ không tìm thấy bất kỳ chỉ thị nào ở đó. Httpd.conf chứa rất nhiều các tư liệu của chính nó, được sinh ra bởi các chỉ thị cấu hình mặc định gửi gắm khi khởi động với Apache server. Bắt đầu bằng cách đọc các lời chú thích để hiểu file cấu hình và làm một số thay đổi nhỏ, khởi động lại Apache trong một cửa sổ giao tiếp với mỗi thay đổi. Nếu người sử dụng tạo ra một lỗi, nó sẽ dễ dàng sao lưu để định dạng lần làm việc cuối cùng . Các khác nhau của Apache trên Windows chính là: + Bởi vì Apache trên Windows thì đang luồng, nó không sử dụng các tiến trình riêng biệt cho mỗi yêu cầu như là của Unix. Thay cho việc thường chỉ có 2 tiến trình đang chạy: Một tiến trình cha và một tiến trình con để xử lý các yêu cầu. Với tiến trình con mỗi yêu cầu được xử lý bởi một luồng riêng.Vì thế tiến trình quản lý các chỉ thị là khác nhau: + Các chỉ thị mà chấp nhận các tên file như các đối số phải sử dụng các tên file kiểu Windows thay cho các tên file Unix. Tuy nhiên, bởi vì Apache server sử dụng các tên file kiểu Unix bên trong, phải tiến hành cắt bớt, không cắt phần sau. Các ký tự điều khiển có thể được sử dụng, nếu bỏ qua, ký tự điều khiển với Apache khả thi sẽ đảm nhận. + Apache trên Windows có khả năng nạp các mô đun ngay khi chay mà không biên dịch lại server. Nếu Apache biên dịch bình thường, nó sẽ cài đặt một số mô đun tuỳ chọn trong thư mục /module, để kích hoạt chúng hoặc các mô đun khác sử dụng lệnh sau đây: LoadModule status_module modules/mod_status.so + Apache cũng có thể nạp các phần mở rộng ISAPI (các dịch vụ ứng dụng Internet) chẳng hạn các ứng dụng được sử dụng bởi Microsoft IIS và các server Windows khác. (Chú ý: Apache không nạp các bộ lọc ISAPI). + Khi đang chạy CGI script, các phương thức Apache tìm kiếm các giải thích cho script được cấu hình đang sử dụng chỉ thị ScriptInterpreterSource. 9. Apache và các dịch vụ hỗ trợ: a) HTTPD: Tên dòng lệnh: httpd [ -X ] [ -R libexecdir ] [ -d serverroot ] [ -f config] [ -C directive ] [ -c directive ] [ -D parameter ] Mô tả: là một chương trình HTTP server . Nó được thiết kế để chạy như một tiến trình deamon một mình. Khi dùng đến dịch vụ này, nó sẽ tạo ra một nhóm các tiến trình con để đáp ứng các yêu cầu. Để ngừng dịch vụ này, nó sẽ gửi một tín hiệu TERM đến tiến trình cha. PIG của tiến trình này sẽ ghi lên một file và dưa vào file cấu hình. HTTPD sẽ được gọi bởi Internet deamon inetd mỗi khi có một kết nối đến dịch vụ HTTP đã được thiết lập. Các đối số cụ thể của dòng lệnh -R libexecdir: Tham số này chỉ có hiệu lực nếu Apache được cài đặt với tập SHARED_CORE cho phép, nó tác động đến nhân nhị phân của Apache để thay thế vào trong một file đối tượng chia xẻ động (DSO). File này được dò tìm trên một đường dẫn hardcoded bên dưới ServerRoot mặc định -d serverroot: Thiết lập giá trị ban đầu của chỉ thị ServerRoot đến serverroot. Chức năng này có thể bị bỏ qua bởi dòng lệnh ServerRoot trong file cấu hình. Mặc định server root là usr/local/apache. -f : Thực thi các lệnh trong file config khi Startup. Nếu file config không bắt đầu với a/, lúc đó nó sẽ lấy một một đường dẫn có liên quan đến ServerRoot. Mặc định của nó là conf/httpd.conf. -C directive: Thực hiện cấu hình các chỉ thị trước khi đọc file config. -c directive: Thực hiện cấu hình các chỉ thị sau khi đọc file config. -D parameter: Thiết lập một thông số cấu hình mà nó có thể sử dụng với cặp thẻ <IfDefine> … </IfDefine> trong các file cấu hình để bỏ qua có điều kiện hoặc thực hiện các lệnh. b) APACHECTD: Là một đầu vào các HTTP server. Nó được thiết kế để giúp người quản trị điều khiển các chức năng của Apache HTTPD deamon. Tên dòng lệnh: apachectl command [ ] Với các lệnh: Start: Khởi động Apache deamon. Đưa ra một thông báo lỗi nếu chương trình đang chạy lúc đó. Stop: Ngừng dịch vụ Apache deamon. Restart: Khởi động lại Apache deamon bằng cách gửi cho nó một SIGHUP. Lệnh này tự động kiểm tra các file cấu hình qua văn bản cấu hình trước khi bắt đầu khởi động lại để chắc chắn rằng Apache vẫn còn đang hiện diện trong máy. Fullstatus: Hiển thị đầy đủ các báo cáo trạng thái từ mod_status. Để lệnh này được thi hành, cần phải cho phép mod_status trên server và một trình duyệt text_based chẳng hạn như Lynx có sẵn trong hệ thống. URL sử dụng nó để truy cập bản báo cáo trạng thái có thể được thiết lập bằng giá trị STATUSURL có sẵn trong script. Status: Hiển thị ngắn gọn bảng trạng thái giống như chức năng fullstatus trừ phi danh sách các yêu cầu phục vụ thời bị bỏ quên. Configtest: Chạy một đoạn văn bản các cụ pháp của file cấu hình. Nó phân tích các file cấu hình và các bảng Syntax Ok hoặc thông tin chi tiết về các lỗi cú pháp đặt biệt. Help: Hiển thị các thông báo lỗi được sắp xếp. c) APXS Tên dòng lệnh: apxs -g [ -S variable=value ] -n name apxs -q [ -S variable=value ] query apxs -i [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile apxs -e [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile Mô tả: Là một công cụ để xây dựng và các đặt các mô đun mở rộng cho Apache HTTP server. Được thực hiện bằng cách cài đặt một DSO từ một hay nhiều nguồn hoặc đối tượng file mà sau đó nó có thể nạp vào Apache trong thời gian chương trình đang chạy qua chỉ thị LoadModule từ mod_so. Để sử dụng kỹ thuật mở rộng này, máy tính của người sử dụng phải hỗ trợ DSO và Apache HTTPD nhị phân phải được xây dựng với mô đun mod_so. Công cụ apxs sẽ tự động nhắc nhở nếu là các trường hợp ngược lại. Ta cần phải kiểm tra việc này bằng dòng lệnh: $ httpd -l mô đun mod_so phải có trong danh sách được hiển thị. Nếu các yêu cầu này được thỏa mãn, thì có thể dễ dàng mở rộng các chức năng của Apache server bằng cách cài đặt các mô đun của mình với kỹ thuật DSO bằng công cụ apxs này. Ví dụ: $ apxs -i -a -c mod_foo.c gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c ld -Bshareable -o mod_foo.so mod_foo.o cp mod_foo.so /path/to/apache/libexec/mod_foo.so chmod 755 /path/to/apache/libexec/mod_foo.so [activating module `foo' in /path/to/apache/etc/httpd.conf] $ apachectl restart /path/to/apache/sbin/apachectl restart: httpd not running, trying to start [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module /path/to/apache/sbin/apachectl restart: httpd started Các đối số File có thể là bất kỳ một file nguồn c (.c), file đối tượng (.o) hoặc ngay cả một thư việc lưu trữ (.a). Công cụ apxs tự động công nhận các phần mở rộng này và tử động sử dụng các file nguồn C cho việc biên dịch trong khi nó chỉ sử dụng các file đối tượng và lưu trữ cho giai đoạn liên kết. Nhưng khi sử dụng nhiều đối tượng trước biên dịch , phải chắc chắn rằng chứng được liên kết cho PIC để có thể sử dụng chúng cho một DSO. Cho ví dụ với GCC, người sử dụng luôn chỉ phải sử dụng –fpic. Đối với các các biên dịch C khác yêu cầu phải tham khảo tài liệu hướng dẫn của nó hoặc chờ đợi các cờ apxs, để biên dịch các file đối tượng. Các đối số cụ thể của dòng lệnh: - n name: Thiết lập tên mô đun cho chức năng –i (cài đặt) và –g (tạo khuôn mẫu). Sử dụng nó để chỉ ra tên mô đun. Chức năng –g là bắt buộc, chức năng –I thì có tác dụng khiến công cụ apxs cố gắng xác định tên từ nguồn hoặc ít nhất cũng đoán được từ tên file. -q : Thực hiện ruy vấn cho apxs về các cài đặt nào đó. Tham số truy vấn có thể là một hoặc nhiều các giá trị: CC TARGET CFLAGS SBINDIR CFLAGS_SHLIB INCLUDEDIR LD_SHLIB LIBEXECDIR LDFLAGS_SHLIB SYSCONFDIR LIBS_SHLIB PREFIX Sử dụng các chức năng này để hướng dẫn xác định các thông số cài đặt: INC = I ‘apxs –q INCLUDEDIR’ bên trong các Makefile nếu cần hướng dẫn các truy cập đến các file tiêu đề của Apache. -S variable = value: Chức năng này thay đổi các cài đặt apx đi kèm với các giá trị đặc biệt theo sau như: • Chức năng tạo ra một khuôn mẫu: -q: chức năng tạo ra một thư mục con và 2 file trong đó: Một file nguồn ví dụ mô đun tên là mod_name.c mà nó có thể sử dụng như một khuôn mẫu cho việc tạo các mô đun của chính người sử dụng hoặc như một quá trình khởi động nhanh cho việc chạy các kỹ thuật apxs. Và một mẫu thư Makefile với mục đích là dễ tạo và cài đặt các mô đun này. • Chức năng biên dịch DSO: -c : Chức năng này chỉ ra thao tác biên dịch. Đầu tiên nó biên dịch các file nguồn C (.c) của files vào trong các file đối tượng tương ứng (.o) và sau đó cài đặt một DSO vào trong dsofile bằng cách liên kết các file đối tượng này cùng với các file đối tượng còn lại (.o và .a) của files. -o dsofile: Chỉ ra tên file của file DSO đã tạo. Nếu không có sự chỉ định và tên file không thể đoán được từ bảng liệt kê các file, tên dự phòng mod_unknow.so được sử dụng. • Chức năng cài đặt và định dạng DSO: -i : Chức năng này để chỉ thao tác cài đặt và cài đặt một hoặc nhiều hơn các DSO vào trong thư mục libexec của server. -a : Chức năng này để chỉ thao tác kích hoạt đến mô đun bằng cách tự động thêm vào một dòng LoadModule đến file cấu hình httpd.conf của Apache hoặc cho phép nó thực thi nếu đã tồn tại. -A :Chức năng này cũng giống như –a nhưng nó tạo một chỉ thị LoadModule được đặt thêm vào một dấu (#), có nghĩa là mô đun chỉ cho phép cho các thi hành ngay sau đó còn lúc đầu thì bị cấm. -e : Chức năng này dành cho thao tác hiệu chỉnh, có thể sử dụng kèm với chức năng –a và –A, cũng giống như chức năng –I: Thao tác hiệu chỉnh file cấu hình httpd.conf của Apache mà không cố găng cài đặt các mô đun. Ví dụ: Giả sử người sử dụng đã có sẵn một mô đun Apache tên là mod_foo.c mà nó sẽ mở rộng chức năng server của Apache. Để làm việc đó, trước hết cần phải biên dịch một nguồn C vào trong một DSO phù hợp cho việc nạp vào trong Apache server. Có thể sử dụng lệnh sau: $ apxs -c mod_foo.c gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c ld -Bshareable -o mod_foo.so mod_foo.o $ _ Sau đó tiến hành cập nhật cấu hình Apache bằng cách chắc chắn rằng một chỉ thị LoadModule được đưa ra để nạp DSO này. Để đơn giản bước này, apxs cung cấp một cách tự động cách cài đặt DSO vào trong thư mục libexec và cập nhật file httpd.conf. Bằng cách sử dụng các lệnh: $ apxs -i -a mod_foo.c cp mod_foo.so /path/to/apache/libexec/mod_foo.so chmod 755 /path/to/apache/libexec/mod_foo.so [activating module `foo' in /path/to/apache/etc/httpd.conf] $ _ Cách này là một dòng lệnh có tên: LoadModule foo_module libexec/mod_foo.so được thêm vào để cấu hình file nếu vẫn chưa được đưa ra. Nếu muốn cấm thao tác này sử dụng thêm vào chức năng –A. $ apxs -i -A mod_foo.c Để kiểm tra nhanh apxs, người sử dụng tạo ra một mẫu ví dụ mô đun Apache cùng với một thư từ Makefile bằng cách: $ apxs -g -n foo Creating [DIR] foo Creating [FILE] foo/Makefile Creating [FILE] foo/mod_foo.c $ _ Sau đó có thể biên dịch ngay mô đun ví dụ này vào một DSO và nạp nó lên Apache server: $ cd foo $ make all reload apxs -c mod_foo.c gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c ld -Bshareable -o mod_foo.so mod_foo.o apxs -i -a -n "foo" mod_foo.so cp mod_foo.so /path/to/apache/libexec/mod_foo.so chmod 755 /path/to/apache/libexec/mod_foo.so [activating module `foo' in /path/to/apache/etc/httpd.conf] apachectl restart /path/to/apache/sbin/apachectl restart: httpd không chạy,cố gắêng khởi động [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): nạp foo_module /path/to/apache/sbin/apachectl restart: httpd khởi động $ _ Người sử dụng có thể sử dụng apxs để biên dịch các mô đun phức tạp bên ngoài cây nguồn Apache, cũng như PHP bởi vì apxs tự động chấp nhận nguồn C và các file đối tượng. 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ừ [...]... Fonebone R: 25 0-Sam Q Smith R: 25 0-Quincy Smith R: 25 0- R: 25 0 Hay S: EXPN Executive-Washroom -List R: 550 Access Denied to You Những đối số chuổi ký tự của lệnh VRFY và EXPN không thể vượt qua giới hạn được quyền trên sự bổ sung đa dạng của user name và khái niệm mailbox Trên một... os\win 32\ mod_auth_anon.dsp os\win 32\ mod_auth_dbm.dsp os\win 32\ mod_auth_digest.dsp os\win 32\ mod_cern_meta.dsp os\win 32\ mod_digest.dsp os\win 32\ mod_expires.dsp os\win 32\ mod_headers.dsp os\win 32\ mod_info.dsp os\win 32\ mod_mime_magic.dsp os\win 32\ mod_proxy.dsp os\win 32\ mod_rewrite.dsp cũng yêu cầu sdbm os\win 32\ mod_speling.dsp os\win 32\ mod_status.dsp os\win 32\ mod_unique_id.dsp os\win 32\ mod_usertrack.dsp os\win 32\ mod_vhost_alias.dsp... Opening R : 22 0 BBN-UNIX.ARPA Simple Mail Transfer Service Ready S : HELO USC-ISIF.ARPA R: 25 0 BBN-UNIX.ARPA * Ví dụ đóng kết nối : Closing S: QUIT R :22 1 BBN-UNIX.ARPA Service transmission channel 6- Chia ca (Relaying) : Forward-path có thể là một lộ trình nguồn của form "@ONE, @TWO:JOE@THREE" với ONE ,TWO, THREE là các host Form này được dùng để nhấn mạnh sự phân biệt giữa một address và một route Mailbox... nó vào reverse-path Dùng lộ trình nguồn receiver-SMTP nhận mail để chia ca đến một server- SMTP khác Receiver-SMTP đó có thể chấp nhận hoặc bác bỏ công việc chia ca cho mail, như cách nó chấp nhận hay bác bỏ mail cho một user cục bộ Receiver-SMTP thay đổi những đối số lệnh bằng cách chuyển phần nhận dạng của nó từ forward-path vào chổ mở đầu của reverse-path Sau đó receiver-SMTP trở thành Sender-SMTP,... có thể dùng được reply này và sẽ cho một unknown local user (550) Khi mail được chia ca, host chia ca phải chuyển phần định danh nó từ chổ bắt đầu forward-path và đặt vào chổ bắt đầu của reverse-path Khi mail trải ra tới đích cuối cùng (forward-path chỉ chứa một mailbox đích) receiver-SMTP chèn nó vào trong mailbox đích trong sự đồng ý với thoả hiệp host mail của nó Ví dụ mail được nhận tại host chia... của list , nó phải dùng tên mà nó được biết đến trong IPCE nơi nó sẽ chia ca mail tới đó , đúng hơn là IPCE có mail tới từ đó Lệnh này xoá reverse-path buffer, forward-path buffer và mail data buffer và chèn thông tin reverse-path từ lệnh này vào trong reverse-path buffer END OR MAIL (SOML) : Lệnh này dùng khởi tạo một giao dịch mail trong đó mail data được phân phát đến một hay nhiều terminal hay mailbox... mail đến đó đúng hơn là IPCE có mail đến từ đó(nếu chúng khác nhau) Lệnh này xoá reverse-path buffer, forward-path buffer và mail data buffer và chèn thông tin reverse-path từ lệnh này vào trong reverse-path buffer SEND AND MAIL (SAML) : Lệnh này dùng khởi tạo một giao dịch mail trong đó mail data được phân phát đến một hay nhiều terminal và các mailbox Cho từng người nhận mail được phân phát đến terminal... "CC:",… Nếu một server- SMTP chấp nhận công việc chia ca mail và sau đó thấy forwardpath không đúng hay mail đó không thể được phân phát được vì bất cứ lí do nào, thì nó phải xây dựng một message thông báo "undeliverable mail" (mail không thể phân phát) và gửi nó đến nơi xuất phát của mail không thể phân phát đó(được chỉ định trong reverse-path) Message thông báo này phải là từ server- SMTP tại host đó... forward-path của nó được gắn vào forward-path buffer DATA(DATA) : Receiver-SMTP xử lý những dòng theo sau lệnh này khi mail từ Sender-SMTP đến Nó làm cho mail data từ lệnh này được ghi vào data buffer Mail data này có thể chứa những ký tự của 128 mã ACSII Data mail được kết thúc bằng một dòng chỉ chứa một dấu chấm Đó là một dãy ký tự " " (xem phần 4.D .2) Và đó là chỉ định kết thúc của mail. .. một giao dịch mail nào đang tiến hành và tất cả các bảng trạng thái và buffer đã được xoá MAIL : Lệnh này được dùng khởi tạo một giao dịch mail trong đó mail data được phân phối đến một hay nhiều mailbox Feild đối số chứa một reverse-path Reversepath bao gồm một danh sách các host tuỳ ý và mailbox của user Khi danh sách các host hoàn tất nó là một lộ trình nguồn “trở về” và chỉ định mail đó được chia . -q [ -S variable=value ] query apxs -i [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile apxs -e [ -S variable=value ] [ -n name ] [ -a ] [ -A ] dsofile Mô tả: Là một công cụ để xây. cd foo $ make all reload apxs -c mod_foo.c gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c ld -Bshareable -o mod_foo.so mod_foo.o apxs -i -a -n "foo" mod_foo.so. nguồn C vào trong một DSO phù hợp cho việc nạp vào trong Apache server. Có thể sử dụng lệnh sau: $ apxs -c mod_foo.c gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c ld -Bshareable

Ngày đăng: 09/08/2014, 08:21

Từ khóa liên quan

Trích đoạn

Tài liệu cùng người dùng

Tài liệu liên quan