mirror of
https://github.com/nextcloud/documentation.git
synced 2026-01-02 17:59:36 +07:00
Merge pull request #40 from j-ed/master
documented the database settings and automatic configuration file
This commit is contained in:
77
admin_manual/configuration_automation.rst
Normal file
77
admin_manual/configuration_automation.rst
Normal file
@@ -0,0 +1,77 @@
|
||||
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``
|
||||
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 will automatically be removed after the initial configuration has been
|
||||
applied.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
You need to keep in mind that two parameters are named differently in this
|
||||
configuration file compared to the normal ``config.php`` file.
|
||||
|
||||
+----------------+---------------+
|
||||
| autoconfig.php | config.php |
|
||||
+================+===============+
|
||||
| directory | datadirectory |
|
||||
+----------------+---------------+
|
||||
| dbpass | dbpassword |
|
||||
+----------------+---------------+
|
||||
|
||||
* **SQLite Database**
|
||||
::
|
||||
<?php
|
||||
$AUTOCONFIG = array(
|
||||
"dbtype" => "sqlite",
|
||||
"dbname" => "owncloud",
|
||||
"dbtableprefix" => "",
|
||||
"directory" => "/www/htdocs/owncloud/data",
|
||||
);
|
||||
?>
|
||||
|
||||
* **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`).
|
||||
::
|
||||
<?php
|
||||
$AUTOCONFIG = array(
|
||||
"dbtype" => "mysql",
|
||||
"dbname" => "owncloud",
|
||||
"dbuser" => "username",
|
||||
"dbpass" => "password",
|
||||
"dbhost" => "localhost",
|
||||
"dbtableprefix" => "",
|
||||
"adminlogin" => "root",
|
||||
"adminpass" => "root-password",
|
||||
"directory" => "/www/htdocs/owncloud/data",
|
||||
);
|
||||
?>
|
||||
|
||||
* **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`).
|
||||
::
|
||||
<?php
|
||||
$AUTOCONFIG = array(
|
||||
"dbtype" => "pgsql",
|
||||
"dbname" => "owncloud",
|
||||
"dbuser" => "username",
|
||||
"dbpass" => "password",
|
||||
"dbhost" => "localhost",
|
||||
"dbtableprefix" => "",
|
||||
"adminlogin" => "root",
|
||||
"adminpass" => "root-password",
|
||||
"directory" => "/www/htdocs/owncloud/data",
|
||||
);
|
||||
?>
|
||||
214
admin_manual/configuration_database.rst
Normal file
214
admin_manual/configuration_database.rst
Normal file
@@ -0,0 +1,214 @@
|
||||
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
|
||||
39
admin_manual/configuration_logging.rst
Normal file
39
admin_manual/configuration_logging.rst
Normal file
@@ -0,0 +1,39 @@
|
||||
Logging Configuration
|
||||
=====================
|
||||
|
||||
To get an idea of how the current status of an ownCloud system is or to
|
||||
solve issues log information is a good point to start with. ownCloud allows
|
||||
to configure the way how and which depth of information should be logged.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
First you need to decide in which way logging should be done. You can
|
||||
choose between the two options ``owncloud`` and ``syslog``. Then you need
|
||||
to configure the log level which directly influences how much information
|
||||
will be logged. You can choose between ``0=DEBUG``, ``1=INFO``, ``2=WARN``
|
||||
and ``3=ERROR``.
|
||||
The most detailed information will be written if ``0`` (DEBUG) is set, the
|
||||
least information will be written if ``3`` (ERROR) is set. Keep in mind that
|
||||
it might slow down the whole system if a too detailed logging will has been
|
||||
configured. By default the log level is set to ``2`` (WARN).
|
||||
|
||||
**owncloud**
|
||||
- All log information will be written to a separate log file which can be
|
||||
viewed using the log menu in the admin menu of ownCloud. By default a log
|
||||
file named ``owncloud.log`` will be created in the directory which has
|
||||
been configured by the ``datadirectory`` parameter.
|
||||
::
|
||||
|
||||
"log_type" => "owncloud",
|
||||
"logfile" => "owncloud.log",
|
||||
"loglevel" => "3",
|
||||
|
||||
**syslog**
|
||||
- All log information will be send to the default syslog deamon of a system.
|
||||
::
|
||||
|
||||
"log_type" => "syslog",
|
||||
"logfile" => "",
|
||||
"loglevel" => "3",
|
||||
|
||||
Reference in New Issue
Block a user