1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
|
### Sie möchten Code beisteuern?
**...und wissen nicht, wie Sie anfangen sollen...**
- Hubzilla debuggen (php auf dem Webserver),
- Code für das Projekt beisteuern,
- optional - das alles von einer virtuellen Maschine aus zu tun
Diese Anleitung wurde für Debian (Wheezy) als virtuelle Maschine auf Lubuntu (Ubuntu 14.0) als Host getestet.
#### Installation einer virtuellen Maschine (KVM)
[Hier](https://wiki.debian.org/KVM) die Installationsanleitung für Linux Debian. Die Zusammenfassung:
1. KVM installieren
```
# apt-get install qemu-kvm libvirt-bin
```
1. füge dich der Gruppe libvirt hinzu
```
# adduser <deinBenutzer> libvirt
```
1. Installieren Sie die Benutzeroberfläche zur Verwaltung der virtuellen Maschinen
```
# apt-get install virt-manager
```
1. Laden Sie ein Betriebssystem herunter, das in der virtuellen Maschine laufen soll ([mini.iso](http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/mini.iso))
2. Starten Sie den Virt-Manager
- Erstellen Sie eine neue virtuelle Maschine (klicken Sie auf das Symbol)
- Wählen Sie Ihr Iso-Image (soeben heruntergeladen) als Installationsquelle
- optional: konfigurieren Sie die neue vm: ram, cpu's,...
- Virtuelle Maschine starten > Ergebnis: Linux Debian startet in einem neuen Fenster.
1. (optional) Vermeiden Sie Netzwerkfehler nach dem Neustart des Host-Betriebssystems
```
# virsh net-start default
# virsh net-autostart standard
```
#### Apache-Webserver installieren
Öffnen Sie ein Terminal und machen Sie sich zum root
```
su -l
```
Erstellen Sie die Standardgruppe für den Apache-Webserver
```
groupadd www-data
```
könnte bereits existieren
```
usermod -a -G www-data www-data
```
Prüfen Sie, ob das System wirklich auf dem neuesten Stand ist
```
apt-get update
apt-get upgrade
```
Optionaler Neustart der Dienste nach der Installation
```
reboot
```
Wenn Sie neu gestartet haben, machen Sie sich zum root
```
su -l
```
Installieren Sie Apache:
```
apt-get install apache2 apache2-doc apache2-utils
```
Öffnen Sie den Webbrowser auf dem PC und überprüfen Sie [localhost](localhost) Sollte Ihnen eine Seite wie „It works“ anzeigen
(Quelle http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#)
#### PHP, MySQL und phpMyAdmin installieren
##### PHP, MySQL
```
su -l
apt-get install libapache2-mod-php8.2 php8.2 php-pear php8.2-xcache php8.2-curl php8.2-mcrypt php8.2-xdebug
apt-get install php8.2-mysql
apt-get install mysql-server mysql-client
```
das mysql-Passwort eingeben und notieren
Optional, da es bereits während der phpmyadmin-Einrichtung aktiviert wurde
```
phpenmod mcrypt
```
##### phpMyAdmin
phpMyAdmin installieren
```
apt-get install phpmyadmin
```
Konfigurieren von phpmyadmin
- Wählen Sie apache2 aus (Tipp: benutzen Sie die Tabulator-Taste zum Auswählen)
- Datenbank für phpmyadmin mit dbconfig-common? konfigurieren: Wählen Sie Ja
(Quelle [http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#](http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#))
##### Aktivieren Sie Rewrite
Bei der Standardinstallation von Apache2 ist mod_rewrite bereits installiert. Um zu prüfen, ob dies der Fall ist, überprüfen Sie die Existenz von `/etc/apache2/mods-available/rewrite.load`
```
nano /etc/apache2/mods-available/rewrite.load
```
(Sie sollten den Inhalt finden: `LoadModule rewrite_module` `/usr/lib/apache2/modules/mod_rewrite.so`) Um mod_rewrite zu aktivieren und zu laden, führen Sie die restlichen Schritte aus. Erstellen Sie einen symbolischen Link in `/etc/apache2/mods-enabled`
```
cd /var/www
a2enmod rewrite
```
Öffnen Sie dann die folgende Datei und ersetzen Sie jedes Vorkommen von „`AllowOverride None`“ durch „`AllowOverride all`“.
```
nano /etc/apache2/apache2.conf
```
oder
```
gedit /etc/apache2/sites-enabled/000-default
```
Starten Sie schließlich Apache2 neu.
```
service apache2 restart
```
##### Testen Sie die Installation
```
cd /var/www
```
Erstellen Sie eine php-Datei, um die php-Installation zu testen
```
nano phpinfo.php
```
In die Datei einfügen:
```
<?php
phpinfo();
?>
```
(STRG+0, ENTER, STRG+X speichern)
Webbrowser auf dem PC öffnen und `http://localhost/phpinfo.php` ausprobieren (Seite zeigt Infos zu php)
phpMyAdmin mit der MySQL-Datenbank verbinden
```
nano /etc/apache2/apache2.conf
```
- CTRL+V... bis zum Ende der Datei
- Am Ende der Datei einfügen: (CTRL+0, ENTER, CTRL+X speichern)
```
Einfügen von /etc/phpmyadmin/apache.conf
```
Apache neu starten
```
/etc/init.d/apache2 neu starten
apt-get update
apt-get upgrade
reboot
```
phpMyAdmin
Webbrowser auf dem PC öffnen und `http://localhost/phpmyadmin` ausprobieren
(Quelle [http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#](http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#))
##### Erstelle eine leere Datenbank... die später von Hubzilla verwendet wird
öffne den Webbrowser auf dem PC und probiere `http://localhost/phpmyadmin`
Erstelle eine leere Datenbank, zum Beispiel mit dem Namen „red“. Erstelle einen Datenbankbenutzer, z.B. „red“. Erteile dem Benutzer „red“ alle Rechte für die Datenbank „red“.
Notieren Sie sich die Zugangsdaten (Hostname, Benutzername, Passwort, Datenbankname).
##### Forken Sie das Projekt auf github
Bitte folgen Sie den Anweisungen in der offiziellen [Dokumentation](http://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project) von git. Es ist eine gute Idee, das gesamte Handbuch zu lesen! Git unterscheidet sich in vielerlei Hinsicht von anderen Versionskontrollsystemen.
Jetzt sollten Sie
- ein Konto bei github.com erstellen
- fork `https://framagit.org/hubzilla/core`
- fork `https://framagit.org/hubzilla/addons`
Wenn Sie GIT nicht von der Kommandozeile aus benutzen wollen - es gibt ein nützliches Eclipse-Plugin namens „Eclipse Mylyn to GitHub connector“.
#### Installieren Sie Hubzilla und seine Addons
##### Git auf Ihrem Computer / vm
Sie sollten ein Konto auf GitHub erstellt und die Projekte geforkt haben, bevor Sie fortfahren.
Löschen Sie das Verzeichnis www
```
rm -R www/
```
Installieren Sie git (und optional git-gui, eine Client-Gui)
```
apt-get install git git-gui
```
##### Hubzilla und Addons herunterladen
Laden Sie das Hauptprojekt hubzilla und hubzilla-addons herunter
```
git clone https://github.com/yourname/hubzilla www
cd www/
git clone https://github.com/yourname/hubzilla-addons addon
```
Erstelle diesen zusätzlichen Ordner
```
mkdir -p „store/[data]/smarty3“
```
Erstellen Sie .htconfig.php und machen Sie sie für den Webserver schreibbar
```
touch .htconfig.php
chmod ou+w .htconfig.php
```
Machen Sie den Benutzer www-data (Webserver) zum Eigentümer aller Projektdateien
```
cd ..
chown -R www-data:www-data www/
```
Fügen Sie sich selbst („surfer“ in diesem Beispiel) zur Gruppe www-data hinzu. Warum das? Wenn Sie später Dateien in eclipse oder einem anderen Editor bearbeiten wollen.
Dann machen Sie alle Dateien für die Gruppe www-data, in der Sie jetzt Mitglied sind, schreibbar.
```
cd www/
usermod -G www-data surfer
chmod -R g+w www/
```
Starten Sie den Computer (oder vm) neu
Wenn Sie immer noch nicht in der Lage sind, die Projektdateien zu ändern, können Sie die Mitglieder der Gruppe www-data überprüfen mit
```
cat /etc/group
```
##### Melden Sie sich als Admin an
Öffnen Sie `http://localhost` und starten Sie die Matrix
Bevor Sie einen ersten Benutzer registrieren, schalten Sie die Registrierungsmails aus. Öffnen Sie `/var/www/.htconfig.php` und stellen Sie sicher, dass in dieser Zeile „0“ gesetzt ist
```
App::$config['system']['verify_email'] = 0;
```
Sie sollten in der Lage sein, die Datei als „Sie selbst“ zu ändern (anstelle von root oder www-data).
##### Cron und der Poller
Wichtig! Lassen Sie den Poller laufen, um die jüngsten „öffentlichen“ Beiträge Ihrer Freunde zu erfassen. Richten Sie einen Cron-Job oder eine geplante Aufgabe ein, um den Poller alle 5-10 Minuten laufen zu lassen, um die jüngsten „öffentlichen“ Beiträge Ihrer Freunde zu erfassen
```
crontab -e
```
Fügen Sie hinzu.
```
*/10 * * * * cd /var/www/; /usr/bin/php include/poller.php
```
Wenn du den Pfad zu PHP nicht kennst, gib ein
```
which php
```
#### Debuggen Sie den Server über eclipse
##### Überprüfen Sie die Konfiguration von xdebug
Sie sollten xdebug bereits in den vorhergehenden Schritten installiert haben
```
apt-get install php-xdebug
```
Xdebug konfigurieren
Öffnen Sie Ihr Terminal und geben Sie als root (su -l)
```
gedit /etc/php/mods-available/xdebug.ini
```
Wenn die Datei leer ist, versuchen Sie es an dieser Stelle
```
gedit /etc/php/conf.d/xdebug.ini
```
Dieser Befehl sollte den Texteditor gedit mit der Xdebug-Konfigurationsdatei öffnen Am Ende des Dateiinhalts fügen Sie den folgenden Text ein
```
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
```
Speichern Sie die Änderungen und schließen Sie den Editor. Geben Sie in Ihr Terminal ein, um den Webserver neu zu starten.
```
service apache2 neustart
```
##### Eclipse installieren und Debugging starten
Installieren Sie Eclipse. Starten Sie Eclipse mit dem Standard-Arbeitsbereich (oder wie Sie möchten)
Installieren Sie das PHP-Plugin Menü > Hilfe > Neue Software installieren... Installieren Sie „PHP-Entwicklungswerkzeuge ...“
Optional - Installieren Sie das GitHub Connector Plugin Menü > Hilfe > Neue Software installieren... Installieren Sie „Eclipse Mylyn zu GitHub Connector“.
Konfigurieren Sie das PHP-Plugin Menü > Fenster > Präferenzen...
> Allgemein > Webbrowser > Ändern Sie auf „Externen Webbrowser verwenden“ PHP > Debug > Debug-Einstellungen > PHP Debugger > Ändern Sie auf „XDebug“.
Erstellen Sie ein neues PHP-Projekt Menü > Datei > Neues Projekt > Wählen Sie PHP > „PHP-Projekt“.
> Wählen Sie „Projekt an bestehendem Ort erstellen“ und „/var/www“.
Debugging starten Öffnen Sie index.php und „Debuggen als...“. Wählen Sie als Start-URL: „`http://localhost/`“
Erwartet:
- Der Webbrowser startet
- Der Debugger wird bei der ersten php-Zeile anhalten
#### Stellen Sie Ihre Änderungen über github zur Verfügung
##### Vorbereitungen
Es gibt eine entsprechende Seite in dieser Dokumentation: [zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl]. Wie bereits erwähnt, ist es empfehlenswert, die offizielle Dokumentation [GitHub-Contributing-to-a-Project](http://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project) von Git zu lesen.
Eclipse hat ein nützliches Plugin für GIT: „Eclipse Mylyn to GitHub connector“.
Stellen Sie sicher, dass Sie Ihre Daten eingestellt haben
```
git config --global user.name „Ihr Name“
git config --global user.email „your@mail.com“
```
##### Dein erster Beitrag
Erstelle einen beschreibenden Themenzweig
```
git checkout -b dev_beginning
```
Stellen Sie sicher, dass Ihr lokales Repository mit dem Hauptprojekt auf dem neuesten Stand ist. Fügen Sie das ursprüngliche Repository als Remote-Repository mit dem Namen „upstream“ hinzu, falls noch nicht geschehen
```
git remote add upstream https://framagit.org/hubzilla/core/
```
Holen Sie sich die neueste Arbeit von dieser Remote
```
git fetch upstream
git merge upstream/master
```
Tipp: Sie können die Zweige auflisten
```
git branch -v
```
Nehmen Sie Ihre Änderungen vor. In diesem Beispiel ist es eine neue Doc-Datei.
Prüfen Sie Ihre Änderungen
```
git status
```
Fügen Sie die neue Datei hinzu (stage)
```
git add doc/dev_beginner.bb
```
Übertragen Sie die Änderungen in Ihren lokalen Zweig. Dadurch wird ein Editor geöffnet, um eine Nachricht zu übermitteln.
```
git commit -a
```
Pushen Sie online zurück in den gleichen Themenzweig
```
git push
```
Nun können Sie zu Ihrem (Online-)Konto bei github gehen und den Pull Request erstellen.
##### Folgende Beiträge
Für den Fall, dass die Hauptentwickler wollen, dass du etwas änderst. Holen Sie sich die neueste Arbeit aus dem entfernten Upstream/Master, um sicher zu sein, dass Sie die neuesten Änderungen haben.
```
git fetch upstream
git merge upstream/master
```
Nehmen Sie Ihre Änderungen vor, testen Sie sie, committen Sie (in das lokale Repository), pushen Sie (in das Online-Repository)
```
git status
git commit -a -m „Änderung des Zweigs hinzugefügt“
git push
```
|