Skip to content

Commit

Permalink
Merge pull request #2 from subzero79/master
Browse files Browse the repository at this point in the history
Add more content
  • Loading branch information
votdev committed Jan 16, 2018
2 parents f829c3f + c04ad5b commit 2e47b61
Show file tree
Hide file tree
Showing 13 changed files with 421 additions and 15 deletions.
2 changes: 1 addition & 1 deletion FAQ.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,4 @@ I want to experiment with |omv| or make changes to the code
As a true open source system you can do whatever you want with it. The recommendation is you don't do it in your home appliance server to avoid breaking the web interface. The best thing to do is to use a Virtual Machine. In `Sourceforge <http://sourceforge.net/projects/openmediavault/files/vm/VirtualBox%20images/>`_ you can find a preconfigured |omv| virtual disk ready to launch.

What is the ``omv-update`` and ``omv-release-upgrade`` do?
Information about those commands are in the update/upgrade section.
Information about those commands are in the software :doc:`section </various/apt>`.
Binary file added _static/images/apcmag.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions feat.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Feat
===============

System
------------

general
----
74 changes: 74 additions & 0 deletions features.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
Features
======
System
-----

General settings
----
**General settings:** Change webGUI listening port, SSL and force SSL. Change admin password


**Notification system:** Integrated into several services in the form of email, these include scheduled tasks, services monitoring, SMART, MDADM and cron-apt. Since |omv| 3.0 is possible to add third party notification systems by using scripts, more information `here <https://github.com/openmediavault/openmediavault/blob/master/deb/openmediavault/usr/share/openmediavault/notification/sink.d/README>`_ and an `example <https://forum.openmediavault.org/index.php/Thread/14919-GUIDE-Use-Telegram-as-notification-service/>`_.

**Network configuration:** The webUI provides configuration options for ethernet, wifi (only WPA/WPA2 supported), bond and vlan interfaces. This also includes a panel for firewall configuration.

**Certificates:** Create or import existing SSL and SSH certificates. This certificates can by used for securing the webUI or SSH access. Plugins can use the backend framework to select the available certificates.

**Power Management:** Scheduled power management for hibernation (s5), suspend (s3), shutdown and/or reboot.

**Service Discovery:** Using avahi-daemon is possible to announce the following services SAMBA, NFS, AFP, FTP, web admin panel, to any Linux desktop with file browser that supports it (GNOME, KDE or XFCE for example). OS X can recognise AFP and SAMBA services in the Finder sidebar. To announce SMB to windows clients, samba uses NetBios, not avahi.

**Scheduled Tasks:** Based on cron and anacron the webUI can define tasks to run commands or custom scripts.

**Update Manager:** Display all available package upgrades.

Storage
----

**S.M.A.R.T.:** Based on smartmontools, It can display advanced information of S.M.A.R.T values in the webUI. It can also schedule health tests as well as send notifications when smart attirbutes values change.

**RAID Management:** Based on the well known mdadm utility, you can create raid arrays in different configurations. Levels available are linear, 0, 1, 10, 5 and 6. Disks can be removed or array expanded using the web panel

**File Systems:** Volume formatting and mounting of disks or arrays.

**LVM:** Enhanced by the LVM2 plugin, the system has the capability of formatting disks or partitions as LVM that can be used in volume groups to create logical partitions.

Access Right Management
----

**Users:** User and group managing. Using privileges is possible to restrict access/login to shares on network sharing services (FTP, Samba and AFP) without interfering Unix permissions.

**Groups:** Create and manage custom groups. System groups cannot be manipulated here.

**Shared Folders:** Simple shared folder administration. Within this section is also possible to assign ACLs and/or privileges to the shared folders.

Services
----


**SMB/CIFS:** SMB sharing protocol using samba as standalone server by default.

**FTP:** Service based on proftpd. Intended for accessing shares from remote locations.

**RSync:** Server daemon. Shared folders can be defined as rsync modules. With scheduled tasks, rsync client can be configured for push and/or pull jobs.

**NFS:** Network file system protocol.

