diff --git a/admin_manual/conf.py b/admin_manual/conf.py index 959d50c96..17013fbd2 100644 --- a/admin_manual/conf.py +++ b/admin_manual/conf.py @@ -38,7 +38,7 @@ source_suffix = '.rst' #source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = 'contents' # General information about the project. project = u'ownCloud Administrators Manual' diff --git a/admin_manual/configuration/configuration_3rdparty.rst b/admin_manual/configuration/configuration_3rdparty.rst new file mode 100644 index 000000000..83f46f99c --- /dev/null +++ b/admin_manual/configuration/configuration_3rdparty.rst @@ -0,0 +1,18 @@ +3rd-Party Configuration +======================= + +ownCloud resorts to some 3rd-party PHP components to provide its functionality. +These components are part of the software package and are usually shipped in +the **/3rdparty** folder. + +Parameters +---------- + +If you want to change the default location of the 3rd-party folder you can use the **3rdpartyroot** parameter to define the absolute file system path to the folder. The **3rdpartyurl** parameter is used to define the http web path to that folder, starting at the ownCloud web root. + +.. code-block:: php + + OC::$SERVERROOT."/3rdparty", + "3rdpartyurl" => "/3rdparty", diff --git a/admin_manual/configuration/configuration_apps.rst b/admin_manual/configuration/configuration_apps.rst new file mode 100644 index 000000000..3578e0281 --- /dev/null +++ b/admin_manual/configuration/configuration_apps.rst @@ -0,0 +1,65 @@ +Apps Configuration +================== +After you have installed ownCloud you might realize that it would be nice to +provide an additional function on top of the core functionality in your ownCloud installation. + +The first step should be to check out the ownCloud apps store (http://apps.owncloud.com/). There you will find a lot of ready-to-use apps provided by the ownCloud community. + +Parameters +---------- +Parameters are set in the :file:`config/config.php` inside the **$CONFIG** array. + +Use custom app directories +~~~~~~~~~~~~~~~~~~~~~~~~~~ +Use the **apps_paths** array to set the apps folders which should be scanned +for available apps and/or where user specific apps should be installed.The key +**path** defines the absolute file system path to the app folder. The key +**url** defines the http web path to that folder, starting at the ownCloud +web root. The key **writable** indicates if a user can install apps in that +folder. + +.. note:: If you want to make sure that the default **/apps/** folder only contains apps shipped with ownCloud, you should follow the example and set-up a **/apps2/** folder which will be used to store all apps downloaded by users + +.. code-block:: php + + array ( + 0 => array ( + "path" => OC::$SERVERROOT."/apps", + "url" => "/apps", + "writable" => false, + ), + 1 => array ( + "path" => OC::$SERVERROOT."/apps2", + "url" => "/apps2", + "writable" => true, + ), + ), + + +Use your own appstore +~~~~~~~~~~~~~~~~~~~~~ +If you want to allow the installation of apps from the apps store you have to +set **appstoreenabled** parameter, but this can only be done if at least one +of the configured apps directories is writeable. + +The **appstoreurl** is used to set the http path to the ownCloud apps store. The appstore server has to use OCS (Open Collaboration Services). + +.. code-block:: php + + true, + "appstoreurl" => "http://api.apps.owncloud.com/v1", + +Guard against malicious 3rdparty code +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Finally you can enable checks for malicious code fragments of 3rd-party apps +by setting the **appcodechecker** parameter. + +.. code-block:: php + + false, \ No newline at end of file diff --git a/admin_manual/configuration_automation.rst b/admin_manual/configuration/configuration_automation.rst similarity index 67% rename from admin_manual/configuration_automation.rst rename to admin_manual/configuration/configuration_automation.rst index c5975d6c7..f79908af9 100644 --- a/admin_manual/configuration_automation.rst +++ b/admin_manual/configuration/configuration_automation.rst @@ -2,12 +2,12 @@ Automatic Configuration ======================= If you need to install ownCloud on multiple servers you normally do not want -to set-up each instance separately as described in the ``Database Configuration`` +to set-up each instance separately as described in the **Database Configuration** chapter (:doc:`./configuration_database`). For this reason the automatic configuration feature has been introduced. To take advance of this feature you need to create a configuration file, called -``../owncloud/config/autoconfig.php`` and set the parameters as required. The +:file:`../owncloud/config/autoconfig.php` and set the parameters as required. The file will automatically be removed after the initial configuration has been applied. @@ -15,7 +15,7 @@ Parameters ---------- You need to keep in mind that two parameters are named differently in this -configuration file compared to the normal ``config.php`` file. +configuration file compared to the normal :file:`config.php`. +----------------+---------------+ | autoconfig.php | config.php | @@ -25,8 +25,11 @@ configuration file compared to the normal ``config.php`` file. | dbpass | dbpassword | +----------------+---------------+ -* **SQLite Database** - :: +SQLite Database +~~~~~~~~~~~~~~~ + +.. code-block:: php + "sqlite", @@ -36,12 +39,13 @@ configuration file compared to the normal ``config.php`` file. ); ?> -* **MySQL Database** +MySQL Database +~~~~~~~~~~~~~~ + +Keep in mind that the automatic configuration does not unburden you from creating the database user and database in advance, as described in the **Database Configuration** chapter (:doc:`./configuration_database`). + +.. code-block:: php - Keep in mind that the automatic configuration does not unburden you from - creating the database user and database in advance, as described in the - ``Database Configuration`` chapter (:doc:`./configuration_database`). - :: "mysql", @@ -56,12 +60,12 @@ configuration file compared to the normal ``config.php`` file. ); ?> -* **PostgreSQL Database** +PostgreSQL Database +~~~~~~~~~~~~~~~~~~~ +Keep in mind that the automatic configuration does not unburden you from creating the database user and database in advance, as described in the **Database Configuration** chapter (:doc:`./configuration_database`). + +.. code-block:: php - Keep in mind that the automatic configuration does not unburden you from - creating the database user and database in advance, as described in the - ``Database Configuration`` chapter (:doc:`./configuration_database`). - :: "pgsql", diff --git a/admin_manual/configuration/configuration_database.rst b/admin_manual/configuration/configuration_database.rst new file mode 100644 index 000000000..917521ad6 --- /dev/null +++ b/admin_manual/configuration/configuration_database.rst @@ -0,0 +1,212 @@ +Database Configuration +====================== + +To get ownCloud up-an-running it is necessary to choose a database in which all +administrative data should be held. Three different database type are currently +supported, SQLite (http://www.sqlite.org/), MySQL (http://www.mysql.com/) and +PostgreSQL (http://www.postgresql.org/). By default SQLite is choosen because +it is a file based database with the least administrative overhead. + +Requirements +------------ + +If you decide to use MySQL or PostgreSQL you need to install and set-up the +database first. These steps will not be covered by this description. + +Parameters +---------- + +SQLite Database +~~~~~~~~~~~~~~~ + +If you decide to use a SQLite database make sure that you have installed and +enabled the SQLite extension in PHP. The PHP configuration could look like +this:: + + cat /etc/php5/conf.d/sqlite3.ini + +:: + + # configuration for PHP SQLite3 module + extension=pdo_sqlite.so + extension=sqlite3.so + +It is not necessary to create a database and a database user in advance +because this will automatically be done by ownCloud when you login for the +first time. + +In the ownCloud counfiguration you need to set at least the ``datadirectory`` +parameter to the directory where your data and database should be stored. +No authentication is required to access the database therefore most of the +default parameters could be taken as it:: + + "dbtype" => "sqlite", + "dbname" => "owncloud", + "dbuser" => "", + "dbpassword" => "", + "dbhost" => "", + "dbtableprefix" => "", + "datadirectory" => "/www/htdocs/owncloud/data", + +MySQL Database +~~~~~~~~~~~~~~ +If you decide to use a MySQL database make sure that you have installed and +enabled the MySQL extension in PHP and that the ``mysql.default_socket`` +points to the correct socket (if the database runs on same server as ownCloud). +The PHP configuration could look like this: +:: + + cat /etc/php5/conf.d/mysql.ini + # configuration for PHP MySQL module + extension=pdo_mysql.so + extension=mysql.so + + [mysql] + mysql.allow_local_infile=On + mysql.allow_persistent=On + mysql.cache_size=2000 + mysql.max_persistent=-1 + mysql.max_links=-1 + mysql.default_port= + mysql.default_socket=/var/lib/mysql/mysql.sock + mysql.default_host= + mysql.default_user= + mysql.default_password= + mysql.connect_timeout=60 + mysql.trace_mode=Off + +Now you need to create a database user and the database itself by using the +MySQL command line interface. The database tables will be created by ownCloud +when you login for the first time:: + + # mysql -hlocalhost -uroot -proot-password + mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; + mysql> CREATE DATABASE IF NOT EXISTS owncloud; + mysql> GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password'; + mysql> QUIT + +In the ownCloud configuration you need to set the hostname on which the +database is running and a valid username and password to access it:: + + "dbtype" => "mysql", + "dbname" => "owncloud", + "dbuser" => "username", + "dbpassword" => "password", + "dbhost" => "localhost", + "dbtableprefix" => "", + +PostgreSQL Database +~~~~~~~~~~~~~~~~~~~ + +If you decide to use a PostgreSQL database make sure that you have installed +and enabled the PostgreSQL extension in PHP. The PHP configuration could look +like this:: + + cat /etc/php5/conf.d/pgsql.ini + # configuration for PHP PostgreSQL module + extension=pdo_pgsql.so + extension=pgsql.so + + [PostgresSQL] + pgsql.allow_persistent = On + pgsql.auto_reset_persistent = Off + pgsql.max_persistent = -1 + pgsql.max_links = -1 + pgsql.ignore_notice = 0 + pgsql.log_notice = 0 + +Now you need to create a database user and the database itself by using the +PostgreSQL command line interface. The database tables will be created by +ownCloud when you login for the first time:: + + # psql -hlocalhost -Upostgres + postgres=# CREATE USER username WITH PASSWORD 'password'; + postgres=# CREATE DATABASE owncloud TEMPLATE template0 ENCODING 'UNICODE'; + postgres=# ALTER DATABASE owncloud OWNER TO username; + postgres=# GRANT ALL PRIVILEGES ON DATABASE owncloud TO username; + postgres=# \q + +In the ownCloud configuration you need to set the hostname on which the +database is running and a valid username (and sometimes a password) to +access it. If the database has been installed on the same server as +ownCloud a password is very often not required to access the database:: + + "dbtype" => "pgsql", + "dbname" => "owncloud", + "dbuser" => "username", + "dbpassword" => "password", + "dbhost" => "localhost", + "dbtableprefix" => "", + +Trouble Shooting +---------------- + +1. **How can I find out if my MySQL/PostgreSQL server is reachable?** + + Use the ping command to check the server availability:: + + # ping db.server.dom + PING db.server.dom (ip-address) 56(84) bytes of data. + 64 bytes from your-server.local.lan (192.168.1.10): icmp_req=1 ttl=64 time=3.64 ms + 64 bytes from your-server.local.lan (192.168.1.10): icmp_req=2 ttl=64 time=0.055 ms + 64 bytes from your-server.local.lan (192.168.1.10): icmp_req=3 ttl=64 time=0.062 ms + +2. **How can I find out if a created user can access a database?** + + The easiet way to test if a database can be accessed is by starting the + command line interface: + + **SQLite**:: + + # sqlite3 /www/htdocs/owncloud/data/owncloud.db + sqlite> .version + SQLite 3.7.15.1 2012-12-19 20:39:10 6b85b767d0ff7975146156a99ad673f2c1a23318 + sqlite> .quit + + **MySQL**:: + + # mysql -hlocalhost -uusername -ppassword + mysql> SHOW VARIABLES LIKE "version"; + +---------------+--------+ + | Variable_name | Value | + +---------------+--------+ + | version | 5.1.67 | + +---------------+--------+ + 1 row in set (0.00 sec) + mysql> quit + + **PostgreSQL**:: + + # ./psql -hlocalhost -Uusername -downcloud + postgres=# SELECT version(); + version + ----------------------------------------------------------------------------------------------------- + PostgreSQL 8.4.12 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.3 20080704 (prerelease), 32-bit + (1 row) + postgres=# \q + +3. **Are there any other useful SQL commands which are worse to know?** + + **Show Database Users**:: + + SQLite : No database user is required. + MySQL : SELECT User,Host FROM mysql.user; + PostgreSQL: SELECT * from pg_user; + + **Show available Databases**:: + + SQLite : .databases (normally one database per file!) + MySQL : SHOW DATABASES; + PostgreSQL: \l + + **Show ownCloud Tables in Database**:: + + SQLite : .tables + MySQL : USE owncloud; SHOW TABLES; + PostgreSQL: \c owncloud; \d + + **Quit Database**:: + + SQLite : .quit + MySQL : quit + PostgreSQL: \q diff --git a/admin_manual/configuration_knowledgebase.rst b/admin_manual/configuration/configuration_knowledgebase.rst similarity index 94% rename from admin_manual/configuration_knowledgebase.rst rename to admin_manual/configuration/configuration_knowledgebase.rst index 5db266846..4ed65ba07 100644 --- a/admin_manual/configuration_knowledgebase.rst +++ b/admin_manual/configuration/configuration_knowledgebase.rst @@ -16,7 +16,7 @@ to set the http path to the ownCloud help page. (The server should understand OC **Hint:** Keep in mind that disabling the help menu item might increase the number of -support request you have to answer in the future. -:: +support request you have to answer in the future:: + "knowledgebaseenabled" => true, "knowledgebaseurl" => "http://api.apps.owncloud.com/v1", diff --git a/admin_manual/configuration_logging.rst b/admin_manual/configuration/configuration_logging.rst similarity index 100% rename from admin_manual/configuration_logging.rst rename to admin_manual/configuration/configuration_logging.rst diff --git a/admin_manual/configuration_mail.rst b/admin_manual/configuration/configuration_mail.rst similarity index 98% rename from admin_manual/configuration_mail.rst rename to admin_manual/configuration/configuration_mail.rst index 991c3bd7a..1bc8b2cc4 100644 --- a/admin_manual/configuration_mail.rst +++ b/admin_manual/configuration/configuration_mail.rst @@ -24,30 +24,25 @@ Parameters separated port number, e.g. ``:425``. If this value is not given the default port 25/tcp will be used unless you will change that by modifying the ``mail_smtpport`` parameter. Multiple server can be entered separated by - semicolon. - :: + semicolon:: "mail_smtpmode" => "smtp", "mail_smtphost" => "smtp-1.server.dom;smtp-2.server.dom:425", "mail_smtpport" => 25, - or - - :: + or:: "mail_smtpmode" => "smtp", "mail_smtphost" => "smtp.server.dom", "mail_smtpport" => 425, If a malware or SPAM scanner is running on the SMTP server it might be - necessary that you increase the SMTP timeout to e.g. 30s. - :: + necessary that you increase the SMTP timeout to e.g. 30s:: "mail_smtptimeout" => 30, If the SMTP server accepts unsecure connections, the default setting can be - used: - :: + used:: "mail_smtpsecure" => '', @@ -56,15 +51,14 @@ Parameters **ssl** - A secure connection will be initiated using the outdated SMTPS protocol - which uses the port 465/tcp. - :: + which uses the port 465/tcp:: + "mail_smtphost" => "smtp.server.dom:465", "mail_smtpsecure" => 'ssl', **tls** - A secure connection will be initiated using the STARTTLS protocol which - uses the default port 25/tcp. - :: + uses the default port 25/tcp:: "mail_smtphost" => "smtp.server.dom", "mail_smtpsecure" => 'tls', @@ -130,6 +124,7 @@ Parameters installed and working qmail email system on your server. The sendmail binary (``/var/qmail/bin/sendmail``) will then be used to send email. ownCloud should be able to send email out of the box. + :: "mail_smtpmode" => "qmail", diff --git a/admin_manual/configuration/index.rst b/admin_manual/configuration/index.rst new file mode 100644 index 000000000..547a3fca3 --- /dev/null +++ b/admin_manual/configuration/index.rst @@ -0,0 +1,14 @@ +============= +Configuration +============= + +.. toctree:: + :maxdepth: 1 + + configuration_3rdparty + configuration_apps + configuration_automation + configuration_database + configuration_knowledgebase + configuration_logging + configuration_mail diff --git a/admin_manual/configuration_3rdparty.rst b/admin_manual/configuration_3rdparty.rst deleted file mode 100644 index b5e4e38f1..000000000 --- a/admin_manual/configuration_3rdparty.rst +++ /dev/null @@ -1,17 +0,0 @@ -3rd-Party Configuration -======================= - -ownCloud resorts to some 3rd-party PHP components to provide its functionality. -These components are part of the software package and are usually shipped in -the ``/3rdparty`` folder. - -Parameters ----------- - -If you want to change the default location of the 3rd-party folder for some -reason you can use the ``3rdpartyroot`` parameter to define the absolute file -system path to the folder. The ``3rdpartyurl`` parameter is used to define the -http web path to that folder, starting at the ownCloud web root. -:: - "3rdpartyroot" => OC::$SERVERROOT."/3rdparty", - "3rdpartyurl" => "/3rdparty", diff --git a/admin_manual/configuration_apps.rst b/admin_manual/configuration_apps.rst deleted file mode 100644 index 1d7bffc30..000000000 --- a/admin_manual/configuration_apps.rst +++ /dev/null @@ -1,52 +0,0 @@ -Apps Configuration -================== - -After you have installed ownCloud you might realise that it would be nice to -provide this or that function on top of the core functionality in your own cloud. -The first stop to look for the desired enhancement is to check out the ownCloud -apps store (http://apps.owncloud.com/). There you will find a lot of ready-to-use -apps provided by the ownCloud community. - -Parameters ----------- - -If you want to allow the installation of apps from the apps store you have to -set ``appstoreenabled`` parameter, but this can only be done if at least one -of the configured apps paths is writeable. -:: - "appstoreenabled" => true, - -The ``appstoreurl`` is used to set the http path to the ownCloud apps store. -(The server should understand OCS (Open Collaboration Services). -:: - "appstoreurl" => "http://api.apps.owncloud.com/v1", - -Use the ``apps_paths`` array to set the apps folders which should be scanned -for available apps and/or where user specific apps should be installed.The key -``path`` defines the absolute file system path to the app folder. The key -``url`` defines the http web path to that folder, starting at the ownCloud -web root. The key ``writable`` indicates if a user can install apps in that -folder. - -**Hint:** -If you want to make sure that the default ``/apps`` folder only contains apps -shipped with ownCloud, you should follow the example and set-up a ``/apps2`` -folder which will be used to store all apps downloaded by users. -:: - "apps_paths" => array ( - 0 => array ( - "path" => OC::$SERVERROOT."/apps", - "url" => "/apps", - "writable" => false, - ), - 1 => array ( - "path" => OC::$SERVERROOT."/apps2", - "url" => "/apps2", - "writable" => true, - ), - ), - -Finally you can enable checks for malicious code fragments of 3rd-party apps -by setting the ``appcodechecker`` parameter. -:: - "appcodechecker" => false, diff --git a/admin_manual/configuration_database.rst b/admin_manual/configuration_database.rst deleted file mode 100644 index 9e0b745a8..000000000 --- a/admin_manual/configuration_database.rst +++ /dev/null @@ -1,214 +0,0 @@ -Database Configuration -====================== - -To get ownCloud up-an-running it is necessary to choose a database in which all -administrative data should be held. Three different database type are currently -supported, SQLite (http://www.sqlite.org/), MySQL (http://www.mysql.com/) and -PostgreSQL (http://www.postgresql.org/). By default SQLite is choosen because -it is a file based database with the least administrative overhead. - -Requirements ------------- - -If you decide to use MySQL or PostgreSQL you need to install and set-up the -database first. These steps will not be covered by this description. - -Parameters ----------- - -* **SQLite Database** - - If you decide to use a SQLite database make sure that you have installed and - enabled the SQLite extension in PHP. The PHP configuration could look like - this: - :: - - cat /etc/php5/conf.d/sqlite3.ini - # configuration for PHP SQLite3 module - extension=pdo_sqlite.so - extension=sqlite3.so - - It is not necessary to create a database and a database user in advance - because this will automatically be done by ownCloud when you login for the - first time. - - In the ownCloud counfiguration you need to set at least the ``datadirectory`` - parameter to the directory where your data and database should be stored. - No authentication is required to access the database therefore most of the - default parameters could be taken as it. - :: - - "dbtype" => "sqlite", - "dbname" => "owncloud", - "dbuser" => "", - "dbpassword" => "", - "dbhost" => "", - "dbtableprefix" => "", - "datadirectory" => "/www/htdocs/owncloud/data", - -* **MySQL Database** - - If you decide to use a MySQL database make sure that you have installed and - enabled the MySQL extension in PHP and that the ``mysql.default_socket`` - points to the correct socket (if the database runs on same server as ownCloud). - The PHP configuration could look like this: - :: - - cat /etc/php5/conf.d/mysql.ini - # configuration for PHP MySQL module - extension=pdo_mysql.so - extension=mysql.so - - [mysql] - mysql.allow_local_infile=On - mysql.allow_persistent=On - mysql.cache_size=2000 - mysql.max_persistent=-1 - mysql.max_links=-1 - mysql.default_port= - mysql.default_socket=/var/lib/mysql/mysql.sock - mysql.default_host= - mysql.default_user= - mysql.default_password= - mysql.connect_timeout=60 - mysql.trace_mode=Off - - Now you need to create a database user and the database itself by using the - MySQL command line interface. The database tables will be created by ownCloud - when you login for the first time. - :: - - # mysql -hlocalhost -uroot -proot-password - mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; - mysql> CREATE DATABASE IF NOT EXISTS owncloud; - mysql> GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password'; - mysql> QUIT - - In the ownCloud configuration you need to set the hostname on which the - database is running and a valid username and password to access it. - :: - - "dbtype" => "mysql", - "dbname" => "owncloud", - "dbuser" => "username", - "dbpassword" => "password", - "dbhost" => "localhost", - "dbtableprefix" => "", - -* **PostgreSQL Database** - - If you decide to use a PostgreSQL database make sure that you have installed - and enabled the PostgreSQL extension in PHP. The PHP configuration could look - like this: - :: - - cat /etc/php5/conf.d/pgsql.ini - # configuration for PHP PostgreSQL module - extension=pdo_pgsql.so - extension=pgsql.so - - [PostgresSQL] - pgsql.allow_persistent = On - pgsql.auto_reset_persistent = Off - pgsql.max_persistent = -1 - pgsql.max_links = -1 - pgsql.ignore_notice = 0 - pgsql.log_notice = 0 - - Now you need to create a database user and the database itself by using the - PostgreSQL command line interface. The database tables will be created by - ownCloud when you login for the first time. - :: - - # psql -hlocalhost -Upostgres - postgres=# CREATE USER username WITH PASSWORD 'password'; - postgres=# CREATE DATABASE owncloud TEMPLATE template0 ENCODING 'UNICODE'; - postgres=# ALTER DATABASE owncloud OWNER TO username; - postgres=# GRANT ALL PRIVILEGES ON DATABASE owncloud TO username; - postgres=# \q - - In the ownCloud configuration you need to set the hostname on which the - database is running and a valid username (and sometimes a password) to - access it. If the database has been installed on the same server as - ownCloud a password is very often not required to access the database. - :: - - "dbtype" => "pgsql", - "dbname" => "owncloud", - "dbuser" => "username", - "dbpassword" => "password", - "dbhost" => "localhost", - "dbtableprefix" => "", - -Trouble Shooting ----------------- - -1. **How can I find out if my MySQL/PostgreSQL server is reachable?** - - Use the ping command to check the server availability: - :: - # ping db.server.dom - PING db.server.dom (ip-address) 56(84) bytes of data. - 64 bytes from your-server.local.lan (192.168.1.10): icmp_req=1 ttl=64 time=3.64 ms - 64 bytes from your-server.local.lan (192.168.1.10): icmp_req=2 ttl=64 time=0.055 ms - 64 bytes from your-server.local.lan (192.168.1.10): icmp_req=3 ttl=64 time=0.062 ms - -2. **How can I find out if a created user can access a database?** - - The easiet way to test if a database can be accessed is by starting the - command line interface: - - **SQLite** - :: - # sqlite3 /www/htdocs/owncloud/data/owncloud.db - sqlite> .version - SQLite 3.7.15.1 2012-12-19 20:39:10 6b85b767d0ff7975146156a99ad673f2c1a23318 - sqlite> .quit - - **MySQL** - :: - # mysql -hlocalhost -uusername -ppassword - mysql> SHOW VARIABLES LIKE "version"; - +---------------+--------+ - | Variable_name | Value | - +---------------+--------+ - | version | 5.1.67 | - +---------------+--------+ - 1 row in set (0.00 sec) - mysql> quit - - **PostgreSQL** - :: - # ./psql -hlocalhost -Uusername -downcloud - postgres=# SELECT version(); - version - ----------------------------------------------------------------------------------------------------- - PostgreSQL 8.4.12 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.3 20080704 (prerelease), 32-bit - (1 row) - postgres=# \q - -3. **Are there any other useful SQL commands which are worse to know?** - - **Show Database Users** - :: - SQLite : No database user is required. - MySQL : SELECT User,Host FROM mysql.user; - PostgreSQL: SELECT * from pg_user; - - **Show available Databases** - :: - SQLite : .databases (normally one database per file!) - MySQL : SHOW DATABASES; - PostgreSQL: \l - - **Show ownCloud Tables in Database** - :: - SQLite : .tables - MySQL : USE owncloud; SHOW TABLES; - PostgreSQL: \c owncloud; \d - - **Quit Database** - :: - SQLite : .quit - MySQL : quit - PostgreSQL: \q diff --git a/admin_manual/contents.rst b/admin_manual/contents.rst new file mode 100644 index 000000000..04e0818ac --- /dev/null +++ b/admin_manual/contents.rst @@ -0,0 +1,29 @@ +.. _contents: + +=============================== +ownCloud documentation contents +=============================== + +.. toctree:: + :hidden: + + index + +.. toctree:: + :maxdepth: 3 + + installation/index + configuration/index + custom_mount_config + custom_user_backend + migrating + update + xsendfile + auth_ldap + + + +Indices and tables +================== + +* :ref:`genindex` diff --git a/admin_manual/custom_mount_config.rst b/admin_manual/custom_mount_config.rst index de4f5257c..4d5105c1f 100644 --- a/admin_manual/custom_mount_config.rst +++ b/admin_manual/custom_mount_config.rst @@ -23,7 +23,7 @@ following storage backends are available for use: - SMB Example -~~~~~~~ +------- .. code-block:: php @@ -53,8 +53,8 @@ Example ) ); -Backends: ---------- +Backends +-------- Local Filesystem ~~~~~~~~~~~~~~~~ diff --git a/admin_manual/index.rst b/admin_manual/index.rst index 4ac476e79..b4605a393 100644 --- a/admin_manual/index.rst +++ b/admin_manual/index.rst @@ -1,24 +1,54 @@ -.. _contents: +.. _index: -Contents -======== +=================== +Admin Documentation +=================== -.. toctree:: - :maxdepth: 2 +Introduction +============ - introduction - installation - update - auth_ldap - xsendfile - custom_mount_config - custom_user_backend - migrating -.. add more chapters +This is the administrators manual for ownCloud, a flexible, open source file +sync and share solution. It comprises of the ownCloud server, as well as client +applications for Microsoft Windows, Mac OS X and Linux (Desktop Client) and +mobile clients for the Android and Apple iOS operating system. +Target audience +--------------- + +This guide is targeted towards people who want to install, administer and +optimize ownCloud Server. If you want to learn how to use the Web UI, or how to +install clients on the server, please refer to the `User Manual`_ or the `Desktop +Client Manual`_ respectively. + +.. _`User Manual`: http://doc.owncloud.com/ +.. _`Desktop Client Manual`: http://doc.owncloud.com/ + +Structure of this document +-------------------------- + +The next chapters describes how to set up ownCloud Server on different platforms +and operating systems, as well as how to update existing installations. + +Further chapters will then detail on integrating ownCloud into your existing +environment, e.g. how to setup LDAP or how to mount your storage. + + +Installation +============ +This chapter will introduce you to the installation of ownCloud in different +scenarios. + +If you want to just try ownCloud in a virtual machine without any configuration, skip ahead to the appliance section, where you will find ready-to-use images. + +* :doc:`installation/installation_appliance` +* :doc:`installation/installation_linux` +* :doc:`installation/installation_macos` +* :doc:`installation/installation_windows` +* :doc:`installation/installation_ucs` +* :doc:`installation/installation_source` +* :doc:`installation/installation_others` Indices and tables ================== - * :ref:`genindex` - +* :ref:`genindex` \ No newline at end of file diff --git a/admin_manual/installation.rst b/admin_manual/installation.rst deleted file mode 100644 index 738580cbc..000000000 --- a/admin_manual/installation.rst +++ /dev/null @@ -1,17 +0,0 @@ -Installation -============ - -This chapter will introduce you to the installation of ownCloud in different -scenarios. - -If you want to just try ownCloud in a virtual machine without any configuration, -skip ahead to the appliance section, where you will find ready-to-use images. - -.. include:: installation_source.rst -.. include:: installation_linux.rst -.. include:: installation_others.rst -.. include:: installation_macos.rst -.. include:: installation_windows.rst -.. include:: installation_ucs.rst -.. include:: installation_appliance.rst - diff --git a/admin_manual/installation/index.rst b/admin_manual/installation/index.rst new file mode 100644 index 000000000..a248a67e7 --- /dev/null +++ b/admin_manual/installation/index.rst @@ -0,0 +1,14 @@ +============ +Installation +============ + +.. toctree:: + :maxdepth: 1 + + installation_appliance + installation_linux + installation_macos + installation_windows + installation_ucs + installation_source + installation_others \ No newline at end of file diff --git a/admin_manual/installation_appliance.rst b/admin_manual/installation/installation_appliance.rst similarity index 100% rename from admin_manual/installation_appliance.rst rename to admin_manual/installation/installation_appliance.rst diff --git a/admin_manual/installation_linux.rst b/admin_manual/installation/installation_linux.rst similarity index 100% rename from admin_manual/installation_linux.rst rename to admin_manual/installation/installation_linux.rst diff --git a/admin_manual/installation_macos.rst b/admin_manual/installation/installation_macos.rst similarity index 100% rename from admin_manual/installation_macos.rst rename to admin_manual/installation/installation_macos.rst diff --git a/admin_manual/installation_others.rst b/admin_manual/installation/installation_others.rst similarity index 96% rename from admin_manual/installation_others.rst rename to admin_manual/installation/installation_others.rst index af5375583..9c8017abb 100644 --- a/admin_manual/installation_others.rst +++ b/admin_manual/installation/installation_others.rst @@ -1,14 +1,13 @@ Other Web Servers ------------------ - +================= The most popular server choice for ownCloud is Apache, which is why it is also the combinations tested best. However, it is also possible to run ownCloud on other web servers. This section does not cover Microsoft Internet Information Services (IIS), it is covered -in the `Windows 7 and Windows Server 2008`_ section. +in the :doc:`installation_windows` section. Nginx Configuration -~~~~~~~~~~~~~~~~~~~ +------------------- - You need to insert the following code into ``your nginx config file.`` @@ -80,7 +79,7 @@ Nginx Configuration services in order these changes to be applied. Lighttpd Configuration -~~~~~~~~~~~~~~~~~~~~~~ +---------------------- This assumes that you are familiar with installing PHP application on lighttpd. @@ -104,7 +103,7 @@ Disable directory listing:: } Yaws Configuration -~~~~~~~~~~~~~~~~~~ +------------------ This should be in your ``yaws_server.conf``. In the configuration file, the ``dir_listings = false`` is important and also the redirect from ``/data`` @@ -132,7 +131,7 @@ need a custom error handler for yaws. See this `github gist for further instructions`_ on how to create and compile that error handler. Hiawatha Configuration -~~~~~~~~~~~~~~~~~~~~~~ +---------------------- Add ``WebDAVapp = yes`` to the ownCloud virtual host. Users accessing WebDAV from MacOS will also need to add ``AllowDotFiles = yes``. @@ -146,7 +145,7 @@ Disable access to data folder:: PageKite Configuration -~~~~~~~~~~~~~~~~~~~~~~ +---------------------- You can use this `PageKite how to`_ to make your local ownCloud accessible from the internet using PageKite. diff --git a/admin_manual/installation_source.rst b/admin_manual/installation/installation_source.rst similarity index 100% rename from admin_manual/installation_source.rst rename to admin_manual/installation/installation_source.rst diff --git a/admin_manual/installation_ucs.rst b/admin_manual/installation/installation_ucs.rst similarity index 70% rename from admin_manual/installation_ucs.rst rename to admin_manual/installation/installation_ucs.rst index 37ab0a14a..3b1dc86d4 100644 --- a/admin_manual/installation_ucs.rst +++ b/admin_manual/installation/installation_ucs.rst @@ -18,13 +18,11 @@ eventually:: # univention-install mysql-server # ucr set repository/online/unmaintained="no" -.. note:: If MySQL is already installed and/or a password for the user root is - set, please make sure it is saved in /etc/mysql.secret, otherwise you - will experience problems. +.. note:: If MySQL is already installed and/or a password for the user root is set, please make sure it is saved in /etc/mysql.secret, otherwise you will experience problems. In case you want to install ownCloud from the repository, it is already enough to enable the unmaintained repository for MySQL. You can skip the rest of this -section and read on at :ref:`Pre configuration`. ownCloud has further dependencies, +section and read on at :ref:`preconfig`. ownCloud has further dependencies, which all belong to the maintained repository. Install them as well:: # univention-install php5-mysql php5-ldap php5-gd @@ -32,6 +30,8 @@ which all belong to the maintained repository. Install them as well:: The package manager is going to remove ``libgd2-noxpm``, which is not a problem and nothing to worry about. +.. _preconfig: + Pre configuration ^^^^^^^^^^^^^^^^^ @@ -48,27 +48,27 @@ and assign your required value. .. tabularcolumns:: |l|p{5cm}|p{5cm}|l| .. cssclass:: longtable .. csv-table:: - :header: Key, Default, Description, Introduced - :widths: 20, 30, 30, 20 + :header: Key, Default, Description, Introduced + :widths: 20, 30, 30, 20 - "owncloud/directory/data", "/var/lib/owncloud", "Specifies where the file storage will be placed", "2012.0.1" - "owncloud/db/name", "owncloud", "Name of the MySQL database. ownCloud will create an own user for it.", 2012.0.1 - "owncloud/user/quota", "(empty)", "The default quota, when a user is being added. Assign values in human readable strings, e.g. “2 GB”. Unlimited if empty.", 2012.0.1 - "owncloud/user/enabled", 0, "Wether a new user is allowed to use ownCloud by default.", 2012.0.1 - "owncloud/group/enabled", "0", "Wether a new group is allowed to be used in ownCloud by default.", 2012.4.0.4 - "owncloud/ldap/base/users", "cn=users,$ldap_base", "The users-subtree in the LDAP directory. If left blank it will fall back to the LDAP base.", 2012.4.0.4 - "owncloud/ldap/base/groups", "cn=groups,$ldap_base", "The groups-subtree in the LDAP directory. If left blank it will fall back to the LDAP base.", 2012.4.0.4 - "owncloud/ldap/groupMemberAssoc", "uniqueMember", "The LDAP attribute showing the group-member relationship. Possible values: uniqueMember, memberUid and member", 2012.4.0.4 - "owncloud/ldap/tls", 1, "Whether to talk to the LDAP server via TLS.", 2012.0.1 - "owncloud/ldap/loginFilter", "(&(|(&(objectClass=posixAccount) (objectClass=shadowAccount)) (objectClass=univentionMail) (objectClass=sambaSamAccount) (objectClass=simpleSecurityObject) (&(objectClass=person) (objectClass=organizationalPerson) (objectClass=inetOrgPerson))) (!(uidNumber=0)) (!(uid=*$)) (&(uid=%uid) (ownCloudEnabled=1)))", "The LDAP filter that shall be used when a user tries to log in.", 2012.0.1 - "owncloud/ldap/userlistFilter", "(&(|(&(objectClass=posixAccount) (objectClass=shadowAccount)) (objectClass=univentionMail) (objectClass=sambaSamAccount) (objectClass=simpleSecurityObject) (&(objectClass=person) (objectClass=organizationalPerson) (objectClass=inetOrgPerson))) (!(uidNumber=0))(!(uid=*$)) (&(ownCloudEnabled=1)))", "The LDAP filter that shall be used when the user list is being retrieved (e.g. for sharing)", 2012.0.1 - "owncloud/ldap/groupFilter", "(&(objectClass=posixGroup) (ownCloudEnabled=1))", "The LDAP filter that shall be used when the group list is being retrieved (e.g. for sharing)", 2012.4.0.4 - "owncloud/ldap/displayName", "uid", "The LDAP attribute that should be used as username in ownCloud", 2012.0.1 - "owncloud/ldap/group/displayName", "cn", "The LDAP attribute that should be used as groupname in ownCloud", 2012.4.0.4 - "owncloud/join/users/update", "yes", "Wether ownCloud LDAP schema should be applied to existing users", 2012.0.1 - "owncloud/group/enableDomainUsers", "1", "Wether the group “Domain Users” shall be enabled for ownCloud on install", 2012.4.0.4 - "owncloud/join/users/filter", "(&(|(&(objectClass=posixAccount) (objectClass=shadowAccount)) (objectClass=univentionMail) (objectClass=sambaSamAccount) (objectClass=simpleSecurityObject) (&(objectClass=person) (objectClass=organizationalPerson) (objectClass=inetOrgPerson))) (!(uidNumber=0)) (!(|(uid=*$) (uid=owncloudsystemuser) (uid=join-backup) (uid=join-slave))) (!(objectClass=ownCloudUser)))", "Filters, on which LDAP users the ownCloud schema should be applied to. The default excludes system users and already ownCloudUsers.", 2012.0.1 - "owncloud/join/groups/filter", "(empty)", "Filters which LDAP groups will be en/disabled for ownCloud when running the script /usr/share/owncloud/update-groups.sh", 2012.4.0.4 + "owncloud/directory/data", "/var/lib/owncloud", "Specifies where the file storage will be placed", "2012.0.1" + "owncloud/db/name", "owncloud", "Name of the MySQL database. ownCloud will create an own user for it.", 2012.0.1 + "owncloud/user/quota", "(empty)", "The default quota, when a user is being added. Assign values in human readable strings, e.g. “2 GB”. Unlimited if empty.", 2012.0.1 + "owncloud/user/enabled", 0, "Wether a new user is allowed to use ownCloud by default.", 2012.0.1 + "owncloud/group/enabled", "0", "Wether a new group is allowed to be used in ownCloud by default.", 2012.4.0.4 + "owncloud/ldap/base/users", "cn=users,$ldap_base", "The users-subtree in the LDAP directory. If left blank it will fall back to the LDAP base.", 2012.4.0.4 + "owncloud/ldap/base/groups", "cn=groups,$ldap_base", "The groups-subtree in the LDAP directory. If left blank it will fall back to the LDAP base.", 2012.4.0.4 + "owncloud/ldap/groupMemberAssoc", "uniqueMember", "The LDAP attribute showing the group-member relationship. Possible values: uniqueMember, memberUid and member", 2012.4.0.4 + "owncloud/ldap/tls", 1, "Whether to talk to the LDAP server via TLS.", 2012.0.1 + "owncloud/ldap/loginFilter", "(&(\|(&(objectClass=posixAccount) (objectClass=shadowAccount)) (objectClass=univentionMail) (objectClass=sambaSamAccount) (objectClass=simpleSecurityObject) (&(objectClass=person) (objectClass=organizationalPerson) (objectClass=inetOrgPerson))) (!(uidNumber=0)) (!(uid=*$)) (&(uid=%uid) (ownCloudEnabled=1)))", "The LDAP filter that shall be used when a user tries to log in.", 2012.0.1 + "owncloud/ldap/userlistFilter", "(&(\|(&(objectClass=posixAccount) (objectClass=shadowAccount)) (objectClass=univentionMail) (objectClass=sambaSamAccount) (objectClass=simpleSecurityObject) (&(objectClass=person) (objectClass=organizationalPerson) (objectClass=inetOrgPerson))) (!(uidNumber=0))(!(uid=*$)) (&(ownCloudEnabled=1)))", "The LDAP filter that shall be used when the user list is being retrieved (e.g. for sharing)", 2012.0.1 + "owncloud/ldap/groupFilter", "(&(objectClass=posixGroup) (ownCloudEnabled=1))", "The LDAP filter that shall be used when the group list is being retrieved (e.g. for sharing)", 2012.4.0.4 + "owncloud/ldap/displayName", "uid", "The LDAP attribute that should be used as username in ownCloud", 2012.0.1 + "owncloud/ldap/group/displayName", "cn", "The LDAP attribute that should be used as groupname in ownCloud", 2012.4.0.4 + "owncloud/join/users/update", "yes", "Wether ownCloud LDAP schema should be applied to existing users", 2012.0.1 + "owncloud/group/enableDomainUsers", "1", "Wether the group “Domain Users” shall be enabled for ownCloud on install", 2012.4.0.4 + "owncloud/join/users/filter", "(&(\|(&(objectClass=posixAccount) (objectClass=shadowAccount)) (objectClass=univentionMail) (objectClass=sambaSamAccount) (objectClass=simpleSecurityObject) (&(objectClass=person) (objectClass=organizationalPerson) (objectClass=inetOrgPerson))) (!(uidNumber=0)) (!(\|(uid=*$) (uid=owncloudsystemuser) (uid=join-backup) (uid=join-slave))) (!(objectClass=ownCloudUser)))", "Filters, on which LDAP users the ownCloud schema should be applied to. The default excludes system users and already ownCloudUsers.", 2012.0.1 + "owncloud/join/groups/filter", "(empty)", "Filters which LDAP groups will be en/disabled for ownCloud when running the script /usr/share/owncloud/update-groups.sh", 2012.4.0.4 If you want to override the default settings, simply create the key in diff --git a/admin_manual/installation_windows.rst b/admin_manual/installation/installation_windows.rst similarity index 99% rename from admin_manual/installation_windows.rst rename to admin_manual/installation/installation_windows.rst index 6f636939a..ffb4320b1 100644 --- a/admin_manual/installation_windows.rst +++ b/admin_manual/installation/installation_windows.rst @@ -56,7 +56,7 @@ Windows 7 5. Select the folders as illustrated in the picture below to get your IIS server up and running. -.. figure:: images/win7features.jpg +.. figure:: ../images/win7features.jpg :width: 250px :align: center :alt: Windows features required for ownCloud on Windows 7 @@ -102,7 +102,7 @@ Windows Server 2008 5. Use the :guilabel:`Add Roles Wizard` to add the web server role. -.. figure:: images/winserverroles.jpg +.. figure:: ../images/winserverroles.jpg :width: 300px :align: center :alt: server roles required for owncloud diff --git a/admin_manual/introduction.rst b/admin_manual/introduction.rst deleted file mode 100644 index ede13d0f7..000000000 --- a/admin_manual/introduction.rst +++ /dev/null @@ -1,27 +0,0 @@ -Introduction -============ - -This is the administrators manual for ownCloud, a flexible, open source file -sync and share solution. It comprises of the ownCloud server, as well as client -applications for Microsoft Windows, Mac OS X and Linux (Desktop Client) and -mobile clients for the Android and Apple iOS operating system. - -Target audience ---------------- - -This guide is targeted towards people who want to install, administer and -optimize ownCloud Server. If you want to learn how to use the Web UI, or how to -install clients on the server, please refer to the `User Manual`_ or the `Desktop -Client Manual`_ respectively. - -.. _`User Manual`: http://doc.owncloud.com/ -.. _`Desktop Client Manual`: http://doc.owncloud.com/ - -Structure of this document --------------------------- - -The next chapters describes how to set up ownCloud Server on different platforms -and operating systems, as well as how to update existing installations. - -Further chapters will then detail on integrating ownCloud into your existing -environment, e.g. how to setup LDAP or how to mount your storage. diff --git a/admin_manual/migrating.rst b/admin_manual/migrating.rst index 238e8c473..3d87f6ef8 100644 --- a/admin_manual/migrating.rst +++ b/admin_manual/migrating.rst @@ -1,5 +1,5 @@ -Migrating ownCloud Installs -============== +Migrating ownCloud Installations +================================ To migrate an ownCloud install there are three things you need to retain: