BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

FreeBSD Service Jails mit unionfs erstellen

Mit Hilfe von Service Jails lassen sich gemeinsame Elemente einer Jail mit mehreren Jails teilen. Damit reduziert sich der Administrationsaufwand, da man zum Beispiel Sicherheitspatches des Basissystemes nur noch in der gemeinsamen Basis einspielen muss und nicht mehr in jeder Jail.

Inspiriert durch folgende Seite (http://simon.nitro.dk/service-jails.html) habe ich nun Service Jails mit Hilfe von unionfs erstellt.

Mit unionfs lässt sich ein Dateisystem über ein bestehendes mounten. Wird eine Datei aus dem unterliegenden System nicht durch eine gleichnamige Datei aus dem oberliegenden Dateisystem überdeckt, so ist diese auch im oberliegenden System sichtbar. Änderungen fliessen allerdings nur in das obere System ein.

Da die aktuelle unionfs-Implementation von FreeBSD recht fehlerhaft sein soll, verwenden wir gleich die neue unionfs-Implementation. Damit diese verwendet werden kann, müssen die aktuellen FreeBSD-Quelldateien der verwendeten FreeBSD Version in /usr/src vorhanden sein. Danach kann der Patch heruntergeladen, kompiliert und die neue Implemetation installiert werden:

# cd /usr/src
# fetch http://people.freebsd.org/~daichi/unionfs/unionfs6-p16.diff
# patch -p3 < unionfs6-p16.diff
# cp /usr/src/sys/fs/unionfs/union.h /usr/include/fs/unionfs/
# cd /usr/src/sbin/mount_unionfs/
# make obj depend && make && make install
# make clean
# cd /usr/src
# make buildkernel KERNCONF=<KERNEL-KONFIGURATION>
# make installkernel KERNCONF=<KERNEL-KONFIGURATION>
# shutdown -r now

Dieses Vorgehen läd den Patch 16 für FreeBSD 6 herunter. Man sollte sich vorher allerdings vergewissern, dass man das aktuelle Patchset für die zu verwendende FreeBSD-Version herunterläd.

Danach kann die gemeinsame Basis der Jails erstellt werden. Diese wird in einer 1GB grossen Datei erstellt, welche wiederum als Memory Disk gemountet wird. Der Portbaum wird aus dem Hostsystem in die Jailbasis verschoben und mit einem Symlink dem Hostsystem wieder zur Verfügung gestellt.

# mkdir /usr/jails/
# truncate -s 1G /usr/jails/base
# mdconfig -a -t vnode -f /usr/jails/base -u 0
# bsdlabel -w md0 auto
# newfs md0a
# mkdir -p /mnt/jails
# mkdir -p /mnt/jails/base
# mount /dev/md0a /mnt/jails/base/
# cd /usr/src/ && make installworld DESTDIR=/mnt/jails/base
# cd /usr/src/etc && make distribution DESTDIR=/mnt/jails/base

# mv /usr/ports /mnt/jails/base/usr/ports
# ln -s /mnt/jails/base/usr/ports /usr/ports

# /sbin/mount_unionfs -c transparent -b /usr/ports /mnt/jails/base/usr/ports
# touch /mnt/jails/base/etc/fstab

Nun kann die gemeinsame Basis nach eigenen Wünschen konfiguriert werden.

Danach kann eine Jail folgendermassen erzeugt werden:

# truncate -s <Grösse> /usr/jails/<Name>
# mdconfig -a -t vnode -f /usr/jails/<Name> -u <Nr>
# bsdlabel -w md<Nr> auto
# newfs md<Nr>a
# mkdir -p /mnt/jails/<Name>
# mount /dev/md<Nr>a /mnt/jails/<Name>

# mount_unionfs -c transparent -b /mnt/jails/base /mnt/jails/<Name>

# mount_devfs devfs /mnt/jails/<Name>/dev
# cd /mnt/jails/<Name>
# ln -sf /dev/null kernel

<Grösse> ist durch die Grösse der Datei zu ersetzen, in der man die Jail erzeugen will. Für zum Beispiel 2 GB gibt man hier 2G an. <Name> ist natürlich durch den Jailnamen zu ersetzen. Bei der ersten Jail ersetzt man <Nr> durch 1, bei der zweiten durch 2 usw.

Nun wird die Jail gestartet und kann konfiguriert werden:

# ifconfig <Interface> alias <IP-Adresse>/32
# jail /mnt/jails/<Name> <Name> <IP> /bin/sh

So können nun mehrere Jails erzeugt werden, die das gleiche Basissystem verwenden.

Da diese Variante für die Jails Dateien verwendet, die als RAM-Disk gemountet werden, müssen diese auch bei einem Neustart zuerst geladen werden, damit man nachher die Jails ganz normal über die rc.conf starten kann. Dazu wird unter /etc/rc.d/jails eine Datei mit folgendem Inhalt erstellt:

#!/bin/sh
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <beat@chruetertee.ch> wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return Beat Gätzi
# ----------------------------------------------------------------------------
#

# PROVIDE: jails
# REQUIRE: root mountcritlocal
# BEFORE: jail
# KEYWORD: shutdown

. /etc/rc.subr

name="jails"
rcvar=`set_rcvar`
start_cmd="jails_start"
stop_cmd="jails_stop"

jails_start()
{
echo 'Setting up jails environment'
/sbin/mdconfig -a -t vnode -f /usr/jails/base -u 0
/sbin/fsck -y /dev/md0a
/sbin/mount /dev/md0a /mnt/jails/base/
j=1
for i in ${jails_list}
do
/sbin/mdconfig -a -t vnode -f /usr/jails/${i} -u ${j}
/sbin/fsck -y /dev/md${j}a
/sbin/mount /dev/md${j}a /mnt/jails/${i}
/sbin/mount_unionfs -c transparent -b /mnt/jails/base /mnt/jails/${i}
j=`expr $j + 1`
done
}

jails_stop()
{
j=1
for i in ${jails_list}
do
/sbin/umount /mnt/jails/${i}
/sbin/umount /mnt/jails/${i}
/sbin/mdconfig -d -u ${j}
j=`expr $j + 1`
done
/sbin/umount /mnt/jails/base/
/sbin/mdconfig -d -u 0
}

load_rc_config $name
run_rc_command "$1"

Nun müssen die verschiedenen Jails noch in der jails_list Variable in der /etc/rc.conf eingetragen werden. Wichtig ist, dass die Namen mit den Namen im Pfad der Jails übereinstimmen. Beispiel:

Zwei Jails sind unter /mnt/jails/test1.chruetertee.ch und /mnt/jails/test2.chruetertee.ch installiert, so muss das Startskript aktiviert und die jails_list Variable folgendermassen gesetzt werden:

jails_enable="YES"
jails_list="test1.chruetertee.ch test2.chruetertee.ch"

Die Jails können nun ganz normal in der rc.conf konfiguriert werden und stehen bei einem Neustart automatisch zur Verfügung.

jail_enable="YES"
jail_list="test1 test2"
jail_test1_rootdir="/mnt/jails/test1.chruetertee.ch"
jail_test1_hostname="test1.chruetertee.ch"
jail_test1_ip="<IP>"
jail_test1_exec="/bin/sh /etc/rc"
jail_test1_devfs_enable="YES"
jail_test2_rootdir="/mnt/jails/test2.chruetertee.ch"
jail_test2_hostname="test2.chruetertee.ch"
jail_test2_ip="<IP>"
jail_test2_exec="/bin/sh /etc/rc"
jail_test2_devfs_enable="YES"

Diese Service Jails wurden mit FreeBSD 6.1 getestet und funktionieren bis jetzt hier auch. Allerdings ist diese Variante auf produktiven Systemen mit Vorsicht zu geniessen, da sowohl die neue unionfs-Implementierung als auch diese Variante noch nicht ausgiebig getestet worden sind!

Arbeitet man mit FreeBSD 6.1-RELEASE und mit den Jails sollte man unbedingt folgenden Hinweis beachten, da sich in FreeBSD 6.1-RELEASE ein Fehler in der /etc/rc.d/jail befindet: ftp://ftp.freebsd.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-06:01.jail.asc

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Flux CMS Port für FreeBSD auf 1.4.0 aktualisiert

Nachdem gestern Flux CMS 1.4.0 erschienen ist, ist heute der FreeBSD Port aktualisiert worden. Nun läuft auch diese Webseite mit der neusten Version. Neu gibt es jetzt auf chruetertee.ch einige Links. Dies wurde durch Alains "Bookmark Plugin" möglich.
Related Entries:
Flux CMS nun in den FreeBSD Ports
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
 Permalink

Flashplugin 7 für Firefox auf FreeBSD 6.1

Da flashplugin6 wieder aus den Ports entfernt wurde, muss man das flashplugin7 installieren, wenn man nicht auf Flash verzichten möchte.

Folgendermassen hat die Installation auf FreeBSD 6.1 funktioniert:

# cd /usr/ports/www/firefox && make install clean
# cd /usr/ports/www/linuxpluginwrapper && make install clean
# cd /usr/ports/www/linux-flashplugin7 && make install clean
# cd /usr/src
# fetch http://people.FreeBSD.org/~nork/rtld_dlsym_hack.diff
# patch < rtld_dlsym_hack.diff
# cd libexec/rtld-elf
# make clean && make obj && make depend && make && make install
# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD6 /etc/libmap.conf
# ln -s /usr/X11R6/lib/linux-flashplugin7/libflashplayer.so /usr/X11R6/lib/browser_plugins/libflashplayer.so

Quellen:

http://lists.freebsd.org/pipermail/freebsd-questions/2006-May/122903.html
http://lists.freebsd.org/pipermail/freebsd-questions/2006-May/122941.html

Update 04.09.2006

Scheinbar funktioniert obige Methode mit einem aktuellen Portbaum nicht mehr. Folgendermassen sollte die Installation nun wieder funktionieren:

# cd /usr/ports/www/firefox && make install clean
# cd /usr/ports/www/linuxpluginwrapper && make install clean
# cd /usr/ports/www/linux-flashplugin7 && make install clean
# cd /usr/src
# fetch http://people.FreeBSD.org/~nork/rtld_dlsym_hack.diff
# patch < rtld_dlsym_hack.diff
# cd libexec/rtld-elf
# make clean && make obj && make depend && make && make install
# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD6 /etc/libmap.conf
# ln -s /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so /usr/X11R6/lib/browser_plugins/libflashplayer.so
# ln -s /usr/local/lib/npapi/linux-flashplugin/flashplayer.xpt /usr/X11R6/lib/browser_plugins/flashplayer.xpt

Danach folgende Zeile in der /etc/libmap.conf

[/usr/X11R6/lib/linux-flashplugin7/libflashplayer.so]

in Folgende ändern:

[/usr/local/lib/npapi/linux-flashplugin/libflashplayer.so]
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

FreeBSD automatisch herunterfahren, wenn Batterie leer ist

Nachdem mir zweimal der Laptop abgestellt ist, ohne sauber herunterzufahren, da die Batterie leer war, habe ich mich auf die Suchen nach einer Lösung gemacht, jedoch nur Lösungen mit Shellscripts/Cron gefunden, die ich nicht so schön fand. Also habe ich einen Patch für powerd(8) geschrieben. Es stellte sich aber heraus, dass dies mit devd(8) schon möglich ist. Also noch devd in die Googlesuche miteinbezogen und siehe da, das gibt es schon.

Einfach Folgendes mit root-Rechten ausführen:

#  fetch -o /etc/rc.d/battery http://www.lestinsky.de/michael/scripts/battery.sh && chmod +x /etc/rc.d/battery

Danach folgende Zeilen in der /etc/devd.conf einfügen:

# Warnings and emergency shutdown if battery is running low.
notify 10 {
match "system" "ACPI";
match "subsystem" "CMBAT";
action "/etc/rc.d/battery";
};

Falls dies noch nicht der Fall ist, muss devd noch in der /etc/rc.conf eingetragen werden:

devd_enable="YES"

Ist der Batteriestand niedrig, wird eine Warnung an die Benutzer mittels wall(1) gesendet und wenn man darauf nicht reagiert, bzw. den Laptop an den Strom hängt, wird das System automatisch heruntergefahren.

Da jedoch mein IBM T42 den ACPI Batteriestatus nicht korrekt zurückmeldet, habe ich oben genanntes Skript angepasst, dass es bei 5% Batteriestand eine Warnung ausgibt, 60 Sekunden wartet und falls dann der Akku nicht wieder geladen wird, das System herunterfährt. Das angepasste devd-Skript ist hier verfügbar.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (3)  Permalink

make targets für den FreeBSD Portbaum

Für den FreeBSD Portbaum bestehen verschiedene make targets. Diese können im Verzeichnis eines Ports angewendet werden, zum Beispiel /usr/ports/www/fluxcms, oder wo sich der Portbaum auch immer befindet.

Die meist gebrauchten targets sind vermutlich make install und make deinstall, wobei bei einem make deinstall Vorsicht geboten ist, da es nicht auf Abhängigkeiten achtet. Es gibt aber noch viele andere targets, die zum Teil nicht so oft gebraucht werden, jedoch manchmal sehr nützlich sind.

Möchte man nur die Quelldateien des Ports herunterladen, kann man dies wie folgt tun:

# make fetch

Will man die Quelldateien des Ports und die seiner Abhängigkeiten herunterladen, nimmt man folgendes target:

# make fetch-recursive

Zum Herausfinden, welche Dateien heruntergeladen werden würden, sie jedoch noch nicht herunterladen will, kann man eine der folgenden targets nehmen, je nachdem ob man die Dateien der Abhängigkeiten auch anzeigen lassen will:

# make fetch-list
# make fetch-recursive-list

Die Abhängigkeiten eines Ports lassen sich mit folgendem target herausfinden:

# make all-depends-list

Will man nur die Abhängigkeiten sehen, die der Port zum Laufen braucht, das heisst ohne die Abhängigkeiten die es braucht um den Port zu bauen, so kann man dies wie folgt tun:

# make run-depends-list

Einige Ports lassen sich mit einem dialog(1) konfigurieren. Der Dialog lässt sich durch folgende targets für nur den einen Port oder auch für alle Abhängigkeiten aufrufen:

# make config
# make config-recursive

Um die aktuelle Konfiguration anzusehen, kann man folgende targets benutzen:

# make showconfig
# make showconfig-recursive

Um die Konfigurationen zu löschen, stehen diese targets zur Verfügung:

# make rmconfig
# make rmconfig-recursive

Ein Portverzeichnis lässt sich wie folgt von temporären Daten säubern, die zum Bauen eines Ports benötigt werden:

# make clean

Will man auch noch die Quelldateien löschen, kann man das wie folgt tun:

# make distclean

Zum Säubern des Portverzeichnisses sollte man sich auch portsclean(1) anschauen.

Sucht man nach einem Port, kann man entweder portsearch oder make search in /usr/ports benutzen.

# cd /usr/ports/ && make search
The search target requires a keyword parameter or name parameter,
e.g.: "make search key=somekeyword"
or "make search name=somekeyword"

Für mehr Informationen zum Portbaum empfiehlt sich das Kapitel 4 des FreeBSD Handbuches.

Alle make targes sind in ports(7) beschrieben.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (1)  Permalink

Flux CMS nun in den FreeBSD Ports

Seit heute ist das Flux CMS in den FreeBSD Ports:

http://www.freshports.org/www/fluxcms/

Für die Installation muss zuerst der Portbaum auf den aktuellen Stand gebracht und danach kann das Flux CMS wie folgt installiert werden:

# cd /usr/ports/www/fluxcms && make install clean
Related Entries:
Flux CMS Port für FreeBSD auf 1.4.0 aktualisiert
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
Comments (1)  Permalink

Konsolenauflösung auf FreeBSD ändern

Unter FreeBSD lässt sich die Auflösung der Konsole mit vidcontrol(1) anpassen. Seit FreeBSD 6.0 lassen sich nun auch Auflösungen höher als 800x600 einstellen. Dazu müssen folgende Optionen im Kernel vorhanden sein:

options VESA
options VGA_WIDTH90
options SC_PIXEL_MODE

Danach lassen sich die unterstützten Modi anzeigen:

# vidcontrol -i mode

Möchte man nun eine Auflösung von 1280 x 1024 auf der Konsole haben, muss der passende Modus gefunden werden:

# vidcontrol -i mode | grep 1280x1024
263 (0x107) 0x0000000f G 1280x1024x8 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
281 (0x119) 0x0000000f G 1280x1024x15 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
282 (0x11a) 0x0000000f G 1280x1024x16 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
283 (0x11b) 0x0000000f G 1280x1024x24 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
292 (0x124) 0x0000000f G 1280x1024x32 1 8x16 0xa0000 64k 64k 0xe0000000 65472k

Danach kann der gewünschte Modus eingestellt werden:

# vidcontrol MODE_<Modusnummer>

Um zum Beispiel auf einem IBM T40p oder T42 eine Auflösung von 1280 x 1024 x 24 einzustellen, wäre dies:

# vidcontrol MODE_283

Die Auflösung kann auch beim Starten automatisch eingestellt werden, indem man folgende Zeile in der /etc/rc.conf einträgt:

allscreens_flags="MODE_283"

Danke an Alain, der das Ganze unter FreeBSD 6.0 auf einem T40p ausprobiert hat.

Gefunden im BSDForen.de - Wiki, ursprünglich geschrieben von Sandro und veröffentlicht unter folgenden Lizenzbestimmungen.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (2)  Permalink

iPod mit FreeBSD benutzen

Um meinen 20GB iPod der 3ten Generation mittels USB unter FreeBSD zu benutzen, müssen zuerst die Device-Berechtigungen angepasst werden. Dazu muss folgender Eintrag in die /etc/devfs.rules gemacht werden, wobei beim group Eintrag, die Gruppe der Benutzer eingetragen werden muss. Bei mir ist dies users:

[ipod=5]
add path 'da*s*' mode 0660 group users
add path 'xpt0' mode 0660 group users
add path 'pass0' mode 0660 group users

Damit die Device-Berechtigungen während des Betriebes angepasst werden, muss devfs in der /etc/rc.conf aktiviert werden:

devfs_enable="YES"
devfs_rulesets="/etc/devfs.rules"
devfs_system_ruleset="ipod"

Damit Benutzer den iPod mounten können, muss die usermount Variable in der /etc/sysctl.conf gesetzt werden:

vfs.usermount=1

Danach das Verzeichnis erstellen, wo der iPod später ins System gemountet werden soll, und die Berechtigungen setzen, wobei beat:users durch den Benutzernamen und die Gruppe des lokalen Benutzers zu ersetzen ist:

# mkdir /mnt/ipod
# chown beat:users /mnt/ipod

Um das Mounten zu vereinfachen, kann noch ein Eintrag für den iPod in der /etc/fstab gemacht werden:

/dev/da0s2              /mnt/ipod       msdos   rw,noauto       0       0

Jetzt kann der Rechner neu gestartet oder die Änderungen von Hand aktiviert werden:

# sysctl vfs.usermount=1
# /etc/rc.d/devfs start

Nun kann der iPod einfach als Benutzer gemountet werden:

# mount /mnt/ipod

Um den iPod zu verwalten, benutze ich gnupod. gnupod befindet sich unter audio/gnupod in den FreeBSD Ports. gnupod ist eine Sammlung von Perl-Skripten, um den iPod auf der Kommandozeile zu bedienen.

Danach muss der iPod initialisiert werden. Die vorhandenen Lieder und die Datenbank werden dabei übernommen und gehen nicht verloren. Dies muss nur vor dem ersten Gebrauch von gnupod gemacht werden:

# gnupod_INIT.pl -m /mnt/ipod

Um Lieder auf den iPod zu laden, kann man das gnupod_addsong.pl Skript verwenden. Dabei können auch Wildcards verwendet werden, um mehrere Lieder auf einmal auf den iPod zu laden.

# gnupod_addsong.pl -m /mnt/ipod/ <Pfad zu den Liedern>

Sind alle Lieder auf den iPod geladen, muss noch die Datenbank des iPods aktualisiert werden.

# mktunes.pl -m /mnt/ipod/

Danach kann der iPod geunmouted (gibts dieses Wort?) werden:

# umount /mnt/ipod/

Auf dem iPod Display steht aber weiterhin: Bitte nicht trennen

Um den iPod aus dem System zu entfernen, muss zuerst mit camcontrol devlist herausgefunden werden, wo der iPod im System eingebunden ist.

# camcontrol devlist
<Apple iPod 1.50> at scbus0 target 0 lun 0 (da0,pass0)

Damit camcontrol eject funktioniert, muss im Kernel das pass device vorhanden sein. Dies ist im GENERIC-Kernel schon der Fall. Hat man einen selbst erstellten Kernel, sollte folgender Eintrag in der Kernel-Konfigurationsdatei vorhanden sein, aus der man den Kernel erzeugt hat:

device          pass            # Passthrough device (direct SCSI access)

Danach kann der iPod aus dem System entfernt werden. Die Device ID muss nicht auf jedem System 0:0:0 sein. Um die Device ID herauszufinden, musste vorher ein camcontrol devlist gemacht werden. In diesem Beispiel wird scbus0 target 0 lun 0 zu 0:0:0

# camcontrol eject 0:0:0

Auf dem iPod steht nun "iPod kann getrennt werden" und das USB-Kabel kann nun abgezogen werden.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (2)  Permalink

Flux CMS Port für FreeBSD

Ich habe einen FreeBSD Port für das Flux CMS geschrieben. Da dies mein erster selbstgeschrieber Port ist, wäre ich froh, wenn dieser noch ein bisschen getestet wird. Hier mal eine kleine Anleitung wie man den Port installieren kann.

# cd /usr/ports/www && fetch http://www.chruetertee.ch/files/download/fluxcms.tar.gz
# tar -xzvf fluxcms.tar.gz && rm fluxcms.tar.gz
# cd fluxcms && make install clean

Möchte man das Flux CMS lieber als Packet installieren, so macht man dies folgendermassen:

# pkg_add http://www.chruetertee.ch/files/download/fluxcms-1.3.1.tbz

Ist noch kein Apache installiert, so muss zuerst die httpd.conf den eigenen Wünschen angepasst, PHP5 aktiviert und der Apache in der /etc/rc.conf eingetragen werden.

# echo 'apache_enable="YES"' >> /etc/rc.conf

Danach den Apache starten.

# /usr/local/etc/rc.d/apache.sh start

Ist noch kein mySQL Server installiert, so muss dieses noch gemacht werden:

# cd /usr/ports/databases/mysql41-server && make install clean
# echo 'mysql_enable="YES"' >> /etc/rc.conf

Auch danach muss der mySQL Server gestartet werden.

# /usr/local/etc/rc.d/mysql-server.sh start

Ausserdem sollte für das Flux CMS ein VirtualHost gemäss den Anweisungen des Ports erstellt werden. Sind die Anweisungen des Ports nicht mehr sichtbar, so können diese ganz einfach angezeigt werden:

# cd /usr/ports/www/fluxcms && make post-install

Danach den Apache neu starten und den Webinstaller vom Flux CMS ausführen.

Für Rückmeldungen oder Anregungen zum Port bin ich sehr dankbar.

UPDATE 26.01.2006:

Version 1.3.1 des Flux CMS wurde veröffentlicht. Port und Packet wurden aktualisiert.

UPDATE 08.05.2006:

Das Flux CMS ist nun in den FreeBSD Ports.

Comments (5)  Permalink

Flashplugin für Firefox auf FreeBSD

Um das Flashplugin für den Firefox benutzen zu können, muss natürlich zuerst der Firefox installiert werden:

# cd /usr/ports/www/firefox && make install clean

Danach den Linuxpluginwrapper installieren:

# cd /usr/ports/www/linuxpluginwrapper && make install clean

Zu guter Letzt kann das Flashplugin installiert werden.

# cd /usr/ports/www/linux-flashplugin6 && make install clean

Danach je nach verwendetem FreeBSD die libmap.conf kopieren.
Auf FreeBSD 4.x:

# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD4.x /etc/libmap.conf

Für FreeBSD 5.0 bis 5.3-BETA6 nimmt man libmap.conf-FreeBSD5-current:

# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD5-current /etc/libmap.conf

Für FreeBSD 5.3-BETA7 und neuer nimmt man FreeBSD5-stable:

# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD5-stable /etc/libmap.conf

Auf einem FreeBSD 6 System nimmt man natürlich libmap.conf-FreeBSD6:

# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD6 /etc/libmap.conf

Danach noch einen Symlink erstellen:

# ln -s /usr/X11R6/lib/linux-flashplugin6/libflashplayer.so /usr/X11R6/lib/browser_plugins/libflashplayer.so

Und nach einem Neustart von Firefox sollte das Plugin funktionieren. Ein about:plugins in der Adresszeile des Firefox listet alle aktivierten Plugins auf.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (8)  Permalink
Prev Next31-40/48