**SSH:** Remote shell access with SFTP configured by default. `Guide <https://forum.openmediavault.org/index.php/Thread/7822-GUIDE-Enable-SSH-with-Public-Key-Authentication-Securing-remote-webUI-access-to/>`_ on how to configure ssh in |omv|.

**TFTP:** A basic configuration panel is provided. This can complement a PXE server to deploy local network installations.

.. note::

In omv4 tftp has been removed from core |omv|, and it now can be installed as an official plugin.

Diagnostics
----
**Dashboard:** By default the server comes with four information widgets. Network interfaces, System, Filesystem and service/daemon status.

**System information:** The panel displays four tabs with system information generated from top and usage graphs from rrdcached.

**System Logs:** Interface to view and download logs from syslog, boot, message, auth, ftp, rsync and samba. Plugins can attach their logs here using the framework.

**Services:** View status (enabled/disabled and running/not running) of services. Detailed information is provided by default for Samba, FTP and SSH. Plugins can use this tab to integrate their service information.

3 changes: 2 additions & 1 deletion index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ available right after installation of the base system. Additional 3rd-party
plugins are available via the `OMV-Extras repository <http://omv-extras.org/>`_.

.. toctree::
:maxdepth: 2
:maxdepth: 3
:caption: Contents:

prerequisites
Expand All @@ -30,6 +30,7 @@ plugins are available via the `OMV-Extras repository <http://omv-extras.org/>`_.
plugins
support
FAQ
features
contributors
copyright

Expand Down
25 changes: 14 additions & 11 deletions installation/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,27 @@
Installation
############

You can install |omv| in 3 easy steps.

Make sure your hardware is supported:
Before you proceed check if your hardware is supported on the system :doc:`requirements page </prerequisites>`.
Before you begin:
- Check if your hardware is supported on the system :doc:`requirements page </prerequisites>`.
- `Download <https://sourceforge.net/projects/openmediavault/files/>`_. an installation image file for your system. Openmediavault provides iso installers for x86 architecture and several preconfigured images for arm devices.
- Disconnect all harddisks except the future system drive. This way you avoid an accidental install on a storage drive (which will be configured after installation anyway).

Burn the installer:
For x86 architecture you can burn the iso directly into a usb drive using `etcher <https://etcher.io/>`_ or dd linux utility. If you have a CD-DVD burner, you can burn the iso into an optical media then boot from CD or DVD.
Etcher can also be used to transfer arm images into sd cards.

Install the software:
Choose your Installation target and follow the instructions.
Boot the installer:
For x86 architecture, enter BIOS configuration, select to boot either from USB or CD and reboot.
ARM images are ready to go, so boot from sd card and wait for the initial setup to complete. This takes around 30 minutes in slow devices like raspberry pi.

**Dedicated Drive** Adviced Method, This runs OMV from its own drive. A typical HDD will have much more endurance than USB flash media
Installer:
The current iso installer is reduced to have minimal interaction. You will prompted to select location, language and root password. The installer will pick the first available disk to deploy the the OS. Once the installer finished the system will reboot, make sure you remove the installer and select BIOS to boot from the disk where |omv| was installed. You can also start connecting any data drives you previously disconnected before install or reinstall

**USB Flash Drive** The operative system will be running from usb drives. This helps liberating a SATA port that can be used for data drives. Read :doc:`here </FAQ>` for information.

You can read at top of of each method if its suitable for you situation,
just pick the one that suits you best.

First time use:
Your NAS is installed and ready to be used for the for the first time.
If you have a screen attached, KVM or IMPI console the login screen will display the current ip address assigned for the web interface. Open your browser and type that IP address. The default username:password is :code:`admin:openmediavault`, the root password is the one you setup during install.
For arm images the root password is the same as admin password.

.. toctree::
:maxdepth: 2
2 changes: 0 additions & 2 deletions various/advancedsettings.rst

This file was deleted.

83 changes: 83 additions & 0 deletions various/advset.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
Advanced Configuration
======================

OpenMediaVault is not a replacement for webmin, where you can configure all options in the web interface. Options are already preconfigured to make it easier for the average user to install and start using the NAS server.

