1. Firmware aufspielen (erstmals) Laptop direkt am Router ueber einen LAN-Port anschliessen mit lokal abgelegter OpenWrt Firmware: Release am 23.04.2013: Attitude Adjustment 12.09 openwrt-ar71xx-generic-wndr3700-squashfs-factory.img Dann ueber das normale Netgear GUI einloggen und ueber "Router Update" die OpenWRT Firmware einspielen. (fuer Upgrade: openwrt-ar71xx-generic-wndr3700-squashfs-sysupgrade.bin) (# sysupgrade -v /tmp/openwrt-ar71xx-generic-wndr3700-squashfs-sysupgrade.bin) Anschliessend warten bis der Router normal rebootet hat. 2. Passwort setzen Zuerst mit telnet (kein Passwort noetig) einloggen und mit "passwd" ein Passwort setzen. Dann telnet-Session beenden. Anschliessend mit SSH und Passwort das neue Login pruefen. 3. Grundkonfiguration fuer LAN einrichten Ziel: Geraet soll als Server ohne DHCP Service ins LAN eingebunden werden Via http://192.168.1.1 in Luci einloggen und im Screen "Network" die noetigen Eintraege machen - IPv4-Address (192.168.1.12) - IPv4-Gateway (192.168.1.1) - DNS-Server (192.168.1.1) - DHCP-Server: Disable DHCP for this interface - Internet Connection: Protocol: disabled --> Save --> Router kann nun im LAN angeschlossen werden. 4. Weitere Konfigurationen fuer LAN machen Ziel: Geraet soll im LAN nur seine Serverfunktion erfuellen Menu System Screen "System" - Timezone: Europe/Zurich (ev. ist ein Reload des GUI noetig) - Enable builtin NTP Server 5. USB Storage einbinden (USB Stick 2.0) - Inhalt von File /etc/opkg.conf kontrollieren, insbesondere nach einem Upgrade # opkg update # opkg install kmod-usb-storage --> installiert kmod-scsi-core, kmod-usb-storage # opkg install block-mount (USB benoetigt eine Verzoegerung fuer das Mounten) --> installiert block-mount # reboot Falls ein Stick von Windows uebernommen werden soll # opkg install kmod-fs-vfat kmod-nls-cp437 kmod-nls-cp850 kmod-nls-iso8859-1 kmod-nls-iso8859-15 Fuer einen neuen Stick # opkg install kmod-fs-ext4 --> installiert kmod-lib-crc16, kmod-fs-ext4 # opkg install e2fsprogs --> installiert libpthread, libcom_err, libext2fs, e2fsprogs # opkg install fdisk # fdisk /dev/sda - o (create a new empty DOS partition table) - n (add a new partition table) -- p -- Partition number: 1 -- First cylinder: default (1) -- Last cylinder: default (1018) - w (write table to disk and exit) # mkfs.ext4 /dev/sda1 # mkdir /usb Mount beim Boot einrichten, ueber LuCI: Screen "System - Mount Points": unbedingt async angeben, sonst ist der Schreibzugriff sehr langsam - enable /dev/sda1 /usb ext3 rw,async # reboot 6. Platz fuer zusaetzliche Pakete unter /opt auf USB bereitstellen # mv /opt /opt.orig (falls es als noch als originales Verzeichnis existiert) # ln -s /usb/opt /opt # mkdir -p /usb/opt/lib # mkdir -p /usb/opt/usr/lib File /etc/opkg.conf ergaenzen mit: dest opt /opt File /etc/ld.so.conf ergaenzen mit: /opt/lib /opt/usr/lib # opkg update # opkg install ldconfig File /etc/profile ergaenzen mit: export PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:$PATH 7. PHP Support installieren (noetig fuer knxweb) # opkg install --dest opt libsqlite3 # opkg install --dest opt php5 # opkg install --dest opt php5-cgi # ln -s /opt/etc/php.ini /etc /etc/php.ini anpassen doc_root = cgi.force_redirect = 0 # uhttpd konfigurieren File /etc/config/uhttpd ergaenzen mit list interpreter ".php=/opt/usr/bin/php-cgi" # /etc/init.d/uhttpd restart 8. Zusaetzliche Pakete installieren # mkdir -p /usb/pkgs # cd /usb/pkgs Zusaetzliche Pakete in /usb/pkgs ablegen: pthsem, eibd, eibd-utils, libesmtp, linknx # opkg --dest opt install libopenssl # opkg --dest opt install libcurl # opkg --dest opt install libstdcpp # opkg --dest opt install luac # opkg --dest opt install pthsem_2.0.8-1_ar71xx.ipk # opkg --dest opt install eibd_0.0.5-2011-03-06_ar71xx.ipk # opkg --dest opt install eibd-utils_0.0.5-2011-03-06_ar71xx.ipk # opkg --dest opt install libesmtp_1.0.4-2_ar71xx.ipk # opkg --dest opt install linknx_0.0.1.31-1_ar71xx.ipk # ldconfig Kontrolle fuer eibd und linknx # eibd --version # linknx --version 8. rrd Tools mit Perl installieren # opkg install perl # opkg install perlbase-autoloader perlbase-config perlbase-essential perlbase-fcntl perlbase-integer # opkg install perlbase-posix perlbase-tie perlbase-time perlbase-timelocal perlbase-xsloader perlbase-file # opkg --dest opt install librrd rrdtool # rm -rf /usr/share/rrdtool/fonts # mkdir -p /usr/share/rrdtool # ln -s /opt/usr/share/rrdtool/fonts /usr/share/rrdtool/fonts # opkg install rrdcgi # opkg install rrdcollect10 # opkg install rrdcollect10-example # ln -s /usb/rrdcollect /var/lib/rrdcollect Konfiguration aus Backup von /usb/rrdcollect/etc einrichten # cp -p /usb/rrdcollect/etc/* /etc # cp -p /usb/backup/etc/init.d/rrdcollect /etc/init.d # /etc/init.d/rrdcollect enable 9. Installation xmail # opkg install bzip2 # opkg install xmail # /etc/init.d/xmail enable # opkg --dest opt install mutt # opkg --dest opt install procmail Konfiguration einrichten: /etc/config/xmail anpassen # cp /usb/backup/etc/config/xmail /etc/config # mkdir /usb/xmail # cd /usb/xmail; bzip2 -dc /etc/MailRoot.tar.bz2 | tar xf - Xmail little HowTo Queuelog finden: find spool -type f | grep slog Admin UI: telnet localhost 6017 10. knxweb einrichten # opkg install bash # ln -s /usb/knx/knxweb /www/knxweb # ln -s /usb/knx/cgi/sysgraph-multi.cgi /www/cgi-bin # ln -s /usb/knx/cgi/sysgraph-single.cgi /www/cgi-bin # ln -s /usb/knx/cgi/sysgraph-singlesmall.cgi /www/cgi-bin Erweiterung für knxweb2 # opkg install --dest opt php5-mod-json php5-mod-session php5-mod-simplexml php5-mod-sockets /etc/php.ini anpassen: short_open_tag = On date.timezone = "Europe/Zurich" extension_dir = "/opt/usr/lib/php" extension=json.so extension=session.so extension=sockets.so extension=simplexml.so 11. Backup einrichten # crontab -l 5 6 * * * /usb/bin/backup.sh # cat /usb/bin/backup.sh #!/bin/sh echo 'backup script' tar cX /usb/bin/backup.exclude -f /usb/wrt1-backup.tar /etc/config /etc/init.d /root /usb # ln -s /usb/wrt1-backup.tar /www/wrt1-backup.tar