Nhắn tin tức thì với Prosody trên Debian Squeeze

thuận nghịch

Xin chào các bạn!. Hôm nay tôi giới thiệu cho bạn một máy chủ hiện đại và linh hoạt Jabber / XMPP, được viết bằng ngôn ngữ lấy và trước đây được gọi là Lxmppd. Nó có đặc điểm là một hệ thống đa nền tảng, tiêu tốn rất ít tài nguyên, dễ sử dụng và có thể mở rộng. Và không cần quảng cáo thêm, hãy bắt tay vào công việc! Chúng có vẻ giống nhiều khía cạnh, nhưng chúng thực sự rất đơn giản và ngắn gọn. Bây giờ chúng ta sẽ thấy:

  • Máy chủ cơ sở
  • Chúng tôi cài đặt các gói cần thiết
  • Hãy học cách cấu hình
  • Chúng tôi định cấu hình các thông số toàn cầu
  • Chúng tôi tạo và định cấu hình máy chủ ảo
  • Chúng tôi tạo chứng chỉ SSL / TLS
  • Chúng tôi kích hoạt máy chủ
  • Chúng tôi tạo ra người dùng đầu tiên
  • Chúng tôi đăng ký Prosody của mình trong một DNS
  • Chúng tôi kiểm tra mọi thứ

Máy chủ cơ sở
Việc tiêu thụ ít tài nguyên cho phép chúng tôi cài đặt Prosody ngay cả trong máy trạm của chính mình và cung cấp dịch vụ Trò chuyện từ đó.

Chúng tôi cài đặt các gói cần thiết
Để làm quen với Prosody, chúng tôi sẽ sử dụng các gói chính thức có trong kho lưu trữ Squeeze:

aptitude cài đặt prosody liblua5.1-giây0

Hãy học cách cấu hình
Hãy đọc tài liệu đi kèm /usr/share/doc/prosody/doc/coding_style.txt, để làm quen với định dạng được sử dụng trong các tệp cấu hình. Hãy vào thư mục / etc / prosody và chúng tôi liệt kê các tệp và thư mục hiện có. Tên của mỗi thư mục hoặc tệp trực quan và biểu thị rõ ràng chúng được sử dụng để làm gì:

  • ngũ cốc: Thư mục nơi các chứng chỉ SSL / TLS và các khóa riêng tư của chúng sẽ được lưu trữ.
  • conf.avail: Thư mục chứa các tệp cấu hình của máy chủ ảo mà chúng tôi khai báo là có sẵn. Nó hoạt động rất giống với những gì đã thấy trong các bài đăng trước đây về máy chủ web, như trong trường hợp của thư mục có sẵn trên các trang của Nginx.
  • conf.d: Thư mục nơi các liên kết trực tiếp của các máy chủ ảo được khai báo trong conf.avil và chúng tôi muốn kích hoạt.
  • ưu điểm.cfg.lua: tệp chính của cấu hình Prosody.
  • README: Tệp cung cấp cho chúng ta "manh mối" để tiến lên phía trước. Đừng ngừng đọc nó!

Với những gì chúng tôi đã đọc cho đến nay, chúng tôi có thể thử một cấu hình ban đầu tối thiểu.

Chúng tôi định cấu hình các thông số Toàn cục
Chúng tôi nghiên cứu kỹ tệp cấu hình chính/etc/prosody/prosody.cfg.lua, mà tôi đã tạo bản dịch miễn phí và chúng ta có thể tải xuống ở cuối. Hãy lưu tệp gốc đã cài đặt bằng lệnh sau:

cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.origin

Chúng tôi làm trống tệp cấu hình. Với nano, chúng tôi chỉnh sửa ưu điểm.cfg.lua đã được làm trống và dán nội dung của tệp ví dụ đã tải xuống. Chúng tôi sửa đổi nó theo nhu cầu của mình và tiết kiệm với ctl + hoặc. Sau đó, chúng tôi kiểm tra cú pháp của tệp cấu hình:

cp / dev / null /etc/prosody/prosody.cfg.lua nano /etc/prosody/prosody.cfg.lua luac -p /etc/prosdy/prosody.cfg.lua

Và nếu bạn không trả lại bất kỳ tin nhắn nào, thì có nghĩa là mọi thứ vẫn ổn.

