Banner - Blog zu den Themen Programmierung, SEO, SEM, Social Media, Internet Marketing, Webdesign, IT-Service und Mehr - SEO Hannover - IT-Dienstleistungen und SEO Agentur Fly2Mars-Media.de

Archiv

Archiv für die Kategorie ‘Server’

Alle lokalen Änderungen per svn revert zurück setzen

Mit dem folgenden Command könnt ihr alle lokal geänderten Dateien inkl. Unterordner reverten (leider fehlt dem SVN-Command dafür eine Option):

svn st -q | awk ‘{print $2;}’ | xargs svn revert

KategorienServer, SVN Tags: , , ,

Memchache per Telnet löschen / leeren

Den Memcache des Apache könnt ihr wie folgt über Telnet Verbindung leeren/löschen/aktualisieren:

Connected euch zum telnet server und dem memcache port:

telnet localhost 11211

Wenn ihr erfolgreich connected wurdet, erhaltet ihr die Meldung “Connected to localhost.”

Danach einfach ein

flush_all

und mit

quit

wieder telnet beenden. Schon sollte alles “schön” sein! :-)

redirect mobile clients with mod_rewrite

If you want redirect mobile clients to an own domain, you can do this about the .htaccess file with the following code:

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_HOST} !^.mobile\.domain\.de$
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
 RewriteCond %{HTTP_USER_AGENT} "!(macintosh|ipad)" [NC]
 RewriteRule ^(.*)$ http://mobile.domain.de/ [L,R=302]
</IfModule>

XDebug auf Zend Server CE (Community Edition) unter Windows einrichten (mit PHP 5.2)

zend logoZwar ist ZendDebugger beim Zend-Server integriert, allerdings habe ich ihn mit phpStorm nicht zum laufen bekommen, von d.h. hier ein kurzes HowTo wie ihr xDebug in ZendServer integrieren könnt:

Ladet die Datei php_xdebug-2.1.1-5.2-vc6-nts.dll (ggf. höhere Version, nts-version ist für die non-thread-saved apache – version … phpinfo erkennt ihr welche Version ihr benötigt, alternativ testen ;-) von http://xdebug.org/files/ und packt sie in das entsprechende Verzeichnis, z.b. C:\Program Files\Zend\ZendServer\lib\phpext

Wenn ihr XDebug einsetzt, müsst ihr vorher den Zend Debugger deaktiviert, das geht über die Zend-Server Adminoberfläche wie folgt::

  1. Login auf der Benutzeroberfläche: http://localhost/ZendServer
  2. zum Reiter Server Setup wechseln
  3. Den Zend Debugger durch Klick auf den Button Turn off deaktivieren
  4. PHP neu starten (Button rechts unten)

Jetzt noch in der php.ini xdebug einbinden (liegt unter C:\Programme\Zend\ZendServer\etc):

zend_extension=”C:\Program Files\Zend\ZendServer\lib\phpext\php_xdebug-2.1.1-5.2-vc6-nts.dll”
zend_extension=”C:\Program Files\Zend\ZendServer\lib\ZendExtensionManager.dll”

Achtung: ZendExtensionManager.dll darf nur nach der php_xdebug.dll eingebunden werden!

Jetzt noch Server neu starten und xdebug sollte verfügbar sein. Prüft dazu die phpinfo ob xdebug dort auftaucht!

ZendServer CE: Pear konfigurieren & phpUnit installieren – Debug

Nach der Installation von Zend Server CE ist PEAR erst mal nicht einsatzbereit.
Konfigurieren lässt sich PEAR ganz einfach über den Aufruf der Datei …\ZendServer\bin\go-pear.bat (mit Admin-Rechten ausführen).

Startet die PEAR_ENV.reg (liegt ebenfalls unter …\ZendServer\bin\)!

Danach könnt ihr PHPUnit direkt über PEAR nach installieren, einfach im selben Ordner mit den Kommandos:
pear upgrade pear
pear channel-discover components.ez.no
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com

pear install –alldeps phpunit/PHPUnit

Taucht eine Fehlermeldung ähnlich:

Failed to download pear/HTTP_Request2 within preferred state “stable”, latest re
lease is version 2.0.0RC1, stability “beta”, use “channel://pear.php.net/HTTP_Request2-2.0.0RC1″ to install
install failed

so wechselt den Status mit pear config-set preferred_state beta und start die installation erneut!

Taucht ein Fehler ähnlich dem folgenden auf:

C:\Program Files\Zend\ZendServer\bin>pear install pear/XML_RPC2
SECURITY ERROR: Will not write to C:\Users\User\AppData\Local\Temp\pear\cache\
b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid as it is symlinked to C:\Users\dani
el\AppData\Local\Temp\pear\cache\b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid -
Possible symlink attack
install failed

Löscht einfach den Cache-Ordner! ;-)

How to ignore files in a directory under subversion control

# ---------------------------------------------------------------------
#      Ignore all the .txt files in the /trunk/Blah/ directory
# ---------------------------------------------------------------------
# Go to the directory
cd trunk/Blah/              # The directory with the files
# Start editing the properties for the current directory
svn propedit svn:ignore .   # Opens an editor (SVN_EDITOR, EDITOR)
# Add the following value with a new line, save, and exit:
*.txt
# See that things worked
svn propget svn:ignore .    # So you can see the properties
svn status --no-ignore      # You should see an 'I' next to the ignored files
# Commit
svn commit -m "New Ignores" # You must commit the new property change

Overview: svn status codes / svn stat

Overview about svn status codes (after typing of svn stat):

Name

svn status — Print the status of working copy files and directories.

Synopsis

svn status [PATH...]

Description

Print the status of working copy files and directories. With no arguments, it prints only locally modified items (no repository access). With --show-updates, add working revision and server out-of-date information. With --verbose, print full revision information on every item.

The first five columns in the output are each one character wide, and each column gives you information about different aspects of each working copy item.

The first column indicates that an item was added, deleted, or otherwise changed.

‘ ‘
No modifications.

‘A’
Item is scheduled for Addition.

‘D’
Item is scheduled for Deletion.

‘M’
Item has been modified.

‘C’
Item is in conflict with updates received from the repository.

‘X’
Item is related to an externals definition.

‘I’
Item is being ignored (e.g. with the svn:ignore property).

‘?’
Item is not under version control.

‘!’
Item is missing (e.g. you moved or deleted it without using svn). This also indicates that a directory is incomplete (a checkout or update was interrupted).

‘~’
Item is versioned as a directory, but has been replaced by a file, or vice versa.

The second column tells the status of a file’s or directory’s properties.

‘ ‘
No modifications.

‘M’
Properties for this item have been modified.

‘C’
Properties for this item are in conflict with property updates received from the repository.

The third column is populated only if the working copy directory is locked.

‘ ‘
Item is not locked.

‘L’
Item is locked.

The fourth column is populated only if the item is scheduled for addition-with-history.

‘ ‘
No history scheduled with commit.

‘+’
History scheduled with commit.

The fifth column is populated only if the item is switched relative to its parent (see the section called “Switching a Working Copy”).

‘ ‘
Item is a child of its parent directory.

‘S’
Item is switched.

The out-of-date information appears in the eighth column (only if you pass the --show-updates switch).

‘ ‘
The item in your working copy is up-to-date.

‘*’
A newer revision of the item exists on the server.

The remaining fields are variable width and delimited by spaces. The working revision is the next field if the --show-updates or --verbose switches are passed.

If the --verbose switch is passed, the last committed revision and last committed author are displayed next.

The working copy path is always the final field, so it can include spaces.

Alternate Names

stat, st

KategorienServer Tags: ,

Hamster: kleiner kostenloser News- und Mail-Server mit IMAP-Unterstützung für Windows

Ihr benötigt ein kleinen News- und Mail-Server (inkl. IMAP-Unterstützung) welcher zu gleich auch noch unter Windows (Windos XP, Vista, Windows 7, etc.) läuft?

Dann ist der kostenlose OpenSource Mail-Server Hamster eure Wahl, zu laden unter:

http://www.arcorhome.de/newshamster/tgl/misc/hamster_de.html

SEO: Non-defensive URL construction – no duplicate content – regex

Um zu verhindern dass durch verschiedene Schreibweisen von URLs duplicate content entsteht,  ist es ratsam einheitliche URLs zu erzeugen (z.B. nur die kleinschreibweise zu akzeptieren).

Aus gründen der besseren Benutzbarkeit (usability) ist es natürlich von Vorteil auch verschiedene Schreibweisen der URL zu berücksichtigen, im Detail:

http://www.fly2mars-media.de/seoblog/

sollte genauso berücksichtigt werden wie

http://www.Fly2Mars-Media.de/SeoBlog/

allerdings soll für Google nur eine Schreibweise verwendet werden, da sonst ggf. ein duplicate content problem entsteht.

Die Lösung ist ein rewrite der URL über mod_rewrite, hier die Lösung:

RewriteEngine On
 # lowercase request_uri and redirect 301
 RewriteMap  lc int:tolower
 RewriteCond %{REQUEST_URI} [A-Z]
 RewriteRule (.*) ${lc:$1} [R=301,L]

Beachtet auch diesen Tipp: Apache: RewriteMap not allowed here Problem

Möchtet ihr bestimmte Ordner ausschließen, so könnt ihr dies z.b. für die Ordner tmp und cache wie folgt:

RewriteCond %{REQUEST_URI} !^/(tmp|cache)

Apache: RewriteMap not allowed here

Wenn ihr vom Apache die Fehlermeldung “RewriteMap not allowed here” bekommt, dann solltet ihr die RewriteMap nicht in die .htaccess anlegen. Selbst bei AllowOveride All dies nicht in der .htaccess möglich.

Um das Problem zu lösen, müsst ihr die Rewrite-Anweisungen in die vhost.conf (bzw. dort wo ihr euren vhost definiert habt) schreiben.