diff --git a/doc/Debootstrap.md b/doc/Debootstrap.md new file mode 100644 index 0000000..6b648c1 --- /dev/null +++ b/doc/Debootstrap.md @@ -0,0 +1,130 @@ +# Introduction + +The debootstrap tool can be used to install +a basic copy of a Debian derivative into a folder. + +This guide explains how to install a full Kubuntu system with debootstrap. +However, any Ubuntu flavour can be installed this way. + +# Procedure + +## Basic Minimal Installation + + debootstrap --variant=minbase wily /target http://ch.archive.ubuntu.com/ubuntu + +The subsequent commands are all executed inside a +[chroot](Chroot.md) environment. + +## Basic Configuration + +### Set language + + locale-gen en_US.UTF-8 + update-locale LANG=en_US.UTF-8 + +### Set timezone + + dpkg-reconfigure tzdata + +### Basic configuration + +Do not forget to edit `fstab`, `hostname`, and `hosts` in /etc. + +An example fstab might look like: + + LABEL=System / ext4 errors=remount-ro,noatime,discard 0 1 + +Note: `discard` is useful for SSD disks. + +### Optionally, configure keyboard + + dpkg-reconfigure keyboard-configuration + +### Optionally, configure APT + + # /etc/apt/apt.conf.d/99recommends + APT::AutoRemove::RecommendsImportant + APT::Install-Recommends + +## Ubuntu Installation + +### Install Ubuntu minimal + + apt-get install ubuntu-minimal + +ubuntu-minimal contains useful packages +which would have to be installed manually in Debian. + +These include: `cron logrotate nano netbase net-tools isc-dhcp-client sudo rsyslog` + +### Add a regular user + + adduser user + +In Ubuntu, the default secondary user groups are: + + adm cdrom sudo dip plugdev lpadmin sambashare + +### Install kernel and bootloader + +To install a bootable system, the kernel and a bootloader +have to be installed. + +The following command installs Grub for EFI with Secure Boot enabled: + + apt-get install linux-generic grub-efi-amd64-signed shim-signed + +For BIOS, `grub-pc` has to be installed. + +Alternatively, extlinux can be installed instead of grub. +That section has yet to be written though... + +### Install desktop system + +At this point, it is necessary to enable the +`universe` repository component. +It is a good time to add some repositories. + +#### More software repositories + +All Ubuntu repositories are enabled using the following configuration: + + # /etc/apt/sources.list + deb http://ch.archive.ubuntu.com/ubuntu/ wily main restricted universe multiverse + deb http://ch.archive.ubuntu.com/ubuntu/ wily-security main restricted universe multiverse + deb http://ch.archive.ubuntu.com/ubuntu/ wily-updates main restricted universe multiverse + deb http://archive.canonical.com/ubuntu wily partner + +Also refer to the [Ubuntu Help](https://help.ubuntu.com/community/Repositories/Ubuntu) +to find about the different components. + +Some PPAs are needed to be sure to get the latest software versions. +First the `add-apt-repository` helper is installed, +and then those repositories are added: + + apt-get install software-properties-common + apt-mark auto software-properties-common + + add-apt-repository ppa:libreoffice/ppa + add-apt-repository ppa:rvm/smplayer + add-apt-repository ppa:qtbittorrent-team/qtbittorrent-stable + echo deb http://debian-mirrors.sdinet.de/debian-multimedia testing main \ + > /etc/apt/sources.list.d/deb-multimedia.list + +#### Install desktop packages + +Now do an `apt-get update` and install the desktop system: + + apt-get install --install-recommends ubuntu-standard kubuntu-desktop kubuntu-restricted-extras language-pack-kde-en + +Personally, I like to use Chrome and SMPlayer: + + apt-get purge ktorrent dragonplayer firefox + apt-get install --install-recommends --install-suggests libreoffice-{calc,impress,writer,kde,l10n-de} + apt-get install smplayer mpv ffmpeg + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + +Sometimes, some packages have to be pulled +from [packages.debian.org](http://packages.debian.org) manually. + +## Finished! diff --git a/doc/Install-a-Server.md b/doc/Install-a-Server.md index ea70bb1..2f3cbf4 100644 --- a/doc/Install-a-Server.md +++ b/doc/Install-a-Server.md @@ -10,9 +10,6 @@ This has two benefits: 1. The installation may be faster, if the VM runs on an SSD 2. Snapshots can be used in various stages of the installation process -This guide is mostly written for openSUSE (Zypper), -but can basically be applied to most Linux distos. - Partitioning ============ @@ -92,7 +89,7 @@ Install packages **DO NOT FORGET to install firmware packages!** For instance, a lot of laptops contain a Broadcom wireless card which does not work out-of-the-box. -The following packages are needed: +For openSUSE, the following packages are needed: * [kernel-firmware](http://software.opensuse.org/package/kernel-firmware) * [b43-fwcutter](http://software.opensuse.org/package/b43-fwcutter) @@ -101,9 +98,9 @@ The following packages are needed: Server Software --------------- - zypper in --no-recommends git - zypper in mariadb - zypper in php5-fpm php5-phar php5-openssl php5-xdebug php5-mysql +* git +* mariadb +* php5-fpm php5-phar php5-openssl php5-xdebug php5-mysql **Note:** Files created in /tmp by PHP-FPM are actually in a subdirectory named `/tmp/systemd-private-*` Also see https://fedoraproject.org/wiki/Features/ServicesPrivateTmp @@ -144,6 +141,8 @@ Free Space sync for f in var tmp root data; do rm -v /$f/zero; done +Also see [zerofree.sh](../scripts/zerofree.sh) + Notes ===== diff --git a/doc/Seafile.md b/doc/Seafile.md index 36f6143..8443143 100644 --- a/doc/Seafile.md +++ b/doc/Seafile.md @@ -8,32 +8,29 @@ and better supports collaboration between teams. This page lists the relevant configuration files of a Seafile installation which is accessible using HTTP *and* HTTPS. -Basically, it is a summary of the following articles: - -* [Deploying Seafile with SQLite](https://github.com/haiwen/seafile-docs/blob/master/deploy/using_sqlite.md) -* [Deploy Seafile behind NAT](https://github.com/haiwen/seafile-docs/blob/master/deploy/deploy_seafile_behind_nat.md) -* [Enabling Https with Nginx](https://github.com/haiwen/seafile-docs/blob/master/deploy/https_with_nginx.md) -* [Start Seafile at System Bootup](https://github.com/haiwen/seafile-docs/blob/master/deploy/start_seafile_at_system_bootup.md) - Configuration ============= -The configuration files are documented in the manual chapter -[Server Configuration and Customization](https://github.com/haiwen/seafile-docs/tree/master/config). +Since Seafile Server 5, all config files are located in the `conf` folder. seahub_settings.py ------------------ - SECRET_KEY = "SGkhCg==" - FILE_SERVER_ROOT = "/seafhttp" - CLOUD_MODE = True - FILE_PREVIEW_MAX_SIZE = 200 * 1024 * 1024 +[seahub_settings.py reference](https://github.com/haiwen/seafile-docs/blob/master/config/seahub_settings_py.md) -ccnet/ccnet.conf ----------------- + FILE_SERVER_ROOT = "/seafhttp" + +ccnet.conf +---------- + +[ccnet.conf reference](https://github.com/haiwen/seafile-docs/blob/master/config/ccnet-conf.md) SERVICE_URL = https://seafile.example.com +Contrary to the statements in the documentation, +`[General] ID` and `[Client] PORT` are actually necessary. +(As of version 5.0.1) + seafile-server-latest/runtime/seahub.conf ----------------------------------------- @@ -51,3 +48,11 @@ See * [seafile.service](../conf/systemd/seafile.service) * [seahub.service](../conf/systemd/seahub.service) + +References +========== + +* [Deploying Seafile with SQLite](https://github.com/haiwen/seafile-docs/blob/master/deploy/using_sqlite.md) +* [Deploy Seafile behind NAT](https://github.com/haiwen/seafile-docs/blob/master/deploy/deploy_seafile_behind_nat.md) +* [Enabling Https with Nginx](https://github.com/haiwen/seafile-docs/blob/master/deploy/https_with_nginx.md) +* [Start Seafile at System Bootup](https://github.com/haiwen/seafile-docs/blob/master/deploy/start_seafile_at_system_bootup.md)