As mentioned before in the FAQ OpenMediaVault takes full control of some services, making difficult to intervene configuration files. Changes manually added to configuration files will eventually rewritten at some stage by the system. The list of common files not to intervene is listed :doc:`here </various/conffiles>`

To overcome this there are some options available to modify some of the default OpenMediaVault configuration options and values, like the use of environmental variables

Environmental Variables
-----------------------
The web does not provide access to ALL the configuration aspects of a complex system like |omv|. However, the system allows to change some advanced settings through the use of environment variables. To set or change these variables, login to you |omv| system using SSH and edit the file:

:file:`/etc/default/openmediavault`

Put the variable you want to change at the end of the file with the new value. Ensure the value is declared with double quotes

For example we are going to change the default sftp server for SSH service.

:code:`OMV_SSHD_SUBSYSTEM_SFTP=“/usr/lib/openssh/sftp-server”`

Make your changes, save, restart engined service openmediavault-engined restart and run omv-mkconf ssh, finally reload the SSH service via webUI or systemd

The list of all available environment variables can be found here

The list of environmental variables used for ``/etc/fstab`` filesystem with the defaults options and how to use them is described here

The mkconf folder
-----------------

The other advanced configuration is the use of :code:`mkconf/{service}.d/` folder type

The mkconf scripts bundled in openmediavault core and plugins are in :code:`/usr/share/openmediavault/mkconf/{service}.d/` folder. Those scripts are executed by run-parts in alphabetical order when a change is done in the webUI so the configuration is piped to the corresponding .conf file on their respective service.

These scripts are useful for placing extra configurations for services in a way that server will not overwrite the files every time you change something in the webUI.


Examples using mkconf folders
----_

Network interfaces file
The file ``/etc/network/interfaces`` will be (re-)generated by OMV on demand. Thus custom changes that are done by the user will get lost. To prevent this, the config generation supports custom scripts to add additional configuration to the '/etc/network/interfaces' file when OMV is generating it. Using this new feature it is no problem to add bridge or VLAN configurations.
To do that a script must be located at /usr/share/openmediavault/mkconf/interfaces.d/. and has to be executable. The script should look like the following::

#!/bin/sh
#
# This file is part of OpenMediaVault.
#
# @license http://www.gnu.org/licenses/gpl.html GPL Version 3
# @author Volker Theile <volker.theile@openmediavault.org>
# @copyright Copyright (c) 2009-2015 Volker Theile
#
# OpenMediaVault is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
#
# OpenMediaVault is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenMediaVault. If not, see <http://www.gnu.org/licenses/>.

set -e

. /etc/default/openmediavault
. /usr/share/openmediavault/scripts/helper-functions

OMV_INTERFACES_CONFIG=${OMV_INTERFACES_CONFIG:-"/etc/network/interfaces"}

cat <<EOF >> ${OMV_INTERFACES_CONFIG}
# The loopback network interface
auto lo
iface lo inet loopback
iface lo inet6 loopback
EOF

reference: http://forums.openmediavault.org/index.php/Thread/7355-Customize-etc-network-interfaces-the-OMV-way-1-11/

Samba
Another example was this script published in the forum as a `guide <http://forums.openmediavault.org/index.php/Thread/11607-Samba-access-based-share-enum-workaround-for-workgroups-Hide-shares-that-users-d/>`_ for samba. The intention of the user was to hide samba shares (not browsable) to users who did not have privileges to login into that shared folder. So basically the script will read the valid users list and will attempt to create as many files as valid users, appending the username variable to the end.
79 changes: 79 additions & 0 deletions various/apt.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
Software
####

Overview
----

Openmediavault is under a Debian distribution. It uses apt to install packages. All standard Debian packages are upgraded using the official Debian mirrors. Openmediavault packages are upgraded using the http://packages.openmediavault.org repository.

Update Manager
----

The update manager displays all available packages for upgrade. You can select them if you want to do individual or mass upgrade. The server uses cron-apt to perform a daily apt-get update and fetch upgrade packages automatically. If you have notifications enabled you receive an email every time packages are ready for install.