Chúng tôi tạo và định cấu hình Máy chủ ảo
Tệp của máy chủ ảo của chúng tôi, chúng tôi sẽ tạo nó trong thư mục /etc/prosody/conf.avail/với tên máy chủ, cộng với phần mở rộng .conf.luavà chúng tôi sẽ tạo nó từ tệpví dụ.com.cfg.lua hiện có trong thư mục đó:

mv /etc/prosody/conf.avail/example.com.cfg.lua /etc/prosody/conf.avail/web.amigos.cu.cfg.lua nano /etc/prosody/conf.avail/web.amigos.cu .cfg.lua

Chúng tôi sửa đổi tệp với các thông số chính xác theo nhu cầu của chúng tôi. Chúng tôi có thể tải xuống phiên bản phù hợp với ví dụ này ở cuối bài đăng. Đừng quên xóa dòng đã bật = false - Xóa dòng này để bật máy chủ này.

Chúng tôi tạo chứng chỉ SSL / TLS
Khi thực hiện lệnh tạo chứng chỉ, họ sẽ hỏi chúng tôi thông tin liên quan đến công ty của chúng tôi.

cd / etc / prosody / certs openssl req -new -x509 -days 365 -nodes -out "web.amigos.cu.crt" -keyout "web.amigos.cu.key"

Chúng tôi kiểm tra xem các chứng chỉ đã được tạo chính xác bởi ls-l.

Chúng tôi kích hoạt máy chủ
Để kích hoạt máy chủ được khai báo trong /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, chúng ta phải tạo một liên kết tượng trưng của tệp đó trong thư mục conf.d. Sau đó, chúng tôi phải khởi động lại dịch vụ:

ln -s /etc/prosody/conf.avail/web.amigos.cu.cfg.lua /etc/prosody/conf.d/web.amigos.cu.cfg.lua /etc/init.d/prosody khởi động lại

Mẹo: Mở bảng điều khiển chuyên dụng để xem thông báo nhật ký Prosody bằng lệnh đuôi -f /var/log/prosody/prosody.log. Nếu dòng cuối cùng nói "Daemonized thành công thành PID ####", sau đó Mọi thứ hoạt động với Kilo !. Nếu bạn tình cờ nhận được thông báo lỗi, bạn có thể phải hủy quy trình theo cách thủ công "Lua" rằng nó đang chạy TRƯỚC KHI khởi động lại Prosody. Để biết pid del Lua, chạyps -e | grep lua. Để kết thúc quá trình, giết -giết #pid del lua.

Chúng tôi tạo ra người dùng đầu tiên
Để tạo người dùng, chúng tôi sử dụng lệnh tiến trình như sau:

prosodyctl adduser admin@web.amigos.cu

Lệnh sẽ yêu cầu chúng tôi cung cấp "Mật khẩu" của người dùng. Lưu ý rằng chúng tôi tạo người dùng "Quản trị viên", mà chúng tôi tuyên bố là Quản trị viên Prosody trong tệp cấu hình chung ưu điểm.cfg.lua.

CHÚNG TÔI KHUYẾN CÁO KHÔNG sử dụng lệnh tiến trình để dừng, bắt đầu hoặc khởi động lại dịch vụ nhưng hãy thực hiện bằng các phương pháp truyền thống như:

/etc/init.d/prosody {start | stop | restart | reload} invoke-rc.d prosody {start | stop | restart | reload} service prosody {start | stop | restart | reload}

Chúng tôi đăng ký Prosody của mình trong một DNS
Dịch vụ nhắn tin tức thời chủ yếu dựa vào dịch vụ DNS. Mỗi người dùng được xác định bằng địa chỉ của họ hoặc JID trong cách người dùng @ miền, trong đó miền cho biết máy chủ lưu trữ tài khoản. Để người dùng kết nối và đăng nhập, cần phải tìm địa chỉ IP của máy chủ. Tương tự, các máy chủ từ xa cần liên hệ với người dùng @ miền để chuyển cho bạn một tin nhắn. Do đó, điều cần thiết là máy chủ Prosody có loại bản ghi A trong máy chủ DNS của mạng LAN của chúng tôi. Ví dụ:

