Commit 99ee56d2ebaee27d5c58c90af66228268db294be
1 parent
353bbee124
Exists in
master
Add sample config
Showing 2 changed files with 245 additions and 1 deletions Inline Diff
scripts/install
| 1 | #!/bin/bash | 1 | #!/bin/bash |
| 2 | 2 | ||
| 3 | # Retrieve arguments | 3 | # Retrieve arguments |
| 4 | domain=$1 | 4 | domain=$1 |
| 5 | path=$2 | 5 | path=$2 |
| 6 | admin_passwd=$3 | 6 | admin_passwd=$3 |
| 7 | 7 | ||
| 8 | # Check domain/path availability | 8 | # Check domain/path availability |
| 9 | sudo yunohost app checkurl $domain$path -a owncloud | 9 | sudo yunohost app checkurl $domain$path -a owncloud |
| 10 | if [[ ! $? -eq 0 ]]; then | 10 | if [[ ! $? -eq 0 ]]; then |
| 11 | exit 1 | 11 | exit 1 |
| 12 | fi | 12 | fi |
| 13 | 13 | ||
| 14 | # Generate random password | 14 | # Generate random password |
| 15 | db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') | 15 | db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') |
| 16 | 16 | ||
| 17 | # Use 'owncloud' as database name and user | 17 | # Use 'owncloud' as database name and user |
| 18 | db_user=owncloud | 18 | db_user=owncloud |
| 19 | 19 | ||
| 20 | # Initialize database and store mysql password for upgrade | 20 | # Initialize database and store mysql password for upgrade |
| 21 | sudo yunohost app initdb $db_user -p $db_pwd | 21 | sudo yunohost app initdb $db_user -p $db_pwd |
| 22 | sudo yunohost app setting owncloud mysqlpwd -v $db_pwd | 22 | sudo yunohost app setting owncloud mysqlpwd -v $db_pwd |
| 23 | 23 | ||
| 24 | # Create owncloud user | 24 | # Create owncloud user |
| 25 | sudo useradd -d /var/www/owncloud owncloud | 25 | sudo useradd -d /var/www/owncloud owncloud |
| 26 | 26 | ||
| 27 | # Copy files to the right place | 27 | # Copy files to the right place |
| 28 | final_path=/var/www/owncloud | 28 | final_path=/var/www/owncloud |
| 29 | sudo mkdir -p $final_path | 29 | sudo mkdir -p $final_path |
| 30 | sudo cp -a ../sources/* $final_path | 30 | sudo cp -a ../sources/* $final_path |
| 31 | sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/owncloud.conf | 31 | sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/owncloud.conf |
| 32 | sudo cp ../conf/php-fpm.conf /etc/php5/fpm/pool.d/owncloud.conf | 32 | sudo cp ../conf/php-fpm.conf /etc/php5/fpm/pool.d/owncloud.conf |
| 33 | 33 | ||
| 34 | # Change variables in Owncloud configuration | 34 | # Change variables in Owncloud configuration |
| 35 | sudo sed -i "s@PATHTOCHANGE@$path@g" /etc/nginx/conf.d/$domain.d/owncloud.conf | 35 | sudo sed -i "s@PATHTOCHANGE@$path@g" /etc/nginx/conf.d/$domain.d/owncloud.conf |
| 36 | sudo sed -i "s@ALIASTOCHANGE@$final_path/@g" /etc/nginx/conf.d/$domain.d/owncloud.conf | 36 | sudo sed -i "s@ALIASTOCHANGE@$final_path/@g" /etc/nginx/conf.d/$domain.d/owncloud.conf |
| 37 | sudo sed -i "s@NAMETOCHANGE@owncloud@g" /etc/nginx/conf.d/$domain.d/owncloud.conf | 37 | sudo sed -i "s@NAMETOCHANGE@owncloud@g" /etc/nginx/conf.d/$domain.d/owncloud.conf |
| 38 | sudo sed -i "s@NAMETOCHANGE@owncloud@g" /etc/php5/fpm/pool.d/owncloud.conf | 38 | sudo sed -i "s@NAMETOCHANGE@owncloud@g" /etc/php5/fpm/pool.d/owncloud.conf |
| 39 | 39 | ||
| 40 | # Set permissions to owncloud directory and /home directories | 40 | # Set permissions to owncloud directory and /home directories |
| 41 | sudo chown -R owncloud: $final_path | 41 | sudo chown -hR owncloud: $final_path |
| 42 | for i in $(ls /home) | 42 | for i in $(ls /home) |
| 43 | do | 43 | do |
| 44 | if [[ ! $i == yunohost.* ]]; | 44 | if [[ ! $i == yunohost.* ]]; |
| 45 | then | 45 | then |
| 46 | sudo setfacl -m g:owncloud:rwx /home/$i | 46 | sudo setfacl -m g:owncloud:rwx /home/$i |
| 47 | fi | 47 | fi |
| 48 | done | 48 | done |
| 49 | 49 | ||
| 50 | # Reload Nginx and regenerate SSOwat conf | 50 | # Reload Nginx and regenerate SSOwat conf |
| 51 | sudo service php5-fpm restart | 51 | sudo service php5-fpm restart |
| 52 | sudo service nginx reload | 52 | sudo service nginx reload |
| 53 | sudo yunohost app setting owncloud skipped_uris -v "/" | 53 | sudo yunohost app setting owncloud skipped_uris -v "/" |
| 54 | sudo yunohost app ssowatconf | 54 | sudo yunohost app ssowatconf |
| 55 | 55 | ||
| 56 | # Owncloud installation via curl | 56 | # Owncloud installation via curl |
| 57 | echo "127.0.0.1 $domain #yunoowncloud" | sudo tee -a /etc/hosts | 57 | echo "127.0.0.1 $domain #yunoowncloud" | sudo tee -a /etc/hosts |
| 58 | curl -kL -X POST https://$domain$path/index.php --data "install=true&adminlogin=admin&adminpass=$admin_passwd&directory=/var/www/owncloud/data&dbtype=mysql&dbuser=$db_user&dbpass=$db_pwd&dbname=$db_user&dbhost=localhost" | 58 | curl -kL -X POST https://$domain$path/index.php --data "install=true&adminlogin=admin&adminpass=$admin_passwd&directory=/var/www/owncloud/data&dbtype=mysql&dbuser=$db_user&dbpass=$db_pwd&dbname=$db_user&dbhost=localhost" |
| 59 | 59 | ||
| 60 | # Check if the Mysql database is initialized & running | 60 | # Check if the Mysql database is initialized & running |
| 61 | sleep 5 | 61 | sleep 5 |
| 62 | mysql -u $db_user -p$db_pwd $db_user -e "select * from oc_appconfig;" > /dev/null 2>&1 | 62 | mysql -u $db_user -p$db_pwd $db_user -e "select * from oc_appconfig;" > /dev/null 2>&1 |
| 63 | result=$? | 63 | result=$? |
| 64 | loop_number=1 | 64 | loop_number=1 |
| 65 | while [ $result != 0 ] && [ $loop_number -lt 5 ]; | 65 | while [ $result != 0 ] && [ $loop_number -lt 5 ]; |
| 66 | do | 66 | do |
| 67 | sleep 5 | 67 | sleep 5 |
| 68 | mysql -u $db_user -p$db_pwd $db_user -e "select * from oc_appconfig;" > /dev/null 2>&1 | 68 | mysql -u $db_user -p$db_pwd $db_user -e "select * from oc_appconfig;" > /dev/null 2>&1 |
| 69 | let result=$? | 69 | let result=$? |
| 70 | let loop_number++ | 70 | let loop_number++ |
| 71 | done | 71 | done |
| 72 | 72 | ||
| 73 | sudo yunohost app setting owncloud skipped_uris -v "/public.php" | 73 | sudo yunohost app setting owncloud skipped_uris -v "/public.php" |
| 74 | sudo yunohost app ssowatconf | 74 | sudo yunohost app ssowatconf |
| 75 | mysql -u $db_user -p$db_pwd $db_user < ../conf/ldap_config.sql | 75 | mysql -u $db_user -p$db_pwd $db_user < ../conf/ldap_config.sql |
| 76 | 76 | ||
| 77 | # Remove temporary entry in /etc/hosts | 77 | # Remove temporary entry in /etc/hosts |
| 78 | sudo sed -i '/yunoowncloud/d' /etc/hosts | 78 | sudo sed -i '/yunoowncloud/d' /etc/hosts |
| 79 | 79 |
sources/config/config.sample.php
| File was created | 1 | <?php | |
| 2 | |||
| 3 | /* Only enable this for local development and not in productive environments */ | ||
| 4 | /* This will disable the minifier and outputs some additional debug informations */ | ||
| 5 | define("DEBUG", true); | ||
| 6 | |||
| 7 | $CONFIG = array( | ||
| 8 | /* Flag to indicate ownCloud is successfully installed (true = installed) */ | ||
| 9 | "installed" => false, | ||
| 10 | |||
| 11 | /* Type of database, can be sqlite, mysql or pgsql */ | ||
| 12 | "dbtype" => "sqlite", | ||
| 13 | |||
| 14 | /* Name of the ownCloud database */ | ||
| 15 | "dbname" => "owncloud", | ||
| 16 | |||
| 17 | /* User to access the ownCloud database */ | ||
| 18 | "dbuser" => "", | ||
| 19 | |||
| 20 | /* Password to access the ownCloud database */ | ||
| 21 | "dbpassword" => "", | ||
| 22 | |||
| 23 | /* Host running the ownCloud database */ | ||
| 24 | "dbhost" => "", | ||
| 25 | |||
| 26 | /* Prefix for the ownCloud tables in the database */ | ||
| 27 | "dbtableprefix" => "", | ||
| 28 | |||
| 29 | /* Define the salt used to hash the user passwords. All your user passwords are lost if you lose this string. */ | ||
| 30 | "passwordsalt" => "", | ||
| 31 | |||
| 32 | /* Force use of HTTPS connection (true = use HTTPS) */ | ||
| 33 | "forcessl" => false, | ||
| 34 | |||
| 35 | /* Blacklist a specific file and disallow the upload of files with this name - WARNING: USE THIS ONLY IF YOU KNOW WHAT YOU ARE DOING. */ | ||
| 36 | "blacklisted_files" => array('.htaccess'), | ||
| 37 | |||
| 38 | /* The automatic hostname detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the automatic detection. You can also add a port. For example "www.example.com:88" */ | ||
| 39 | "overwritehost" => "", | ||
| 40 | |||
| 41 | /* The automatic protocol detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the protocol detection. For example "https" */ | ||
| 42 | "overwriteprotocol" => "", | ||
| 43 | |||
| 44 | /* The automatic webroot detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the automatic detection. For example "/domain.tld/ownCloud" */ | ||
| 45 | "overwritewebroot" => "", | ||
| 46 | |||
| 47 | /* The automatic detection of ownCloud can fail in certain reverse proxy situations. This option allows to define a manually override condition as regular expression for the remote ip address. For example "^10\.0\.0\.[1-3]$" */ | ||
| 48 | "overwritecondaddr" => "", | ||
| 49 | |||
| 50 | /* A proxy to use to connect to the internet. For example "myproxy.org:88" */ | ||
| 51 | "proxy" => "", | ||
| 52 | |||
| 53 | /* The optional authentication for the proxy to use to connect to the internet. The format is: [username]:[password] */ | ||
| 54 | "proxyuserpwd" => "", | ||
| 55 | |||
| 56 | /* Theme to use for ownCloud */ | ||
| 57 | "theme" => "", | ||
| 58 | |||
| 59 | /* Optional ownCloud default language - overrides automatic language detection on public pages like login or shared items. This has no effect on the user's language preference configured under "personal -> language" once they have logged in */ | ||
| 60 | "default_language" => "en", | ||
| 61 | |||
| 62 | /* Path to the parent directory of the 3rdparty directory */ | ||
| 63 | "3rdpartyroot" => "", | ||
| 64 | |||
| 65 | /* URL to the parent directory of the 3rdparty directory, as seen by the browser */ | ||
| 66 | "3rdpartyurl" => "", | ||
| 67 | |||
| 68 | /* Default app to load on login */ | ||
| 69 | "defaultapp" => "files", | ||
| 70 | |||
| 71 | /* Enable the help menu item in the settings */ | ||
| 72 | "knowledgebaseenabled" => true, | ||
| 73 | |||
| 74 | /* Enable installing apps from the appstore */ | ||
| 75 | "appstoreenabled" => true, | ||
| 76 | |||
| 77 | /* URL of the appstore to use, server should understand OCS */ | ||
| 78 | "appstoreurl" => "http://api.apps.owncloud.com/v1", | ||
| 79 | |||
| 80 | /* Domain name used by ownCloud for the sender mail address, e.g. no-reply@example.com */ | ||
| 81 | "mail_domain" => "example.com", | ||
| 82 | |||
| 83 | /* Enable SMTP class debugging */ | ||
| 84 | "mail_smtpdebug" => false, | ||
| 85 | |||
| 86 | /* Mode to use for sending mail, can be sendmail, smtp, qmail or php, see PHPMailer docs */ | ||
| 87 | "mail_smtpmode" => "sendmail", | ||
| 88 | |||
| 89 | /* Host to use for sending mail, depends on mail_smtpmode if this is used */ | ||
| 90 | "mail_smtphost" => "127.0.0.1", | ||
| 91 | |||
| 92 | /* Port to use for sending mail, depends on mail_smtpmode if this is used */ | ||
| 93 | "mail_smtpport" => 25, | ||
| 94 | |||
| 95 | /* SMTP server timeout in seconds for sending mail, depends on mail_smtpmode if this is used */ | ||
| 96 | "mail_smtptimeout" => 10, | ||
| 97 | |||
| 98 | /* SMTP connection prefix or sending mail, depends on mail_smtpmode if this is used. | ||
| 99 | Can be '', ssl or tls */ | ||
| 100 | "mail_smtpsecure" => "", | ||
| 101 | |||
| 102 | /* authentication needed to send mail, depends on mail_smtpmode if this is used | ||
| 103 | * (false = disable authentication) | ||
| 104 | */ | ||
| 105 | "mail_smtpauth" => false, | ||
| 106 | |||
| 107 | /* authentication type needed to send mail, depends on mail_smtpmode if this is used | ||
| 108 | * Can be LOGIN (default), PLAIN or NTLM */ | ||
| 109 | "mail_smtpauthtype" => "LOGIN", | ||
| 110 | |||
| 111 | /* Username to use for sendmail mail, depends on mail_smtpauth if this is used */ | ||
| 112 | "mail_smtpname" => "", | ||
| 113 | |||
| 114 | /* Password to use for sendmail mail, depends on mail_smtpauth if this is used */ | ||
| 115 | "mail_smtppassword" => "", | ||
| 116 | |||
| 117 | /* How long should ownCloud keep deleted files in the trash bin, default value: 30 days */ | ||
| 118 | 'trashbin_retention_obligation' => 30, | ||
| 119 | |||
| 120 | /* Disable/Enable auto expire for the trash bin, by default auto expire is enabled */ | ||
| 121 | 'trashbin_auto_expire' => true, | ||
| 122 | |||
| 123 | /* allow user to change his display name, if it is supported by the back-end */ | ||
| 124 | 'allow_user_to_change_display_name' => true, | ||
| 125 | |||
| 126 | /* Check 3rdparty apps for malicious code fragments */ | ||
| 127 | "appcodechecker" => "", | ||
| 128 | |||
| 129 | /* Check if ownCloud is up to date */ | ||
| 130 | "updatechecker" => true, | ||
| 131 | |||
| 132 | /* Are we connected to the internet or are we running in a closed network? */ | ||
| 133 | "has_internet_connection" => true, | ||
| 134 | |||
| 135 | /* Check if the ownCloud WebDAV server is working correctly. Can be disabled if not needed in special situations*/ | ||
| 136 | "check_for_working_webdav" => true, | ||
| 137 | |||
| 138 | /* Check if .htaccess protection of data is working correctly. Can be disabled if not needed in special situations*/ | ||
| 139 | "check_for_working_htaccess" => true, | ||
| 140 | |||
| 141 | /* Place to log to, can be owncloud and syslog (owncloud is log menu item in admin menu) */ | ||
| 142 | "log_type" => "owncloud", | ||
| 143 | |||
| 144 | /* File for the owncloud logger to log to, (default is ownloud.log in the data dir) */ | ||
| 145 | "logfile" => "", | ||
| 146 | |||
| 147 | /* Loglevel to start logging at. 0=DEBUG, 1=INFO, 2=WARN, 3=ERROR (default is WARN) */ | ||
| 148 | "loglevel" => "", | ||
| 149 | |||
| 150 | /* date format to be used while writing to the owncloud logfile */ | ||
| 151 | 'logdateformat' => 'F d, Y H:i:s', | ||
| 152 | |||
| 153 | /* timezone used while writing to the owncloud logfile (default: UTC) */ | ||
| 154 | 'logtimezone' => 'Europe/Berlin', | ||
| 155 | |||
| 156 | /* Append all database queries and parameters to the log file. | ||
| 157 | (watch out, this option can increase the size of your log file)*/ | ||
| 158 | "log_query" => false, | ||
| 159 | |||
| 160 | /* Enable or disable the logging of IP addresses in case of webform auth failures */ | ||
| 161 | "log_authfailip" => false, | ||
| 162 | |||
| 163 | /* | ||
| 164 | * Configure the size in bytes log rotation should happen, 0 or false disables the rotation. | ||
| 165 | * This rotates the current owncloud logfile to a new name, this way the total log usage | ||
| 166 | * will stay limited and older entries are available for a while longer. The | ||
| 167 | * total disk usage is twice the configured size. | ||
| 168 | * WARNING: When you use this, the log entries will eventually be lost. | ||
| 169 | */ | ||
| 170 | 'log_rotate_size' => false, // 104857600, // 100 MiB | ||
| 171 | |||
| 172 | /* Lifetime of the remember login cookie, default is 15 days */ | ||
| 173 | "remember_login_cookie_lifetime" => 60*60*24*15, | ||
| 174 | |||
| 175 | /* Life time of a session after inactivity */ | ||
| 176 | "session_lifetime" => 60 * 60 * 24, | ||
| 177 | |||
| 178 | /* Custom CSP policy, changing this will overwrite the standard policy */ | ||
| 179 | "custom_csp_policy" => "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src *; font-src 'self' data:; media-src *", | ||
| 180 | |||
| 181 | /* Enable/disable X-Frame-Restriction */ | ||
| 182 | /* HIGH SECURITY RISK IF DISABLED*/ | ||
| 183 | "xframe_restriction" => true, | ||
| 184 | |||
| 185 | /* The directory where the user data is stored, default to data in the owncloud | ||
| 186 | * directory. The sqlite database is also stored here, when sqlite is used. | ||
| 187 | */ | ||
| 188 | // "datadirectory" => "", | ||
| 189 | |||
| 190 | /* Enable maintenance mode to disable ownCloud | ||
| 191 | If you want to prevent users to login to ownCloud before you start doing some maintenance work, | ||
| 192 | you need to set the value of the maintenance parameter to true. | ||
| 193 | Please keep in mind that users who are already logged-in are kicked out of ownCloud instantly. | ||
| 194 | */ | ||
| 195 | "maintenance" => false, | ||
| 196 | |||
| 197 | "apps_paths" => array( | ||
| 198 | |||
| 199 | /* Set an array of path for your apps directories | ||
| 200 | key 'path' is for the fs path and the key 'url' is for the http path to your | ||
| 201 | applications paths. 'writable' indicates whether the user can install apps in this folder. | ||
| 202 | You must have at least 1 app folder writable or you must set the parameter 'appstoreenabled' to false | ||
| 203 | */ | ||
| 204 | array( | ||
| 205 | 'path'=> '/var/www/owncloud/apps', | ||
| 206 | 'url' => '/apps', | ||
| 207 | 'writable' => true, | ||
| 208 | ), | ||
| 209 | ), | ||
| 210 | 'user_backends'=>array( | ||
| 211 | array( | ||
| 212 | 'class'=>'OC_User_IMAP', | ||
| 213 | 'arguments'=>array('{imap.gmail.com:993/imap/ssl}INBOX') | ||
| 214 | ) | ||
| 215 | ), | ||
| 216 | //links to custom clients | ||
| 217 | 'customclient_desktop' => '', //http://owncloud.org/sync-clients/ | ||
| 218 | 'customclient_android' => '', //https://play.google.com/store/apps/details?id=com.owncloud.android | ||
| 219 | 'customclient_ios' => '', //https://itunes.apple.com/us/app/owncloud/id543672169?mt=8 | ||
| 220 | |||
| 221 | // PREVIEW | ||
| 222 | 'enable_previews' => true, | ||
| 223 | /* the max width of a generated preview, if value is null, there is no limit */ | ||
| 224 | 'preview_max_x' => null, | ||
| 225 | /* the max height of a generated preview, if value is null, there is no limit */ | ||
| 226 | 'preview_max_y' => null, | ||
| 227 | /* the max factor to scale a preview, default is set to 10 */ | ||
| 228 | 'preview_max_scale_factor' => 10, | ||
| 229 | /* custom path for libreoffice / openoffice binary */ | ||
| 230 | 'preview_libreoffice_path' => '/usr/bin/libreoffice', | ||
| 231 | /* cl parameters for libreoffice / openoffice */ | ||
| 232 | 'preview_office_cl_parameters' => '', | ||
| 233 | |||
| 234 | /* whether avatars should be enabled */ | ||
| 235 | 'enable_avatars' => true, | ||
| 236 | |||
| 237 | // Extra SSL options to be used for configuration | ||
| 238 | 'openssl' => array( | ||
| 239 | //'config' => '/absolute/location/of/openssl.cnf', | ||
| 240 | ), | ||
| 241 | |||
| 242 | /* whether usage of the instance should be restricted to admin users only */ | ||
| 243 | 'singleuser' => false, | ||
| 244 | ); | ||
| 245 |