SHA256
1
0
forked from pool/nextcloud
Go to file
Eric Schirra ddad81dd8b Accepting request 573417 from home:ecsos:server
- update to 13.0.0
  Over 1100 changes were merged in the server, with many hundreds 
  more in existing or new apps. The main improvements include:
  * Collaboration features
    - Nextcloud Talk, a private videoconference software integrated 
      with Nextcloud
      - real-time and asynchronous communication with push 
        notifications, calls and chat web and mobile devices
      - Integration in business workflow with calendar invitations 
        and calls directly from Nextcloud Files
      - Screen and note sharing with participant moderation 
        capabilities
      - 100% secure peer-to-peer, end-to-end encrypted calls, 
        mediated by self-hosted server
    - auto-completion of user names in comments and notification 
      to the mentioned user
    - support free/busy scheduling in native calendar applications 
      like Thunderbird Lightning
    - show meeting invites in the calendar
  * End-to-End Encryption
    - can encrypt data on a per-folder level rather than 
      all-or-nothing approach
    - does not require users to remember or exchange passwords
    - does not require re-uploading data upon sharing
    - features an optional off-line administrator recovery key
    - allows full audit logging
    - can be combined with our File Access Control feature so 
      administrator can enforce aspects of End-to-end Encryption
    - protects from identity theft with our Cryptographic Identity 
      Protection feature
    This feature is in Tech Preview for Nextcloud 13 and does not 
    yet implement sharing.
  * User Interface
    - new way of selecting files
    - easy way to quickly copy or move to a location
    - High DPI support
    - admin menu integrated in one list
    - no limitation to file uploads via the web interface
    - user quota in the side bar
    - social sharing (Twitter, G+, Facebook, Diaspora) now features
      a preview
    - improved theming
  * Performance
    - decreased page load times with up to 50% and faster search
    - 80% faster LDAP and up to 10x faster external storage
    - Server-side Encryption performance largely improved
        
   See https://nextcloud.com/changelog/
- update to 12.0.5
  Many fixes were merged, the most important ones include:
  - #7144 Unlock files even if an exception occurs
  - #7322 Set primary action button color to same as theming color
  - #7323 Use the correct root for shared jail when the source 
    storage is also a jail
  - #7353 Fix translation of federation scope menu
  - #7362 Allow to skip data dir permission checks
  - #7407 Check if owner of share exists
  - #7409 Add retry wrapper when reading files from swift
  - #7451 Fix constructor spy in unit test with Sinon 4.1.3
  - #7455 Remove wrong entry in admin_settings that causes 500
  - #7456 CardDAV convertor check should not be to wide
  - #7457 Fix loading icon position in the app menu
  - #7464 Allow getting the filepath when getting cached mounts
  - #7468 Allow 'Nextcloud' in the user agent string of Android
  - #7558 Fix email buttons for white theme
  - #7567 Respect sharing options when searching for Sharees
  - #7568 Fix duplicate session token after remembered login
  - #7577 Check userExists later, 
    saves lookups for appData_INSTANCEID userids
  - #7672 Added additional methods for removal of sensitive info
  - #7688 Fix scss webroot and url rewrite
  - #7717 Throw ServerNotAvailableException when LDAP is caught 
    shutting down
  - #7666 Fix drag shadow not visible when dragging a file on 
    a narrow screen
  - #7674 Do no run SyncJob in cron
  - #7684 Fix inverted app icons on IE11
  - #7694 Don't attempt to translate login names to uids when uids
    are provided
  - #7708 Don't show recurring msg when pages result was turned off
  - #7742 Hide favourite icon in details view if favourite action 
    is not available
  - #7745 Don't lie about preview types
  - #7747 Update of composer
  - #7758 add option to use legacy v2 auth with s3
  - #7759 Use correct L10N files for jsconfig
  - #7757 Wait for the shared link to be set in the acceptance 
    tests
  - gallery/#349 Fix date picker not visible in slideshow sharing 
    dialog
  - activity/#229 Properly construct path of root on file rename
  - #7770 Fix SCSS processing when undoing theming values
  - #7774 Update icewind/smb to 2.0.3
  - #7777 Set height for sidebar icons
  - #7779 Improve zip support
  - #7786 Return correct mount type for federated shares
  - #7792 Fix empty details view after renaming a file
  - #7817 Fix preview when theming changes invertion of icons
  - #7821 Log full exception in cron instead of only the message
  - #7888 Keep all shipped apps enabled because they should be okay
  - #7962 update icewind/smb to 2.0.4
- Nextcloud 12 is not compatible with php ≥ 7.2,
  so php < 7.2 is needed.
