eclipse
SVN: Nach einem Commit automatisch die Webseite aktualisieren (Post-Commit Hook)
Freitag, 23.07.2010Bei SVN Projekten werden die Änderungen der Entwickler & Programmierer regelmäßig von deren lokaler Kopie in das entsprechende SVN Repository committed (= gesichert / gespeichert).
Bei diesem “Committen” können Sie Ihren SVN Server anweisen, sofort die Änderungen auf einen WebServer zu kopieren und dadurch stets die aktuellste Version zum Testen vorzuhalten.
Zuerst müssen Sie die Grundlage für spätere Updates schaffen … einen grundlegenden Export des aktuelles Repositories:
svn export http://yourDomain.com/svn/YourProject /path/to/webserver/
Wenn das WebServer verzeichnis (hier: “/path/to/webserver/”) bereits existiert und jetzt für den Export überschrieben werden soll, dann müssen die die Option “–force” an den Befehl anhängen:
svn export http://yourDomain.com/svn/YourProject /path/to/webserver/ --force
Nun richten Sie die Update-Automatik ein:
- Dafür gehen Sie in das “hooks” Verzeichnis Ihres Projektes auf dem SVN Server
- Kopieren Sie sich die Vorlage für den “post-commit” Hook:
cp post-commit.tmpl post-commit
- Bearbeiten Sie die Datei “post-commit”
nano post-commit
- Fügen Sie folgende Befehle ein:
1 2
cd /path/to/webserver/ svnlook dirs-changed [REPOS] -r [REV] | xargs /usr/bin/svn up -N
Hinweis:
Dieses Vorgehen ist (meist) nur für lokale Produktions- und Test-Webserver zu empfehlen. Bei Live-Systemen können auch kleine Fehler in der Entwicklung zu fatalen Problemen führen, da diese sofort online für jeden Besucher sichtbar wären.
SVN: Die .svn Ordner rekursiv aus den Verzeichnissen löschen
Dienstag, 16.02.2010Wenn Sie SVN Projekte betreiben und die lokalen Verzeichnisse kopieren oder weitergeben möchten, dann stören häufig die .svn Folder (Ordner) in jedem einzelnen Unterverzeichnis.
Um diese einfach und schnell zu löschen, legen Sie sich eine Batchdatei mit folgendem Inhalt an:
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q %%G
Direkt auf der Kommandozeile ausgeführt, funktioniert der Befehl leider (meist) nicht.
Um in der Kommandozeile direkt die Batchdatei (hier: “delete_svn.bat”) anzulegen, nutzen Sie folgende Befehle:
copy con delete_svn.bat
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q %%G
^Z
Danach finden Sie im aktuellen Verzeichnis die “delete_svn.bat” und können Sie ausführen.
Achtung:
Die .SVN Ordner werden ohne Rückfrage sofort und rekursiv gelöscht, d.h. auch alle .SVN Ordner in allen Unterverzeichnissen des aktuellen Orderns werden gelöscht.
Sollte das Script mit einem Fehler “” beendet werden, bitte die Anführungszeichen im Befehl entsprechend ändern (z.Bsp. von ” zu ‘ ).
In Linux funktioniert der folgende Befehl:
rm -rf `find . -type d -name .svn`
Wenn SVN plötzlich streikt
Donnerstag, 14.01.2010Wenn Sie Ihr SVN u.a. auch für die automatische Versionsverteilung nutzen (Stichwort “post-commit”) und dieser Dienst plötzlich nicht mehr läuft, nutzen Sie folgende Möglichkeiten für die Analyse bzw. Lösung:
Logging des post-commit hooks
- Öffnen Sie die entsprechende Scriptdatei
Beispiel:
vi /srv/svn/example/hooks/post-commit - Ergänzen Sie die Datei entsprechend diesem Beispiel:
#!/bin/sh
echo `date` " Start SVN post-commit" >> /var/log/svn.log
whoami >> /var/log/svn.log
svn update /srv/htdocs/example --username x --password y >> /var/log/svn.log 2>&1
echo `date` " End SVN post-commit" >> /var/log/svn.log
In diesem Beispiel wird u.a. der Zeitstempel und der Benutzername des ausführenden Benutzers gespeichert - Legen Sie die angegebene Logdatei an:
touch /var/log/svn.log - Setzen Sie die passende Berechtigung:
chmod 777 /var/log/svn.log
Natürlich sollte später die exakte Berechtigung für den richtigen Benutzer gesetzt werden. Für die Analyse ist die komplette Freigabe jedoch besser - Committen Sie eine Änderung in Ihrem System und prüfen Sie anschließend die Logdatei
Beispiel:
Thu Jan 14 21:44:43 CET 2010 Start SVN post commit
wwwrun
U /srv/htdocs/example/test/index.php
Updated to revision 1064.
Thu Jan 14 21:44:44 CET 2010 Ende SVN post commit
Häufiger Fehler bei post-commit Problemen
Sehr häufig finden Sie z.Bsp. die folgende Fehlermeldung in Ihrem Log:
Thu Jan 14 21:43:42 CET 2010 Start SVN post commit
wwwrun
svn: Can't convert string from native encoding to 'UTF-8':
svn: empf?\195?\164nger.bmp
Thu Jan 14 21:43:43 CET 2010 Ende SVN post commit
In diesem Beispiel wurde versucht, eine Datei “empfänger.bmp” im Trunk zu speichern. Aufgrund der Sprachdefinition in “locale”:
LC_CTYPE=de_DE.UTF-8
konnte SVN mit dem Umlaut “ä” nicht viel anfangen und versuchte das Zeichen zu konvertieren. Den dadurch entstandenen Dateinamen konnte das System nicht erkennen.
Lösungsvorschlag 1
- Benennen Sie (im o.a. Beispiel) die Datei um in “empfaenger.bmp”
- Lösen Sie den post-commit Hook manuell aus:
sudo -u wwwrun /srv/svn/example/hooks/post-commit - Das SVN sollte wieder normal funktionieren
Lösungsvorschlag 2
- Führen Sie folgenden Befehl aus:
export LC_CTYPE=en_US.UTF-8 - Überprüfen Sie Ihre “locale” Umgebung:
locale - Nun sollten Sie u.a. den folgenden Eintrag sehen:
LC_CTYPE="en_US.UTF-8"
Linux: Eclipse mit SVN installieren
Donnerstag, 29.10.20091. Schritt
Laden Sie sich Eclipse herunter. Unter www.eclipse.org/downloads/packages/release/ganymede/sr2 finden Sie unterschiedliche Versionen.
Dieses Beispiel basiert auf Eclipse for PHP Devlopers (aktuell ca. 151 MB) für ein 32bit Linux: eclipse-SDK-3.4.2-linux-gtk.tar.gz
2. Schritt
Entpacken Sie das heruntergeladene Archiv auf Ihre Festplatte. Für Windows-Systeme empfehlen wir das ZIP Archiv-Format, da Windows heute bereits eingebaute Entpackfunktionen (Dekomprimierung) anbietet. Klicken Sie dafür mit der rechten Maustaste auf die heruntergeladene Datei und wählen Sie ???.
In unserem Beispiel (Linux/openSuse) entpackten wir das tar.gz Format:
tar xzf eclipse-SDK-3.4.2-linux-gtk.tar.gz
Die entpackten Dateien finden Sie im automatisch erstellen Verzeichnis “eclispe”. Damit auch ggf. andere Benutzer auf unserem System Eclipse nutzen können, sollten wir die Software in ein anderes Verzeichnis kopieren:
mv eclipse /usr/bin/
Bei Windows verschieben wir das erhaltene Eclipse-Verzeichnis in den Ordner “C:\Programme”.
3. Schritt
Starten Sie Eclipse. Unter Windows klicken Sie doppelt auf die “eclipse.exe” im Ordner “C:\Programme\eclipse\”. Unter Linux geben Sie folgenden Befehl ein:
/usr/bin/eclipse/eclipse &
4. Schritt
Legen Sie das Workspaceverzeichnis fest. Diese Angabe können Sie später ändern – jedoch ist das meist mit Aufwand und kleineren Problemen verbunden. In diesem Beispiel (unter Linux) habe ich “/home/benutzername/workspace” verwendet.
Der Willkommenbildschirm von Eclipse wird angezeigt. Dort den rechten Pfeil wählen “Workbench”.
5. Schritt
Eclipse selbst ist bereits einsetzbar. Es fehlt uns jetzt noch das SVN Plugin:
- Window
- Preferences
- Install/Updates > Available Software Sites
- In das obere Textfeld (Filter) “subversive” eingeben
- Den angezeigten Eintrag anklicken und rechts auf “Enable” klicken
- Auf “Add”klicken
- Name = SVN Kit
Location = http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ - “OK” anklicken
- Help > Install New Software
- Aus der Liste “Work with” auswählen:
http://download.eclipse.org/technology/subversive/0.7/update-site/
- In der Fenstermitte wird eine Liste angezeigt. Dort folgenden Eintrag auswählen:
Subversive SVN Team Provider Plugin (Incubation) - “Next” anklicken, danach nochmal “Next”
- Vereinbarung akzeptieren und “Finish”
- Eclipse Neustart zulassen
- Help > Install New Software
- Aus der Liste “Work with” auswählen:
SVNKit – http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ - In der Fenstermitte wird eine Liste angezeigt. Dort die folgenden Untereinträge auswählen:
Subversive SVN Connectors
SVNKit 1.3.0 Implementation (Optional) - “Next” anklicken, danach “Finish”
- Ggf. Hinweismeldung bzgl. unzertifiziertem Content bestätigen
- Eclipse Neustart zulassen
- File > New > Other > Doppelklick auf “SVN” > Project from SVN
- URL des SVN Repositories angeben:
Beispiel:http://www.yourhelpcenter.de/svn/Projektname
- Benutzername und Passwort (falls notwendig) eingeben
- “OK”
Eclipse: Java Heap Error beheben (lösen)
Mittwoch, 07.01.2009Wenn Sie unter Eclipse größere Dateneien in ein Projekt laden (z.Bsp. via SVN), dann kennen Sie ggf. den “Java Heap Error”.
Um das Problem zu beheben, erhöhen Sie die Werte in Ihrer “eclipse.ini” wie im folgenden Beispiel angegeben:
-showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m -vmargs -Xms40m -Xmx512m
eclipse: Dateien online direkt per FTP bearbeiten
Samstag, 27.12.2008Wenn Sie Ihre Dateien online per eclipse bearbeiten bearbeiten möchten, dann kann ich Ihnen folgende Lösung empfehlen. Ich nutze diese kostenlose Möglichkeit seit einigen Monaten und bin sehr zufrieden.
- Laden Sie sich kostenlos die Freeware NetDrive herunter (ca. 8 MB)
- Installieren Sie die Software auf Ihrem PC (Starten Sie die NetDrive_SETUP.exe)
- Richten Sie in der NetDrive-Oberfläche eine Verbindung zu Ihrem FTP oder WebDAV Server ein
- Lassen Sie sich den gewünschten Ordner auf ein lokales Laufwerk mappen (verbinden)
- Unter eclipse können Sie nun das Projekt bzw. die Dateien bearbeiten als wären sie lokal verfügbar.
Die Software NetDrive übernimmt die Synchronisation (den Dateiabgleich) mit Ihrem FTP Server
Auf diese Weise können Sie bei anderen Programmen (z.Bsp. Dreamweaver) Ihre Daten online bearbeiten ohne jedes Mal die geänderten Dateien per FTP Programm auszutauschen.
Entwicklungsumgebung mit cakePHP, mySQL & Eclipse
Sonntag, 21.12.2008Benötigte Software (in Klammern die für diese Anleitung genutzte Version)
- XAMPP (1.6.8 – Win32, Basic Package)
- cakePHP (1.2.0.7945-rc4, Zip Archiv)
- Eclipse (3.4.1 Classic (Ganymede) – Windows, Zip Archiv)
Installation(en)
Sofern ich keine Angabe zu einem Bildschirm oder Schritt einer Software-Installation gemacht habe, übernehmen Sie einfach die vorgegebenen / angezeigten Einstellungen.
- XAMPP
- Starten Sie die “xampp-win32-1.6.8-installer.exe”
- Zielverzeichnis: “C:\xampp” (Standard)
- Am Ende wird angeboten, das Control Panel zu starten.
Wählen Sie “Ja” – Starten Sie jedoch noch kein Modul
- cakePHP
- Legen Sie im Verzeichnis “C:\xampp” einen neuen Unterordner “www” an
- Entpacken Sie das Archiv “cake_1.2.0.7945-rc4.zip” im neuen Order “www”
- Benennen Sie den erstellten Ordner um in “cakePHP”
Sie haben jetzt ein Verzeichnis “c:\xampp\cakePHP”.
In diesem finden Sie vier Ordner und u.a. die “index.php” - Gehen Sie in das Verzeichnis “C:\xampp\www\cakePHP\app\config”
- Öffnen Sie die Datei “core.php”
- Suchen Sie die folgende Zeile und ändern Sie den zweiten Parameter (“DYhG93..”) in eine andere willkürliche & zufällige Zeichenkette ab:
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi'); - Speichern Sie die Datei und schließen Sie den Editor
- Im gleichen Verzeichnis finden Sie die Datei “database.php.default”
- Kopieren Sie die Datei in “database.php” und öffnen Sie sie mit einem Editor
- Am Ende der Datei tragen Sie die Zugangsdaten für Ihren mySQL Server (s.u.) ein:
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'masterpwd',
'database' => 'cakePHP',
'prefix' => '',
);
Sicherheitshinweis:
Bitte nutzen Sie andere Passwörter. Ich verwende in meinem Beispiel stets “masterpwd” – ersetzen Sie es durch ein sicheres Passwort. Außerdem nutze ich in diesem Beispiel den Datenbankuser “root”. Wenn Ihre Entwicklungsumgebung nicht sicher oder geschützt ist, nutzen Sie bitte einen anderen Datenbankuser. Die Einrichtung und Einstellungen sind nicht Teil dieser Anleitung.
- Virtuellen Server unter Apache (XAMPP) konfigurieren
- Gehen Sie in das Verzeichnis “C:\xampp\apache\conf\extra”
- Öffnen Sie die Datei “httpd-vhosts.conf” mit einem Texteditor
- Entfernen Sie am Anfang der Datei die Kommentarzeichen (#) vor dieser Zeile:
NameVirtualHost *:80 - Fügen Sie am Ende der Textdatei die folgenden Zeilen hinzu:
<VirtualHost *:80> ServerAdmin webmaster@local DocumentRoot c:/xampp/htdocs ServerName localhost ErrorLog C:/xampp/apache/logs/error.log CustomLog C:/xampp/apache/logs/access.log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@cakePHP.local DocumentRoot c:/xampp/www/cakePHP/app/webroot <Directory c:/xampp/www/cakePHP/app/webroot> Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec DirectoryIndex index.php index.shtml index.html index.htm Order allow,deny Allow from all </Directory> ServerName cakePHP ErrorLog C:/xampp/apache/logs/cakePHP-error.log CustomLog C:/xampp/apache/logs/cakePHP-access.log common </VirtualHost> - Speichern Sie die Datei und schließen Sie den Editor
- Gehen Sie in das Verzeichnis “C:\windows\system32\drivers\etc”
- Öffnen Sie die Datei “hosts” mit einem Texteditor
- Fügen Sie am Ende der Datei folgende Zeile hinzu:
127.0.0.1 cakePHP - Speichern Sie die Datei und schließen Sie den Editor
- Apache (WebServer) starten
- In der unteren rechten Bildschirmecke finden Sie neben der Uhr ein oranges “X” Symbol.
Klicken Sie es einmal mit der linken Maustaste an. Das XAMPP Control Panel öffnet sich. - Klicken Sie hinter “Apache” auf den “Start” Button
Nach wenigen Sekunden wird vor dem Button der grüne Text “Running” erscheinen.
Gut gemacht: Ihr WebServer läuft !
- In der unteren rechten Bildschirmecke finden Sie neben der Uhr ein oranges “X” Symbol.
- mySQL & phpMyAdmin konfigurieren (Datenbank & -administration)
- Klicken SIe auf “Start” hinter “MySQL”
- Nach wenigen Sekunden wird vor dem Button der grüne Text “Running” erscheinen
- Ändern Sie das Masterpasswort Ihres mySQL Servers:
Dafür führen Sie folgenden Befehl aus (drücken Sie dafür die Windowstaste + “R” zusammen):
c:\xampp\mysql\bin\mysqladmin --user=root --password= password masterpwd
Wählen Sie bitte ein anderes (sichers) Passwort und ersetzen Sie “masterpwd” an Ende der Zeile durch Ihr Passwort. - Gehen Sie in das Verzeichnis “C:\xampp\phpMyAdmin” und öffnen Sie die Datei “config.inc.php”
- Tragen Sie Ihr Passwort in die folgende Zeile ein (die Hochkommata sind wichtig):
$cfg['Servers'][$i]['password'] = 'masterpwd'; - Speichern Sie die Datei und schließen Sie den Editor
- Starten Sie Ihren Browser (z.Bsp. Mozilla Firefox) und öffnen Sie folgende Seite:
http://localhost/phpmyadmin/ - Wieder gut gemacht: Ihr Datenbankserver läuft !
- Legen Sie eine neue Datenbank an:
In der mittleren Spalte geben Sie unter “Neue Datenbank anlegen” den Namen “cakePHP” in das Textfeld ein und klicken auf “anlegen”
- cakePHP testen
- Öffnen Sie in Ihrem Browser die URL “http://cakePHP“
- Ihnen wird die Standardseite von cakePHP angezeigt.
Dabei zeigen Ihnen die vier grünen Bereiche die notwendigen (und erfüllten) Voraussetzungen an.
Ihre cakePHP Installation ist jetzt vollständig einsetzbar. Die Installation und Konfiguration von Eclipse bringt Ihnen jedoch einen vielseitigen und optimalen Editor für Ihre neuen (php) Webseiten. Die Codevervollständigung, PHP Syntaxprüfung und weitere Features unterstützen Sie bei der Entwicklung Ihrer Internetseiten.
Bei dieser Anleitung habe ich die Eclipse Classic Version gewählt. Je nach Wunsch können Sie aber auch andere (auf der Eclipse Download Seite angezeigte) Versionen nutzen.
- Eclipse installieren (optional)
- Entpacken Sie das Archiv “eclipse-SDK-3.4.1-win32.zip”.
In dem erhaltenen Verzeichnis “eclipse-SDK-3.4.1-win32″ finden Sie den Ordner “eclipse”. - Kopieren Sie diesen “eclipse” Ordner in das Verzeichnis “C:\xampp” hinein.
Sie haben jetzt ein Verzeichnis “C:\xampp\eclipse”. - Dort finden Sie die Anwendung “eclipse.exe”, die Sie bitte starten
- Sie werden nach Ihrem gewünschten “Workspace” gefragt:
Wählen Sie als Verzeichnis bitte “C:\xampp\www” - Beim ersten Start von Eclipse wird Ihnen die Startseite angezeigt.
Dort klicken Sie auf das rechte Symbol (“Workbench”).
Sie sehen jetzt den Arbeitsbereich Ihrer Eclipse Installation
- Entpacken Sie das Archiv “eclipse-SDK-3.4.1-win32.zip”.
Eclipse ist jetzt bereits voll einsetzbar. Damit Ihnen die Arbeit mit PHP aber leichter fällt und alle gewünschten Zusatzfunktionen zur Verfügung stehen, muss die PHP Erweiterung installiert werden:
- Eclipse: PHP Erweiterung (Plugin) installieren
- Klicken Sie in Eclipse auf den Menüpunkt “Help” und dann auf “Software Updates …”
- Wählen Sie den Reiter “Available Software” aus
- Klicken Sie dort auf den Button “Add Site” und geben Sie die folgende URL ein:
http://update.phpeclipse.net/update/stable/1.2.x
- Die neuen Quellen werden in der Softwareliste angezeigt
- Aktivieren Sie die beiden Einträge
http://phpeclipse.sourceforge.net/ [...] und
http://update.phpeclipse.net/ [...] - Klicken Sie auf “Install”
- In der Übersicht klicken Sie auf “Next”
- Lesen Sie die Lizenzbedinungen, stimmen Sie zu und klicken Sie auf “Finish”
Die aktuellen Updates für Eclipse und das PHP Plugin werden jetzt installiert - Am Ende der Installation wird Ihnen der Neustart von Eclipse angeboten.
Stimmen Sie zu
Alle Programme und Erweiterungen sind nun fertig installiert. Sie können mit der Arbeit an Ihren Webseiten beginnen:
- Ihr cakePHP Projekt (s.o.) in Eclipse öffnen
- Wählen Sie in Eclipse den Menüpunkt “Window”, dann “Open Perspective” und jetzt “Other”
- Klicken Sie doppelt auf den Listeneintrag “PHP”.
Ihre Arbeitsfläche hat sich nun an PHP angepasst - Im linken Bereich (“Navigator”) drücken Sie die rechte Maustaste, wählen “New” und “PHP Projekt”
- Als Projektnamen geben Sie “cakePHP” ein und klicken auf “Finish”
- Ihnen wird ein neuer Eintrag im Navigator angezeigt: Ihre cakePHP Installation
Fertig.
Eclipse: Outline Anzeige ist leer
Donnerstag, 27.11.2008Wenn in Eclipse bei PHP Dateien die Outlineansicht nicht gefüllt wird, wurde das Projekt meist nicht als PHP Projekt angelegt.
Lösung:
Speichern Sie alle Dateien ab und schließen Sie ggf. offene Dateien in Eclipse. Laden Sie Ihr Projekt neu als “PHP Projekt” und in Outline werden die Funktionen, Klassen, Include Dateien und Konstanten angezeigt.