- Update to 30.0.3
- Fix: Move cloud id into readonly input (server#48978) - Fix(settings): Align contents of profile picture heading (server#48981) - Build(deps-dev): bump cypress from 13.13.2 to 13.13.3 (server#49047) - Fix(caldav): duration handling in the event reader class (server#49066) - Clear pending two factor tokens also from configuration (server#49098) - Fix(net/security): Handle IPv6 zone IDs in link-local addresses (server#49107) - Fix(TaskProcessingApiController): Don’t use + to merge non-assoc. arrays (server#49110) - Fix(files): multiselect and filters store declaration (server#49136) - Fix(theming): Return default theme if the user never selected a theme (server#49138) - Fix(SharingEntryLink): Show default password before create if any (server#49149) - Fix(files_sharing): note icon color on public pages (server#49153) - Fix(files): open sidebar on sharing tab by default for files (server#49157) - Fix: undefined variable $response in DAV storage (server#49160) - Fix(files): edit locally buttons and description (server#49161) - Chore(deps-dev): Bump @pinia/testing from 0.1.5 to 0.1.7 (server#49174) - Fix(files): view-in-folder enabled conditions (server#49180) - Feat(testing): Add a fake summary task provider (server#49195) - Fix: log a warning when we can’t build a background job (server#49207) - Chore(github): Update groupware code owners (server#49214) - Fix(files_external): cast storage id int (server#49222) - Docs: Adjust taiwan translators (server#49230) - Feat: Add X-NC-Disable-Scheduling property to allow skipping scheduling (server#49234) - Fx(dav): file request guest nickname encoding (server#49239) - Fix remaining readdir() calls in loops with undesirable false evaluation potential (server#49241) - Fix(Middleware): log deprecation when annotation was actually used (server#49242) - Chore: Update `@nextcloud/upload` and `@nextcloud/files` (server#49250) - Feat: mail provider settings (server#49254) - Chore(deps): Add SabreDav Patch for iTip Broker (server#49264) - Fix: override iTip Broker to fix several issues (server#49268) - DNS: do not query CNAME if A succeeded already (server#49277) - Textprocessing] Fix: Accept scheduling a task if there are equivalent taskprocessing providers only (server#49280) - Fix: use invokePrivate for test (server#49292) - Fix: RDATE and EXDATE property instances (server#49302) - Fix: Do not check for strict cookie when running webcron (server#49310) - Build(deps-dev): bump jsdoc from 4.0.3 to 4.0.4 (server#49321) - Build(deps-dev): bump @types/jest from 29.5.13 to 29.5.14 (server#49330) - Fix(files): Allow downloading multiple nodes not from same base (server#49344) - Test(fakeAI): Allow to specify whether the fake providers should fail (server#49358) - Fix(core): Do not use `v-html` for translation output (server#49363) - Fix(files): improve delete display name when trashbin is disabled (server#49369) - Fix(SetupChecks): Make sure array key is set (server#49373) - Feat(settings): add big file upload setup checks (server#49384) - Fix(job): Check if carddata is resource and read it to string (server#49400) - Fix: Properly calculate intermediate icon for touch icon generation (server#49405) - Fix(storage): Try to delete existing target (server#49410) - Fix(files): Restore page title (folder – view – product) (server#49419) - Fix: (CalDav) Delete invitation link when deleting Calendars or Events (server#49429) - Fix(BackgroundJobs): Adjust intervals and time sensitivities (server#49461) - Fix(external_storage): Cast id to int (server#49468) - Fix(OCMDiscoveryService): Also cache error results during discovery (server#49472) - Fix: invalid usage of IQueryBuilder::createNamedParameter() (server#49480) - Fix(TaskProcessing): Set up fs in getFileContentsInternal (server#49491) - Fix: throw correct exception type when we can’t verify if an s3 bucket exists (server#49497) - Fix(security): Update CA certificate bundle (server#49509) - Fix(activity): Fix activity object type warnings (server#49522) - Fix(migration): Decrypt ownCloud secrets v2 (server#49537) - Chore: stricter access to testremote endpoint (server#49544) - Feat: Use inline password confirmation in external storage settings (server#49547) - Fix(setupcheck): Disable PhpMaxFileSize setupcheck for now (server#49642) - Add SabreDav Patch for iTip Broker (3rdparty#1983) - Backport/stable30/430/manual (app_api#434) - Check healthcheck and heartbeat after ExApp container start [backport] (app_api#440) - Stable30: updated CI to use actions/upload-artifact@v4 (app_api#444) - Fix): do not expose haproxy password to UI (app_api#449) - Fix): Encrypt sensitive values(haproxy_password) in the DB (app_api#454) - Fix migration for postgres support. (app_api#458) - Remove caching for shares (circles#1750) - Fix(notification): Make sure the action URL is an absolute URL (circles#1762) - Fix(CoreQueryBuilder): Use correct member entry for circle as initiator (circles#1765) - Fix(FederatedUserService): Increase cache TTL for singleId to one week (circles#1774) - New daily maintenance to delete old federated events (circles#1777) - Bypass user condition on cli (circles#1782) - Fix duplicate name on fedcircle (circles#1783) - Fix(activity): ensure absolute URL are used (circles#1786) - Chore(deps-dev): Bump vite from 5.4.10 to 5.4.11 (firstrunwizard#1438) - Build(deps): for NC 30 support PHP>=8.1 (logreader#1415) - Fix(SetupCheck): remove debug(?) output (logreader#1418) - Chore(deps): Bump vue-material-design-icons from 5.3.0 to 5.3.1 (notifications#2077) - Chore(deps): Bump @nextcloud/dialogs from 5.3.7 to 5.3.8 (notifications#2094) - Fix: use NcCheckboxRadioSwitch in settings (recommendations#820) - Fix: add missing description to command (recommendations#824) - Update nextcloud/ocp dependency (serverinfo#695) - Chore(deps): update dependency cypress-visual-regression to ^5.2.2 (text#6470) - Chore(deps): update dependency cypress-split to ^1.24.5 (text#6589) - Chore(deps): update dependency vite to ^5.4.10 (text#6590) - Fix(deps): update dependency @nextcloud/files to ^3.9.1 (text#6591) - Fix(deps): update dependency mermaid to ^10.9.3 (text#6592) - Fix(deps): update dependency vue-material-design-icons to ^5.3.1 (text#6594) - Fix(css): Set page `size: auto` instead of `size: A4` (text#6595) - Fix some JS console errors (text#6600) - Test(cypress): More specific selector for viewer header in links test (text#6604) - Fix(addContent): only process addExtensions once (text#6605) - Feat(debug): Expose yjs debug function in editor API (text#6608) - Fix(files): set focus on image description right after inserting (text#6611) - Fix(files): Reduce spacing between image and description a bit (text#6615) - Fix(deps): update dependency @nextcloud/dialogs to ^5.3.8 (text#6620) - Fix(deps): update tiptap to ^2.9.1 (text#6621) - Fix(deps): update yjs (text#6622) - Chore(deps): update dependency @rollup/rollup-linux-x64-gnu to ^4.24.4 (text#6623) - Chore(deps): update dependency eslint-plugin-cypress to ^3.6.0 (text#6624) - Chore(deps): update dependency rollup-plugin-webpack-stats to ^1.1.1 (text#6625) - Chore(deps): update dependency @rollup/rollup-linux-x64-gnu to ^4.25.0 (text#6627) - Fix(deps): update dependency debounce to ^2.2.0 (text#6628) - Fix npm audit (text#6644) - Chore(deps): update dependency vite to ^5.4.11 (text#6658) - Chore(deps): update dependency @rollup/rollup-linux-x64-gnu to ^4.27.2 (text#6659) - Fix(deps): update dependency @nextcloud/files to ^3.10.0 (text#6662) - Fix(deps): update dependency @nextcloud/vue to ^8.20.0 (text#6663) - Revert “fix(css): Set page `size: auto` instead of `size: A4`” (text#6669) - Fix: log ignored workspace propfind exceptions at debug (text#6677) - Fix npm audit (text#6691) - Send one full update from y-websocket (text#6697) - Ci: Run cypress on ubuntu-latest (text#6702) - Feat: render text inserted from assistant (text#6704) - Fix: catch all errors when getting rich workspace file (text#6705) OBS-URL: https://build.opensuse.org/package/show/server:php:applications/nextcloud?expand=0&rev=255
This commit is contained in:
commit
c9465c0ffd
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
541
README
Normal file
541
README
Normal file
@ -0,0 +1,541 @@
|
|||||||
|
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!
|
||||||
|
|
26
README.SELinux
Normal file
26
README.SELinux
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
If you are running Fedora 16 with SELinux enabled, you need to relabel the
|
||||||
|
ownCloud installation directory to allow the webserver to store files there.
|
||||||
|
|
||||||
|
To do that, execute the following commands as user root AFTER you installed
|
||||||
|
ownCloud:
|
||||||
|
|
||||||
|
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data'
|
||||||
|
# restorecon '/var/www/html/nextcloud/data'
|
||||||
|
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config'
|
||||||
|
# restorecon '/var/www/html/nextcloud/config'
|
||||||
|
|
||||||
|
To remove the ownCloud directory label execute the following commands as
|
||||||
|
user root AFTER you uninstalled ownCloud:
|
||||||
|
|
||||||
|
# semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data'
|
||||||
|
# restorecon '/var/www/html/nextcloud/data'
|
||||||
|
# semanage fcontext -d -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config'
|
||||||
|
# restorecon '/var/www/html/nextcloud/config'
|
||||||
|
|
||||||
|
Note: all of the above applies only to the default policies. If you modified
|
||||||
|
them, please give the webserver write-access to the directories
|
||||||
|
/var/www/html/nextcloud/data and /var/www/html/nextcloud/config
|
||||||
|
|
||||||
|
Note: for non-Fedora / Redhat systems running SELinux the policy might be
|
||||||
|
called differently.
|
||||||
|
|
16
README.SUSE
Normal file
16
README.SUSE
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
To speed up nextcloud you should enable PHP OPcache
|
||||||
|
|
||||||
|
The OPcache improves the performance of PHP applications by caching precompiled bytecode. We recommend at least following settings:
|
||||||
|
|
||||||
|
Put this in this insert in /etc/php8/apache2/php.ini
|
||||||
|
|
||||||
|
opcache.enable=On
|
||||||
|
opcache.enable_cli=1
|
||||||
|
opcache.interned_strings_buffer=16
|
||||||
|
opcache.max_accelerated_files=10000
|
||||||
|
opcache.memory_consumption=128
|
||||||
|
opcache.save_comments=1
|
||||||
|
opcache.revalidate_freq=1
|
||||||
|
|
||||||
|
Also you should set the memory_limit to somthing like >=512MB in
|
||||||
|
/etc/php8/apache2/php.ini and /etc/php8/cli/php.ini
|
32
apache_secure_data
Normal file
32
apache_secure_data
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
Alias /nextcloud "@DATAPATH@/"
|
||||||
|
<Directory "@DATAPATH@">
|
||||||
|
Options +FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
|
||||||
|
<IfModule mod_dav.c>
|
||||||
|
Dav off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
Header always set Referrer-Policy no-referrer
|
||||||
|
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
SetEnv HOME @DATAPATH@
|
||||||
|
SetEnv HTTP_HOME @DATAPATH@
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Directory "@DATAPATH@/data/">
|
||||||
|
# just in case if .htaccess gets disabled
|
||||||
|
Require all denied
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteRule ^/\.well-known/host-meta /nextcloud/public.php?service=host-meta [QSA,L]
|
||||||
|
RewriteRule ^/\.well-known/host-meta\.json /nextcloud/public.php?service=host-meta-json [QSA,L]
|
||||||
|
RewriteRule ^/\.well-known/nodeinfo /nextcloud/public.php?service=nodeinfo [QSA,L]
|
||||||
|
RewriteRule ^/\.well-known/webfinger /nextcloud/public.php?service=webfinger [QSA,L]
|
||||||
|
RewriteRule ^/\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]
|
||||||
|
RewriteRule ^/\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]
|
||||||
|
</IfModule>
|
3
nextcloud-29.0.3.tar.bz2
Normal file
3
nextcloud-29.0.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a5996e764c120927f8844d8f5b28c736b8e2f3280b120be13a2bd7731cdb7fd4
|
||||||
|
size 205947783
|
3
nextcloud-29.0.4.tar.bz2
Normal file
3
nextcloud-29.0.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:19c469e264b31ee80400f8396460854546569e88db4c15fc0854e192f96027eb
|
||||||
|
size 204867575
|
3
nextcloud-29.0.5.tar.bz2
Normal file
3
nextcloud-29.0.5.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c7fe9c61e5ec30a5e599e8f152a1825df684d30e899db0caa8868c8d67b53a2c
|
||||||
|
size 204001633
|
3
nextcloud-29.0.6.tar.bz2
Normal file
3
nextcloud-29.0.6.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:dc60be03fd17e30bafef2a4d4feb2d096aa77a4c6b4f21c985760e537f8401e3
|
||||||
|
size 204396386
|
3
nextcloud-29.0.7.tar.bz2
Normal file
3
nextcloud-29.0.7.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f532ffc31be5a8374b5e072b86fff8765ec19fda0c8509cee39873081db2c544
|
||||||
|
size 204453544
|
3
nextcloud-30.0.1.tar.bz2
Normal file
3
nextcloud-30.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:79ec2ffad6231bd8fcc4abaacc12e5ac51e670d089affb379483592cda0fdccb
|
||||||
|
size 187609069
|
3
nextcloud-30.0.2.tar.bz2
Normal file
3
nextcloud-30.0.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:929bb8045e96216fe22a65dcd66279e5bd7ba1abb29d99bf401d423b646a445f
|
||||||
|
size 186711039
|
3
nextcloud-30.0.3.tar.bz2
Normal file
3
nextcloud-30.0.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e3daa583a8c139a4781ff71dd20d4b98f90c7d881c2a49c2d236e785a0bd08d5
|
||||||
|
size 187679236
|
9
nextcloud-cron
Normal file
9
nextcloud-cron
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# Nextcloud CronJob every 5 minutes.
|
||||||
|
#
|
||||||
|
# Uncomment to enable it.
|
||||||
|
|
||||||
|
SHELL=/bin/sh
|
||||||
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
|
||||||
|
#*/5 * * * * @APACHE_USER@ /usr/bin/php -f @APACHE_MYSERVERROOT@/nextcloud/cron.php /dev/null 2>&1
|
9
nextcloud-cron.service
Normal file
9
nextcloud-cron.service
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Nextcloud CronJob
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=@APACHE_USER@
|
||||||
|
ExecStart=/usr/bin/php -f @APACHE_MYSERVERROOT@/nextcloud/cron.php
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=basic.target
|
10
nextcloud-cron.timer
Normal file
10
nextcloud-cron.timer
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Nextcloud CronJob - run every 5 minutes
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnBootSec=5min
|
||||||
|
OnUnitActiveSec=5min
|
||||||
|
Unit=nextcloud-cron.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
7
nextcloud-rpmlintrc
Normal file
7
nextcloud-rpmlintrc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# False positive
|
||||||
|
addFilter('explicit-lib-dependency');
|
||||||
|
# git files should not be removed, otherwise nextcloud rise up integrity check failure in some situations.
|
||||||
|
addFilter('version-control-internal-file');
|
||||||
|
addFilter('devel-file-in-non-devel-package');
|
||||||
|
addFilter('hidden-file-or-dir');
|
||||||
|
addFilter('non-etc-or-var-file-marked-as-conffile');
|
10183
nextcloud.changes
Normal file
10183
nextcloud.changes
Normal file
File diff suppressed because it is too large
Load Diff
333
nextcloud.spec
Normal file
333
nextcloud.spec
Normal file
@ -0,0 +1,333 @@
|
|||||||
|
#
|
||||||
|
# spec file for package nextcloud
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
%define apache_myserverroot %{apache_serverroot}/htdocs
|
||||||
|
%define apache_confdir %{apache_sysconfdir}/conf.d
|
||||||
|
%define apache_docdir /usr/share/doc/packages
|
||||||
|
%else
|
||||||
|
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
|
||||||
|
%define apache_myserverroot /var/www/html
|
||||||
|
%define apache_confdir /etc/httpd/conf.d
|
||||||
|
%define apache_user apache
|
||||||
|
%define apache_group apache
|
||||||
|
%define __jar_repack 0
|
||||||
|
%else
|
||||||
|
%define apache_myserverroot /var/www
|
||||||
|
%define apache_confdir /etc/httpd/conf.d
|
||||||
|
%define apache_user www
|
||||||
|
%define apache_group www
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%define nc_user %{apache_user}
|
||||||
|
%define nc_dir %{apache_myserverroot}/%{name}
|
||||||
|
%define ocphp_bin /usr/bin
|
||||||
|
|
||||||
|
%if 0%{?rhel} == 600 || 0%{?rhel_version} == 600 || 0%{?centos_version} == 600
|
||||||
|
%define statedir /var/run
|
||||||
|
%else
|
||||||
|
%define statedir /run
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: nextcloud
|
||||||
|
Version: 30.0.3
|
||||||
|
Release: 0
|
||||||
|
Summary: File hosting service
|
||||||
|
License: AGPL-3.0-only
|
||||||
|
Group: Productivity/Networking/Web/Utilities
|
||||||
|
URL: https://nextcloud.com
|
||||||
|
Source0: https://download.nextcloud.com/server/releases/%{name}-%{version}.tar.bz2
|
||||||
|
Source1: apache_secure_data
|
||||||
|
Source2: README
|
||||||
|
Source3: README.SELinux
|
||||||
|
Source4: README.SUSE
|
||||||
|
Source5: robots.txt
|
||||||
|
Source10: %{name}-cron
|
||||||
|
Source11: %{name}-cron.service
|
||||||
|
Source12: %{name}-cron.timer
|
||||||
|
Source99: %{name}-rpmlintrc
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildArch: noarch
|
||||||
|
BuildRequires: apache-rpm-macros
|
||||||
|
BuildRequires: cron
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: unzip
|
||||||
|
#
|
||||||
|
Requires: cron
|
||||||
|
Requires: curl
|
||||||
|
Requires: libxml2-2
|
||||||
|
Requires: mariadb >= 10.3
|
||||||
|
Requires: php-bz2
|
||||||
|
Requires: php-dom
|
||||||
|
Requires: php-gd
|
||||||
|
Requires: php-intl
|
||||||
|
Requires: php-json
|
||||||
|
Requires: php-mbstring
|
||||||
|
Requires: php-mysql
|
||||||
|
Requires: php-posix
|
||||||
|
Requires: php-zip
|
||||||
|
#
|
||||||
|
%if 0%{?fedora_version} || 0%{?rhel} || 0%{?rhel_version} || 0%{?centos_version}
|
||||||
|
Requires: php < 8.4.0
|
||||||
|
Requires: php >= 8.1.0
|
||||||
|
Requires: php-process
|
||||||
|
Requires: php-xml
|
||||||
|
Recommends: sqlite
|
||||||
|
%endif
|
||||||
|
#
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
Requires: php-ctype
|
||||||
|
Requires: php-curl
|
||||||
|
# SUSE does not include the fileinfo module in php-common.
|
||||||
|
Requires: php-fileinfo
|
||||||
|
Requires: php-iconv
|
||||||
|
Requires: php-opcache
|
||||||
|
Requires: php-openssl
|
||||||
|
Requires: php-pear
|
||||||
|
Requires: php-xmlreader
|
||||||
|
Requires: php-xmlwriter
|
||||||
|
Requires: php-zip
|
||||||
|
Requires: php-zlib
|
||||||
|
Recommends: sqlite3
|
||||||
|
%{?systemd_requires}
|
||||||
|
%endif
|
||||||
|
Recommends: php-sysvsem
|
||||||
|
# Database connectors:
|
||||||
|
Recommends: php-sqlite
|
||||||
|
#Recommends: php-pgsql
|
||||||
|
# Require for specific apps:
|
||||||
|
Requires: php-ftp
|
||||||
|
Requires: php-ldap
|
||||||
|
#Requires: php-imap
|
||||||
|
#Requires: php-smbclient
|
||||||
|
# Recommend for specific apps:
|
||||||
|
Recommends: php-exif
|
||||||
|
Recommends: php-gmp
|
||||||
|
# For enhanced server performance:
|
||||||
|
Recommends: php-APCu
|
||||||
|
Recommends: php-bcmath
|
||||||
|
# For preview generation:
|
||||||
|
Recommends: php-imagick
|
||||||
|
Recommends: php-ffmpeg
|
||||||
|
#Recommends: libreoffice
|
||||||
|
# For command line processing:
|
||||||
|
Recommends: php-pcntl
|
||||||
|
|
||||||
|
%description
|
||||||
|
Nextcloud is a suite of client-server software for creating file
|
||||||
|
hosting services and using them.
|
||||||
|
|
||||||
|
%package apache
|
||||||
|
Summary: Apache configuration for %{name}
|
||||||
|
Group: Productivity/Networking/Web/Utilities
|
||||||
|
BuildRequires: apache2 >= 2.4
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: apache2
|
||||||
|
Requires: mod_php_any < 8.4.0
|
||||||
|
Requires: mod_php_any >= 8.1.0
|
||||||
|
Supplements: packageand(apache2:%name)
|
||||||
|
|
||||||
|
%description apache
|
||||||
|
This subpackage contains the Apache configuration files
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{name}
|
||||||
|
cp %{SOURCE2} .
|
||||||
|
cp %{SOURCE3} .
|
||||||
|
cp %{SOURCE4} .
|
||||||
|
cp %{SOURCE5} .
|
||||||
|
### Don't remove git files!!
|
||||||
|
### git files should not be removed, otherwise nextcloud rise up integrity check failure in some situations.
|
||||||
|
###
|
||||||
|
## delete unneeded gitfiles
|
||||||
|
#rm -r `find . -name ".gitignore" -or -name ".gitkeep" -or -name ".github"`
|
||||||
|
## remove entries in signature.json to prevent integrity check failure
|
||||||
|
#find . -iname signature.json \
|
||||||
|
# -exec sed -i "/\/.gitignore\": ./d" "{}" \; \
|
||||||
|
# -exec sed -i "/\/.gitkeep\": ./d" "{}" \; \
|
||||||
|
# -exec sed -i "/\/.github\": ./d" "{}" \;
|
||||||
|
#rm -f 3rdparty/symfony/debug/Resources/ext/*.{c,h}
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
%install
|
||||||
|
# no server side java code contained, alarm is false
|
||||||
|
idir=$RPM_BUILD_ROOT/%{apache_myserverroot}/%{name}
|
||||||
|
mkdir -p $idir
|
||||||
|
mkdir -p $idir/data
|
||||||
|
mkdir -p $idir/search
|
||||||
|
cp -aRf * $idir
|
||||||
|
cp -aRf .reuse $idir
|
||||||
|
cp -aRf .htaccess $idir
|
||||||
|
cp -aRf .user.ini $idir
|
||||||
|
# $idir/l10n to disappear in future
|
||||||
|
#rm -f $idir/l10n/l10n.pl
|
||||||
|
|
||||||
|
if [ ! -f $idir/robots.txt ]; then
|
||||||
|
install -p -D -m 644 %{SOURCE5} $idir/robots.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create the AllowOverride directive
|
||||||
|
install -p -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{apache_confdir}/nextcloud.conf
|
||||||
|
ncpath="%{apache_myserverroot}/%{name}"
|
||||||
|
sed -i -e"s|@DATAPATH@|${ncpath}|g" $RPM_BUILD_ROOT/%{apache_confdir}/nextcloud.conf
|
||||||
|
|
||||||
|
# not needed for distro packages
|
||||||
|
rm -f ${idir}/indie.json
|
||||||
|
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
# link duplicate doc files
|
||||||
|
%fdupes -s $RPM_BUILD_ROOT/%{apache_myserverroot}/%{name}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# CronJob
|
||||||
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/cron.d
|
||||||
|
install -D -m 0644 %{SOURCE10} %{buildroot}%{_sysconfdir}/cron.d/%{name}
|
||||||
|
install -D -m 0644 %{SOURCE11} %{buildroot}%{_unitdir}/%{name}-cron.service
|
||||||
|
install -D -m 0644 %{SOURCE12} %{buildroot}%{_unitdir}/%{name}-cron.timer
|
||||||
|
sed -i -e"s|@APACHE_USER@|%{apache_user}|g" %{buildroot}%{_sysconfdir}/cron.d/%{name}
|
||||||
|
sed -i -e"s|@APACHE_MYSERVERROOT@|%{apache_myserverroot}|g" %{buildroot}%{_sysconfdir}/cron.d/%{name}
|
||||||
|
sed -i -e"s|@APACHE_USER@|%{apache_user}|g" %{buildroot}%{_unitdir}/%{name}-cron.service
|
||||||
|
sed -i -e"s|@APACHE_MYSERVERROOT@|%{apache_myserverroot}|g" %{buildroot}%{_unitdir}/%{name}-cron.service
|
||||||
|
mkdir -p %{buildroot}%{_sbindir}
|
||||||
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-cron
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%service_add_pre %{name}-cron.timer %{name}-cron.service
|
||||||
|
|
||||||
|
# avoid fatal php errors, while we are changing files
|
||||||
|
# https://github.com/nextcloud
|
||||||
|
#
|
||||||
|
# We don't do this for new installs. Only for updates.
|
||||||
|
# If the first argument to pre is 1, the RPM operation is an initial installation. If the argument is 2,
|
||||||
|
# the operation is an upgrade from an existing version to a new one.
|
||||||
|
if [ $1 -gt 1 -a ! -s %{statedir}/apache_stopped_during_nextcloud_install ]; then
|
||||||
|
echo "o %{name} pre-install: Checking for running Apache"
|
||||||
|
# FIXME: this above should make it idempotent -- a requirement with openSUSE.
|
||||||
|
# it does not work.
|
||||||
|
%if 0%{?suse_version} && 0
|
||||||
|
service apache2 status | grep running > %{statedir}/apache_stopped_during_nextcloud_install
|
||||||
|
service apache2 stop
|
||||||
|
%endif
|
||||||
|
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
|
||||||
|
service httpd status | grep running > %{statedir}/apache_stopped_during_nextcloud_install
|
||||||
|
service httpd stop
|
||||||
|
%endif
|
||||||
|
fi
|
||||||
|
if [ -s %{statedir}/apache_stopped_during_nextcloud_install ]; then
|
||||||
|
echo "o %{name} pre-install: Stopping Apache"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $1 -eq 1 ]; then
|
||||||
|
echo "o %{name} pre-install: First install starting"
|
||||||
|
else
|
||||||
|
echo "o %{name} pre-install: Upgrade starting ..."
|
||||||
|
fi
|
||||||
|
# https://github.com/nextcloud
|
||||||
|
if [ -x %{ocphp_bin}/php -a -f %{nc_dir}/occ ]; then
|
||||||
|
echo "o %{name} pre-install: occ maintenance:mode --on"
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ maintenance:mode --on" || true
|
||||||
|
echo yes > %{statedir}/occ_maintenance_mode_during_nextcloud_install
|
||||||
|
fi
|
||||||
|
|
||||||
|
%post
|
||||||
|
%service_add_post %{name}-cron.timer %{name}-cron.service
|
||||||
|
|
||||||
|
if [ $1 -eq 1 ]; then
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
%if 0%{?sle_version} >= 150400 || 0%{?suse_version} > 1500
|
||||||
|
a2enmod php8
|
||||||
|
%else
|
||||||
|
a2enmod php7
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -s %{statedir}/apache_stopped_during_nextcloud_install ]; then
|
||||||
|
echo "o %{name} post-install: Restarting Apache"
|
||||||
|
## If we stopped apache in pre section, we now should restart. -- but *ONLY* then!
|
||||||
|
## Maybe delegate that task to occ upgrade? They also need to handle this, somehow.
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
service apache2 start
|
||||||
|
%endif
|
||||||
|
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
|
||||||
|
service httpd start
|
||||||
|
%endif
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -s %{statedir}/occ_maintenance_mode_during_nextcloud_install ]; then
|
||||||
|
echo "o %{name} post-install: occ maintenance:repair (fix possible errors)"
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ maintenance:repair" || true
|
||||||
|
echo "o %{name} post-install: occ db:add-missing-* (add missing db things)"
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ maintenance:mimetype:update-db" || true
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ db:add-missing-columns" || true
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ db:add-missing-indices" || true
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ db:add-missing-primary-keys" || true
|
||||||
|
echo "o %{name} post-install: occ update apps"
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ app:update --all" || true
|
||||||
|
echo "o %{name} post-install: occ upgrade"
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ upgrade" || true
|
||||||
|
echo "o %{name} post-install: occ maintenance:mode --off"
|
||||||
|
su %{nc_user} -s /bin/sh -c "cd %{nc_dir}; PATH=%{ocphp_bin}:$PATH php ./occ maintenance:mode --off" || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f %{statedir}/apache_stopped_during_nextcloud_install
|
||||||
|
rm -f %{statedir}/occ_maintenance_mode_during_nextcloud_install
|
||||||
|
|
||||||
|
if [ $1 -eq 1 ]; then
|
||||||
|
echo "o %{name} post-install: First install complete"
|
||||||
|
else
|
||||||
|
echo "o %{name} post-install: Upgrade complete"
|
||||||
|
fi
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%service_del_preun %{name}-cron.timer %{name}-cron.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%service_del_postun %{name}-cron.timer %{name}-cron.service
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(644,root,root,755)
|
||||||
|
%exclude %{apache_myserverroot}/%{name}/README
|
||||||
|
%exclude %{apache_myserverroot}/%{name}/README.SUSE
|
||||||
|
%exclude %{apache_myserverroot}/%{name}/README.SELinux
|
||||||
|
%doc README README.SUSE README.SELinux
|
||||||
|
%config(noreplace) %{_sysconfdir}/cron.d/%{name}
|
||||||
|
%{_sbindir}/rc%{name}-cron
|
||||||
|
%{_unitdir}/%{name}-cron.service
|
||||||
|
%{_unitdir}/%{name}-cron.timer
|
||||||
|
%dir %{apache_serverroot}
|
||||||
|
%dir %{apache_myserverroot}
|
||||||
|
%{apache_myserverroot}/%{name}
|
||||||
|
%attr(-,%{apache_user},%{apache_group}) %{apache_myserverroot}/%{name}/occ
|
||||||
|
%config(noreplace) %{apache_myserverroot}/%{name}/.user.ini
|
||||||
|
%defattr(664,%{apache_user},%{apache_group},775)
|
||||||
|
%{apache_myserverroot}/%{name}/apps
|
||||||
|
%{apache_myserverroot}/%{name}/core/js/mimetypelist.js
|
||||||
|
%dir %{apache_myserverroot}/%{name}/core/img/filetypes
|
||||||
|
%{apache_myserverroot}/%{name}/core/img/filetypes/*
|
||||||
|
%defattr(660,%{apache_user},%{apache_group},770)
|
||||||
|
%{apache_myserverroot}/%{name}/config
|
||||||
|
%{apache_myserverroot}/%{name}/data
|
||||||
|
|
||||||
|
%files apache
|
||||||
|
%config(noreplace) %{apache_confdir}/nextcloud.conf
|
||||||
|
|
||||||
|
%changelog
|
2
robots.txt
Normal file
2
robots.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
User-agent: *
|
||||||
|
Disallow: /
|
Loading…
Reference in New Issue
Block a user