About Lukas Meyer

I am the Co-Founder and CEO of Codebase AG and Digital Archiving Solutions AG. Those are the companies running the cleartier.com infrastructure services and the dasprivacy.com data security services :-) I like: Clean Code, Triple-Nine Uptimes, Linux / Unix, innovative web services, sunny days, coffee, sports and beer.

Seit gestern gibt es für vertox.ch eine erweiterte .htaccess. Die Datei enthält viele praktische Voreinstellungen:

  • Eigene Error-Seiten definieren.
  • Verzeichnis-Schutz mit Passwort
  • Beispiele zu mod_rewrite (Apache Rewrite Engine)
  • Beispiele zu mod_autoindex, inklusive FancyIndex.

Da die PHP-Einstellung allow_url_fopen = On als unsicher gilt, muss sie ausgeschaltet werden. Als Konsequenz lassen sich keine urls mehr als Dateien öffnen:

include_once('http://domain.com/sourcefile.php');
$fp = fopen('http://domain.com/file.txt', 'rw');

Der Link oben erklärt ausführlich, warum das so ist: Wenn man URL’s als Dateien öffnen kann, kann man auch beliebigen PHP-, SQL- oder JavaScript-Code nachladen.

Wenn man trotzdem URL’s öffnen muss, ist Curl eine Alternative. Die Client URL Library ist eine Art Browser. So lassen sich Dateien aus URL’s auch ohne fopen öffnen:

$out = fopen('downloads/newfile.zip');
$ch = curl_init('http://domain.tld/file.zip');

curl_setopt($ch, CURLOPT_FILE, $out);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $file);

curl_exec($ch);
if($ch == false) { echo "
Error is : ".curl_error ( $ch); }

curl_close($ch);

Read more about BoxBackup on boxbackup.org.
And the wiki.

Serverside Installation
for all these steps you need to be root, (sudo su).

apt-get install boxbackup-server
# it will look like its waiting for input, but its not just press Enter,
# and if it hangs press it again, until return to the console.

# configure backup directory.
#create a backup directory, if you want to use userland raid read this.
#you need to know the blocksize (4096) of the partition (/dev/sda1) where the backup is.
# dumpe2fs /dev/sda1 | grep -i ‘Block size’
mkdir /backup
chown -R bbstored:bbstored /backup
rm /etc/boxbackup/raidfile.conf
raidfile-config /etc/boxbackup 4096 /backup

# next is to configure the boxbackup server
# Be sure to replace “hostname” by the correct name.
rm /etc/boxbackup/bbstored.conf
bbstored-config /etc/boxbackup hostname bbstored

# last thing todo for the server is to create the certificates
# This will create a folder “ca”, which is very important, cause it is needed to create the client certificates.
# Also without certificates the backup can’t be used.

cd /root
bbstored-certs ca init
# Sign the certificates prepared by boxbackup.
bbstored-certs ca sign-server /etc/boxbackup/bbstored/boxbackup-server-cert-req.pem
# Copy (not move)
cp -a ca/servers/bserver.hjbaader.home-cert.pem /etc/boxbackup/bbstored/boxbackup-server-cert.pem
cp -a ca/roots/clientCA.pem /etc/boxbackup/bbstored/boxbackup-client-ca-cert.pem

# start the BoxBackup server
/etc/init.d/boxbackup-server start
# if there is no output at all, there is something very wrong..
# logoutput can be found in /log/syslog

Client Installation
for all these steps you need to be root, (sudo su).

Auch wer noch keine Linux-Erfahrung hat, kann sich schnell in die Linux-Shell einarbeiten. Hier gibts drei hilfreiche Links:

Windows-User arbeiten häufig Remote auf Linux-Server. Dazu gibts die SSH-Suite:

  • SSH Einführung von Ubuntu.
  • WinSCP: Ein SCP-Client, mit dem man Dateien ähnlich wie mit einem FTP-Client hochladen kann.
  • Putty: Eine SSH-Konsole für Windows.

Und zum Schluss noch etwas für Ubuntu-Admins:

  • Ein Ubuntu-Cheatsheet mit den wichtigsten Administrations-Befehlen wie apt-get, sudo und so weiter..

JoomlaPack ist ein exzellentes Backup-Tool für Joomla. Es macht Backups mit eigenem Installer, und kann deshalb verwendet werden um existierende Joomla!-Seiten zu kopieren oder Joomla! Template Sites zu erstellen.

Da wir unsere Produktseiten auf Joomla 1.5 updaten wollen, brauchen wir eine Joomla!-Template-Site mit folgender Konfiguration:

  • Subscription-Tracking mit Abrechnungsmöglichkeit: Wir verwenden Joomla AEC, für Joomla! 1.5 scheinen die Version 0.12.6RC2 und Legacy Mode nötig zu sein.
  • Community Builder: Wird für die Verwaltung der Kundendaten verwendet. Der Kunde gibt bei der Registration seine Adresse in sein nicht öffentliches CB-Profil ein. CB braucht ebenfalls den Legacy Mode, allerdings nur bis Version 1.2, die noch nicht released ist.
  • JoomFish: Multi-Language Komponente. Version 2.0 Beta kann mit Joomla 1.5 umgehen.