Elanor

Elanor is de beoogde opvolger van Samwise. Het is een QNAP TS-459 Pro +, een raid-5 NAS, met de mogelijkheid als server te opereren via packages. Disks: 3 Samsung Ecogreen 2TB, 1 Western Digital Red 3TB.

Elanor

Elanor Gardner, ook bekend als Elanor the Fair, is het eerste kind van Samwise Gamgee en zijn vrouw Rose Cotton (ze kregen er 13!).

Elanor Gardner

Info over de QNAP:

Serienummers e.d.

Servernaam
elanor
Firmware versie
3.5.0 Build 0815T
Serienummer
Q114I04902
Ethernet 1
Mac = 00:08:9B:C7:F5:8A
IP address = 10.10.10.10
Network mask = 10.10.255.255
Ethernet 2
Mac = 00:08:9B:C7:F5:8B ===== Admin =====

Admin gebruiker is admin, password is bekend.

Rebooten

Rebooten duurt lang, enkele uren. Bovendien raakt het netwerk helemaal in de war omdat Elanor al die tijd geen routertaken uitvoert (dhcp en nameserver). Na het rebooten is het nodig Frits opnieuw op te starten. De dhcp server lijkt niet vanzelf op te starten, en named start wel, maar staat dan niet goed geconfigureerd….

  • IP address opnieuw configureren
  • Spotweb werkt niet doordat MySQL niet opstart.
    /etc/init.d/mysql.sh restart
  • /etc/init.d/Qthttpd.sh opnieuw patchen

Via het boot script:

  • dhcp starten
  • bind starten
  • ip address configureren?
  • mysql goed starten?
  • Couchpotato

Configuratie

Qnap zet configuratie in /etc/…. Deze lijken te worden overschreven door de configuratie in /mnt/HDA_ROOT./config

In resolv.conf de regel search home.vdmeulen.net toevoegen.

Crontab editor kiezen door .bashrc te editen.

Crontab editen met nano

nano /etc/config/crontab
crontab /etc/config/crontab
#en voor de zekerheid
crontab -l
#tenslotte de wijzigingen doorvoeren
/etc/init.d/crond.sh restart

Of staat crontab in /mnt/HDA_ROOT/.config/crontab ?

Wachtwoorden van gebruikers veranderen

Gebruik de change password mogelijkheid van de LDAP server!

Beveiling

Voordat de server live kan:

Default passwords veranderen

Gebruik date | md5 om passwords te genereren

