우리 중 많은 사람들이 GTALK o 페이스 북 채팅 우리가 통신하는 데 사용하는 프로토콜이 다름 아닌 XMPP (확장 가능한 메시징 및 프레즌스 프로토콜) 그것도 열려 있습니다.
En GNU / 리눅스 자체 서버를 설정하기위한 여러 애플리케이션이 있습니다. XMPP o 지껄이다 또한 알려진대로 구성 할 때 다른 것보다 더 복잡합니다. 예를 들어, 우리는 Ejabberd, 매우 간단하고 가볍지 만 훨씬 더 최적화하고 싶다면 작시법.
그럼 너를 떠나 기사 출판 구틀 사용자 중 한 명 (Hugo)이 직접 서버를 구성하는 방법을 보여줍니다. XMPP 와 작시법.
소개
로컬 네트워크에서 내부 메시징을 위해 XMPP (Jabber) 서버를 설치할 때 많은 사람들이 jabber, ejabberd 또는 openfire를 선택하지만 기능적이지만 이러한 애플리케이션은 많은 리소스를 요구할 수 있습니다.
중소 규모의 네트워크가 있고 간단한 인스턴트 메시징 서비스 만 원하는 경우 운 좋게도 prosody라는 경량 서버 대안이 있는데, 이는 통역 언어 인 LUA로 프로그래밍되었지만 luajit 덕분에 매우 잘 작동합니다.
이 짧은 튜토리얼은 Debian stable에서 prosody를 설치하고 구성하는 방법을 설명합니다.
준비 및 설치
Prosody 패키지는 Debian 저장소에 있지만이 소프트웨어의 개발자는 최근 패키지와 추가 모듈이 포함 된 Debian 및 파생 제품 용 저장소를 준비했으며 다음과 같이 사용할 수 있습니다.
echo "deb http://packages.prosody.im/debian stable main"| sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key 추가-sudo aptitude 업데이트
저장소가 추가되면 prosody 설치를 진행할 수 있습니다 (사용할 모듈 추가 sasl
필요한 경우 인증 메커니즘으로 prosody를 pam
, LDAP등).
sudo aptitude install sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}
그런 다음 도메인에 대한 자체 서명 된 인증서를 생성합니다.
cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -nodes -out "mydomain.cu.cert"-keyout "mydomain.cu.key"
마법사는 일련의 데이터를 묻습니다. 그 중 가장 중요한 것은“일반 이름 (예 : 서버 FQDN 또는 귀하의 이름) "섹션에서 사용할 도메인을 입력해야하는 위치 가상 호스트 구성 파일.
또한 우리가 프로 소디를 설치 한 서버에서 구성한 경우 iptables
기본 거부 정책을 사용하면 네트워크에 필요한 포트를 열어야합니다. 예를 들면 다음과 같습니다.
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m state --state ESTABLISHED, RELATED -j ACCEPT sudo iptables -A INPUT- i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport --dports 5222,5223,5269 -m state --state NEW -j ACCEPT
구성
다음으로 구성 파일의 몇 줄을 수정합니다. /etc/prosody/prosody.cfg.lua
그래서 다음과 같이 보입니다 :
-
포트 = {5222, 5269} ssl_ports = {5223} 관리자 = { "juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; -기본 옵션은 select () 함수를 기반으로합니다. 대신 libevent는 더 효율적이고 확장 가능한 epoll ()을 사용합니다. modules_enabled = { "명단"; "saslauth"; "tls"; "다이얼 백"; "디스크"; "은밀한"; "vcard"; "은둔"; "압축"; "legacyauth"; "버전"; "가동 시간"; "시각"; "핑"; "원기"; "레지스터"; -이 모듈을 비활성화하지 마십시오. 등록 할 수있을뿐만 아니라 "임시"암호도 변경할 수 있습니다. "admin_adhoc"; "posix"; "보쉬"; -http}를 통해 Jabber를 활성화하려면이 줄을 추가하십시오. allow_registration = 거짓; -보안을 위해 비활성화 됨-클라이언트 자체에서 계정 생성을 활성화하려면 true로 변경하십시오. ssl = {key = "/etc/prosody/certs/localhost.key"; 인증서 = "/etc/prosody/certs/localhost.cert"; } 저장 = "내부"; -기본 저장소는 xml 파일입니다. 선택적으로 "sql"저장소 방법을 사용할 수 있습니다.이를 통해 SQLite, MySQL 또는 PostgreSQL을 백엔드로 사용할 수 있습니다 (특정 매개 변수를 추가해야 함). authentication = "internal_hashed"; -클라이언트가 SCRAM-SHA-1을 지원하지 않는 경우 "internal_plain"을 사용할 수 있습니다.-나중에 LDAP를 사용하기 위해 sasl 방법을 사용하려면 "cyrus"를 사용해야합니다. log = {error = "/ var / log / prosody / prosody. 오류 "; info = "/var/log/prosody/prosody.log"; } pidfile = "/var/run/prosody/prosody.pid"; VirtualHost "localhost"VirtualHost "mydomain.cu"ssl = {key = "/etc/prosody/certs/mydomain.cu.key"; 인증서 = "/etc/prosody/certs/mydomain.cu.crt"; }
구성 파일이 수정되면 서비스를 다시 시작합니다.
sudo 서비스 운율 빼기
이제 계정 생성을 진행합니다. 이 경우 구성 파일에서와 같이 클라이언트에서 레지스트리를 비활성화하므로 계정은 서버에서 수동으로 생성해야합니다. 구성에서 선택한 인증 방법 (internal_hashed)은 암호가 명확하게 저장되지 않고 메커니즘을 사용하도록합니다. SCRAM-SHA-1
. 사용하려는 메시징 클라이언트가이 메커니즘을 지원하지 않는 경우 "internal_plain"메서드를 구성에 사용할 수 있습니다.
먼저 구성에서 선언하는 서비스 관리자의 계정을 만듭니다 (선언한다고해서 자동으로 생성된다는 의미는 아님).
sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu
생성하려는 다른 계정에 대해 동일한 명령을 사용할 수 있습니다.
마지막으로 서비스가 실행 중인지 확인합니다.
sudo prosodyctl 상태
다음과 같은 메시지를 받아야합니다.
Prosody는 PID 1310으로 실행됩니다.
클라이언트 구성
구성은 클라이언트에 따라 다르지만 일반적으로 세부 사항은 간단합니다. 예를 들어 피진:
"기본"탭
아이디 : 요한 복음
도메인 : mydomain.cu
자원: PC 후안
"고급"탭
연결 보안 : 가능하면 암호화 사용
연결 포트 : 5222
서버에 연결 : myserver.mydomain.cu
NOTES
더 많은 정보를 찾을 수 있습니다 (Cyrus SASL 사용 포함). LDAP 및 항목을 만드는 방법 DNS)에서 이 문서는 데비안 위키에서.
Un usuario comenta via DesdeLinux que para detener realmente el servicio ha necesitado ejecutar pkill lua5.1
나는 그것을 좋아한다 ... 한 번에 내가 ejabberd 또는이 Prosody를 위해 OpenFire를 변경하는지 보자 🙂
나는 이미 VirtualBox에서 정확하게 테스트를하고 있습니다. 왜냐하면 우리가 당신을 기다리면 내 아들 .. ¬¬
^-^ U ... 헤헤 ...
이제 호스팅 공급자에게 'jabber'를 제거하는 데 필요한 DNS 레코드에 대해 묻는 티켓을 보냅니다 .______
괜찮아. Jabber, IRC, Facebook, Gtalk, 방법과 위치는 모르지만 연결 ..
Prosody의 LDAP와의 통합은 어떻게 이루어 집니까? 그리고 BD?
방법은 다음과 같습니다. http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
지식이 부족한 분들을위한 몇 장의 이미지는 나쁘지 않을 것입니다 ^^
집에는 운율이 있고 테스트를 위해 설치했으며 단순성 때문에 좋아했습니다. 서버를 중지 할 때 세부 사항은 실제로 중지하기 위해 pkill lua5.1을 수행해야합니다.
와, 흥미 롭군요. 다른 사람들이 GUI를 통해 사용자를 생성 할 수있는 방법이 있습니까 (웹일 수 있음)? 그것을 사용할 도메인을 얻는 방법은 무엇입니까? 😛
구성에서 등록을 활성화하고 서버에서 계정을 만드는 옵션을 선택하여 등록 된 동일한 클라이언트 jabber에서 등록 할 수 있습니다.
허용_등록 = 참;
슬랙웨어, 훌륭한 튜토리얼의 프로 소디 패키지를 찾고 있습니다. 건배
사용자가 인증 할 수 있는지 어떻게 확인할 수 있습니까? 또는 사용자가 서버에 연결되어 있는지 어떻게 알 수 있습니까?
성공했습니다 😀 올바르게 설치하고 구성 할 수있었습니다. 한 PC에 서버를 설치하고 클라이언트는 다른 PC입니다. 하지만 문제가 있습니다. 클라이언트가 도메인 (medellinlibre.org)이있는 내 서버가 LOCAL임을 알기 위해. 호스트 파일 IPDELSERVIDOR medellinlibre.org에 추가해야합니다. 그렇지 않은 경우 명백한 이유로 연결되지 않습니다. 내 질문은 네트워크의 모든 PC가 기본적으로이 도메인이 주어진 IP의 LAN에 있음을 알 수있는 방법이 없는지 여부입니다.
같은 의심! 마지막에 알고 계셨습니까 ?? 나는 운율로 시작합니다 ...
매우 간단합니다. pidgin에서 고급 옵션에서 서버의 IP를 지정하고 다른 옵션은 LAN에 DNS를 마운트하는 것입니다.
이 주제는 매우 흥미롭고 Prosody가 웹 소켓을 지원하는지 알고 싶었습니다. 저는 xmpp 웹 클라이언트를 만드는 데 관심이 있습니다.
당신은 이것을 볼 수 있습니다. http://code.google.com/p/xmppwebchat/
안녕하세요, 국내 인트라넷 전용으로 구성된 자습서 버전이 없습니까? 도메인이나 이와 유사한 것은 없습니다. 간신히 Liñux를 사용하는 한 대의 컴퓨터 만 서버가되고 다른 컴퓨터는 여기에 연결됩니다.
pidgin을 통해 인트라넷 컴퓨터간에 채팅을 할 수 있습니다.