· 7 years ago · Apr 09, 2018, 09:52 PM
1Installation des Plugins
2Push++ Neu
3
4Push++ ist ein Push Server, der zur Nutzung keine zusätzlichen Systeme oder Server benötigt. Sprich: Kein Java oder Javascript.
5Per SSH auf den Server anmelden und folgende Commands ausführen
6
7 cd /pfad/zum/wcf/acp/pushXX/
8 chmod +x install.sh
9 chmod +x uninstall.sh
10 ./install.sh
11
12Secret Key kopieren und in die Konfiguration einfügen
13
14 Ins ACP gehen und in den Optionen/Konfiguration die Kategorie Push++ auswählen und dort den Secret Key suchen und in die zwischen Ablage kopieren
15 Die Datei /etc/pushxx.conf bearbeiten und den Secret Key einfügen
16
17Anpassung der Pushxx Konfiguration
18Code
19
20 #
21 # The IPv4 address the server should listen on.
22 # This affects the web socket and the HTTP server.
23 # Only listen on your public address if you know what you do. You have been warned!
24 #
25 bind_address = 127.0.0.1
26
27Hier euere IP Eintragen auf welche IP der Socket Server hören soll, bitte nur verändern wenn Ihr wisst was Ihr macht.
28Am besten immer auf 127.0.0.1 hören lassen, dann ist der Server nicht von aussen erreichbar sondern nur im Lokalen Netzerwerk.
29Code
30
31 #
32 # Log file. Will be created if not existing.
33 # Make sure the push user has write permission to this location
34 # or you have to pre-create the log file and set permissions accordingly.
35 #
36 log_path = /var/log/push.log
37
38Ausgabe des Push-Servers in eine Log Datei. Bitte immer einen Absoluten Pfad angeben.
39Code
40
41 #
42 # The port to listen on for web requests from the WSC/WCF plugin.
43 # Default: 8082
44 #
45 server_port = 8082
46
47Dies ist der Port mit dem sich das WSC/WCF, um Nachrichten die an die Benutzer verteilt werden sollen, verbindent.
48Dieser Port sollte nur im Lokalen Netzwerk erreichbar sein.
49Code
50
51 #
52 # The port to listen on for web socket connections.
53 # Configure your proxy (Nginx/Apache with mod_wstunnel) to forward connections to this port.
54 # Default: 8081
55 #
56 socket_port = 8081
57
58Dies ist der Websocket Port, dieser wird für den Revers Proxy benötigt. Und kann hier auf einen freien Port geändert werden.
59Code
60
61 #
62 # Enable Verbose logging
63 #
64 # Set this to true if you want to enable debug logging.
65 # This is useful if you are are a plugin developer and want to test your plugin with Push++
66 #
67 verbose = false
68
69Hier kann angegeben werden ob ein ausführlicher Log ausgegeben wird, nur für Debugging gedacht.
70Bitte nur folgende Werte Eintragen. true oder false
71Code
72
73 #
74 # The secret key to authenticate requests from the WSC/WCF plugin.
75 # Open the configuration page of the plugin to get your secret key.
76 # The sever process may not start if this value is not set correctly.
77 #
78 secret_key =
79
80Hier muss euer Secret Key aus dem ACP eingetragen werden. Sollte keiner hinterlegt wurden sein, startet der Push Server nicht.
81Den Reverse Proxy konfigurierenA
82
83 Apache
84 In dem Ordner gibt es eine apache.example.conf Datei, in dieser steht die Standard Konfiguration für den Apache die in die passenden VirtualHost eingetragen werden muss.
85 Hier eine Beispiel Konfiugration für euren vHost.
86
87
88 Code
89 <virtualhost *:80>
90 ServerName www.eure-domain.de
91 DocumentRoot /var/www/html
92 .
93 .
94 .
95 ProxyPreserveHost on
96 ProxyPass "/socket" "ws://127.0.0.1:8081"
97 ProxyPassReverse "/socket" "ws://127.0.0.1:8081"
98 </virtualhost>
99 #For SSL
100 <virtualhost *:443>
101 ServerName www.eure-domain.de
102 DocumentRoot /var/www/html
103 SSLEngine on
104 SSLCertificateFile /path/to/www_yoursite_com.crt
105 SSLCertificateKeyFile /path/to/www_yoursite_com.key
106 SSLCertificateChainFile /path/to/DigiCertCA.crt
107 .
108 .
109 .
110 ProxyPreserveHost on
111 ProxyPass "/socket" "ws://127.0.0.1:8081"
112 ProxyPassReverse "/socket" "ws://127.0.0.1:8081"
113 </virtualhost>
114 Alles anzeigen
115 Nginx
116 In dem Ordner gibt es eine nginx.example.conf Datei, diese muss in dem Server block eingetragen werden für die passende Domain.
117 Hier ein Beispiel wie diese Eingetragen werden soll
118
119
120 Code
121 server {
122 listen 443 ssl http2;
123 listen [::]:443 http2 ssl;
124 server_name www.eure-domain.de eure-domain.de;
125 index index.html index.htm index.php;
126 .
127 .
128 .
129 root /var/www/html/;
130 location /{
131 try_files $uri $uri/ @rewrite;
132 }
133 location /socket {
134 proxy_set_header Upgrade $http_upgrade;
135 proxy_set_header Connection "upgrade";
136 proxy_http_version 1.1;
137 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
138 proxy_set_header Host $host;
139 proxy_pass http://127.0.0.1:8081/$is_args$args;
140 proxy_read_timeout 86400s;
141 proxy_send_timeout 86400s;
142 proxy_redirect off;
143 }
144 location ~ [^/]\.php(/|$) {
145 fastcgi_split_path_info ^(.+?\.php)(/.*)$;
146 if (!-f $document_root$fastcgi_script_name) {
147 return 404;
148 }
149 fastcgi_read_timeout 120;
150 fastcgi_send_timeout 120;
151 fastcgi_keep_conn off;
152 fastcgi_pass php;
153 fastcgi_param SCRIPT_FILENAME
154 $document_root$fastcgi_script_name;
155 fastcgi_index index.php;
156 include /etc/nginx/fastcgi_params;
157 }
158 }
159 Alles anzeigen
160 Bitte beachten, sollten Änderungen an der Port Konfiguration vorgenommen wurden bitte ebenfalls dort ändern.
161
162Der Pfad /socket kann Individuell angepasst werden, muss jedoch dann in den Optionen auch so eingetragen werden.
163Sobald der Pfad im Webeserver hinterlegt wurde, muss dieser auch in den Optionen im ACP hinterlegt werden. Dafür eurer Domain und dann den gewählten Pfad für die Server Konfiguration eintragen.
164wss://www.eure-domain.de/socket, bittet beachtet das eure Protokoll immer mit wss:// oder ws:// anfängt.
165Und solltet Ihr euren Pfad zum Socket geändert haben, muss hier auch ein andere Eingetragen wurden sein.
166Dann noch zum Schluss euren Backend Push Server URL hinterlegen, sollte der Server Lokal sein einfach http://127.0.0.1:8082 oder aber auch http://localhost:8082 davor schreiben, solltet Ihr den Port geändert haben natürlich auch hier den richtigen Port eintragen
167Am ende sollte diese Konfiguration im ACP etwa so aussehen