Logrotate

  • Config in opt/etc/logrotate.conf
    compress
    
    /var/log/messages.disable {
    	missingok
    	rotate 5
    	postrotate
    		/bin/killall syslogd
    		/bin/killall klogd
    	endscript
    }
    
    /opt/var/log/apache/*.log {
    	rotate 25
    	postrotate
    		/etc/init.d/thttpd.sh restart 2>/dev/null
    	endscript
    }
    
    /opt/var/log/spotweb/*.log {
    	missingok
    	rotate 5
    }
    
    /opt/var/log/subliminal/*.log {
    	missingok
    	rotate 14
    }
    
    include /opt/etc/logrotate.d
  • crontab:
    15 0 * * * root /opt/sbin/logrotate /opt/etc/logrotate.conf &>/dev/null

Updates

Automatisch updaten lijkt niet lekker te werken. Handmatig via de webinterface wel. Download de nieuwe firmware, pak uit en upload het .img bestand. Als dat niet werkt: http://wiki.qnap.com/wiki/Manually_Updating_Firmware

Na het updaten eerst via de webinterface SSH aanzetten. Vervolgens het after reboot script uitvoeren.

Na een update werd niet meer netjes verwezen naar het python qpkg packages. Of zou dat liggen aan een conflict met optware. In de web-interface het packade deactivefren en daarna weer activeren hielp.

export EDITOR=nano                 #nano als default editor in plaats van vi. Werkt niet.
ln -s /share/MD0_DATA/home /share  #/share/home symlinken
ln -s /opt/bin/bash /bin           #/bin/bash symlinken (om bash scripts te laten werken)

Filesystem

Deels op vaste schijven, deels op ramdisk. De raid5 disk staat op /share/MD0_DATA. De /var directory staat op ramdisk; gebruik /opt/var/, die staat op de raid array.

Boot script

Om een script automatisch te laten uitvoeren bij het booten: http://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup

mkdir /share/MD0_DATA/.qpkg/autorun
cd /share/MD0_DATA/.qpkg/autorun/
touch autorun.sh
chmod +x autorun.sh

Zorgen dat het script bij boot (uit flash) wordt aangeroepen:

mount -t ext2 /dev/sdx6 /tmp/config
echo '#!/bin/sh' > /tmp/config/autorun.sh
echo '/share/MD0_DATA/.qpkg/autorun/autorun.sh' >> /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
umount /tmp/config

Troubleshooting

Smarte Error, RAID5 in degraded mode

SSL key expired

  1. Open een (PuTTY) shell, en geef:
    cd /share/MD0_DATA/homes/DOMAIN=VDMEULEN
    openssl genrsa -out priv.key 1024  #1024 is the length, you may change it to the value you like
    openssl req -config /etc/ssl/openssl.cnf -new -key priv.key -out server.crt -x509 -days 365
  2. Je krijgt dan de volgende dialoog:
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:NL
    State or Province Name (full name) [Some-State]:.
    Locality Name (eg, city) []:De Meern
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Famile Van der Meulen
    Organizational Unit Name (eg, section) []:.
    Common Name (eg, YOUR name) []:elanor.vdmeulen.net
    Email Address []:admin@vdmeulen.net

    Let op bij common name moet de fqdn van buitenaf worden ingevuld. Komt in het certificaat! Als dit allemaal gelukt is heb je de bestanden priv.key en server.crt gecreëerd.

  3. Log via het web interface in op de server: http://elanor:8080
  4. Klik op “Administratie”, “Systeembeheer”, “Veiligheid”, “Importeer SSL Secure Certificaat & Private Sleutel”
  5. Open priv.key via WinSCP en kopieer de inhoud naar het “Private sleutel” vak
  6. Open server.crt via WinSCP en kopieer de inhoud naar het “Certificaat” vak
  7. Click “Uploaden”
  8. Klaar is Kees

Naar: http://wiki.qnap.com/wiki/Use_OpenSSL_to_generate_certificate_for_QNAP_NAS_SSL_connection

Certificaat laten valideren: http://www.struinersunie.nl/Site/index.php/artikelen/45-hands-on/68-gratis-startssl-gecertificeerd-ssl-certificaat-op-uw-qnap-nas-in-begrijpelijke-stappen

Static IP address verdwenen na reboot

http://forum.qnap.com/viewtopic.php?p=134208

/sbin/setcfg eth0 "Gateway" 10.10.10.1
/sbin/setcfg eth0 "Netmask" 255.255.0.0
/sbin/setcfg eth0 "IP Address" 10.10.10.10
/etc/init.d/network.sh restart

Of simpelweg:

ifconfig eth0 add 10.10.10.10 netmask 255.255.0.0 
route add default gw 10.10.10.1

Taken

QNAP TS-459 Pro+

NAS

  • Samba, FTP, NFS {ook mac support)

Samba

Elke gebruiker krijgt zijn eigen home share. De shares staan op /share/MD0_DATA/homes/DOMAIN=VDMEULEN/%user%

  • Vergeet niet smbpasswd -w hetpassword
  • Winbind start niet op als idmap uid niet is gedefinieerd!!!
    smb.sh
    idmap uid = 10000-20000
    idmap gid = 10000-20000<code>
      *Clear windows share passwd: <code dos>
    rundll32.exe keymgr.dll, KRShowKeyMgr
    net use
    net use \\elanor\hatseflats /delete
    net use \\elanor\hittepetit

    Vergeet niet om windows verkenner af te sluiten, die lijkt de credentials zelf te cachen.

  • LDAP werkt nog wel, maar Samba kent niemand meer. Gebruikers en- groepen niet zichtbaar op “Privilege instellingen” van Elanor
    echo -n `cat /etc/config/nss_ldap.ensecret` > /etc/config/nss_ldap.ensecret
    /etc/init.d/smb.sh restart

FTP

Standaard PropFTPd. Configuratie in /etc/config/proftpd.conf.

SSH

In de firmware alleen voor admin. Bekijken of dat voldoet. Eventueel is er een ipkg voor OpenSSH.

SSH doet het niet meer als toegangsbeheer - domeinbeveiliging niet meer wertl, bijvoorbeeld omdat het LDA root dn password is veranderd.

LDAP

Vanaf 3.6 ingebouwd in de firmware.

Root dn
cn=admin,dc=vdmeulen,dc=net
Password
d80d6499b74ab466dae82985bade5be9
Kan niet ivm lengte. Nu even “bingo”…
Password propageren naar
/etc/zarafa/ldap.cfg
Samba wordt niet automatisch aangepast bij wijzigen password. Bij toegangsbeheer - domeinbeveiliging opnieuw toepassen hielp.
Config
http://elanor:8080, ga maar applicatie servers, LDAP server
http://elanor/LAM. LAM master password is bekend. Profielpassword als boven.
/etc/openldap
Zonodig phpldapadmin installeren (qpkg).
Test:
ldapsearch -D "cn=admin,dc=vdmeulen,dc=net" -w d80d6499b74ab466dae82985bade5be9 -b "dc=vdmeulen,dc=net"

Dit hoort een dump van de LDAP database te geven.

Logs
/etc/openldap/slapd.conf.
loglevel 4095
/etc/syslog.conf
# save OpenLDAP log
local4.*    /var/log/ldap.log
1      trace function calls
                      2      debug packet handling
                      4      heavy trace debugging
                      8      connection management
                      16     print out packets sent and received
                      32     search filter processing
                      64     configuration file processing
                      128    access control list processing
                      256    stats                            log
                             connections/operations/results
                      512    stats log entries sent
                      1024   print   communication   with   shell
                             backends
                      2048   entry parsing

Routertaken

  • NTP server
  • DNS server (bind)
    • Configuratie in /opt/etc/named/named.conf
    • Starten: /opt/etc/init.d/S09named start
    • Config controle met named-checkzone en named-checkconf
    • Managment met rndc. Bijvoorbeeld: rndc status
    • rndc configuratie in rndc.conf, gemaakt door rndc-confgen
    • Of course, you may want to set your name server in the GUI to 127.0.0.1 or your local ip-address.
  • DHCP server
    • Starten /opt/etc/init.d/S56dhcp start
    • Configuratie: /opt/etc/dhcpd.conf

Mailserver

Webserver

  • Standaard aanwezig (apache).
  • Documentroot /share/Web
  • Opstarten/stoppen: /etc/init.d/Qthttpd.sh. Ket op er is ook een thttpd.sh.
  • Config in /etc/config/apache. Wijzig zoveel mogelijk in vdmeulen.conf. Daarna /usr/local/apache/bin/apachectl graceful.
  • logs in /opt/var/log/apache/

PHP

  • php.ini van firmware staat in /etc/config
  • Elanor gebruikt optaware php, daarvan staat php.ini in opt/etc

LDAP module doet het niet

In /usr/local/apache/bin/apachectl staat een fout path waardoor de enironmetnt vars niet worden gezet. Daardoor kan apache de LDAP modules niet vinden. Verbeteren:

# pick up any necessary environment variables
#if test -f /root/daily_build/3.8.x/Model/TS-459/../../NasMgmt/HTTP/apache_install_tmp/bin/envvars; then
if test -f /usr/local/apache/bin/envvars; then
# QNAP
  . /usr/local/apache/bin//envvars
fi
#

Vanaf firmware 4.0.2 werkt dit niet meer. Nu het inlezen van de env vars toegevoegd aan de prepare_apache functie van /etc/init.d/Qthttpd.sh:

	#Door Pieter
	if test -f ${APACHE_DIR}/bin/envvars; then
		. ${APACHE_DIR}/bin//envvars
	fi

Dat lijkt te werken. Tot de volgende reboot.

Dokuwiki

Geïnstalleerd als QNAP package. Zie Dokuwiki beheer.

MySQL database server

MySQL kan aangeset worden in de standaard firmware. Configuratie in /etc/config/my.cnf. Admin account is root, password admin. Eens kijken naar mysqltuner.pl.

phpmyadmin is een QPKG

Links
http://10.10.10.10/phpMyAdmin/
http://elanor/phpMyAdmin/
https://elanor:8081/phpMyAdmin/
Filesystem
/mnt/ext/opt/mysql/bin: binaries; oa mysqldump

Troubleshooting

Niet opstarten

Kijk in /usr/local/mysql/var/elanor.err

Innodb missing probleem

Lijkt te worden veroorzaakt doordat php (tijdens het booten?) niet naar /opt/tmp/… kan schrijven.

/tmp directory probleem

MySQL staat standaard ingesteld om tijdelijke bestanden weg te schrijven naar /tmp. Dat veroorzaakt daar problemen wegens ruimtegebrek (/tmp op de QNAP is een 64MB ramdrive). Liever /opt/tmp gebruiken. Bekijken via phpMyAdmin, tab “Variabelen”, wijzigen in /etc/config/my.cnf.

  • slave load tmpdir
  • tmpdir

Vergeet niet de rechten van /opt/tmp op 777 te zetten.

Lock wait timout exceeded

In spotweb update log:

Fatal error occured while cleaning up messages due to retention:
  Lock wait timeout exceeded; try restarting transaction
my.cnf
innodb_lock_wait_timeout = 500

Regel was eerst weggecomment (en er stiond 50).

Online backup

Ook wel cloud backup? Nog uitzoeken. Zie Online Backup. Backup is gewenst voor de volgende directories:

  • Home shares, inclusief Maildir (/share/Homes)
  • Familie share /share/Familie
  • Ouders share /share/Ouders
  • Boeken share /share/Boeken
  • Foto share /share/Plaatjes
  • LDAP directory database
  • MySQL database
  • Dokuwiki data /opt/share/www/dokuwiki/data
  • Configuratie bestanden:
    • /etc
    • opt/etc
    • /mnt/HDA_ROOT/.config/

Calibre

De boekenverzameling staat op \\elanor\noeken. Hij is via het web (COPS) te bekijken via http://elanor/boeken

Squeezebox server

Standaard aan te zetten. Opstartscrip heet ssots.sh. Zie Bombadil.

Links:

Sabnzbd

Spotweb

CouchPotatoe

Films downloaden. Houdt in de gaten of je film al beschikbaar is.

Installation Path: /share/MD0_DATA/.qpkg/CouchPotato

SickBeard

Subliminal

Ondertitels voor films en TV series. Subliminal is te gebruiken als shell command. Zie Subliminal.

Optware

Geinstalleerd als QPKG package.

Packages. Niet:

Wel:

  • nano

mkvtoolnix

Foutmelding: locale::facet::_S_create_c_locale name not valid

export LC_ALL=C
mkvinfo

logrotate

Het package heet logrotate, configureren in /opt/etc/logrotate.conf.

/opt/etc/init.d

Hierin staan opstart- en afsluitscripts die niet automatisch worden aangeroepen door /etc/init.d/Optware.sh.

#!/bin/sh
 
RETVAL=0
QPKG_NAME="Optware"
PUBLIC_SHARE=`/sbin/getcfg SHARE_DEF defPublic -d Public -f /etc/config/def_share.info`
 
_exit()
{
    /bin/echo -e "Error: $*"
    /bin/echo
    exit 1
}
 
# Determine BASE installation location according to smb.conf
BASE=
publicdir=`/sbin/getcfg $PUBLIC_SHARE path -f /etc/config/smb.conf`
if [ ! -z $publicdir ] && [ -d $publicdir ];then
	publicdirp1=`/bin/echo $publicdir | /bin/cut -d "/" -f 2`
	publicdirp2=`/bin/echo $publicdir | /bin/cut -d "/" -f 3`
	publicdirp3=`/bin/echo $publicdir | /bin/cut -d "/" -f 4`
	if [ ! -z $publicdirp1 ] && [ ! -z $publicdirp2 ] && [ ! -z $publicdirp3 ]; then
		[ -d "/${publicdirp1}/${publicdirp2}/${PUBLIC_SHARE}" ] && BASE="/${publicdirp1}/${publicdirp2}"
	fi
fi
 
# Determine BASE installation location by checking where the Public folder is.
if [ -z $BASE ]; then
	for datadirtest in /share/HDA_DATA /share/HDB_DATA /share/HDC_DATA /share/HDD_DATA /share/MD0_DATA; do
		[ -d $datadirtest/$PUBLIC_SHARE ] && BASE="/${publicdirp1}/${publicdirp2}"
	done
fi
if [ -z $BASE ] ; then
	echo "The Public share not found."
	_exit 1
fi
QPKG_DIR=${BASE}/.qpkg/Optware
 
case "$1" in
  start)
  if [ `/sbin/getcfg ${QPKG_NAME} Enable -u -d FALSE -f /etc/config/qpkg.conf` = UNKNOWN ]; then
  	/sbin/setcfg ${QPKG_NAME} Enable TRUE -f /etc/config/qpkg.conf
  elif [ `/sbin/getcfg ${QPKG_NAME} Enable -u -d FALSE -f /etc/config/qpkg.conf` != TRUE ]; then
  	_exit  "${QPKG_NAME} is disabled."
  fi
 
  /bin/echo "Enable Optware/ipkg"
	# sym-link $QPKG_DIR to /opt
	/bin/rm -rf /opt
	/bin/ln -sf $QPKG_DIR /opt
 
	# adding Ipkg apps into system path ...
	/bin/cat /etc/profile | /bin/grep "PATH" | /bin/grep "/opt/bin" 1>>/dev/null 2>>/dev/null
	[ $? -ne 0 ] && /bin/echo "export PATH=$PATH":/opt/bin:/opt/sbin >> /etc/profile
 
  	# Patch per http://wiki.qnap.com/wiki/Install_Optware_IPKG
  	/bin/echo "Run Optware/ipkg /opt/etc/init.d/*"
  	source /etc/profile
       # Start all init scripts in /opt/etc/init.d
	# executing them in numerical order.
	for i in /opt/etc/init.d/S??* ;do
	    # Ignore dangling symlinks (if any).
    	    #[ ! -f "$i" ] && continue
           case "$i" in
           	*.sh)
	            # Source shell script for speed.
	            (
		        trap - INT QUIT TSTP
			set start
		        . $i
	    	    )
	        ;;
	        *)
	    	    # No sh extension, so fork subprocess.
	    	    $i start
                ;;          
            esac            
        done                
	# End patch
 
	;;
  stop)
  /bin/echo "Disable Optware/ipkg"
 
  	# Patch per http://wiki.qnap.com/wiki/Install_Optware_IPKG
  	/bin/echo "Run Optware/ipkg /opt/etc/init.d/*"
  	source /etc/profile
       # Start all init scripts in /opt/etc/init.d
	# executing them in numerical order.
	for i in /opt/etc/init.d/K??* ;do
	    # Ignore dangling symlinks (if any).
    	    #[ ! -f "$i" ] && continue
           case "$i" in
           	*.sh)
	            # Source shell script for speed.
	            (
		        trap - INT QUIT TSTP
			set stop
		        . $i
	    	    )
	        ;;
	        *)
	    	    # No sh extension, so fork subprocess.
	    	    $i stop
                ;;          
            esac            
        done                
	# End patch
 
	export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
 
	/bin/sync
	/bin/sleep 1
	;;
  restart)
	$0 stop
	$0 start
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac
 
exit $RETVAL

Video editen

Met mkvtoolnix. Het lijkt nodig export LC_ALL=C te geven voor je het gebruikt.

Perl

Geinstalleerd als optware package. Stond ook al in de firmware?

CPAN

Edit Config.pm: nano /opt/lib/perl5/5.10.0/CPAN/Config.pm. Verander de volgende instellingen:

'cpan_home' => q[/share/MD0_DATA/.cpan/build],
'build_dir' => q[/share/MD0_DATA/.cpan/build],
'histfile' => q[/share/MD0_DATA/.cpan/histfile],
'keep_source_where' => q[/share/MD0_DATA/.cpan/sources],
'prefs_dir' => q[/share/MD0_DATA/.cpan/prefs],

Zorg nu ook dat betreffende directories bestaan:

cd /share/MD0_DATA
mkdir .cpan
cd .cpan
mkdir build
mkdir histfile
mkdir sources
mkdir prefs
which make
#en als make niet gevonden is:
#ipkg install make
perl -MCPAN -e 'install CPAN'

Zie http://www.cpan.org/misc/cpan-faq.html#How_install_Perl_modules voor meer info.

Debian chroot

/share/Web/dokuwiki/data/pages/beheer/elanor.txt · Laatst gewijzigd: 2020/07/06 06:20 door 114.119.160.242
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5