- Update to 30.0.2
- fix: Make user removal more resilient in #48589 - fix(files): Reset context menu position on close in #47878 - fix(files): Add more visual move / copy notification in #48458 - fix: get rid of denied notification when accept in #48751 - fix(share): Return empty string if no label is set in #48703 - fix(files): Ensure children are removed from folder and not duplicated in #48240 - feat(comments): Support mentioning emails in #48785 - fix(appstore): Hide last modified information for shipped apps in #48754 - fix(security): Update code signing revocation list in #48778 - fix(activity): Fix download activity parameters in #48818 - fix(AppConfig): Add external JWT private key to sensitive keys in #48710 - build: Bump symfony/* to 6.4 in #48763 - fix(files_sharing): Add proper user facing messages on success in #48730 - ci: Update list of installed PHP extensions (as some are not default … in #48824 - fix(files): Ensure renaming state is correctly reset in #48731 - fix(filesexternal): Remove unneeded 3rdparty library use in #48550 - fix(logger): Remove more parameters of other methods in #48830 - fix: add PasswordConfirmationRequired to create user storages endpoint in #48748 - fix(app-store): Also proxy images of locally installed apps in #48868 - fix(app-store): Ensure the groups property is always an array in #48866 - fix(files): Adjust NavigationQuota for Nextcloud 30 design in #48834 - fix(files_sharing): Add correct context to translation in #48836 - [TextProcessing] Fix: Also list types that are available in task processing in #48877 - fix(app-store): Correctly render Markdown in app description in #48872 - build: Print RTL limited characters in translation-checker in #48856 - fix(ShareAPI): Send mails for mail shares by default in #48881 - refactor(ShareApiController): Check for null and empty strings with e… in #48890 - fix(files): handle empty view with error in #48893 - fix(files): add title for files list table header button in #48901 - fix: Allow overriding shouldApplyQuota check from child classes in #48635 - fix(dav): Cleanup view-only check in #48931 - fix(files_sharing): Cleanup error messages in #48937 - Bump guzzlehttp/guzzle from 7.8.1 to 7.8.2 in #48896 - fix: encrypt and store password, decrypt and retrieve the same in #48939 - fix(unified-search): Close on second ctrl+f in #48861 - fix(config): Mark more configs as sensitive in #48950 - fix(files_sharing): federated shares avatar in #48888 - fix(app-store): Update update count in navigation in #48945 - ci(psalm): Add missing imagick extension in #48957 - fix: do not reduce count for subadmins if they are members of group in #48571 - fix: Fix "Unknown path" error when source user files folder has not been initialized in #48746 - fix: add PasswordConfirmationRequired to the external storages mentioned in review in #48976 - Fix copying or moving from shared groupfolders in #48984 - fix(files): Do not jump to top when fileId is set to currentFolder in #48979 - fix: Shipped apps should include the Nextcloud version in the cache buster in #48701 - Fix disabled user list for subadmins in #48970 - Bump libphonenumber-js from 1.11.9 to 1.11.11 in #48667 - fix: provision api's status codes in #48474 - fix: Return correct list of managers for a user in #48622 - fix: Fix empty sections appearing in search results in #48624 - chore: Replace Twitter & Diaspora links and text in #48620 - fix: improve moving object store items to trashbin in #48245 - fix: Fix "Reasons to use Nextcloud" design in #48652 - fix(locking): Accept mixed as value on setTTL in #48694 - fix: add PasswordConfirmationRequired to saveGlobalCredentials in #49005 - Fix email share transfer accross storages in #48618 - fix(users): improve recently active search in #49001 - fix(FileList): Show correct avatar for federated share owner in #48294 - fix(files_sharing): Password field must not be required if already set in #49013 - feat(settings): migrate AppAPI ExApps management to settings in #48988 - fix(files-external): set password as sensitive in #49028 - fix(ShareEntryLinkList): Append new links to the end of list in #49022 - chore: Update code owners in #49057 - fix(apps-store): Fix exception on generating preview url for installed app screenshot in #49044 - fix(owncloud): Fix ownCloud migration with oauth2 app in #49076 - Update @nextcloud/dialogs to v6.0.1 in #49093 - fix(caldav): broken activity rich objects in #49080 - docs: update overwrite.cli.url wording in #49067 OBS-URL: https://build.opensuse.org/package/show/server:php:applications/nextcloud?expand=0&rev=253
This commit is contained in:
commit
f8842e2dd5
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
|
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');
|
10063
nextcloud.changes
Normal file
10063
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.2
|
||||
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