Linux
Command Line
Vi
Work with Disk image
Backup
dd if=/dev/sdd of=~/SDCardBackup.img
Restore
dd bs=4M if=~/SDCardBackup.img of=/dev/sdd
sync
Java
- in case of error message "wrong ELF class: ELFCLASS64"
- Install 32bit jdk package
apt-get install openjdk-7-jdk:i386
Win 10 Samba
Windows 10 will try to negotiate SMB3_11, which Samba4 doesn't yet support except in the current 4.3 release candidate. I suspect for now disabling SMB2/3 on the Windows 10 client is your best, if not ideal, option.
To disable SMBv2 and SMBv3 on the SMB client, run the following commands:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabled
To enable SMBv2 and SMBv3 on the SMB client, run the following commands:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb20 start= auto
Server Setup
Template Server
Install Ubuntu Server
- Download ubuntu lts server version
- Only install open ssh sever
- Update package : apt-get update
- Update system : apt-get upgrade
Install Minimum Desktop
- Install minimal desktop : apt-get install --no-install-recommends xubuntu-desktop
Install other Software
- Install other tools : apt-get install firefox synaptic gkrellm gkrellmd gnome-terminal nfs-common xdiskusage gparted
- To compile : apt-get install build-essential linux-headers-generic
Install WebMin
- Download Webmin : wget http://prdownloads.sourceforge.net/webadmin/webmin_1.910_all.deb
- Install Dependencies : apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python unzip
- Install Webmin : dpkg --install webmin_1.910_all.deb
Steps to install apt-show-versions on Docker
apt-get purge apt-show-versions rm /var/lib/apt/lists/*gz apt-get -o Acquire::GzipIndexes=false update apt-get install -y apt-show-versions
Certificate
DNS
Mail Server
WebServer
Fail2Ban
Validate your server over internet service
Domaine reputation
- Sender Score to evaluation your server/domain reputation
Smtp validation and BlackList
- MxToolBox To validate your certificat your smtp setup and balcklist !!
- Google postmaster
Configuration Notes
SSH
- Allow root access
- edit /etc/ssh/sshd_config
PermitRootLogin yes
- Allow X11 Forward
X11Forwarding yes
- Allow external X11 not
X11UseLocalhost no
- Restart service
service ssh restart
Php
VirtualBox
- Too display Usb devices
usermod -aG vboxusers yourusername
- Increase Virtual Disk space
- VBoxManage modifyhd <absolute path to file> --resize <size in MB>
VBoxManage modifyhd wim.vdi --resize 20000
VNC
- Fixing the tab key in VNC
xfconf-query -c xfce4-keyboard-shortcuts -p /xfwm4/custom/'<'Super'>'Tab -r
Container Docker
- Web site Docker
Install Docker
- Install
apt-get install docker.io
Network Configuration
- Configuration to share the same network
- Edit /etc/network/interfaces to add a "bridge" you may have to reconfigure your firewall
- Add br0 to auto
- Remove ip assignement or dhcp of eth0
- Add br0 bridged to eth0
Ip Address assigned by dhcp
# Interfaces(5) file used by ifup(8) and ifdown(8) auto lo br0 eth0 iface lo inet loopback iface eth0 inet manual iface br0 inet dhcp bridge_ports eth0
Ip Address Fix
# Interfaces(5) file used by ifup(8) and ifdown(8) auto lo br0 eth0 iface lo inet loopback iface br0 inet static address 10.1.1.1 netmask 255.255.255.0 broadcast 10.1.1.255 network 10.1.1.0 bridge_ports eth0
Update Docker Configuration to use the bridge
- Edit /etc/default/docker.io
- Add private dns (--dns 192.168.1.1) and bridge (-b br0) to Docker Option line
DOCKER_OPTS="--dns 8.8.8.8 --dns 10.10.1.1 -b br0"
Howto manage container
See Container Howto for the usage
Owncloud
- Add the repository
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
- Add Key
wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.04/Release.key
sudo apt-key add - < Release.key
- Install
sudo apt-get update
sudo apt-get install owncloud
- Rescan Directory
sudo -u www-data php occ files:scan --all
php occ files:scan --all
Notes
Remove Maintenance Mode
cd /var/www/owncloud
sudo -u www-data php occ maintenance:mode --off
Disable Apps via Command Line
- Get the list
sudo -u www-data ./occ app:list
- Disable app
sudo -u www-data ./occ app:disable <app-id>
sudo -u www-data ./occ app:disable activity
sudo -u www-data ./occ app:disable afterlogic
sudo -u www-data ./occ app:disable bookmarks
sudo -u www-data ./occ app:disable calendar
sudo -u www-data ./occ app:disable camerarawpreviews
sudo -u www-data ./occ app:disable carnet
sudo -u www-data ./occ app:disable checksum
sudo -u www-data ./occ app:disable comments
sudo -u www-data ./occ app:disable configreport
sudo -u www-data ./occ app:disable contacts
sudo -u www-data ./occ app:disable dav
sudo -u www-data ./occ app:disable diagnostics
sudo -u www-data ./occ app:disable drawio
sudo -u www-data ./occ app:disable extract
sudo -u www-data ./occ app:disable federatedfilesharing
sudo -u www-data ./occ app:disable federation
sudo -u www-data ./occ app:disable files
sudo -u www-data ./occ app:disable files_external
sudo -u www-data ./occ app:disable files_mediaviewer
sudo -u www-data ./occ app:disable files_pdfviewer
sudo -u www-data ./occ app:disable files_sharing
sudo -u www-data ./occ app:disable files_texteditor
sudo -u www-data ./occ app:disable files_textviewer
sudo -u www-data ./occ app:disable files_trashbin
sudo -u www-data ./occ app:disable files_versions
sudo -u www-data ./occ app:disable firstrunwizard
sudo -u www-data ./occ app:disable gallery
sudo -u www-data ./occ app:disable market
sudo -u www-data ./occ app:disable notes
sudo -u www-data ./occ app:disable notifications
sudo -u www-data ./occ app:disable onlyoffice
sudo -u www-data ./occ app:disable provisioning_api
sudo -u www-data ./occ app:disable qownnotesapi
sudo -u www-data ./occ app:disable richdocuments
sudo -u www-data ./occ app:disable systemtags
sudo -u www-data ./occ app:disable tasks
sudo -u www-data ./occ app:disable updatenotification
Apache Svn Server
1: Install Apache HTTP server and required modules:
sudo apt-get install libapache2-svn apache2
2: Enable SSL
sudo a2enmod ssl
sudo vi /etc/apache2/ports.conf
Add or check that the following is in the file:
<IfModule mod_ssl.c> Listen 443 </IfModule>
3: Generate an SSL certificate:
sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
4: Create virtual host
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver
Change (in ports.conf):
"NameVirtualHost *" to "NameVirtualHost *:443"
and (in svnserver)
<VirtualHost *> to <VirtualHost *:443>
Add, under ServerAdmin (also in file svnserver):
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem SSLProtocol all SSLCipherSuite HIGH:MEDIUM
5: Enable the site:
sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart
To overcome warnings:
sudo vi /etc/apache2/apache2.conf
Add: "ServerName $your_server_name"
Add, under ServerAdmin (also in file svnserver):
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem SSLProtocol all SSLCipherSuite HIGH:MEDIUM
6: Adding repository(ies): The following setup assumes we want to host multiple repositories. Run this for creating the first repository:
sudo mkdir /var/svn
sudo svnadmin create /var/svn/mysvnrepository
sudo chown -R www-data:www-data /var/svn/mysvnrepository
sudo chmod -R g+ws /var/svn/mysvnrepository<
6.a. For more repositories: do step 6 again (changing mysvnrepository Name)
7: Add an authenticated user
sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name
8: Enable and configure WebDAV and SVN:
sudo vi /etc/apache2/mods-available/dav_svn.conf
Add or uncomment:
<Location /svn> DAV svn # for multiple repositories - see comments in file SVNParentPath /var/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user SSLRequireSSL </Location>
9: Restart apache server:
sudo /etc/init.d/apache2 restart
10: Validation:
Fired up a browser:
http://localhost/svn/$REPOS https://localhost/svn/$REPOS
Commit something:
svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”
Accept the certificate and enter password. Check out what you've just committed:
svn co --username $user_name https://localhost/svn/$REPOS
XDMCP
vi /etc/lightdm/lightdm.conf
[SeatDefaults]
greeter-session=lightdm-gtk-greeter
user-session=xubuntu
###Nr001
allow-guest=false
greeter-show-manual-login=true
greeter-hide-users=true
###Nr001
[XDMCPServer]
enabled=true
Video File Manipulation
Display Remote Screen
SSH Server Setup
- Create .Xauthority on the server under sshd service user (root)
touch ~/.Xauthority xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom) xauth list
- /etc/ssh/sshd_config
AllowTcpForwarding yes X11Forwarding yes X11UseLocalhost no
Xephyr / xdmcp
plugin Xdmcp for remina does not work and since few year noby seams to take care of it !
Instead use
Xephyr -query $REMOTE_HOST :1 -screen 1280x1024
Gnome Setting
Restore min, max icon on windows
- From Command Line
gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
- Graphic
- Install dconf-editor
- Navigate to org/gnome/desktop/wm/preferences
- Click the line says ‘button-layout’
- Enter value '/org/gnome/desktop/wm/preferences/button-layout' inside custom value