192.168.10.20 TRONG web.amigos.cu.

Chúng tôi kiểm tra mọi thứ
Chúng tôi đã có máy chủ Prosody của chúng tôi đang chạy. Hãy trò chuyện sau đó! Cài đặt Pidgin hoặc Psi hoặc chọn ứng dụng khách XMPP mà bạn chọn và kết nối với máy chủ. Nếu anh ta thành công, đó là bởi vì sau đó anh ta đã theo nội dung của bài viết này đến bức thư. Nếu không, hãy hỏi, đó là những blog như thế này được tạo ra để làm gì. Ahhh, nếu bạn muốn trò chuyện từ bảng điều khiển, hãy cài đặt Finch.

Chúng tôi đã tạo một gói với tài liệu từ trang web chính thức của Prosody mà chúng tôi hy vọng sẽ hữu ích. Những ai muốn tải xuống các gói trực tiếp từ kho Prosody, hãy truy cập Kho lưu trữ gói thịnh vượng.

Xin chúc tất cả may mắn và trò chuyện vui vẻ!

Tải xuống các tệp mẫu

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   eliotime3000 dijo

    Gợi ý tốt. Hãy xem liệu tôi có thời gian để tạo ứng dụng nhắn tin tức thời không.

    1.    sống động dijo

      Một ứng dụng khách XMPP khác? Anh bạn, tôi không nghĩ nó cần thiết trừ khi bạn làm điều đó để học hỏi và bạn đặt nó làm mục tiêu của mình. Dù sao họ cũng đã là Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... rồi.

      1.    thợ săn dijo

        Chà, tôi không nghĩ nhiều như một khách hàng khác nhưng sẽ rất thú vị khi chơi với API XMPP và gửi tin nhắn từ các ứng dụng.

      2.    thối87 dijo

        Sẽ ổn nếu chẳng hạn bạn cần thực hiện một loại trò chuyện cho mạng nội bộ hoặc một cái gì đó tương tự

      3.    braybaut dijo

        Nếu điều đó là đúng, nhưng hướng dẫn này được sử dụng để triển khai một ứng dụng XMPP trong mạng Miễn phí

        1.    thợ săn dijo

          Hướng dẫn này dành cho máy chủ, đã có một vài máy khách miễn phí.

      4.    eliotime3000 dijo

        Đối với Windows, nó sẽ phục vụ rất nhiều (trong trường hợp không có Messenger thần thoại, sẽ rất tốt nếu tạo ra một cái tốt hơn, phải không?).

  2.   Federico A. Valdes Toujague dijo

    Cảm ơn tất cả các bạn cho ý kiến ​​của bạn. Ước mơ của tôi là có một ứng dụng khách web để trò chuyện trên mạng LAN của tôi. Tôi đã cài đặt ejabberd với JwChat và vì giao diện trong Squeeze khá dính (và xấu xí và có lỗi) nên tôi thậm chí còn không thử. Tôi đã thử máy chủ web Yaws và ứng dụng khách web trò chuyện Yaws của nó nhưng không thể làm cho nó hoạt động bình thường. Họ đã tải xuống PHPFreeChat và không có gì. Với Lenny's Drupal 6, tôi đã cố gắng định cấu hình các plugin cho cuộc trò chuyện và cảm thấy mệt mỏi vào thời điểm đó, vài năm trước. Tôi ước mơ không phụ thuộc vào việc cài đặt máy khách và không trò chuyện với trình duyệt nữa. Thử thách được đưa ra.

    1.    eliotime3000 dijo

      Không có gì đâu, anh bạn. Hãy xem liệu tôi có thể hoàn tất quá trình tải xuống Wheezy DVD1 hay không để thực hiện hướng dẫn về cách cài đặt ZPanelX trong phiên bản Debian Stable mới (Tôi hy vọng rằng các nhà phát triển ZPanel không từ bỏ hỗ trợ Ubuntu 12.04 LTS, vì nếu không, tôi không thể thực hiện tự động cài đặt bảng điều khiển mà tôi thấy tuyệt vời khi tôi thử nghiệm nó trên Windows).

  3.   Mới đối với Debian dijo

    Xin chào, nếu tôi đã cài đặt Debian 7 cách đây ít lâu. Tuy nhiên, tôi không có internet, nó cho tôi biết rằng tôi đang thiếu phần sụn. Nó là một liên kết usb tp tl-wn321g. Tôi có thể tải xuống từ Windows không? Xin lỗi để hỏi ở đây là tôi không muốn đăng ký vào bất kỳ diễn đàn debian nào, tôi cũng không biết tiếng Anh cho lắm.

    1.    eliotime3000 dijo

      Nếu TP-Link có chipset Altheros, nó sẽ nhận ra nó mà không có biến chứng.

      Tìm xem kiểu USB TP-Link của bạn có chipset Altheros hay không, cũng như lưu ý ID phần cứng.

    2.    bình luận viên dijo

      Nếu bạn muốn tải xuống iso tại đây, chúng là iso debian nhưng đi kèm với trình điều khiển và phần sụn không miễn phí.

      http://live.debian.net/cdimage/release/7.0.0+nonfree/i386/iso-hybrid/

  4.   thối87 dijo

    Tôi muốn một hướng dẫn tốt về dấu hoa thị hehehe

    1.    Julio Cesar dijo

      Tôi khuyên bạn nên bắt đầu bằng cách sử dụng Trixbox CE hoặc Elastix, cả hai đều dựa trên Asterisk

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   msx dijo

    Hướng dẫn rất tốt, cảm ơn bạn rất nhiều 🙂

  6.   alejandrodez dijo

    Tuyệt vời, cảm ơn bạn rất nhiều, nó rất hữu ích.

  7.   @Jlcmux dijo

    Tôi sẽ kiểm tra nó trong Mesh Free Network mà chúng tôi đang triển khai tại thành phố của tôi. Sau đó, tôi sẽ cho bạn biết tôi đang làm thế nào với điều này.

    Chúc mừng.!

  8.   @Jlcmux dijo

    Thật đáng tiếc. Tôi ở lại bước cuối cùng. Tôi cấu hình DNS ở đâu? Thật xấu hổ khi là người duy nhất hỏi điều này haha

  9.   Piccolo Lenz McKay dijo

    Tôi có một số câu hỏi rất thú vị:

    Bạn đã biết hoặc có kinh nghiệm về việc cài đặt sản xuất prosody cho 3000 người dùng trong đó có ít nhất 1000 người trò chuyện được kết nối đồng thời cùng lúc không?

    Hỗ trợ: truyền tệp, VIP và đây là nhật ký hội thoại quan trọng nhất?

    MÔI TRƯỜNG: 3 nghìn người dùng, với web reg và script bị vô hiệu hóa thông qua máy chủ được gọi thông qua cgi prawns để đăng ký và thao tác người dùng, trong DELL T8 110 lõi với 8Gb ram để sử dụng độc quyền hoặc cho ejabberd trong lenny với ported erland và ejabberd

    Quả bóng phồng lên, sau khi giải quyết rất nhiều vấn đề trong ejabberd, tôi thấy điều này, thực sự điều này khiến tôi cảm thấy như mình đã lãng phí thời gian của mình ..

    1.    Federico A. Valdes Toujague dijo

      Trân trọng PICCORO Lenz McKAY !!!. Nghe này, tôi khuyên bạn nên truy cập trang web chính thức của Prosody http://prosody.imvà mở rộng thông tin. Tôi không có kinh nghiệm hơn 1000 khách hàng trò chuyện cùng lúc với Prosody. Và tôi không nghĩ rằng bạn đã lãng phí thời gian của mình với Ejabberd. Đó là một quyết định bạn đã thực hiện vào thời của Lenny. Nhân tiện, tôi thú nhận rằng Ejabberd là người đầu tiên tôi cài đặt trên mạng lan kinh doanh của mình, nơi có thể 50 hoặc 60 người dùng đã trò chuyện đồng loạt. Máy chủ thậm chí còn không biết về nó và nó chỉ có 512 MB RAM. 🙂 Và vâng, tôi đã gặp khó khăn khi thiết lập nó đúng cách. Prosody rất đơn giản, nhưng tôi mời bạn tìm hiểu thêm về tiềm năng của nó. Không phải tôi nghi ngờ anh ấy, mà là tôi không có kinh nghiệm mà bạn cần.