welcome: please sign in

Diff for "MemberManual/WebApplications/Nextcloud"

Differences between revisions 12 and 14 (spanning 2 versions)
Revision 12 as of 2019-01-03 03:46:55
Size: 3670
Comment:
Revision 14 as of 2019-01-03 03:56:57
Size: 3912
Comment: Note on dropping MySQL tables, instructions on converting some column types
Deletions are marked like this. Additions are marked like this.
Line 61: Line 61:
Run this command to convert a couple of column types that are not handled by the installer:

{{{
cd $NEXTDIR
php7.2 occ db:convert-filecache-bigint
}}}
Line 114: Line 121:
}}}} }}}
Line 138: Line 145:


'''TODO: This didn't work for me, fix the instructions on dropping tables.'''

Guide for installation of Nextcloud.

1. Create database

Postgresql should work, but Nextcloud recommends MySQL. See MemberManual/Databases#Create_a_Database. We'll assume you name the database ${USER}_cloud.

2. Software installation

Get the Nextcloud tarball from Nextcloud.

Pick a directory where you'll host Nextcloud, for example $HOME/www/next.your.domain. We'll call it $NEXTDIR.

Also pick a directory for data, for example $HOME/var/nextcloud. We'll call it $NEXTDATA.

Unpack the source.

unzip nextcloud-15.0.0.zip

Move the resulting nextcloud directory to where you decided to have the document root.

mv nextcloud $NEXTDIR

Create an empty data directory in the document root. This is necessary for the duration of the installation, we'll delete it later.

cd $NEXTDIR
mkdir data

Adjust directory permissions:

fsr setacl . system:anyuser none
fsr sa . $USER.daemon rlk
fsr sa config $USER.daemon rlidwk
fsr sa data $USER.daemon rlidwk
fsr sa apps $USER.daemon rlidwk

Delete some lines in the file core/Migrations/Version14000Date20180129121024.php. This doesn't play well with the HCoop default of not granting DROP on tables. The easiest fix seems to be to manually drop these later.

@@ -49,11 +49,6 @@
                /** @var ISchemaWrapper $schema */
                $schema = $schemaClosure();

-               $schema->dropTable('admin_sections');
-               $schema->dropTable('admin_settings');
-               $schema->dropTable('personal_sections');
-               $schema->dropTable('personal_settings');
-
                return $schema;
        }
 }

Run this command to convert a couple of column types that are not handled by the installer:

cd $NEXTDIR
php7.2 occ db:convert-filecache-bigint

Create the data directory and give it correct permissions:

mkdir $NEXTDATA
cd $NEXTDATA
fsr setacl . system:anyuser none
fsr sa . $USER.daemon rlidwk

3. Domtool

web "cloud" where
    PhpVersion = php72;
    DocumentRoot = home "$NEXTDIR";
with
    rewriteRule "/.well-known/carddav" "/remote.php/dav" [redirectWith temp];
    rewriteRule "/.well-known/caldav" "/remote.php/dav" [redirectWith temp];
end;

TODO: Translate additional settings from .htaccess and .user.ini

4. Nextcloud installation wizard

Open up the web site, which should now show you the installation wizard. Fill it out like so:

Data folder: $NEXTDATA
Database: MySQL/MariaDB
Username: whatever you like
Password: likewise
DB hostname: mysql

5. Additional configuration

Add this line to $NEXDIR/config/config.php, to enable the APCu cache:

'memcache.local' => '\OC\Memcache\APCu',

6. Login

You should now be able to log in and look around Nextcloud. You may want to have a look at Settings → Overview for any warnings. You will see a bunch of warnings like this:

Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:

    /afs/hcoop.net/user/…

These can be ignored.

7. Cleanup

Since we use a new data directory we can delete the one in the document root:

cd $NEXTDIR
rm -r data

We should drop those deprecated tables from before (this wasn't actually working for me, will look into how to drop tables in MySQL later).

mysql-fixperms
mysql -h mysql -p ${USER}_cloud

DROP TABLE admin_sections;
DROP TABLE admin_settings);
DROP TABLE personal_sections;
DROP TABLE 'personal_settings;

TODO: This didn't work for me, fix the instructions on dropping tables.

MemberManual/WebApplications/Nextcloud (last edited 2019-01-27 11:26:28 by BjörnLindström)