<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.geitenpad.rijkenmiel.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rijk</id>
	<title>Geitenpad - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.geitenpad.rijkenmiel.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rijk"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php/Special:Contributions/Rijk"/>
	<updated>2026-09-12T03:22:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=257</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=257"/>
		<updated>2025-12-23T10:17:08Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configureer soundcard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De naam van de client wordt gezet in snapweb op de snapserver.&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 2&lt;br /&gt;
Create service to set volume on 100%&lt;br /&gt;
 sudo cat /etc/systemd/system/usb-volume.service&lt;br /&gt;
 &lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Set USB DAC volume to 100%&lt;br /&gt;
 After=multi-user.target sound.target&lt;br /&gt;
 Wants=multi-user.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStartPre=/bin/sleep 10&lt;br /&gt;
 ExecStart=/usr/bin/amixer -c 2 sset &#039;PCM&#039; 100%&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=256</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=256"/>
		<updated>2025-12-22T18:11:25Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configureer soundcard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De naam van de client wordt gezet in snapweb op de snapserver.&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 2&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=255</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=255"/>
		<updated>2025-12-22T17:59:41Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configureer soundcard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De naam van de client wordt gezet in snapweb op de snapserver.&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 2&lt;br /&gt;
Run alsamixer and set volume 100%, quit and save:&lt;br /&gt;
 sudo alsactl store&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=254</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=254"/>
		<updated>2025-12-22T17:36:32Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configureer soundcard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De naam van de client wordt gezet in snapweb op de snapserver.&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 2&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Main_Page&amp;diff=253</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Main_Page&amp;diff=253"/>
		<updated>2025-12-22T17:35:52Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Geitenpad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geitenpad ==&lt;br /&gt;