Using CLI
----

**apt-get**
If you want to update/upgrade in the console you can use apt-get update then apt-get upgrade

**omv-update**
This is wrapper script that basically executes :code:`apt-get update && apt-get upgrade`.

The full command is:

:file:`apt-get update && apt-get –yes –force-yes –fix-missing –auto-remove –allow-unauthenticated –show-upgraded –option DPkg::Options::=“–force-confold” dist-upgrade`

**omv-release-upgrade**
This is a script included only in the last versions of OpenMediaVault before moving to next major release version. For example: 0.5.60 to 1.x or 1.19 to 2.x. The command performs several tasks and modifications depending if the upgrade includes moving to a new base distribution. For example: Debian Squeeze to Wheezy or Wheezy to Jessie,

Installing plugins
----
The plugins can installed either by repository selecting from the available list or uploading the deb package. If the plugin requires some extra software it will fetch all remaining packages from either Debian mirrors or another repo the plugin specifies.

Installing Software
----

You have to your availability all Debian software repository to install in your server

Install :code:`apt-get install <packagename>`

Remove :code:`apt-get remove <packagename>`

Purge (remove package and configuration files): :code:`apt-get purge <packagename>`

Repositories
----

**Debian**
The OS repositories are in this file ``/etc/apt/sources.list`` The default contents are:

|omv| 2.0 (Wheezy)::

deb http://ftp.us.debian.org/debian wheezy main contrib non-free

deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free


|omv| 3.0 (Jessie)::

deb http://ftp.us.debian.org/debian jessie main contrib non-free

deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free

|omv| 4.0 (Stretch)::

deb http://ftp.us.debian.org/debian stretch main contrib non-free

deb http://ftp.debian.org/debian/ stretch-updates main contrib non-free

deb http://security.debian.org/ stretch/updates main contrib non-free

You should not include any external repositories in this file. If you have problem with the standard repo or a different mirror you selected during install, you can use netselect-apt 1). This software can give you the fastest ten mirrors closest to your location. The you can change the first two lines with the new mirror servers. Security repo does automatic mirroring so don't change it.

External
Debian provides the :file:`/etc/apt/sources.d/` folder for adding external repositories.
27 changes: 27 additions & 0 deletions various/conffiles.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Configuration files
=====


The following is the list of file you should not edit by hand. Openmediavault has complete control over these files and any changes will be overwrriten on demand.

**Filesystem:** :file:`/etc/fstab` This file contains all mount entries, physical and network ones. Openmediavault identifies them by using the «openmediavault» tags, in between those you should not delete entries or change options. Any new mount drive or network entry will rewrite fstab in between those lines, reverting any changes you have done. Please refer here for advanced editing options of fstab.

**Network:** :file:`/etc/network/interfaces` The explanation is already in the :doc:`FAQ </FAQ>`

**NGINX:** /etc/nginx/openmediavault-webgui.d/security.conf,/etc/nginx/sites-enabled/openmediavault-webgui,

**PHP5-FPM:** :file:`/etc/php5/fpm/pool.d/openmediavault-webgui.conf`

**POSTFIX:** Any configuration files by postfix should not be edited unless you know what you are doing. You run the risk of breaking the notification system.

**MONIT:** :file:`/etc/monit/monitrc,/etc/monit/conf.d/openmediavault-{servicename}`

**SAMBA:** :file:`/etc/samba/smb.conf` Use the extra options in general or by share to define options not present in the webUI.

**FTP:** :file:`/etc/proftpd/proftpd.conf` Use the extra options in general or per share to add directives not available in the webUI.

**NFS:** :file:`/etc/exports` Use environmental variables if you want to change the pseudo root filesystem options for NFSv4.

**APT**
- :file:`/etc/apt/sources.list` This is default debian repository server file. Read more information here.
- :file:`/etc/apt/sources.list.d/openmediavault.list` This is the server package repository for OMV.

0 comments on commit 2e47b61

Please sign in to comment.