Der Hoster Domainfactory bietet seid einiger Zeit Ruby on Rails-Unterstützung. Leider sind die installierten Gem-Pakete etwas veraltet und die FAQ von D)F etwas verwirrend, da sie sich nicht an den Standardweg halten.
Folgende Anleitung bezieht sich auf Managed Hosting-Pakete mit ssh Zugang.
Variablen in der Datei .bash_profile setzen:
export PATH="$HOME/.gem/ruby/1.8/bin:$PATH"
export RUBYLIB="$HOME/.gem/ruby/1.8/lib:$RUBYLIB"
export GEM_HOME="$HOME/.gem/ruby/1.8"
export GEM_PATH="/usr/lib/ruby/gems/1.8:$GEM_HOME"
Variablen in die laufende Shell laden. Bei einem erneuten Login wird die Datei von alleine geladen:
source ~/.bash_profile
Zunächst installiert man ein neues RubyGems:
gem install rubygems-update
update_rubygems --prefix=$GEM_HOME
ln -s $GEM_HOME/bin/gem18 $GEM_HOME/bin/gem
gem -v
Homeverzeichnis feststellen:
echo $HOME
/kunden/xxxxxxxx
In der Datei .gemrc werden die Information hinterlegt damit der Webserver die Gems verwenden kann. Die Datei verwendet YAML-Syntax:
gem: --no-ri --no-rdoc
gemhome: &GemHome /kunden/xxxxxxxx/.gem/ruby/1.8
gempath:
- *GemHome
- /usr/lib/ruby/gems/1.8
Vor den minus – Zeichen befinden sich jeweils 2 Leerschritte.
Update RubyGem für Ruby on Rails bei Domainfactory
28. Juli 2010Große Festplatte / Raid-Verbund formatieren
15. Februar 2010Beim Erstellen von Partitionen > 2 TB gibt es mit fdisk/cfdisk Probleme.
Derartig große Platten / Verbünde laufen unter Linux als “Large Block Device”.
Das Programm parted schafft hier Abhilfe.
Partitionstabelle auf gpt umstellen und schon läuft’s.
server:~# parted /dev/sdb
GNU Parted 1.8.8
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel Yes gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk
will be lost. Do you want to continue?
(parted) p
Model: AMCC 9500S-8 DISK (scsi)
Disk /dev/sdb: 4500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
(parted) mkpart primary 1 4500GB
(parted) q
So nur noch Dateisystem anlegen und Kaffee holen:
server:~# mkfs.ext4 /dev/sdb1
mke2fs 1.41.3 (12-Oct-2008)
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=4096 (log=2)
Fragmentgröße=4096 (log=2)
274661376 Inodes, 1098624759 Blöcke
54931237 Blöcke (5.00%) reserviert für den Superuser
Erster Datenblock=0
Maximale Dateisystem-Blöcke=0
33528 Blockgruppen
32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe
8192 Inodes pro Gruppe
Superblock-Sicherungskopien gespeichert in den Blöcken:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Schreibe Inode-Tabellen: erledigt
Erstelle Journal (32768 Blöcke): erledigt
Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt
Das Dateisystem wird automatisch nach jeweils 32 Einhäng-Vorgängen bzw.
alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Veränderbar mit
tune2fs -c oder -t .
Fertig
History Befehl in der Bash verwenden
16. September 2009Die letzten aptitude-Befehle anzeigen lassen …
$ history | grep aptitude
Als Ausgabe bekommt man …
14 aptitude update
15 aptitude upgrade
16 history | grep aptitude
Befehl 14 nochmal ausführen …
$ !14
Seiten von Salesforce im Firefox bescheunigen
30. Juni 2009about:config
browser.cache.disk_cache_ssl;true
Detect charset with php5 – utf8 or not
8. Juni 2009
/**
* Checks the charset of a text by a given charst
* Works by comparing text with double encoded text.
*
* @param string $text The text string to check for charset.
* IE "test" or "töster" or "100 €" or "Пред" or "留学生"
* @param string $encoding The charset to check with.
* IE "ASCII" or "ISO-8859-1" or "ISO-8859-15" or "UTF-8"
* @param string $middle_encoding The charset to use between the both encoding steps.
* "UTF-8" is default.
* @return boolean true or false
* @author Christof E. Spies
* @copyright ICEF GmbH
* @since 2009-04-20
* @link http://de.php.net/mb_convert_encoding
*/
function check_charset ( $text, $encoding, $middle_encoding = "UTF-8" )
{
return $text === mb_convert_encoding ( mb_convert_encoding ( $text, $encoding, $middle_encoding ), $middle_encoding , $encoding );
}
/**
* Detects the charset of a text from an array of charsets
*
* @param string $text The text string to check for charset. IE "test" or "töster" or "100 €" or "Пред" or "留学生"
* @param array $encoding The charset to check with.
* Default is array(
* "ASCII",
* "ISO-8859-1",
* "ISO-8859-15",
* "UTF-8"
* );
* @retrun string charset or false
* @author Christof E. Spies
* @copyright ICEF GmbH
* @since 2009-04-20
*/
function detect_charset ($text, array $possible_charsets=array("ASCII","ISO-8859-1","ISO-8859-15","UTF-8"))
{
foreach ($possible_charsets as $code)
{
if (check_charset($text, $code))
{
return $code;
}
}
return false;
}
Sprache für Rechtschreibprüfung in Thunderbird leichter Umstellen
3. April 2009Wer permanent in zwei oder mehr Sprachen kommuniziert, kennt das Problem sicherlich. Ständig muss man seine Programme auf die richtigen Spracheinstellungen bringen.
Für das Email-Programm Mozilla Thunderbird habe ich eine schöne Erweiterung entdeckt, mit der sich das Umschalten mit einem Mausklick erledigen lässt. Die Lösung heißt etwas ausschweifend Wörterbuch-Manager für Thunderbird. Funktioniert gut, viel Spaß damit.
Dateianhang winmail.dat
1. April 2009Da war es wieder dieses Problem. Eine neue Email mit der Datei winmail.dat darin. Dem Kunden sagen er soll die Mail nochmal mit einem ordentlichen Programm versenden – zu zeitraubend.
Also schnell bei Google winmail.dat eingeben und schon landete man bei einem alten Bekannten. Nur leider ist dort irgendwie die Zeit stehen geblieben – wie bei den Kunden ;). Das Programm läuft nicht mehr unter Windows XP.
Nach weiteren Einträgen in die Suchmaschine landet man bei EOLSOFT und deren Produkt Winmail Opener. Runter laden, ausführen und alles ist schön.
PHP IDE
31. März 2009Nach langem Suchen bin ich nun endlich auf eine brauchbare IDE für PHP gestossen.
PHP Development Tools Project
Weiterhin möchte man folgende Erweiterungen haben:
Subversion mit sasl sicheren ohne die Verwendung von https
20. März 2009Als Server dient in diesem Howto das Betriebssystem Linux der Distribution Debian in der Version Lenny.
Zunächst installieren wir die benötigte Software:
aptitude install subversion subversion-tools sasl2-bin libsasl2-modules
Neuen Benutzer anlegen:
adduser svn
Verzeichnisstruktur anlegen, sowie Eigentümer und Rechte setzen:
mkdir -p /var/svn
chown svn. /var/svn
chmod 0771 /var/sv
Als Benutzer svn ein neues Lager für die nativen SVN-Daten anlegen:
su - svn
svnadmin create /var/svn/repos
Original Konfiguration sichern und eigen Konfiguration anlegen:
cp /var/svn/repos/conf/svnserve.conf /var/svn/repos/conf/svnserve.conf.org
vim /var/svn/repos/conf/svnserve.conf
[general]
realm = Subversion seips.net
[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256
exit
Anmeldeverwaltung konfigurieren:
vim /usr/lib/sasl2/svn.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
sasldb_path: /var/svn/svn_sasldb2
mech_list: DIGEST-MD5
Neue Passwort-Datenbank anlegen und füllen, sowie Recht und Eigentümer der Datei setzten:
saslpasswd2 -c -f /var/svn/svn_sasldb2 -u "Subversion seips.net" benutzername
chmod 0660 /var/svn/svn_sasldb2
chown svn /var/svn/svn_sasldb2
SVN-Server als Benutzer svn starten:
su - svn
svnserve -d -r /var/svn/repos/
Fehlerbehebung:
tail -f /var/log/auth.log
svnserve -daemon -root /var/svn/repos/ --foreground
Hinweis:
Folgt man den einschlägigen Anleitungen landet man oft bei der Fehlermeldung “Could not obtain the list of SASL mechanisms”. Diese lässt sich mit einem einfachen aptitude install libsasl2-modules beheben.
Debian aktualisieren leicht gemacht
28. Februar 2009Wem geht es nicht auf die Nerven bei Debian aktualisieren immer einen Code-Bandwurm eingeben zu müssen.
aptitude update
aptitude safe-upgrade
Seit Debian Lenny heißt aptitude upgrade nun aptitude safe-upgrade. Also noch länger :(
Gebt doch einfach mal den Befehl alias aptdate='aptitude update && aptitude safe-upgrade' ein. Und schon wird alles mit einem einfachen aptdate erldigt.
Jetzt die Änderung noch dauerhaft verewigen, sonst ist das Pseudonym beim nächsten Login wieder weg.
echo "# Macht Updates mit aptitude leichter." >> .bashrc
echo "alias aptdate='aptitude update && aptitude safe-upgrade'" >> .bashrc