* [[Olimex-A20]]&lt;br /&gt;
* [[Olimex-A10]]&lt;br /&gt;
* [[ProBook 6550b]]&lt;br /&gt;
* [[Lenovo U410]]&lt;br /&gt;
* [[Precision 7540]]&lt;br /&gt;
* [[Luke]]&lt;br /&gt;
* [[Dell Optiplex]]&lt;br /&gt;
* [[GPK]]&lt;br /&gt;
* [[Upload]]&lt;br /&gt;
* [[SFPG]]&lt;br /&gt;
* [[Webcam]]&lt;br /&gt;
* [[Nextcloud]]&lt;br /&gt;
* [[Mediawiki]]&lt;br /&gt;
* [[Wordpress]]&lt;br /&gt;
* [[Splunk]]&lt;br /&gt;
* [[Davmail]]&lt;br /&gt;
* [[Prosody]]&lt;br /&gt;
* [[Openfire]]&lt;br /&gt;
* [[Ejabberd]]&lt;br /&gt;
* [[Watcher]]&lt;br /&gt;
* [[Tomcat]]&lt;br /&gt;
* [[Churchserviceplanner]]&lt;br /&gt;
* [[FTP]]&lt;br /&gt;
* [[Node]]&lt;br /&gt;
* [[Duplicati]]&lt;br /&gt;
* [[KVM]]&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
* [[Syncthing]]&lt;br /&gt;
* [[LandisPlusGyr]]&lt;br /&gt;
* [[Wireguard]]&lt;br /&gt;
&lt;br /&gt;
== Other domains ==&lt;br /&gt;
* [[Iemhof]]&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
* [[Grub]]&lt;br /&gt;
* [[VNC over SSH]]&lt;br /&gt;
* [[Port forwarding]]&lt;br /&gt;
* [[Backup to server]]&lt;br /&gt;
* [[Startup files on Ubuntu]]&lt;br /&gt;
* [[Bash]]&lt;br /&gt;
* [[Vimrc]]&lt;br /&gt;
* [[init.d Java script]]&lt;br /&gt;
* [[Change IntelliJ desktop file]]&lt;br /&gt;
* [[Stop bluetooth at boot]]&lt;br /&gt;
* [[Xfce4 panel colors]]&lt;br /&gt;
* [[Show all gnome startup programs]]&lt;br /&gt;
* [[Url to network disks]]&lt;br /&gt;
* [[journalctl]]&lt;br /&gt;
* [[fsck]]&lt;br /&gt;
* [[Autostart Eddie]]&lt;br /&gt;
* [[Access encrypted home]]&lt;br /&gt;
* [[Unlimited history]]&lt;br /&gt;
* [[Xscreensaver does not find images]]&lt;br /&gt;
* [[Font size Gnome top panel]]&lt;br /&gt;
* [[DRM removal from Kobo books]]&lt;br /&gt;
* [[Gnome screenshots to Desktop]]&lt;br /&gt;
* [[Gnome Desktop item in sidebar van Nautilus]]&lt;br /&gt;
* [[Screan tearing on Firefox]]&lt;br /&gt;
* [[Keep htop settings]]&lt;br /&gt;
* [[LVM]]&lt;br /&gt;
* [[Restore from chroot]]&lt;br /&gt;
* [[Dnsmasq in Networkmanager]]&lt;br /&gt;
* [[Gnome alt-tab]]&lt;br /&gt;
* [[Xscreensaver]]&lt;br /&gt;
* [[KDE]]&lt;br /&gt;
* [[PC sluit langzaam af]]&lt;br /&gt;
* [[Native dialogs on KDE for Firefox and Thunderbird]]&lt;br /&gt;
* [[KeepassXC]]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
* [[IntelliJ, Xdebug and Apache]]&lt;br /&gt;
* [[IntelliJ remove &#039;show in EasyTAG&#039;]]&lt;br /&gt;
* [[PHPStorm, Xdebug]]&lt;br /&gt;
&lt;br /&gt;
== Android ==&lt;br /&gt;
* [[Fairphone 3]]&lt;br /&gt;
* [[Download paid apk&#039;s]]&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [[Remote desktop via Putty]]&lt;br /&gt;
* [[Interne webpagina&#039;s via Putty]]&lt;br /&gt;
&lt;br /&gt;
== Laptops ==&lt;br /&gt;
* [[Miels Yoga Slim]]&lt;br /&gt;
* [[Rijks Mobile Precision 7540]]&lt;br /&gt;
* [[Thinkpad P16V]]&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=PPK&amp;diff=252</id>
		<title>PPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=PPK&amp;diff=252"/>
		<updated>2025-12-22T17:35:26Z</updated>

		<summary type="html">&lt;p&gt;Rijk: Rijk moved page PPK to GPK&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[GPK]]&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=251</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=251"/>
		<updated>2025-12-22T17:35:26Z</updated>

		<summary type="html">&lt;p&gt;Rijk: Rijk moved page PPK to GPK&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De naam van de client wordt gezet in snapweb op de snapserver.&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=250</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=250"/>
		<updated>2025-12-20T18:27:01Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configureer snapclient */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De naam van de client wordt gezet in snapweb op de snapserver.&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=249</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=249"/>
		<updated>2025-12-20T18:22:23Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configigureer snapclient */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=248</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=248"/>
		<updated>2025-12-20T18:22:08Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configigureer snapclient */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Set hostname ==&lt;br /&gt;
&lt;br /&gt;
 cat /etc/hostname&lt;br /&gt;
 gpk&lt;br /&gt;
&lt;br /&gt;
== Configigureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=247</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=247"/>
		<updated>2025-12-20T18:07:16Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configureer snapcast (niet meer, alleen client) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Configigureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=246</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=246"/>
		<updated>2025-12-20T18:07:01Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Install raspotify (niet meer, alleen client) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Configureer snapcast (niet meer, alleen client) ==&lt;br /&gt;
sudo vim /etc/snapserver.conf&lt;br /&gt;
voeg stream toe:&lt;br /&gt;
 stream = librespot:///librespot?name=PaardenSnap&amp;amp;username=r.oosterhoff@rijkenmiel.nl&amp;amp;password=uiM9hXZsgDWUg6&amp;amp;devicename=PaardenSnap (Keuken)&amp;amp;bitrate=320&amp;amp;normalize=true&amp;amp;autoplay=true&lt;br /&gt;
&lt;br /&gt;
copy snapweb van package gedownload package van https://packages.debian.org/nl/source/bullseye/snapcast naar /usr/share/snapserver/snapweb&lt;br /&gt;
zet dit pad ook in /etc/snapserver.conf&lt;br /&gt;
&lt;br /&gt;
== Configigureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=245</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=245"/>
		<updated>2025-12-20T18:06:47Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Install utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Install raspotify (niet meer, alleen client) ==&lt;br /&gt;
Handmatig van https://github.com/dtcooper/raspotify&lt;br /&gt;
&lt;br /&gt;
Dit is alleen om librespot op het systeem te krijgen dus daarna&lt;br /&gt;
 sudo systemctl disable raspotify&lt;br /&gt;
&lt;br /&gt;
== Configureer snapcast (niet meer, alleen client) ==&lt;br /&gt;
sudo vim /etc/snapserver.conf&lt;br /&gt;
voeg stream toe:&lt;br /&gt;
 stream = librespot:///librespot?name=PaardenSnap&amp;amp;username=r.oosterhoff@rijkenmiel.nl&amp;amp;password=uiM9hXZsgDWUg6&amp;amp;devicename=PaardenSnap (Keuken)&amp;amp;bitrate=320&amp;amp;normalize=true&amp;amp;autoplay=true&lt;br /&gt;
&lt;br /&gt;
copy snapweb van package gedownload package van https://packages.debian.org/nl/source/bullseye/snapcast naar /usr/share/snapserver/snapweb&lt;br /&gt;
zet dit pad ook in /etc/snapserver.conf&lt;br /&gt;
&lt;br /&gt;
== Configigureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=242</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=242"/>
		<updated>2025-12-11T12:00:37Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Configigureer snapclient */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 # sudo apt install vim screen locate snapserver snapclient&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Install raspotify (niet meer, alleen client) ==&lt;br /&gt;
Handmatig van https://github.com/dtcooper/raspotify&lt;br /&gt;
&lt;br /&gt;
Dit is alleen om librespot op het systeem te krijgen dus daarna&lt;br /&gt;
 sudo systemctl disable raspotify&lt;br /&gt;
&lt;br /&gt;
== Configureer snapcast (niet meer, alleen client) ==&lt;br /&gt;
sudo vim /etc/snapserver.conf&lt;br /&gt;
voeg stream toe:&lt;br /&gt;
 stream = librespot:///librespot?name=PaardenSnap&amp;amp;username=r.oosterhoff@rijkenmiel.nl&amp;amp;password=uiM9hXZsgDWUg6&amp;amp;devicename=PaardenSnap (Keuken)&amp;amp;bitrate=320&amp;amp;normalize=true&amp;amp;autoplay=true&lt;br /&gt;
&lt;br /&gt;
copy snapweb van package gedownload package van https://packages.debian.org/nl/source/bullseye/snapcast naar /usr/share/snapserver/snapweb&lt;br /&gt;
zet dit pad ook in /etc/snapserver.conf&lt;br /&gt;
&lt;br /&gt;
== Configigureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.156&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=241</id>
		<title>GPK</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=GPK&amp;diff=241"/>
		<updated>2025-12-11T10:36:41Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Install utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ref ==&lt;br /&gt;
https://oyvn.no/multi-room-audio-with-snapcast&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
* Gebruik Raspberry Pi Imager to write image&lt;br /&gt;
* Update&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 # sudo apt install vim screen locate snapserver snapclient&lt;br /&gt;
 sudo apt install vim screen locate snapclient&lt;br /&gt;
&lt;br /&gt;
== Install raspotify (niet meer, alleen client) ==&lt;br /&gt;
Handmatig van https://github.com/dtcooper/raspotify&lt;br /&gt;
&lt;br /&gt;
Dit is alleen om librespot op het systeem te krijgen dus daarna&lt;br /&gt;
 sudo systemctl disable raspotify&lt;br /&gt;
&lt;br /&gt;
== Configureer snapcast (niet meer, alleen client) ==&lt;br /&gt;
sudo vim /etc/snapserver.conf&lt;br /&gt;
voeg stream toe:&lt;br /&gt;
 stream = librespot:///librespot?name=PaardenSnap&amp;amp;username=r.oosterhoff@rijkenmiel.nl&amp;amp;password=uiM9hXZsgDWUg6&amp;amp;devicename=PaardenSnap (Keuken)&amp;amp;bitrate=320&amp;amp;normalize=true&amp;amp;autoplay=true&lt;br /&gt;
&lt;br /&gt;
copy snapweb van package gedownload package van https://packages.debian.org/nl/source/bullseye/snapcast naar /usr/share/snapserver/snapweb&lt;br /&gt;
zet dit pad ook in /etc/snapserver.conf&lt;br /&gt;
&lt;br /&gt;
== Configigureer snapclient ==&lt;br /&gt;
&lt;br /&gt;
 sudo vim /etc/default/snapclient&lt;br /&gt;
&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configureer soundcard ==&lt;br /&gt;
Bekijk lijst met cards&lt;br /&gt;
 aplay -l&lt;br /&gt;
Verander 1 regel in /usr/share/alsa/alsa.conf&lt;br /&gt;
 defaults.pcm.card 1&lt;br /&gt;
&lt;br /&gt;
== Disable graphic login ==&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
Kies boot option menu en set boot option&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=KDE&amp;diff=240</id>
		<title>KDE</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=KDE&amp;diff=240"/>
		<updated>2025-12-04T12:43:08Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Mouse scroll */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Mouse scroll ===&lt;br /&gt;
Plug usb connector uit en in&lt;br /&gt;
&lt;br /&gt;
=== Wayland icon ===&lt;br /&gt;
Wanneer een app het wayland icon toont moet de desktop filename in sync zijn met de application properties. Je kunt de desktop file hernoemen of rechter muisknop op de title bar-&amp;gt;more actions-&amp;gt;special application settings-&amp;gt;add property-&amp;gt;Desktop file name. Zorg dat deze overeenkomt met de filename.&lt;br /&gt;
&lt;br /&gt;
=== 4K / HiDpi ===&lt;br /&gt;
&lt;br /&gt;
* Go into &amp;quot;System Settings&amp;quot;. Under &amp;quot;Display and Monitor&amp;quot; click &amp;quot;Scale Display&amp;quot;. Drag the &amp;quot;Scale&amp;quot; slider to an appropriate amount. Log out and then back in&lt;br /&gt;
* If your cursor needs resizing you can do so in &amp;quot;System Settings&amp;quot;. Under &amp;quot;Workspace Theme&amp;quot;, select &amp;quot;Cursor Theme&amp;quot; and then adjust the size on the bottom right hand side&lt;br /&gt;
* Create following file:&lt;br /&gt;
 cat .config/plasma-workspace/env/hidpi.sh    &lt;br /&gt;
 export PLASMA_USE_QT_SCALING=1&lt;br /&gt;
* Add to /etc/environment&lt;br /&gt;
 GDK_SCALE=2&lt;br /&gt;
 GDK_DPI_SCALE=0.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Login: ====&lt;br /&gt;
* Create the following file: /etc/sddm.conf.d/hidpi.conf&lt;br /&gt;
 &lt;br /&gt;
 [Wayland]&lt;br /&gt;
 EnableHiDPI=true &lt;br /&gt;
 &lt;br /&gt;
 [X11]&lt;br /&gt;
 EnableHiDPI=true&lt;br /&gt;
&lt;br /&gt;
=== Hide window decorations on maximize ===&lt;br /&gt;
&lt;br /&gt;
 kwriteconfig5 --file kwinrc --group Windows --key BorderlessMaximizedWindows true&lt;br /&gt;
 dbus org.kde.KWin /KWin reconfigure&lt;br /&gt;
&lt;br /&gt;
=== Unix select paste not working ===&lt;br /&gt;
&lt;br /&gt;
Edit $HOME/.config/plasma-org.kde.plasma.desktop-appletsrc&lt;br /&gt;
&lt;br /&gt;
 [ActionPlugins][0]&lt;br /&gt;
 MiddleButton;NoModifier=org.kde.paste&lt;br /&gt;
&lt;br /&gt;
=== Wacom tablet offset ===&lt;br /&gt;
&lt;br /&gt;
in ~/.profile set:&lt;br /&gt;
 QT_XCB_TABLET_LEGACY_COORDINATES=1&lt;br /&gt;
&lt;br /&gt;
=== Windows key to overview ===&lt;br /&gt;
https://develmonk.com/2024/03/23/kde-can-have-meta-super-key-blow-up-the-screen-just-like-gnome/&lt;br /&gt;
 kwriteconfig6 --file kwinrc --group ModifierOnlyShortcuts --key Meta &amp;quot;org.kde.kglobalaccel,/component/kwin,,invokeShortcut,Overview&amp;quot;&lt;br /&gt;
 qdbus org.kde.KWin /KWin reconfigure&lt;br /&gt;
&lt;br /&gt;
Set two parameters:&lt;br /&gt;
 I found out the meta-only modifier is one thing that needed to be set in $HOME/.config/kwinrc, but also the Overview=Meta config in $HOME/.config/kglobalshortcutsrc – so there’s two places where it needs to be set. You’re supposed to be able to add /KWin reconfigure to the end to make it work immediately (reloads kwin config), but I’ve only been able to get it to work by killing sddm and logging back in. But hey, thanks so much for pointing me in the right direction!&lt;br /&gt;
&lt;br /&gt;
=== Reset Kde ===&lt;br /&gt;
&lt;br /&gt;
https://forum.manjaro.org/t/how-reset-all-kde-settings/21518/2&lt;br /&gt;
&lt;br /&gt;
Logout from KDE and run:&lt;br /&gt;
 cd ~/&lt;br /&gt;
 rm -rf .kde&lt;br /&gt;
 rm -rf .cache/plasmashell*&lt;br /&gt;
 rm -rf .cache/org.kde.dirmodel-qml.kcache&lt;br /&gt;
 rm -rf .cache/kioexec/ .cache/krunner/ .cache/ksycoca5*&lt;br /&gt;
 rm -rf .cache/krunnerbookmarkrunnerfirefoxdbfile.sqlite&lt;br /&gt;
 rm -f .config/plasma*&lt;br /&gt;
 rm -rf .config/kde*&lt;br /&gt;
 cd .local/&lt;br /&gt;
 rm -rf kate/ kded5/ klipper/ knewstuff3/ kscreen/ konsole/ kwalletd/ ksysguard/ kmail2/ kcookiejar/ kactivitymanagerd/&lt;br /&gt;
 cd share/&lt;br /&gt;
 rm -rf dolphin kate kcookiejar kded5 keyrings klipper kmail2 knewstuff3 konsole kscreen ksysguard kwalletd kxmlgui5 plasma_engine_comic plasma plasma_notes org.kde.gwenview&lt;br /&gt;
 cd ~/.config/&lt;br /&gt;
 rm -rf akonadi* KDE kconf_updaterc baloo* dolphinrc drkonqirc gwenviewrc kmail2rc k*rc katemetainfos&lt;br /&gt;
&lt;br /&gt;
It wipes config of all software, but help&lt;br /&gt;
&lt;br /&gt;
=== Overview windows shortcut ===&lt;br /&gt;
&lt;br /&gt;
 kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta &amp;quot;org.kde.kglobalaccel,/component/kwin,,invokeShortcut,Overview&amp;quot;&lt;br /&gt;
 qdbus org.kde.KWin /KWin reconfigure&lt;br /&gt;
&lt;br /&gt;
https://askubuntu.com/questions/1391793/kde-5-24-overview-launch-key&lt;br /&gt;
&lt;br /&gt;
=== Editing KDE Calendar single line ===&lt;br /&gt;
 sudo vim /usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/DigitalClock.qml&lt;br /&gt;
&lt;br /&gt;
Change line 57:&lt;br /&gt;
    // if the date/timezone cannot be fit with the smallest font to its designated space&lt;br /&gt;
    readonly property bool oneLineMode: plasmoid.formFactor == PlasmaCore.Types.Horizontal &amp;amp;&amp;amp;&lt;br /&gt;
                                        main.height &amp;lt;= 2 * theme.smallestFont.pixelSize &amp;amp;&amp;amp;&lt;br /&gt;
                                        (main.showDate || timezoneLabel.visible)&lt;br /&gt;
To:&lt;br /&gt;
    // if the date/timezone cannot be fit with the smallest font to its designated space&lt;br /&gt;
    readonly property bool oneLineMode: true&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=239</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=239"/>
		<updated>2025-12-02T16:01:46Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Snapcast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: wget vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* add non-free to sources list:&lt;br /&gt;
 root@olimex:~# cat /etc/apt/sources.list&lt;br /&gt;
 deb http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb http://deb.debian.org/debian trixie-updates main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie-updates main contrib non-free &lt;br /&gt;
 &lt;br /&gt;
 deb http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
* Install driver:&lt;br /&gt;
 wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rt2870.bin&lt;br /&gt;
 root@olimex:~# cp rt2870.bin /lib/firmware/&lt;br /&gt;
 root@olimex:~# chmod 644 /lib/firmware/rt2870.bin&lt;br /&gt;
 root@olimex:~# chown root:root /lib/firmware/rt2870.bin&lt;br /&gt;
* apt install -y iwd iproute2&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install snapclient&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=238</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=238"/>
		<updated>2025-12-02T12:07:23Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: wget vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* add non-free to sources list:&lt;br /&gt;
 root@olimex:~# cat /etc/apt/sources.list&lt;br /&gt;
 deb http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb http://deb.debian.org/debian trixie-updates main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie-updates main contrib non-free &lt;br /&gt;
 &lt;br /&gt;
 deb http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
* Install driver:&lt;br /&gt;
 wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rt2870.bin&lt;br /&gt;
 root@olimex:~# cp rt2870.bin /lib/firmware/&lt;br /&gt;
 root@olimex:~# chmod 644 /lib/firmware/rt2870.bin&lt;br /&gt;
 root@olimex:~# chown root:root /lib/firmware/rt2870.bin&lt;br /&gt;
* apt install -y iwd iproute2&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=237</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=237"/>
		<updated>2025-12-02T12:05:39Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: wget vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* add non-free to sources list:&lt;br /&gt;
 root@olimex:~# cat /etc/apt/sources.list&lt;br /&gt;
 deb http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb http://deb.debian.org/debian trixie-updates main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie-updates main contrib non-free &lt;br /&gt;
 &lt;br /&gt;
 deb http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
* Install driver:&lt;br /&gt;
 wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rt2870.bin&lt;br /&gt;
 root@olimex:~# cp rt2870.bin /lib/firmware/&lt;br /&gt;
 root@olimex:~# chmod 644 /lib/firmware/rt2870.bin&lt;br /&gt;
 root@olimex:~# chown root:root /lib/firmware/rt2870.bin&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=236</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=236"/>
		<updated>2025-12-02T11:59:43Z</updated>

		<summary type="html">&lt;p&gt;Rijk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: wget vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* add non-free to sources list:&lt;br /&gt;
 root@olimex:~# cat /etc/apt/sources.list&lt;br /&gt;
 deb http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb http://deb.debian.org/debian trixie-updates main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie-updates main contrib non-free &lt;br /&gt;
 &lt;br /&gt;
 deb http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
* Install driver:&lt;br /&gt;
 wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rt2870.bin&lt;br /&gt;
 root@olimex:~# cp rt2870.bin /lib/firmware/&lt;br /&gt;
 root@olimex:~# chmod 644 /lib/firmware/rt2870.bin&lt;br /&gt;
 root@olimex:~# chown root:root /lib/firmware/rt2870.bin&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=235</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=235"/>
		<updated>2025-12-02T11:57:34Z</updated>

		<summary type="html">&lt;p&gt;Rijk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: wget vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* add non-free to sources list:&lt;br /&gt;
 root@olimex:~# cat /etc/apt/sources.list&lt;br /&gt;
 deb http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb http://deb.debian.org/debian trixie-updates main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie-updates main contrib non-free &lt;br /&gt;
 &lt;br /&gt;
 deb http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=234</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=234"/>
		<updated>2025-12-02T11:57:20Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* add non-free to sources list:&lt;br /&gt;
 root@olimex:~# cat /etc/apt/sources.list&lt;br /&gt;
 deb http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie main contrib non-free&lt;br /&gt;
 &lt;br /&gt;
 deb http://deb.debian.org/debian trixie-updates main contrib non-free&lt;br /&gt;
 deb-src http://deb.debian.org/debian trixie-updates main contrib non-free &lt;br /&gt;
 &lt;br /&gt;
 deb http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/debian-security trixie-security main contrib non-free&lt;br /&gt;
&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=233</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=233"/>
		<updated>2025-12-01T19:50:50Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=232</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=232"/>
		<updated>2025-12-01T19:48:38Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* Add olimext to netdev group&lt;br /&gt;
 root@olimex:~# groupadd netdev&lt;br /&gt;
 root@olimex:~# usermod -aG netdev olimex&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=231</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=231"/>
		<updated>2025-12-01T19:45:55Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* create config file:&lt;br /&gt;
 root@olimex:~# cat /etc/dbus-1/system.d/iwd.conf&lt;br /&gt;
 &amp;lt;!DOCTYPE busconfig PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;busconfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Allow members of group &#039;netdev&#039; to talk to iwd --&amp;gt;&lt;br /&gt;
    &amp;lt;policy group=&amp;quot;netdev&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Root always allowed --&amp;gt;&lt;br /&gt;
    &amp;lt;policy user=&amp;quot;root&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;allow own=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;allow send_destination=&amp;quot;net.connman.iwd&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/policy&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/busconfig&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=230</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=230"/>
		<updated>2025-12-01T19:24:45Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
* Add user olimex&lt;br /&gt;
 root@debian:~# adduser olimex&lt;br /&gt;
 New password: &lt;br /&gt;
 Retype new password: &lt;br /&gt;
 passwd: password updated successfully&lt;br /&gt;
 Changing the user information for olimex&lt;br /&gt;
 Enter the new value, or press ENTER for the default&lt;br /&gt;
        Full Name []: &lt;br /&gt;
        Room Number []: &lt;br /&gt;
        Work Phone []: &lt;br /&gt;
        Home Phone []: &lt;br /&gt;
        Other []: &lt;br /&gt;
 Is the information correct? [Y/n]&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=229</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=229"/>
		<updated>2025-12-01T19:22:38Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf to enable networking&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl restart iwd&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=228</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=228"/>
		<updated>2025-12-01T19:19:30Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=227</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=227"/>
		<updated>2025-12-01T19:18:18Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* apt install -y iwd&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=226</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=226"/>
		<updated>2025-12-01T19:17:57Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Wifi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* apt install iwd vim&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=225</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=225"/>
		<updated>2025-12-01T19:08:43Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* Change password (passwd) for root&lt;br /&gt;
* Install utilities: vim htop usbutils screen locate&lt;br /&gt;
* Change hostname (/etc/hostname) to olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* systemctl --now disable wpa_supplicant&lt;br /&gt;
* systemctl --now disable NetworkManager&lt;br /&gt;
* apt install iwd vim&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=224</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=224"/>
		<updated>2025-12-01T19:07:08Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Als snapcast client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* change password (passwd) for root&lt;br /&gt;
* change hostname (/etc/hostname) to olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* systemctl --now disable wpa_supplicant&lt;br /&gt;
* systemctl --now disable NetworkManager&lt;br /&gt;
* apt install iwd vim&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=223</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=223"/>
		<updated>2025-12-01T18:57:51Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh, user root, passwd is in filename.&lt;br /&gt;
* change password (passwd) for root&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* systemctl --now disable wpa_supplicant&lt;br /&gt;
* systemctl --now disable NetworkManager&lt;br /&gt;
* apt install iwd vim&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=222</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=222"/>
		<updated>2025-12-01T18:54:45Z</updated>

		<summary type="html">&lt;p&gt;Rijk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Type =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A20-OLinuXino-MICRO&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh and olimex/olimex, upgrade to root.&lt;br /&gt;
* dpkg-reconfigure keyboard-configuration&lt;br /&gt;
* dpkg-reconfigure console-setup&lt;br /&gt;
* change password (passwd) for root,olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* systemctl --now disable wpa_supplicant&lt;br /&gt;
* systemctl --now disable NetworkManager&lt;br /&gt;
* apt install iwd vim&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=221</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=221"/>
		<updated>2025-12-01T16:29:32Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Als snapcast client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/a20_olinuxino_micro.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh and olimex/olimex, upgrade to root.&lt;br /&gt;
* dpkg-reconfigure keyboard-configuration&lt;br /&gt;
* dpkg-reconfigure console-setup&lt;br /&gt;
* change password (passwd) for root,olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* systemctl --now disable wpa_supplicant&lt;br /&gt;
* systemctl --now disable NetworkManager&lt;br /&gt;
* apt install iwd vim&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=220</id>
		<title>Olimex-A20</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Olimex-A20&amp;diff=220"/>
		<updated>2025-12-01T12:56:28Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Als snapcast client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Als snapcast client =&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Download Debian image (https://sd-card-images.johang.se/boards/olinuxino_lime2.html -&amp;gt; follow instructions).&lt;br /&gt;
* Boot from card with HDMI and Network connected.&lt;br /&gt;
* No partition enlargement necessary.&lt;br /&gt;
* Connect with ssh and olimex/olimex, upgrade to root.&lt;br /&gt;
* dpkg-reconfigure keyboard-configuration&lt;br /&gt;
* dpkg-reconfigure console-setup&lt;br /&gt;
* change password (passwd) for root,olimex&lt;br /&gt;
&lt;br /&gt;
== Wifi ==&lt;br /&gt;
 https://wiki.debian.org/WiFi/HowToUse#IWCtl&lt;br /&gt;
* export wlan0=wlx00e1b0860271&lt;br /&gt;
* export ssid=Geitenpad&lt;br /&gt;
* systemctl --now disable wpa_supplicant&lt;br /&gt;
* systemctl --now disable NetworkManager&lt;br /&gt;
* apt install iwd vim&lt;br /&gt;
 [General]&lt;br /&gt;
 EnableNetworkConfiguration=true&lt;br /&gt;
* systemctl --now enable iwd&lt;br /&gt;
* vim /etc/iwd/main.conf&lt;br /&gt;
* service iwd restart&lt;br /&gt;
* exit to olimex !!!&lt;br /&gt;
* iwctl (configure, type help for commands)&lt;br /&gt;
* reboot, unplug wired network&lt;br /&gt;
* systemctl enable --now systemd-resolved&lt;br /&gt;
* ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;br /&gt;
* reboot&lt;br /&gt;
&lt;br /&gt;
== Snapcast ==&lt;br /&gt;
* apt install mlocate snapserver snapclient&lt;br /&gt;
* systemctl --now disable snapserver&lt;br /&gt;
* vim /etc/default/snapclient&lt;br /&gt;
 SNAPCLIENT_OPTS=&amp;quot;-h 192.168.2.70&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Verouderd, als server =&lt;br /&gt;
&lt;br /&gt;
== Burn card ==&lt;br /&gt;
* Download image: https://drive.google.com/file/d/0B-bAEPML8fwlX2tYS2FmNXV5OUU/edit?usp=sharing &amp;lt;br /&amp;gt;&lt;br /&gt;
* Burn it to the card: &lt;br /&gt;
 rijk@rijksUreich:~$ dd bs=4M oflag=sync if=A20_debian_kernel_3_4_LAN_USBx2_Cards_LCD_HDMI_SATA_TS_X_GPIO_OTG_MIC_Video_accel_release7.img of=/dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
== Enlarge root partition ==&lt;br /&gt;
&lt;br /&gt;
I use an 8GB card but the image is only 4GB, in order to use everything I have to enlarge the partition. &lt;br /&gt;
* Put Card in cardreader of my laptop&lt;br /&gt;
 rijk@rijksUreich:~$ cfdisk -Ps /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
 Partition Table for /dev/mmcblk0&lt;br /&gt;
                 First        Last&lt;br /&gt;
 # Type         Sector      Sector   Offset    Length Filesystem Type (ID) Flag&lt;br /&gt;
   Pri/Log           0        2047      0#       2048 Free Space           None&lt;br /&gt;
 1 Primary        2048       34815      0       32768 Linux (83)           None&lt;br /&gt;
 2 Primary       34816     7774207      0     7739392 Linux (83)           None&lt;br /&gt;
   Pri/Log     7774208    15644671      0     7870464 Free Space           None&lt;br /&gt;
&lt;br /&gt;
 rijk@rijksUreich:~$ sudo cfdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
* Remove Partition 2 and create new one with filesystem 83&lt;br /&gt;
* Boot from disk and run&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# resize2fs /dev/mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
Later with debian 8 Olimex provided a script:&lt;br /&gt;
 resize_sd.sh /dev/mmcblk0 2&lt;br /&gt;
&lt;br /&gt;
== Start network on eth0 ==&lt;br /&gt;
 root@a20-OLinuXino:~# dhclient eth0&lt;br /&gt;
== Install vim ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install vim&lt;br /&gt;
&lt;br /&gt;
== Start eth0 on boot ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 allow-hotplug eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
*Configure caching:&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/mysql/conf.d# vim paardenpad.cnf&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 max_connections=500&lt;br /&gt;
 key_buffer_size=384M&lt;br /&gt;
 max_allowed_packet=16M&lt;br /&gt;
 table_cache=256&lt;br /&gt;
 sort_buffer_size=2M&lt;br /&gt;
 read_buffer_size=2M&lt;br /&gt;
 join_buffer_size=2M &amp;lt;br /&amp;gt;&lt;br /&gt;
 # if you are performing GROUP BY or ORDER BY queries on tables that&lt;br /&gt;
 # are much larger than your available memory, you should increase&lt;br /&gt;
 # the value of read_rnd_buffer_size to speed up the reading of rows&lt;br /&gt;
 # following sorting operations.&lt;br /&gt;
 # but: change the session variable only from within those clients&lt;br /&gt;
 # that need to run large queries&lt;br /&gt;
 read_rnd_buffer_size=2M&amp;lt;br /&amp;gt;&lt;br /&gt;
 max_heap_table_size=256M&lt;br /&gt;
 tmp_table_size=256M&amp;lt;br /&amp;gt;&lt;br /&gt;
 myisam_sort_buffer_size=64M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # increase until threads_created doesnt grow anymore&lt;br /&gt;
 thread_cache=256&amp;lt;br /&amp;gt;&lt;br /&gt;
 query_cache_type=1&lt;br /&gt;
 query_cache_limit=1M&lt;br /&gt;
 query_cache_size=32M&amp;lt;br /&amp;gt;&lt;br /&gt;
 # Try number of CPU&#039;s*2 for thread_concurrency&lt;br /&gt;
 thread_concurrency=4&lt;br /&gt;
&lt;br /&gt;
== Install Apache ==&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install apache2-threaded-dev debhelper cdbs dpatch libtool&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-enabled/userdir.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        UserDir public_html&lt;br /&gt;
        UserDir disabled root&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
                AllowOverride All&lt;br /&gt;
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;
                &amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order allow,deny&lt;br /&gt;
                        Allow from all&lt;br /&gt;
                &amp;lt;/Limit&amp;gt;&lt;br /&gt;
                &amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
                        Order deny,allow&lt;br /&gt;
                        Deny from all&lt;br /&gt;
                &amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/root/build# apt-get -b source libapache-mod-fastcgi&lt;br /&gt;
 root@a20-OLinuXino:/root/build# dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1_armhf.deb&lt;br /&gt;
 root@a20-OLinuXino:/root/build# a2enmod fastcgi actions&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# chown www-data:www-data /var/www/fastcgi&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/var/www/fastcgi# vim /etc/apache2/mods-available/fastcgi.conf &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule mod_fastcgi.c&amp;gt;&lt;br /&gt;
  AddHandler fastcgi-script .fcgi&lt;br /&gt;
  #FastCgiWrapper /usr/lib/apache2/suexec&lt;br /&gt;
  FastCgiIpcDir /var/lib/apache2/fastcgi&lt;br /&gt;
  Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi&lt;br /&gt;
  AddHandler php-script .php&lt;br /&gt;
  FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock&lt;br /&gt;
  Action php-script /php5.fastcgi virtual&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
 root@a20-OLinuXino:~# aptitude install php5 php5-mysql libapache2-mod-php5&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/apache2/mods-available/php5.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.ph(p[345]?|t|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;.+\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
    SetHandler application/x-httpd-php-source&lt;br /&gt;
    # Deny access to raw php sources by default&lt;br /&gt;
    # To re-enable it&#039;s recommended to enable access to the files&lt;br /&gt;
    # only in specific virtual host or directory&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
 # Deny access to files without filename (e.g. &#039;.php&#039;)&lt;br /&gt;
 &amp;lt;FilesMatch &amp;quot;^\.ph(p[345]?|t|tml|ps)$&amp;quot;&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Deny from all&lt;br /&gt;
 &amp;lt;/FilesMatch&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 # Running PHP scripts in user directories is disabled by default&lt;br /&gt;
 # &lt;br /&gt;
 # To re-enable PHP in user directories comment the following lines&lt;br /&gt;
 # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
 # prevents .htaccess files from disabling it.&lt;br /&gt;
 #&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
 #    &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
 #        php_admin_value engine Off&lt;br /&gt;
 #    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 #&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install phpMyAdmin ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install phpmyadmin&lt;br /&gt;
&lt;br /&gt;
* Deny external access&lt;br /&gt;
 root@paardenpad:/etc/apache2/conf.d# vim phpmyadmin.conf&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
 Order Allow,Deny&lt;br /&gt;
 Allow from 127.0.0.1       &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Install Apc ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install php-apc&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/php5/conf.d/20-apc.ini&lt;br /&gt;
&lt;br /&gt;
 extension=apc.so &amp;lt;br &amp;gt;&lt;br /&gt;
 apc.enabled=1&lt;br /&gt;
 apc.shm_size=128M&lt;br /&gt;
 apc.ttl=3600&lt;br /&gt;
 apc.user_ttl=7200&lt;br /&gt;
 apc.gc_ttl=3600&lt;br /&gt;
 apc.max_file_size=1M&lt;br /&gt;
 apc.stat=0&lt;br /&gt;
&lt;br /&gt;
== Install Tomcat ==&lt;br /&gt;
 root@a20-OLinuXino:/var/www# apt-get install tomcat7&lt;br /&gt;
 root@a20-OLinuXino:/var/www# aptitude install tomcat7-admin&lt;br /&gt;
&lt;br /&gt;
* Add roles manager-gui and admin-gui to user tomcat /etc/tomcat7/tomcat-users.xml&lt;br /&gt;
&lt;br /&gt;
== Remove xscreensaver from autostart in LXDE ==&lt;br /&gt;
 root@a20-OLinuXino:~# vim /etc/xdg/lxsession/LXDE/autostart&lt;br /&gt;
&lt;br /&gt;
* Remove line with xscreensaver.&lt;br /&gt;
&lt;br /&gt;
== Disable graphical login ==&lt;br /&gt;
 root@a20-OLinuXino:~# rm /etc/rc2.d/S01slim&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/etc/rc2.d# vim /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* comment line: &lt;br /&gt;
 chmod 777 /dev/disp  /dev/cedar_dev /dev/ump  /dev/mali&lt;br /&gt;
&lt;br /&gt;
Later with Debian 8 change line in /etc/X11/default-display-manager&lt;br /&gt;
 /usr/sbin/lightdm&lt;br /&gt;
to&lt;br /&gt;
 /usr/bin/true&lt;br /&gt;
&lt;br /&gt;
 root@A20-OLinuXino:~# vim /etc/X11/default-display-manager&lt;br /&gt;
&lt;br /&gt;
== Move /var to ssd ==&lt;br /&gt;
&lt;br /&gt;
* Create partition on ssd using GParted&lt;br /&gt;
 root@a20-OLinuXino:~# mount /dev/sda1 /mnt/sd&lt;br /&gt;
 root@a20-OLinuXino:~# rsync -aHAX /var/ /mnt/sd&lt;br /&gt;
&lt;br /&gt;
* Shutdown and remove contents of /var from sdcard&lt;br /&gt;
&lt;br /&gt;
== Remove user olimex ==&lt;br /&gt;
 root@a20-OLinuXino:~# userdel -r olimex&lt;br /&gt;
&lt;br /&gt;
== Push public key to olimex ==&lt;br /&gt;
 rijk@rijksUreich:~$ cat .ssh/id_rsa.pub | ssh olimex &#039;cat &amp;gt;&amp;gt; .ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
== Change root password ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# passwd&lt;br /&gt;
&lt;br /&gt;
== Prevent root login over ssh ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
 set value for PermitRootLogin: PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Setup nfs server ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/exports&lt;br /&gt;
&lt;br /&gt;
* Add line:&lt;br /&gt;
 /home/rijk/Documents	192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# /etc/init.d/nfs-kernel-server start&lt;br /&gt;
&lt;br /&gt;
== Setup userdir for apache ==&lt;br /&gt;
 rijk@a20-OLinuXino:~$ mkdir public_html&lt;br /&gt;
&lt;br /&gt;
* Copy content with Nautilus&lt;br /&gt;
&lt;br /&gt;
== Sync documents from server to olimex ==&lt;br /&gt;
 rijk@paardenpad:~&amp;gt; rsync -aze /home/rijk/Documents/* -e ssh olimex:/home/rijk/Documents&lt;br /&gt;
&lt;br /&gt;
== Configure https (https://wiki.debian.org/Self-Signed_Certificate) ==&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# openssl req -new -x509 -days 1095 -nodes -out /etc/ssl/localcerts/paardenpad.pem -keyout /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 root@a20-OLinuXino:/etc/ssl/localcerts# chmod 600 /etc/ssl/localcerts/paardenpad.*&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2enmod ssl&lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# cp default-ssl paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
 vim paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
* Add lines:&lt;br /&gt;
&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 SSLCertificateFile    /etc/ssl/localcerts/paardenpad.pem&lt;br /&gt;
 SSLCertificateKeyFile /etc/ssl/localcerts/paardenpad.key&lt;br /&gt;
 &lt;br /&gt;
 root@a20-OLinuXino:/etc/apache2/sites-available# a2ensite paardenpad-ssl&lt;br /&gt;
&lt;br /&gt;
== Change hostname ==&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hostname&lt;br /&gt;
 root@a20-OLinuXino:/home/rijk# vim /etc/hosts&lt;br /&gt;
&lt;br /&gt;
* Change both values to paardenpad.xs4all.nl&lt;br /&gt;
&lt;br /&gt;
== Limit access to apache applications and modules == &lt;br /&gt;
 root@paardenpad:/etc/apache2/mods-available# vim userdir.conf&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/phpmyadmin# vim apache.conf&lt;br /&gt;
&lt;br /&gt;
* Change access to:  &lt;br /&gt;
 Allow from 192.168.2.0/24&lt;br /&gt;
&lt;br /&gt;
== Locale ==&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
* Choose NL-UTF-8&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
* Choose Amsterdam&lt;br /&gt;
&lt;br /&gt;
== Install Sendmail == &lt;br /&gt;
 root@paardenpad:/var/www/upload# apt-get install sendmail&lt;br /&gt;
&lt;br /&gt;
== Colored prompt ==&lt;br /&gt;
* Set colors in .bashrc&lt;br /&gt;
&lt;br /&gt;
 Root: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
 User: PS1=&#039;${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ &#039;&lt;br /&gt;
&lt;br /&gt;
* For user add file .bash_profile:&lt;br /&gt;
 rijk@paardenpad:~$ cat .bash_profile &lt;br /&gt;
 # include .bashrc if it exists&lt;br /&gt;
 if [ -f ~/.bashrc ]; then&lt;br /&gt;
    . ~/.bashrc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Install DenyHosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# aptitude install denyhosts&lt;br /&gt;
&lt;br /&gt;
* Configure in /etc/denyhosts.conf&lt;br /&gt;
&lt;br /&gt;
== Install Mutt ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install mutt&lt;br /&gt;
&lt;br /&gt;
== Install gtkterm ==&lt;br /&gt;
 root@a20:~# aptitude install intltool gcc libvte-2.90-dev libvte-dev libgtk-3-dev libgtk2.0-dev&lt;br /&gt;
 root@a20Lime:~# git clone https://github.com/jiankangshiye/gtkterm&lt;br /&gt;
 root@a20Lime:~# cd gtkterm&lt;br /&gt;
 root@a20:~# ./autogen&lt;br /&gt;
 root@a20:~# ./configure&lt;br /&gt;
 root@a20:~# make&lt;br /&gt;
 root@a20:~# make install&lt;br /&gt;
&lt;br /&gt;
== Disable mail messages by cron ==&lt;br /&gt;
&lt;br /&gt;
Add &#039;&#039;&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&#039;&#039; to cronjob. E.g.&lt;br /&gt;
&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root fswebcam -r 1920x540 --jpeg 85 -D 3 /var/www/webcam/photo0.jpg &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== Install Samba ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/log# aptitude install samba&lt;br /&gt;
 root@paardenpad:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
    netbios name = SAMBASERVER&lt;br /&gt;
    workgroup = PAARDENPAD&lt;br /&gt;
    server string = Samba %v on (%L)&lt;br /&gt;
    encrypt passwords = Yes&lt;br /&gt;
    name resolve order = bcast host&lt;br /&gt;
    local master = Yes&lt;br /&gt;
    os level = 33&lt;br /&gt;
    load printers = no&lt;br /&gt;
    printing = bsd&lt;br /&gt;
    printcap name = /dev/null&lt;br /&gt;
    disable spoolss = yes&lt;br /&gt;
 [rijk]&lt;br /&gt;
    path = /home/rijk/Documents&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Rijks documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [miel]&lt;br /&gt;
    path = /home/miel&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Miels documents&lt;br /&gt;
    writable = Yes&lt;br /&gt;
 [oosterhoff]&lt;br /&gt;
    path = /home/oosterhoff&lt;br /&gt;
    guest ok = No&lt;br /&gt;
    comment = Shared documents&lt;br /&gt;
    writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u rijk&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u miel&lt;br /&gt;
 root@paardenpad:/etc/samba# pdbedit -a -u oosterhoff&lt;br /&gt;
&lt;br /&gt;
== Disabling / Enabling services ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba remove&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# update-rc.d samba defaults&lt;br /&gt;
&lt;br /&gt;
== Install NFS ==&lt;br /&gt;
 root@paardenpad:/#aptitude install nfs-kernel-server nfs-common&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/init.d# vim /etc/exports &lt;br /&gt;
&lt;br /&gt;
* Add line&lt;br /&gt;
&lt;br /&gt;
 /home/rijk/Documents    192.168.2.0/24(crossmnt,rw,no_root_squash,sync,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
== Userrights and groups ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# addgroup oosterhoff&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff rijk&lt;br /&gt;
 root@paardenpad:/etc/rc5.d# usermod -g oosterhoff miel&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# vim setUserRights&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chown -R rijk:oosterhoff /home/rijk&lt;br /&gt;
 chmod -R 755 /home/rijk/*&lt;br /&gt;
 chmod -R 775 /home/rijk/Documents/Pictures&lt;br /&gt;
 chown -R miel:users /home/miel&lt;br /&gt;
 chmod -R 755 /home/miel/*&lt;br /&gt;
 chmod -R 775 /home/oosterhoff/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# mkdir /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# chown rijk:oosterhoff /home/oosterhoff&lt;br /&gt;
 root@paardenpad:~/scripts# ./setUserRights&lt;br /&gt;
&lt;br /&gt;
== Push ssh key on server ==&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
* Alle enters, no passphrase&lt;br /&gt;
&lt;br /&gt;
 rijk@paardenpad:~/.ssh$ ssh-copy-id rijk@server&lt;br /&gt;
&lt;br /&gt;
== /etc/hosts ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk/.ssh# cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost paardenpad.xs4all.nl&lt;br /&gt;
 192.168.2.20 server&lt;br /&gt;
&lt;br /&gt;
== /etc/crontab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:~/scripts# cat /etc/crontab&lt;br /&gt;
&lt;br /&gt;
 # /etc/crontab: system-wide crontab&lt;br /&gt;
 # Unlike any other crontab you don&#039;t have to run the `crontab&#039;&lt;br /&gt;
 # command to install the new version when you edit this file&lt;br /&gt;
 # and files in /etc/cron.d. These files also have username fields,&lt;br /&gt;
 # that none of the other crontabs do.&amp;lt;br /&amp;gt;&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
 # m h dom mon dow user  command&lt;br /&gt;
 17    * * * *   root    cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.hourly&lt;br /&gt;
 25    6 * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.daily )&lt;br /&gt;
 47    6 * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.weekly )&lt;br /&gt;
 52    6 1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;amp;&amp;amp; run-parts --report /etc/cron.monthly )&lt;br /&gt;
 # &amp;lt;br /&amp;gt;&lt;br /&gt;
 */15  * * * *   root php -f /var/www/owncloud/cron.php &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 */5   * * * *   root /root/scripts/takePicture &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 0     2 * * *   rijk mysqldump --lock-tables -u owncloud --password=&#039;owndropagua&#039; owncloud &amp;gt; /home/rijk/Documents/Backups/oc.sql&lt;br /&gt;
 5     2 * * *   rijk mysqldump --lock-tables -u rainloop --password=&#039;mdswawdez$%&#039; rainloop &amp;gt; /home/rijk/Documents/Backups/rl.sql&lt;br /&gt;
 10    2 * * *   rijk mysqldump --lock-tables -u mediawiki --password=&#039;twiamfhhh&#039; mediawiki &amp;gt; /home/rijk/Documents/Backups/mw.sql&lt;br /&gt;
 15    2 * * *   root /root/scripts/setUserRights&lt;br /&gt;
 0     4 * * *   root /root/scripts/preCacheSFPG.py &amp;gt;&amp;gt; /var/log/preCacheSFPG.log&lt;br /&gt;
 0     * * * *   root /root/scripts/wakeOpenShift &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
== /etc/fstab ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/home/rijk# cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
 # /etc/fstab: static file system information.&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 /dev/root      /           ext4     noatime,errors=remount-ro         0 1&lt;br /&gt;
 tmpfs          /run/shm    tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /tmp        tmpfs    defaults                          0 0&lt;br /&gt;
 tmpfs          /var/tmp    tmpfs    defaults                          0 0&amp;lt;br /&amp;gt;&lt;br /&gt;
 #/dev/sda1     /var         ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda2     /home/rijk   ext4     noatime,discard,errors=remount-ro 0 2&lt;br /&gt;
 #/dev/sda3     /home/miel   ext4     noatime,discard,errors=remount-ro 0 2&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=219</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=219"/>
		<updated>2025-11-22T19:30:39Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Call pp for ip (uitgezet backup op Stack) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user=janarie&lt;br /&gt;
 autologin-user-timeout=0&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://phone-home.geitenpad.rijkenmiel.nl/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=oongeez4noch9dahl4AhPhequ&amp;amp;ip={}&amp;quot; https://phone-home.geitenpad.rijkenmiel.nl/post.php&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# apt install apt-transport-https ca-certificates curl gpg&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg&lt;br /&gt;
 root@iemhof:~# echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Build container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=218</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=218"/>
		<updated>2025-11-22T19:15:24Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Remove Berend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user=janarie&lt;br /&gt;
 autologin-user-timeout=0&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# apt install apt-transport-https ca-certificates curl gpg&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg&lt;br /&gt;
 root@iemhof:~# echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Build container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=217</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=217"/>
		<updated>2025-11-22T19:15:04Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Samba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user=janarie&lt;br /&gt;
 autologin-user-timeout=0&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# apt install apt-transport-https ca-certificates curl gpg&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg&lt;br /&gt;
 root@iemhof:~# echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Build container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=216</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=216"/>
		<updated>2025-11-22T19:14:13Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Enable autologin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user=janarie&lt;br /&gt;
 autologin-user-timeout=0&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# apt install apt-transport-https ca-certificates curl gpg&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg&lt;br /&gt;
 root@iemhof:~# echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Build container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=215</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=215"/>
		<updated>2025-11-22T18:58:23Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Disable integrated devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user = mythtv&lt;br /&gt;
 autologin-user-timeout = 10&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# apt install apt-transport-https ca-certificates curl gpg&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg&lt;br /&gt;
 root@iemhof:~# echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Build container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=214</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=214"/>
		<updated>2025-11-22T18:52:45Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Install landisplusgyr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user = mythtv&lt;br /&gt;
 autologin-user-timeout = 10&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# apt install apt-transport-https ca-certificates curl gpg&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg&lt;br /&gt;
 root@iemhof:~# echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Build container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:~/git/iemhof/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Nextcloud&amp;diff=213</id>
		<title>Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Nextcloud&amp;diff=213"/>
		<updated>2025-11-19T20:10:42Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Upgrade Docker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ProBook 6550b ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/root# wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip&lt;br /&gt;
 root@paardenpad:/root# unzip nextcloud-12.0.3.zip&lt;br /&gt;
 root@paardenpad:/root# mv nextclou* /var/www/html/&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/www/html# chown -R www-data:www-data nextclou*&lt;br /&gt;
&lt;br /&gt;
Change some settings recommended by nextcloud&lt;br /&gt;
 root@paardenpad:/var/www/html# a2enmod rewrite headers env dir mime&lt;br /&gt;
 root@paardenpad:/var/www/html# systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
Add some settings recommended by nextcloud&lt;br /&gt;
 root@paardenpad:/var/www/html# vim /etc/php/7.0/apache2/php.ini&lt;br /&gt;
&lt;br /&gt;
Export calendars and users can be arranged from owncloud, show link and add ?export&lt;br /&gt;
&lt;br /&gt;
== After update to 15.05 some extra configs ==&lt;br /&gt;
&lt;br /&gt;
 https://help.nextcloud.com/t/your-web-server-is-not-properly-set-up-to-resolve-ocm-provider/48530/15&lt;br /&gt;
 I dropped the following into the end of my /etc/apache2.conf file and all good now.&lt;br /&gt;
 &lt;br /&gt;
 Redirect 301 /ocm-provider/ /nextcloud/ocm-provider/&lt;br /&gt;
 Redirect 301 /ocs-provider/ /nextcloud/ocs-provider/&lt;br /&gt;
 Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav&lt;br /&gt;
 Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Thanks guys!&lt;br /&gt;
&lt;br /&gt;
== Add more icons to topbar ==&lt;br /&gt;
&lt;br /&gt;
 root@paardenpad:/var/www/html/nextcloud/core/js# vim js.js&lt;br /&gt;
&lt;br /&gt;
change percentage (0.33) to higher value e.g.:&lt;br /&gt;
&lt;br /&gt;
 var resizeMenu = function() {&lt;br /&gt;
                var appList = $(&#039;#appmenu li&#039;);&lt;br /&gt;
                var rightHeaderWidth = $(&#039;.header-right&#039;).outerWidth();&lt;br /&gt;
                var headerWidth = $(&#039;header&#039;).outerWidth();&lt;br /&gt;
                var usePercentualAppMenuLimit = 0.66;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Disable music app for groups ==&lt;br /&gt;
https://github.com/owncloud/music/issues/604&lt;br /&gt;
&lt;br /&gt;
Anyway, if you really need this feature on your installation, it&#039;s rather simple to enable it. Just modify the file apps/music/appinfo/info.xml and completely remove the block&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	&amp;lt;types&amp;gt;&lt;br /&gt;
		&amp;lt;!-- update metadata cache when create/update/delete a file --&amp;gt;&lt;br /&gt;
		&amp;lt;filesystem/&amp;gt;&lt;br /&gt;
	&amp;lt;/types&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgrade Docker ==&lt;br /&gt;
* Update versie (max 1 minor) in Dockerfile&lt;br /&gt;
* Run `docker-compose up --build`&lt;br /&gt;
* Haal Traefik een keer uit het netwerk en voeg het toe met het scriptje in GeitenpadBase&lt;br /&gt;
* Kijk in admin settings of er iets moet gebeuren.&lt;br /&gt;
* Als je een occ commando moet runnen is dit het eenvoudigst om via portainer in te loggen op commandline met user 33 en dan het commando uit te voeren. Anders kan dit door een shell te openen met `docker exec -it --user 33 nextcloud_nextcloud_1 /bin/bash&#039;&lt;br /&gt;
* Als ie niet wil starten gebruik docker compose ipv docker-compose&lt;br /&gt;
&lt;br /&gt;
== Warning: The `Strict-Transport-Security` HTTP header is not set ==&lt;br /&gt;
&lt;br /&gt;
    HTTP headers&lt;br /&gt;
    Some headers are not set correctly on your instance - The `Strict-Transport-Security` HTTP header is not set (should be at least `15552000` seconds). For enhanced security, it is recommended to enable HSTS. &lt;br /&gt;
&lt;br /&gt;
Add this:&lt;br /&gt;
&lt;br /&gt;
 Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
&lt;br /&gt;
under the &amp;lt;IfModule mod_env.c&amp;gt; section of the .htaccess in your root Nextcloud folder.&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=212</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=212"/>
		<updated>2025-11-17T10:24:28Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Add Docker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user = mythtv&lt;br /&gt;
 autologin-user-timeout = 10&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# apt install apt-transport-https ca-certificates curl gpg&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg&lt;br /&gt;
 root@iemhof:~# echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Copy jar, applications.properties and dockerfile to /home/rijk/landisplusgyr on iemhof&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=211</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=211"/>
		<updated>2025-11-11T13:14:15Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Install utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Enable autologin ==&lt;br /&gt;
 root@iemhof:~# cat /etc/lightdm/lightdm.conf &lt;br /&gt;
 #&lt;br /&gt;
 # General configuration&lt;br /&gt;
 #&lt;br /&gt;
 # start-default-seat = True to always start one seat if none are defined in the configuration&lt;br /&gt;
 # greeter-user = User to run greeter as&lt;br /&gt;
 # minimum-display-number = Minimum display number to use for X servers&lt;br /&gt;
 ...&lt;br /&gt;
 autologin-user = mythtv&lt;br /&gt;
 autologin-user-timeout = 10&lt;br /&gt;
 ...&lt;br /&gt;
 #listen-address=&lt;br /&gt;
 #width=1024&lt;br /&gt;
 #height=768&lt;br /&gt;
 #depth=8&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -&lt;br /&gt;
 root@iemhof:~# add-apt-repository \&lt;br /&gt;
     &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
     $(lsb_release -cs) \&lt;br /&gt;
     stable&amp;quot;&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Copy jar, applications.properties and dockerfile to /home/rijk/landisplusgyr on iemhof&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=210</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=210"/>
		<updated>2025-11-11T13:07:50Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Install base system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Edit boot order ==&lt;br /&gt;
Set Debian on top:&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# efibootmgr -o 0003,0000,2001,3000&lt;br /&gt;
 BootCurrent: 0003&lt;br /&gt;
 Timeout: 0 seconds&lt;br /&gt;
 BootOrder: 0003,0000,2001,3000&lt;br /&gt;
 Boot0000* Windows Boot Manager  HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC&lt;br /&gt;
 Boot0003* debian        HD(1,GPT,c496420a-e785-49da-add5-12d97b134f02,0x800,0x1e8000)/File(\EFI\debian\shimx64.efi)&lt;br /&gt;
 Boot2001* EFI USB Device        RC&lt;br /&gt;
 Boot3000* Internal Hard Disk or Solid State Disk        RC&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -&lt;br /&gt;
 root@iemhof:~# add-apt-repository \&lt;br /&gt;
     &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
     $(lsb_release -cs) \&lt;br /&gt;
     stable&amp;quot;&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Copy jar, applications.properties and dockerfile to /home/rijk/landisplusgyr on iemhof&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=209</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=209"/>
		<updated>2025-11-11T13:05:20Z</updated>

		<summary type="html">&lt;p&gt;Rijk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie. Choose xfce desktop and common system utilities&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -&lt;br /&gt;
 root@iemhof:~# add-apt-repository \&lt;br /&gt;
     &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
     $(lsb_release -cs) \&lt;br /&gt;
     stable&amp;quot;&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Copy jar, applications.properties and dockerfile to /home/rijk/landisplusgyr on iemhof&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=208</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=208"/>
		<updated>2025-11-11T13:03:47Z</updated>

		<summary type="html">&lt;p&gt;Rijk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/nvme0n1p3&lt;br /&gt;
Create vg iemhof and add nvme0n1p3&lt;br /&gt;
 vgcreate iemhof /dev/nvme0n1p3&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm with user janarie&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop tree curl unzip locate&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -&lt;br /&gt;
 root@iemhof:~# add-apt-repository \&lt;br /&gt;
     &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
     $(lsb_release -cs) \&lt;br /&gt;
     stable&amp;quot;&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Copy jar, applications.properties and dockerfile to /home/rijk/landisplusgyr on iemhof&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=207</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=207"/>
		<updated>2025-11-11T11:02:57Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Install base system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create Large partition 600G while booted Linux Mint from USB&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/sda5&lt;br /&gt;
Create vg iemhof and add sda5&lt;br /&gt;
 vgcreate iemhof /dev/sda5&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 13 Trixie using lvm&lt;br /&gt;
&lt;br /&gt;
== Add some users ==&lt;br /&gt;
 root@iemhof:~# adduser janarie&lt;br /&gt;
 pw: JAvB5282&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# adduser anneke&lt;br /&gt;
 pw: AJCdR1959!&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop aptitude tree curl mlocate unzip ntp openssh-server&lt;br /&gt;
&lt;br /&gt;
== Prevent hibernate on lid close ==&lt;br /&gt;
 root@iemhof:~# vim /etc/systemd/logind.conf&lt;br /&gt;
* Add line&lt;br /&gt;
 HandleLidSwitch=ignore&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -&lt;br /&gt;
 root@iemhof:~# add-apt-repository \&lt;br /&gt;
     &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
     $(lsb_release -cs) \&lt;br /&gt;
     stable&amp;quot;&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Copy jar, applications.properties and dockerfile to /home/rijk/landisplusgyr on iemhof&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=206</id>
		<title>Iemhof</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.geitenpad.rijkenmiel.nl/index.php?title=Iemhof&amp;diff=206"/>
		<updated>2025-11-11T11:01:45Z</updated>

		<summary type="html">&lt;p&gt;Rijk: /* Setup LVM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable integrated devices ==&lt;br /&gt;
In BIOS disable bluetooth, wifi and camera&lt;br /&gt;
&lt;br /&gt;
== Setup LVM ==&lt;br /&gt;
Create Large partition 600G while booted Linux Mint from USB&lt;br /&gt;
Create pv&lt;br /&gt;
 pvcreate /dev/sda5&lt;br /&gt;
Create vg iemhof and add sda5&lt;br /&gt;
 vgcreate iemhof /dev/sda5&lt;br /&gt;
Create lvs&lt;br /&gt;
 lvcreate --name root --size 35G iemhof&lt;br /&gt;
 lvcreate --name var --size 50G iemhof&lt;br /&gt;
 lvcreate --name janarie --size 50G iemhof&lt;br /&gt;
 lvcreate --name nc-data --size 650G iemhof&lt;br /&gt;
 lvcreate --name swap --size 16G iemhof&lt;br /&gt;
&lt;br /&gt;
== Install base system ==&lt;br /&gt;
Install Debian 10 Buster using lvm&lt;br /&gt;
&lt;br /&gt;
== Add some users ==&lt;br /&gt;
 root@iemhof:~# adduser janarie&lt;br /&gt;
 pw: JAvB5282&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# adduser anneke&lt;br /&gt;
 pw: AJCdR1959!&lt;br /&gt;
&lt;br /&gt;
== Install utilities ==&lt;br /&gt;
 root@iemhof:~# apt install vim screen htop aptitude tree curl mlocate unzip ntp openssh-server&lt;br /&gt;
&lt;br /&gt;
== Prevent hibernate on lid close ==&lt;br /&gt;
 root@iemhof:~# vim /etc/systemd/logind.conf&lt;br /&gt;
* Add line&lt;br /&gt;
 HandleLidSwitch=ignore&lt;br /&gt;
&lt;br /&gt;
== Call pp for ip (uitgezet backup op Stack) ==&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data   0 Aug  9 16:13 iemhof_ip&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data  39 Jul 12 12:38 index.php&lt;br /&gt;
 -rw-r--r-- 1 www-data www-data 350 Aug  9 16:14 post.php&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat index.php &lt;br /&gt;
 &amp;lt;?php echo $_SERVER[&#039;REMOTE_ADDR&#039;]; ?&amp;gt;&lt;br /&gt;
 root@paardenpad:/var/www/html/ip# cat post.php &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
 if (isset($_POST[&#039;username&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;password&#039;]) &amp;amp;&amp;amp; isset($_POST[&#039;ip&#039;])) {&lt;br /&gt;
 &lt;br /&gt;
    if(isIemhof($_POST)) {&lt;br /&gt;
        writeIemhof($_POST);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isIemhof($POST) {&lt;br /&gt;
    return $POST[&#039;username&#039;] == &#039;iemhof&#039; &amp;amp;&amp;amp; $POST[&#039;password&#039;] == &#039;qui2Niab&#039;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function writeIemhof($POST) {&lt;br /&gt;
    file_put_contents(iemhof_ip, $POST[&#039;ip&#039;]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set following script into cronjob&lt;br /&gt;
 root@iemhof:~/scripts# cat phoneHome &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 curl https://paardenpad.rijkenmiel.nl/ip/ | xargs -i curl --data &amp;quot;username=iemhof&amp;amp;password=qui2Niab&amp;amp;ip={}&amp;quot; https://paardenpad.rijkenmiel.nl/ip/post.php&lt;br /&gt;
 root@iemhof:~/scripts#&lt;br /&gt;
&lt;br /&gt;
Add line to /etc/crontab:&lt;br /&gt;
 0  7  *  *  *   root    /root/scripts/phoneHome&lt;br /&gt;
&lt;br /&gt;
== Backup Nextcloud ==&lt;br /&gt;
&lt;br /&gt;
BackupNCIemhof.sh (/root/scripts/backupNc in cron)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 WORK_DIR=&amp;quot;/root&amp;quot;&lt;br /&gt;
 BACKUP_FILE=&amp;quot;nc_iemhof.sql&amp;quot;&lt;br /&gt;
 STACK_SERVER=&amp;quot;rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 STACK_USER=&amp;quot;janarie@rijkierijk.stackstorage.com&amp;quot;&lt;br /&gt;
 export SSHPASS=&#039;SJMebb6AQFkDODSm&#039;&lt;br /&gt;
 &lt;br /&gt;
 echo `date`&lt;br /&gt;
 &lt;br /&gt;
 cd $WORK_DIR&lt;br /&gt;
 mysqldump --lock-tables -u nextcloud --password=&#039;Md8NqM1MbVY31hHX&#039; -h 127.0.0.1 -P 3310 nextcloud &amp;gt; $WORK_DIR/$BACKUP_FILE&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sshpass -e sftp -oBatchMode=no -b - $STACK_USER@$STACK_SERVER &amp;lt;&amp;lt; !&lt;br /&gt;
    put nc_iemhof.sql&lt;br /&gt;
    bye&lt;br /&gt;
 !&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $BACKUP_FILE&lt;br /&gt;
&lt;br /&gt;
== Add Docker ==&lt;br /&gt;
 root@iemhof:~# sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common&lt;br /&gt;
 root@iemhof:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -&lt;br /&gt;
 root@iemhof:~# add-apt-repository \&lt;br /&gt;
     &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
     $(lsb_release -cs) \&lt;br /&gt;
     stable&amp;quot;&lt;br /&gt;
 root@iemhof:~# apt update&lt;br /&gt;
 root@iemhof:~# apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
&lt;br /&gt;
== Install landisplusgyr ==&lt;br /&gt;
 root@iemhof:~# usermod -a -G dialout janarie&lt;br /&gt;
Copy jar, applications.properties and dockerfile to /home/rijk/landisplusgyr on iemhof&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker build . -t landisplusgyr&lt;br /&gt;
Run container:&lt;br /&gt;
 root@iemhof:/home/rijk/landisplusgyr# docker run -p 8090:8080 -v /home/janarie/landisplusgyr/:/landisplusgyr/ --device=/dev/ttyUSB0 --restart always landisplusgyr&lt;br /&gt;
Create cleanup job in crontab:&lt;br /&gt;
 0  0  1  *  *   janarie    mv /home/janarie/landisplusgyr/landisplusgyr_electricity.csv /home/janarie/landisplusgyr/landisplusgyr_electricity_$(date +\%Y\%m\%d).csv&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
 root@iemhof:~# apt install samba&lt;br /&gt;
 root@iemhof:/etc/samba# mv smb.conf smb.conf.org&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# vim smb.conf&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# cat smb.conf&lt;br /&gt;
 [global]&lt;br /&gt;
        netbios name = SERVER&lt;br /&gt;
        workgroup = IEMHOF&lt;br /&gt;
        server string = %v on %L&lt;br /&gt;
        encrypt passwords = Yes&lt;br /&gt;
        name resolve order = bcast host&lt;br /&gt;
        local master = Yes&lt;br /&gt;
        os level = 33&lt;br /&gt;
        load printers = no&lt;br /&gt;
        printing = bsd&lt;br /&gt;
        printcap name = /dev/null&lt;br /&gt;
        disable spoolss = yes&lt;br /&gt;
 [janarie]&lt;br /&gt;
       path = /home/janarie&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Jan Aries documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [anneke]&lt;br /&gt;
       path = /home/anneke&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Annekes documents&lt;br /&gt;
       writable = Yes&lt;br /&gt;
 [vanberkum]&lt;br /&gt;
       path = /home/vanberkum&lt;br /&gt;
       guest ok = No&lt;br /&gt;
       comment = Shared documents&lt;br /&gt;
       writable = yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a janarie&lt;br /&gt;
 root@iemhof:/etc/samba# smbpasswd -a anneke &lt;br /&gt;
 root@iemhof:/home# mkdir vanberkum&lt;br /&gt;
 root@iemhof:/home# groupadd vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser anneke vanberkum&lt;br /&gt;
 root@iemhof:/home# adduser janarie vanberkum&lt;br /&gt;
 root@iemhof:/home# chown janarie:vanberkum vanberkum/&lt;br /&gt;
 root@iemhof:/home# systemctl restart smbd&lt;br /&gt;
 root@iemhof:/home# systemctl restart nmbd&lt;br /&gt;
&lt;br /&gt;
== Give the complete disk to Jan Arie ==&lt;br /&gt;
List current partitions&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Create partion&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
Add partition with n&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors&lt;br /&gt;
 Disk model: WDC WD10SPZX-21Z&lt;br /&gt;
 Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
 Sector size (logical/physical): 512 bytes / 4096 bytes&lt;br /&gt;
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes&lt;br /&gt;
 Disklabel type: dos&lt;br /&gt;
 Disk identifier: 0x7bb20f4f&lt;br /&gt;
 &lt;br /&gt;
 Device     Boot      Start        End    Sectors   Size Id Type&lt;br /&gt;
 /dev/sda1  *          2048 1918363647 1918361600 914.8G  5 Extended&lt;br /&gt;
 /dev/sda2       1918363648 1953523711   35160064  16.8G 82 Linux swap / Solaris&lt;br /&gt;
 /dev/sda5             4096 1228804095 1228800000   586G 83 Linux&lt;br /&gt;
 /dev/sda6       1228806144 1918363647  689557504 328.8G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Change partition type to lvm&lt;br /&gt;
 root@iemhof:~# fdisk /dev/sda&lt;br /&gt;
 &lt;br /&gt;
 Welcome to fdisk (util-linux 2.33.1).&lt;br /&gt;
 Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
 Be careful before using the write command.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Partition number (1,2,5,6, default 6): 6&lt;br /&gt;
 Hex code (type L to list all codes): 8e&lt;br /&gt;
 &lt;br /&gt;
 Changed type of partition &#039;Linux&#039; to &#039;Linux LVM&#039;. &lt;br /&gt;
 &lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reload partion table&lt;br /&gt;
 partprobe&lt;br /&gt;
&lt;br /&gt;
Create physical volume&lt;br /&gt;
 root@iemhof:~# pvcreate /dev/sda6&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda6&amp;quot; successfully created.&lt;br /&gt;
&lt;br /&gt;
Add /dev/sda6 to volume group&lt;br /&gt;
 root@iemhof:~# vgextend iemhof /dev/sda6&lt;br /&gt;
  Volume group &amp;quot;iemhof&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Add space to lv van Jan Arie&lt;br /&gt;
 root@iemhof:~# lvextend -L+329G /dev/iemhof/ja&lt;br /&gt;
  Size of logical volume iemhof/ja changed from 100.00 GiB (25600 extents) to 429.00 GiB (109824 extents).&lt;br /&gt;
  Logical volume iemhof/ja successfully resized.&lt;br /&gt;
&lt;br /&gt;
Resize filesystem&lt;br /&gt;
 root@iemhof:~# resize2fs /dev/iemhof/ja&lt;br /&gt;
 resize2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Filesystem at /dev/iemhof/ja is mounted on /home/janarie; on-line resizing required&lt;br /&gt;
 old_desc_blocks = 13, new_desc_blocks = 54&lt;br /&gt;
 The filesystem on /dev/iemhof/ja is now 112459776 (4k) blocks long.&lt;br /&gt;
&lt;br /&gt;
== Remove extra space from Jan Arie ==&lt;br /&gt;
&lt;br /&gt;
Stop landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# docker container stop 66&lt;br /&gt;
&lt;br /&gt;
Unmount janarie&lt;br /&gt;
 root@iemhof:~# umount -l /home/janarie/&lt;br /&gt;
&lt;br /&gt;
Remove janarie from fstab&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
&lt;br /&gt;
Remount everything&lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Disable lv ja&lt;br /&gt;
 root@iemhof:~# !536&lt;br /&gt;
 lvchange -an /dev/mapper/iemhof-ja&lt;br /&gt;
&lt;br /&gt;
Remove lv ja&lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/ja&lt;br /&gt;
 Logical volume &amp;quot;ja&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove lv vms&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vms &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 a     root  var   vb    &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/vms&lt;br /&gt;
  Logical volume &amp;quot;vms&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
Remove /dev/sda6 from iemhof&lt;br /&gt;
 root@iemhof:~# vgreduce iemhof /dev/sda6&lt;br /&gt;
  Removed &amp;quot;/dev/sda6&amp;quot; from volume group &amp;quot;iemhof&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recreate lv ja&lt;br /&gt;
 root@iemhof:~# lvcreate --name ja --size 10G iemhof&lt;br /&gt;
  Logical volume &amp;quot;ja&amp;quot; created.&lt;br /&gt;
&lt;br /&gt;
Create filesystem&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/ja&lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 26214400 4k blocks and 6553600 inodes&lt;br /&gt;
 Filesystem UUID: 3319f0a9-cc02-44e4-b4f5-583ab2a44777&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, &lt;br /&gt;
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (131072 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done &lt;br /&gt;
&lt;br /&gt;
Mount ja to /home/janarie&lt;br /&gt;
 root@iemhof:~# mount /dev/iemhof/ja /home/janarie/&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# mount -a&lt;br /&gt;
&lt;br /&gt;
Copy landisplusgyr files back to /home/janarie/landisplusgyr&lt;br /&gt;
&lt;br /&gt;
Start docker container landisplusgyr&lt;br /&gt;
 root@iemhof:/home/janarie# docker container start 66&lt;br /&gt;
&lt;br /&gt;
== Remove Berend ==&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser berend --remove-home&lt;br /&gt;
 Looking for files to backup/remove ...&lt;br /&gt;
 Removing files ...&lt;br /&gt;
 Removing user `berend&#039; ...&lt;br /&gt;
 Warning: group `berend&#039; has no more members.&lt;br /&gt;
 Done.&lt;br /&gt;
&lt;br /&gt;
== Remove Anneke completely, lv etc ==&lt;br /&gt;
&lt;br /&gt;
Remove samba user&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# smbpasswd -x anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
Unmount anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# umount /home/anneke&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Remove user anneke &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# deluser anneke --remove-home&lt;br /&gt;
&lt;br /&gt;
Remove lv a&lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvchange -an /dev/mapper/iemhof-a &lt;br /&gt;
 root@iemhof:/home/janarie/landisplusgyr# lvremove /dev/iemhof/a&lt;br /&gt;
  Logical volume &amp;quot;a&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Remove VanBerkum ==&lt;br /&gt;
 root@iemhof:~# umount /home/vanberkum/&lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-v&lt;br /&gt;
 iemhof-var  iemhof-vb   &lt;br /&gt;
 root@iemhof:~# lvchange -an /dev/mapper/iemhof-vb &lt;br /&gt;
 root@iemhof:~# lvremove /dev/iemhof/&lt;br /&gt;
 ja    root  var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/&lt;br /&gt;
 control      iemhof-ja    iemhof-root  iemhof-var   &lt;br /&gt;
 root@iemhof:~# lvremove /dev/mapper/iemhof-vb&lt;br /&gt;
  Logical volume &amp;quot;vb&amp;quot; successfully removed&lt;br /&gt;
&lt;br /&gt;
== Create lv nc-data and mount on /var/nc-data&lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# lvcreate --name nc-data --size 600G iemhof&lt;br /&gt;
  Logical volume &amp;quot;nc-data&amp;quot; created.&lt;br /&gt;
 root@iemhof:~# mkdir /var/nc-data&lt;br /&gt;
 root@iemhof:~# mkfs.ext4 /dev/iemhof/nc-data &lt;br /&gt;
 mke2fs 1.44.5 (15-Dec-2018)&lt;br /&gt;
 Discarding device blocks: done                            &lt;br /&gt;
 Creating filesystem with 157286400 4k blocks and 39321600 inodes&lt;br /&gt;
 Filesystem UUID: 5fe9826f-62c0-4a1f-a9e6-020b4012a104&lt;br /&gt;
 Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, &lt;br /&gt;
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, &lt;br /&gt;
        102400000&lt;br /&gt;
 &lt;br /&gt;
 Allocating group tables: done                            &lt;br /&gt;
 Writing inode tables: done                            &lt;br /&gt;
 Creating journal (262144 blocks): done&lt;br /&gt;
 Writing superblocks and filesystem accounting information: done     &lt;br /&gt;
&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-&lt;br /&gt;
 iemhof-ja        iemhof-nc--data  iemhof-root      iemhof-var       &lt;br /&gt;
 root@iemhof:~# ls /dev/mapper/iemhof-nc--data&lt;br /&gt;
 root@iemhof:~# vim /etc/fstab &lt;br /&gt;
 root@iemhof:~# ls /var/&lt;br /&gt;
 backups  cache	lib  local  lock  log  lost+found  mail  nc-data  opt  run  spool  tmp&lt;br /&gt;
 root@iemhof:~# mount -a&lt;/div&gt;</summary>
		<author><name>Rijk</name></author>
	</entry>
</feed>