- upstream update to version 12.0.4
  * Server
    Over 50 fixes were merged in the server.
    - Improve text: 'you have now' -> 'you now have (server#6464)
    - Fix initializing paged search under some circumstances 
      (server#6502)
    - LDAP: simplify returning the homePath (server#6509)
    - Fix sharer name overlap with filename (server#6524)
    - Allow to close sidebar for text files (server#6525)
    - Fix quota new endpoint 12 (server#6527)
    - Pass new value to triggerChange (server#6528)
    - Throw 101 when an empty group string is provided 
      (server#6547)
    - Contacts menu privacy (server#6554)
    - Add color-border variable (server#6649)
    - Do not stop on scss compilation failure (server#6661)
    - Don't pass User object when uid string is expected 
      (server#6674)
    - Navigate to the root directory when showing the main filelist 
      (server#6689)
    - Fix LDAP User deletion (cleanup) (server#6699)
    - Update aws sdk + s3 improvements (server#6737)
    - Dont run invalid path repair step when upgrading 
      from 11.0.5.2 and later (server#6743)
    - Fix language when trying to change password (server#6751)
    - Fix postgresql tests (server#6792)
    - Also use configured 'cache_path' for new chunking 
      (server#6814)
    - Set s3 part size to 500mb (server#6815)
    - Fix contacts menu for IE11 (server#6823)
    - Still trigger conflict resolution for existing entries when 
      the curre (server#6847)
    - Propagate multipart upload exception when aborting upload 
      (server#6855)
    - Allow to migrate from 10.0.3.3 (server#6878)
    - Timespan check (server#6896)
    - Do not log WebDAV maintenance mode exception (server#6908)
    - Don't reset quota (server#6910)
    - Backport of translation string fixes (server#6935)
    - Fix class name in exception logger plugin (server#6942)
    - Allow quota of 0 again (server#6943)
    - Fix uninitialized variable $this->params (server#6944)
    - Don't add a LIKE condition when it's not needed (server#6945)
    - Fix undefined offset warning when using '/' as external 
      storage root (server#6946)
    - Fix page title not changed (server#6987)
    - Better readability for text on log in page which is directly 
      on backgrounds (server#7028)
    - Translate Grant Access (server#7040)
    - Use fopen directly when reading objects from s3 (server#7079)
    - Improve mimetype detection for object storages (server#7081)
    - Fix seeking on object storage (server#7082)
    - Hide spinner for initial install (server#7095)
    - Ensure uid for calendar objects is unique (server#7096)
    - Revert "Only allow colons in db host for IPv6 addresses 
      (server#7102)
    - Theme flow redirection page (server#7114)
    - Fix icon for security settings (server#7116)
    - If for some reason the json can't be decoded it is not cached
      (server#7118)
    - Improve performance of UserMountCache with external storage 
      folders (server#7120)
    - {J,CS}SResourceLocator: account for symlinks in app path 
      (server#7170)
    - Fix s3 download and touch (server#7186)
    - Touch opertation on object storage, don't create 
      the file cache entry to early (server#7207)
    - Allow migration from upcoming 10.0.4 ownCloud release 
      (server#7245)
    - CSSResourceLocator: handle SCSS in apps outside root 
      (server#7257)
    - only replace permission popupmenu (server#7259)
    - Fix accesslist when a user has an ID only containting 0-9 
      (server#7262)
    - Update CRL due to files_frommail (server#7277)
    - Only in case of $currentAccess the array uses the id as index
      (server#7328)
  * Other
    - Add aws sdk (3rdparty#69)
    - Don't send emails to disabled users (activity#202)
    - Add an option to disable emails completly (activity#206)
    - Make sure the mountPoint property is public before using it 
      (files_accesscontrol#79)
    - Allow to playback m4v files (files_videoplayer#43)
    - Fix notifications order (notifications#93)
    
- upstream update to version 12.0.3
  Nextcloud 12.0.3 delivers a lot of enhancements in various areas 
  including:
    - A number of improvements to email notification templates
    - 2FA enhancements
    - Smarter LDAP password handling
    - File Drop and upload-in-general updates
    - A performance improvement handling large files
  See https://nextcloud.com/changelog/#latest12
  Details: https://github.com/nextcloud/server/pulls?q=is%3Apr+milestone%3A%22Nextcloud+12.0.3%22+is%3Aclosed
  
- upstream update to version 12.0.2
  * Server
    - Minor bugfix release
- upstream update to version 12.0.1
  So many changes. See https://nextcloud.com/changelog/#latest12
- unneeded git-files should not be remove,
  otherwise it throw integrity check failure in some situations.
- upstream update to version 12.0.0
  no changelog from upstream at this time
  See https://github.com/nextcloud/server/issues?q=is%3Aissue+milestone%3A%22Nextcloud+12.0%22+is%3Aclosed
- fix boo#1036756: package security issue
- upstream update to version 11.0.3
  * Server
    - Use the correct principal for shared addressbooks 
	  (server/3608)
    - Fix saving backup codes by using a correct data uri 
	  (server/3652)
    - Update icewind/streams to 0.5.2 (server/32931)
    - Fix string comparison and return docs (server/3665)
    - Typecast shared mount's storage_id to int as documented
      + some refactor to avoid similar bugs (server/3658)
    - Use a proper date format for transfer ownership 
	  (server/3700)
    - DAV sharing permissions should not depend on the order 
	  (server/3722)
    - Add new user agent of windows 10 dav backend 
	  (server/37641)
    - Add back appstoreenabled config switch (server/37671)
    - Call right function after sudo mode (server/3820)
    - Dont allow empty wildcard search (server/3842)
    - Remove single quotes around search query like in 
	  user search (server/3849)
    - Fix mimetype detection on public uploads for the 
	  workflow engine (server/3765)
    - Fix branding and show Nextcloud (server/39691)
    - Fix reshare with user activity message (server/39812)
    - Create correct VCard and return correct error codes 
	  (server/4029)
    - Prevent migration from ownCloud 10 to Nextcloud 11 
	  (server/34151)
    - Make sure transparency is an integer when saving a 
	  calendar (server/4167)
    - Make public links work with master key (server/42071)
    - Don't try to render the avatars if avatars are 
	  disabled (server/4214)
    - Reduce error message text (server/42281)
    - Don't list on public calendar endpoints (server/4229)
    - Fix upload of folders in Chrome (server/4154)
    - Make sure blob columns are correctly converted as 
	  parameters (server/4233)
    - Save the scope of an auth token in the session 
	  (server/4225)
    - Take share by mail into consideration if we calculate 
	  the access list (server/4242)
    - Also add the root of external storages to the file id 
	  list (server/4237)
    - Fix LDAP description (server/42382)
    - Remove the double password confirmation on changing 
	  cron (server/4236)
    - Fix scheduling plugin on legacy caldav endpoint 
	  (server/4235)
    - Directly fix invalid values of DTEND and DTSTART 
	  (server/4234)
    - Make JobList::next() lock free (server/4254)
    - Don't remove owner property for public calendars 
	  (server/4272)
    - Add capabilities for share by mail (server/42511)
    - Dont use the permissions mask while scanning 
	  (server/4278)
    - Add missing maintenance plugin to new DAV endpoint 
	  (server/4290)
    - Fix bug with shared_by for own calendars if shared 
	  (server/4301)
    - Translation string corrected > 1 user (server/4377)
  * Activity
    - Fix activities for "Files drop" on external storages 
	  (activity/118)
  * User_SAML
    - Bump to php-saml 2.10.5 (user_saml/1001)
  * Logreader
    - Small screen layout improvements 
	  (logreader/2bcd915969386ceb77c7f91dfd5fc19fd3212346
    - Fix log filtering 
	  (logreader/4095dfc62dcceb3c59a3f581baa5589737d0e6f3)
    - Greatly speedup log iteration 
	  (logreader/71a4c6849641f821e80d96674c57a69fe7a8aa9e)
    - Search more rows 
	  (logreader/b9d00b5599ac8a76862895266f1c23096391aad8)
    - Stop iterating if we dont have a valid file handle 
	  (logreader/a87a8e653ecae5efef6342e645b98f2878219c87)
    - Don't return a LogIterator on a broken handle 
	  (logreader/39069108f99d463b1cb8bc944f3ef24324b9f43d)
    - More robust log iteration 
	  (logreader/c0eb04d55bf1dee94ef523dae0e3b0e6afc272a6)
    - Use proper iso date format 
	  (logreader/13a31181a6d72d084797a71f49f2c5edee8c8dae)
    - Automatically try to fix some common escape errors from 
	  copy-pasted log entries 
	  (logreader/031db2a7f9b9f8cee42acf6eae7d993d31d4660a)
    - Fix stack trace parsing of incorrectly escaped logentries 
	  (logreader/538667770edfdd48374ef33e9c15498ed98ece60)
    - Highlight entries from the same request when clicking 
	  on an entry 
	  (logreader/2d1ccd0e4cca32220fcbe0b4d79d1cd23f0e73a5)
    - Fix copy paste info searchfield 
	  (logreader/0e91b2f46649a720feb7c3b6b8266b8657db5574)
    - Fix reset search after 0 results 
	  (logreader/50bec8ecf7edd81cfb96a35089283c0d879b41f3)
    - Allow searching for requestId and user 
	  (logreader/7f84e55bb4a1e4086ab0918a6bf58ad3885bbd91)
    - Allow searching in url 
	  (logreader/7833d97cf85fd351d2f7550d67d21bd0c2a815f4)
    - Fix infinite scroll 
	  (logreader/cbe874c6c068b9156ad8456edf31d112da40cbc9)
    - Dont show loading indicator if we already have entries 
	  (logreader/d26a08dc0540126177e8d20c3e243b44c5a399c4)
  * Gallery
    - Fix upload after core changes 
	  (gallery/b4ac4429841cfe2b7ea260dfb37fcde25580143c2)
    - Update JavaScript libraries (gallery/247)
- Remove empty %postun and redundant %clean.
- Ensure summary/description is neutral.
- upstream update to version 11.0.2
  * Server
    - Use login name to fix password confirm with ldap users 
      (server/2953)
    - Change the row-format before changing the collation 
      (server/3063)
    - Generate correct path for owner and use the display name 
      (server/3080)
    - Markdown support for app descriptions (server/3117)
    - Fix style in comment (server/3143)
    - Escape the name for the jquery selector (server/3138)
    - Define spreed calls (server/3115)
    - LDAP Backend OCS Api (server/3213)
    - Fix Sharing app description (server/3397)
    - Fix shared-as-busy events for owner (server/3363)
    - Use correct theming when returning the defaults (server/3399)
    - Filter out sensitive appconfig values (server/3400)
    - Add transifex config for sharebymail (server/3423)
    - Update the email in the accounts table as well (server/3411)
    - Don't log the password on confirmPassword when LDAP throws an 
      exception (server/3414)
    - Make sure ownCloud 8.2 activities also can get displayed 
      (server/3412)
    - Popovermenu backport (server/3286)
    - Set vendor during install (server/3426)
    - Make sure the file information is available when sending the 
      email (server/3433)
    - Add profile data to provisioning api (server/3259)
    - Fix detection of the new iOS app (server/3431)
    - Add integration tests for legacy DAV endpoints (server/3445)
    - Make sure invalid images don't flood the log file 
      (server/3440)
    - Fix printing backup code (server/3510)
    - Fix cookie name (nctoken instead of octoken) (server/3511)
    - LDAP's checkPassword should only catch when a user was not 
      found (server/3493)
    - Return unknown free space from nullstorage (server/3508)
    - Fix for address book data lost when any user receiving a 
      share is deleted (server/3499)
    - Rename database password toggle (server/3500)
    - Popovermenu files css fix (server/3494)
    - Add screensharing icon (server/3481)
    - Fix misleading wording: searching is affected, not user 
      access (server/3560)
    - Backport of Fix Broken UUID Attribute Detection (server/3528)
  * Activity
    - Make sure integer like names are still strings (activity/103)
    - Fix activities for public uploads (activity/113)
    - Show the parent as target when the file was not renamed 
      (activity/114)
    - Fix activities for "Files drop" on external storages 
      (activity/118)
  * SAML & SSO
    - Setup account later (user_saml/79)
  * Serverinfo
    - Fix SQL syntax error on MariaDB 10.0.27 and 10.1.19 
      (serverinfo/77)
    - Don't throw an error when /proc/meminfo is not readable 
      (serverinfo/76)
  * Survey_Client
    - Fix problem when checking size with dash in DB name 
      (survey_client/50)
- Add php-openssl dependency
- upstream update to version 11.0.1
- upstream update to version 11.0.0
- upstream update to version 10.0.1
- upstream update to version 10.0.0
- update spec file
  * osc service localrun format_spec_file
  * update Source with full URL
  * simplify deps mainly for openSUSE
- enable HSTS to prevent the warning "The Strict-Transport-Security
  HTTP header is not configured" in admin-page
- turn maintenance:mode off after upgrade
- upstream update to version 9.0.53 (bsc#989998)
- make apache_secure_data more restrictiver
- add missing .user.ini
- move README and README.SELinux to docdor to fix message code 
  integrity check
- upstream update to version 9.0.52
- initial build nextcloud 9.0.51

OBS-URL: https://build.opensuse.org/request/show/573417
OBS-URL: https://build.opensuse.org/package/show/server:php:applications/nextcloud?expand=0&rev=31
2018-02-06 17:51:28 +00:00
.gitattributes Accepting request 412567 from home:asemen 2016-07-21 13:39:03 +00:00
.gitignore Accepting request 412567 from home:asemen 2016-07-21 13:39:03 +00:00
apache_secure_data Accepting request 415038 from home:asemen 2016-07-25 11:45:04 +00:00
nextcloud-13.0.0.tar.bz2 Accepting request 573414 from home:ecsos:server 2018-02-06 17:32:42 +00:00
nextcloud.changes Accepting request 573417 from home:ecsos:server 2018-02-06 17:51:28 +00:00
nextcloud.spec Accepting request 573414 from home:ecsos:server 2018-02-06 17:32:42 +00:00
README Accepting request 412567 from home:asemen 2016-07-21 13:39:03 +00:00
README.SELinux Accepting request 412567 from home:asemen 2016-07-21 13:39:03 +00:00
README.SUSE Accepting request 497378 from home:ecsos:server 2017-05-22 19:16:16 +00:00
robots.txt Accepting request 412567 from home:asemen 2016-07-21 13:39:03 +00:00

nextcloud Overview and installation instructions
-----------------------------------------------

Welcome to nextcloud, your self-hosted file sync and share solution.

OwnCloud is open source file sync and share software for everyone from
individuals operating the free Community Edition, to large enterprises and
service providers operating nextcloud Enterprise Edition. nextcloud
provides a safe, secure and compliant file sync and share solution on
servers you control.

With nextcloud you can share one or more folders on your PC, and sync
them with your nextcloud server. Place files in your local shared
directories, and those files are immediately synced to the server, and then
to other PCs via the desktop client. Not near a desktop client? No
problem, simply log in with the web client and manage your files there. The
Android and iOS mobile apps allow you to browse, download and upload photos
and videos. On Android, you may also create, download, edit and upload any
other files, with the correct software installed.

Whether using a mobile device, a workstation, or a web client, nextcloud
provides the ability to put the right files in the right hands at the right
time on any device in one simple-to-use, secure, private and controlled
solution. After all, with nextcloud, it's Your Cloud, Your Data, Your Way.


The Various Elements of nextcloud
--------------------------------
nextcloud comes in three different Editions, with desktop clients and mobile
apps available as add-ons.

The three editions are: 
- Community Edition: the free, unsupported, open source version of nextcloud.
  This is the same server software that is included in Business and
  Enterprise Edition, it is just provided unsupported under AGPL license. It
  includes the server side application and the built in web client.
- Business Edition: the certified and supported nextcloud server provided
  under AGPL license (support provided by nextcloud, Inc.), including the
  desktop clients and intended as a starter pack for small businesses, or as
  a PoC for large businesses or service providers.
- Enterprise Edition: the certified and supported nextcloud server provided 
  under AGPL or nextcloud license, including desktop clients and mobile apps,
  available in increments up to an unlimited number of users, and intended
  as an enterprise or service provider offering.

While there are three different Editions of nextcloud, the nextcloud server is
open source, and is essentially the same in all three offerings. This
installation guide is designed for installation of the nextcloud server,
a part of all three nextcloud Editions.

For more information on nextcloud Editions, please visit nextcloud.com/overview.


nextcloud is a Web Application
-----------------------------
nextcloud is a web based application that is intended to provide access to
files. As such, understand that once you take an nextcloud instance live, it
must be maintained as you would any other website or server. This means
keeping up with patches to the web server, PHP, your database, as well as
updates to nextcloud itself. Active monitoring of the application and logs
are recommended, SSL connections are a good idea for security reasons, and a
local server soft firewall is just smart - and in most cases part of the
default server setup. Be thorough with nextcloud and your web server, and you
will have the secure file, sync and share solution you are looking for for
many years to come.


Prerequisites
-------------
nextcloud requires a webserver, PHP5 and a database to operate. We support
Apache, though it is possible to run nextcloud on Microsoft's IIS on Windows
7 or Windows Server 2008 R2 via FastCGI. nextcloud recommends Apache and
PHP5, for performance and overhead reasons. For databases, we support
SQLite, MySQL, and PostgreSQL. See "Choosing the Database" for more
information on which database to choose.


Installation Scale
------------------
nextcloud is simple to install with a little technical know-how, and
depending on your situation, can be installed in minutes. However, before
installing nextcloud, it is important to understand what it is. nextcloud is a
PHP based web application, so you also need to install PHP5 and Apache2. You
can install nextcloud on Linux, Windows and Mac servers, as well as in
virtual machine(s), where you install the application is entirely dependent
on the scale of your operations.

nextcloud is highly flexible software, supporting small to massive
implementations. For small installations, you can install all of nextcloud on
an old desktop or workstation, on a single server, or inside a single
virtual machine. For mid-sized installations, you can separate the app and
database server to enhance security and improve scalability, and add a
second app server and MySQL server for redundancy. At the large end of the
installation spectrum, you may have a load balancer out front of many
nextcloud application servers, with a database cluster, and network attached
storage on the back end, enabling massive scalability and performance tuning
for your instance. 

For the purposes of this document, the assumption is made that a small to
mid sized installation is the desired outcome, either for personal use, or
as a demo, proof of concept, or pilot.


Choosing the Database
---------------------
When you install nextcloud, first take a hard look at the scale of your
implementation. nextcloud can be installed with MySQL, PostgreSQL or SQLite.
Which you choose is dependent on your environment, the number of users, and
the scale of your implementation. SQLite is a lightweight,
zero-configuration, self contained database engine. The best parts of SQLite
are the ease with which one can implement and use SQLite, and the speed and
low overhead required for it to work. However, this is really designed for
small implementations of nextcloud. In general, it is best to keep the use of
SQLite to personal installations, or to PoC or pilot installations with no
more than 50 users. For these sorts of implementations, SQLite works great.
If you have security concerns, or just don't know which to choose, then we
recommend stepping up to MySQL, as the tradeoff in server overhead is
typically worth the added benefits of a heavier database engine.

If you are installing nextcloud Business or Enterprise Edition, the database
choice is a matter of preference between MySQL and PostgreSQL. While we
recommend MySQL for the large install base, large ecosystem, and the
additional features, such as MySQL clusters, you can use either database. On
first run, nextcloud will configure the instance using your defined database
instance name, location, user name and password. For this to work, you must
first install and start a database, and configure a database user for
nextcloud. For the purposes of this install guide, we will use MySQL.


Installation
------------
Enough of the background stuff, lets get started installing!

Getting Started
---------------
In this section, we will guide you to the links for the software you need to
install to get nextcloud operating. If you have an alternative or preferred
approach to finding and installing Apache, PHP and MySQL, you may use it. On
Linux, though, we highly recommend sticking to the package manager
installations, which will greatly simplify updates, upgrades and un-installs
in the future.

To get started with your nextcloud installation, install the latest Apache
release (as of writing, the latest Apache release is 2.4.1): 
Linux: through your package manager
Windows: download from http://httpd.apache.org/download.cgi 

Start the web server, and open a browser to localhost to be sure the web
server is installed and operating.

When that is installed, download and install the latest version of PHP (as
of writing, the latest PHP release is 5.4.0): 
- Linux: through your package manager. The PHP or nextcloud package
  installation will handle these dependencies at the next step, but it is
  wise to make sure that these packagesare installed before you load
  nextcloud for the first time:
  - mod_php
  - php-mysql 
  - php-json
  - php-gd
  - php-mb_multibyte
  - php-ctype
  - php-zip
- Windows: download from http://php.net/downloads.php 
  Note: you will be selecting the FastCGI installation as well, for PHP
  support.

Note for Fedora 16 users: please check http://blogs.fsfe.org/samtuke/?p=333
for information on getting php-zip installed!

When that is installed, download and install the latest version of the MySQL
community server (as of writing, the latest MySQL release is 5.6): 
- Linux: through your package manager.
- Windows: download from http://dev.mysql.com/downloads/

Mac Users:
If you are running a Mac, the easiest installation for this entire stack
(including the database) is to download the MAMP "one click solution for
setting up your personal web server". This can be found at
http://www.mamp.info/en/index.html .

At this point, you have the necessary prerequisites installed. Now it is
time to configure the database.


Setting up the Database
-----------------------
As already mentioned, nextcloud will automatically create tables inside a
database at first run, but it needs to connect to a running instance of the
database. If you are using SQLite, this is not an issue, as SQLite is
essentially embedded in nextcloud. But, if you are using MySQL or PostgreSQL,
you must install and configure the instance, as well as an nextcloud user.

Please refer to the latest documentation for your database. 
http://dev.mysql.com/doc/#manual (5.6)
http://www.postgresql.org/docs/manuals/ (9.1)

Ensure that the database is installed, started, and that you have configured
an nextcloud user with complete rights to create, read, update and delete
tables and records, as this user will be used to create tables at nextcloud
first run, and then to manage users, groups, quota and more during ongoing
operations. For security considerations, we strongly suggest that you do not
use the database root account to access the database from nextcloud.

You may install the nextcloud database on a separate server from the nextcloud
installation. In fact, for the largest nextcloud installations, we recommend
installing a MySQL cluster environment, with multiple load balanced nextcloud
application servers out front, all accessing the shared cluster. Depending
on your hardware, security considerations, and expected load, you may want
to separate the database from the app server. Simply note the username,
password, and address of the database, and enter this information into the
form within nextcloud at first run, and nextcloud will create the instance and
tables.


Configuring PHP
---------------
There are a few default configuration settings that you will want to change
to enable nextcloud to operate more effectively as a self hosted file sync
and share server. When uploading through the web client, nextcloud is
governed by PHP and Apache. As a default, PHP is configured for only 2 MB
uploads. This is not entirely useful, so it is important to increase these
variables to the sizes you want to support on your server.

Point your favorite text editor over to your php.ini file. On different
server operating systems this is located in different places. On openSUSE
and Ubuntu, for example, this is located in /etc/php5/apache2/php.ini
Note: the commend 'find / -name php.ini' can help you locate your php.ini on
Linux. 

On Windows, you can find this file within C:/Program Files (x86)/PHP/PHP.ini

Edit the php.ini file, looking for:
- upload_max_filesize = 500 MB
- post_max_size = 600 MB

The defaults for these values are quite small, so change them to to 500 MB
and 600MB, or 1G and 1.2G, for example, and you have adjusted the maximum
file size that can be uploaded at one time.

Make sure you restart your Apache server after these changes, or it will not
take affect!

Note: You will want these two values to be about the same size, with
post_max_size slightly larger to account for headers in the uploaded files.

If you find later that files keep timing out on upload, you may want to also
change these settings in the php.ini file: 
max_input_time 
memory_limit 
max_execution_time 
post_max_size 

See below for more on php.ini settings from radlinks.com. 

PHP.ini settings
- upload_max_filesize and post_max_size
  Files are usually POSTed to the webserver in a format known as
  'multipart/form-data'. The post_max_size sets the upper limit on the
  amount of data that a script can accept in this manner. Ideally this value
  should be larger than the value that you set for upload_max_filesize. 

  It's important to realize that upload_max_filesize is the sum of the sizes
  of all the files that you are uploading. post_max_size is the
  upload_max_filesize plus the sum of the lengths of all the other fields in
  the form plus any mime headers that the encoder might include. Since these
  fields are typically small you can often approximate the upload max size
  to the post max size.

  According to the PHP documentation you can set a MAX_UPLOAD_LIMIT in your
  HTML form to suggest a limit to the browser. Our understanding is that
  browsers totally ignore this directive and the only solution that can
  impose such a client side restriction is our own Rad Upload Applet

- memory_limit
  When the PHP engine is handling an incoming POST it needs to keep some of
  the incoming data in memory. This directive has any effect only if you
  have used the --enable-memory-limit option at configuration time. Setting
  too high a value can be very dangerous because if several uploads are
  being handled concurrently all available memory will be used up and other
  unrelated scripts that consume a lot of memory might effect the whole
  server as well. 

- max_execution_time and max_input_time
  These settings define the maximum life time of the script and the time
  that the script should spend in accepting input. If several mega bytes of
  data are being transfered max_input_time should be reasonably high. You
  can override the setting in the ini file for max_input_time by calling the
  set_time_limit() function in your scripts. 


Additional IIS Server Upload Step
---------------------------------
Now you have to go back to IIS manager and make one last change to enable
file uploads on the webserver larger than 30MB.
- Go to the start menu, and type in 'iis manager'
- Open IIS Manager
- Select the website you want enable to accept large file uploads
- In the main window in the middle double click on the icon "Request filtering"
- Once the window is opened you will see a bunch of tabs across the top
- On the far right, select "Edit Feature Settings" and modify the 
  "Maximum allowed content length (bytes)"
  In here, you can change this to up to 4.1 GB. 
  Note: this entry is in BYTES, not KB!
- Click OK and then restart IIS.


Installing nextcloud Server
--------------------------
For Linux we HIGHLY RECOMMEND using your package manager!
- Go to https://download.nextcloud.com/server/
- Select "nextcloud Server", "rpm" and click "Download"
  You will be taken to the openSUSE Build Service, where you can select the
  OS for the installation, which will take you to the appropriate
  repositories for your OS version. When stepping through the installation
  process, be sure you remain subscribed to these repositories so that you
  can get the latest updates through the package manager!!!

These steps will download and install two packages and their dependencies on
your server: 
- nextcloud
- nextcloud-3rdparty
Both are required for nextcloud to function, but for licensing reasons, they
must be packaged separately.

You may also download nextcloud-unsupported packages from the same
repository, following the instructions above, if you would like the
unsupported packages installed as well. These are the packages that are
provided by the community, but for which nextcloud, Inc. does not provide
support. They are not required for nextcloud to function.


Install from source tarball:
Through a manual process of download and extracting the files. There are a
few Linux distributions, as well as Mac and Windows that have no alternative
and will need to use this method. If you are running Linux and can use the
package manager, we recommend you do so because using a Tarball, all updates
and maintenance will have to be handled manually.
- Go to https://download.nextcloud.com/server/releases/
- Select "nextcloud Server", ".tar.bz2" and click "Download"
  Once downloaded, extract the archive to a folder of your choice Copy the
  archive contents into the root of your web server 
  - Linux: varies, but examples are /srv/www/htdocs/ or /var/www/html
  - Windows: c:/inetpub/wwwroot/

You have just installed the nextcloud application on your server!

Note: there are Linux specific download and installation instructions
available for the Community Edition at
https://docs.nextcloud.org/server/9/admin_manual/
if you need additional details on how to install nextcloud. If you follow those
instructions, just be sure you download the nextcloud application from
https://download.nextcloud.com/server/releasses/ the latest stable and supported version of
nextcloud will always be available at this URL.


Configuration
-------------
After successfully installing nextcloud, you will find a folder in your web
server root called /nextcloud. The entire nextcloud application is installed
in that directory.


- Changing Permissions
  Once nextcloud is installed, you need to change permissions so that the web
  server user can access and update the nextcloud application and
  configuration files. 

  To do this, go to your root web server directory and change the owner of
  the files to the web server. 
  openSUSE / SLES
  - Go to /srv/www/htdocs/
  - type: chown -R wwwrun:www nextcloud
  Fedora / RHEL
  - Go to /var/www/html/
  - type: chown -R apache:apache nextcloud
  - If you are running SELinux, please read
    /usr/share/doc/nextcloud/README.SELinux
  Ubuntu
  - Go to /var/www
  - type: chown -R www-data:www-data nextcloud
  Windows
  - Navigate your windows explorer over to C:/inetpub/wwwroot/nextcloud (or
    your installation directory if you selected something different).
  - Right click and select properties.
  - Click on the security tab, and click the button "to change permissions,
    click edit".
  - Select the "users" user from the list, and check the box "write". 
  - Apply these settings and close


Performing First Run
--------------------
Once all of this is completed, it is time to run the "first run" wizard.
Point your browser over to the instance of nextcloud you are setting up, e.g.
http://localhost/nextcloud

This will open the nextcloud "first run" wizard. On this page, you enter your
desired nextcloud username and password for the administrator, and expand the
little arrow. 

You can select the appropriate database here, and enter the database user
name and password, instance name and address. We recommend MySQL as the
database, on this page enter the user name and password you setup for MySQL
earlier, and pick any name for the database instance. 

Note: the nextcloud admin password and the MySQL password CANNOT be the same
in any way!

Click next, and the nextcloud server will write to the /nextcloud/config
folder the config.php file, connect to the database and create the tables
nextcloud needs, and then nextcloud should have you logged in as the admin
user in the nextcloud interface. Now you an get started exploring nextcloud,
creating other users and more from the web interface.


Configuring SSL
---------------
Configuring SSL within nextcloud is not difficult, as nextcloud is a web based
application. Simply get a certificate and follow your procedures for
enabling SSL on your web server. If you have are looking for procedures to
follow, you may follow a number of standard online tutorials at Apache.org
or a variety of other sites. They will demonstarte how to create a self
signed certificate, or how to generate a certificate request and get a
certificate authority signed certificate, where to place the certificate on
the server, and how to enable SSL in the Apache configuration files. As
nextcloud is a web application, following these procedures will enable you to
effectively use SSL, and if you choose, leverage SSL on all of your client,
mobile app and web based access to the server. Just remember to close HTTP
and open HTTPS on your server firewall if you would like to force all
clients to use HTTPS. 


Desktop Clients
---------------
While all OwnCloud Editions can be accessed by our desktop clients,
only the Business and Enterprise Editions come with support subscriptions
for the client. You can gain access to any of the clients on the
http://dnextcloud.com/download website.


Windows Client Installation 
---------------------------
- Go to http://nextcloud.com/download 
- Find the nextcloud Windows Client and click Download 
- Once downloaded, run the installation wizard

Note: On some Norton Antivirus systems, Norton raises a flag on this client
software. It doesn't say the software is a virus, just that it is unknown to
Norton. Essentially, this is new software from nextcloud, and Norton doesn't
have a record in their database for the file, so it quarantines it. It is a
simple matter to remove it from the quarantine and install the client.

- Once the client is installed, find the application in your Start menu, and
  open it. You will be notified that "There is no nextcloud connection
  available. Please configure one by clicking on the tray icon." In your
  system tray, right click on the nextcloud icon and click configure. This
  will take you to the "Create an nextcloud Connection" wizard. 

- Here you enter your nextcloud instance address and click next, and then
  enter your user name and password and click next.

- The desktop client will attempt to conenct to your server, and if
  successful, will try to create the c:/users/'your user name'/nextcloud
  directory, and will link this directory to a new folder on the server in
  your account it will create called "syncclient". This is the automated
  setup wizard. Note: if either of these folders exist already, it will not
  link them for security reasons.

- If you want to add folders to Sync on the server, simply right click and
  select "Add Folder". This will take you to the "Express Upload Source"
  directory, where you can select other folders to sync on your PC, and
  connect them to other folders you create on your server.

Note: you cannot sync a parent directory, and then sync a child directory,
as you would be syncing two directories that are essentially the same, which
the server does not allow.

From here, any files or folders put into any synced directory will be
automatically uploaded the server, and server files will automatically be
downloaded to the client. If a conflict is detected, the sync client will
create a file with "conflict" in the name, and you can view and
determine which file to keep and which to delete.

Also note, if you wish to share files, all sharing is enables through the
web client. Log in to an account through a web browser, and select the files
and folders to share, and they will be shared automatically with other users
of nextcloud, or publicly with a read only, shared public link.


Linux Client Installation 
-------------------------
- Go to http://nextcloud.com/download 
- Find the nextcloud Linux Clients and click Download 
- Select the operating system you are working with, the version, and click
  the button 
- Your package manager will automatically download the client and any
  dependencies not already installed. Remember to select to stay subscribed
  to the repository so that updates can be easily installed on the Linux
  client!!!

- Once the client is installed, find the application in your Start menu, and
  open it. You will be notified that "There is no nextcloud connection
  available. Please configure one by clicking on the tray icon." In your
  system tray, right click on the nextcloud icon and click configure. This
  will take you to the "Create an nextcloud Connection" wizard. 

- Here you enter your nextcloud instance address and click next, and then
  enter your user name and password and click next.

- The desktop client will attempt to connect to your server, and if
  successful, will try to create the /home/'your user name'/nextcloud
  directory, and will link this directory to a new folder on the server in
  your account it will create called "syncclient". This is the
  automated setup wizard. Note: if either of these folders exist already, it
  will not link them for security reasons.

- If you want to remove an existing folder, or add folders to Sync to the
  server, simply right click on the nextcloud system try icon and select
  "Add Folder". This will take you to the "Express Upload Source"
  directory, where you can select other folders to sync on your
  PC, and connect them to other folders you create on your server.

Note: you cannot sync a parent directory, and then sync a child directory,
as you would be syncing two directories with the same content, which the
server does not allow.

From here, any files or folders put into any synced directory will be
automatically uploaded the server, and server files will automatically be
downloaded to the client. If a conflict is detected, the sync client will
create a file with "conflict" in the name, and you can view and
determine which file to keep and which to delete.

If you wish to share files, all sharing is enables through the web client.
Log in to an account through a web browser, and select the files and folders
to share, and they will be shared automatically with other users of
nextcloud, or publicly with a read only, shared public link.


Enjoy your own Cloud!