Line 23: |
Line 23: |
| <!-- keep this first element as is, you can add some if needed --> | | <!-- keep this first element as is, you can add some if needed --> |
| {{#smeversion: {{#var:smecontribname}} }} | | {{#smeversion: {{#var:smecontribname}} }} |
− | {{#smeversion: {{#var:contribname}} }} | + | {{#smeversion: nextcloud-src }} |
| | | |
| === Description === | | === Description === |
Line 71: |
Line 71: |
| </tab> | | </tab> |
| </tabs> | | </tabs> |
| + | |
| + | you might want to set your default phone region (use your country 2 letter code - low case) |
| + | occ config:system:set default_phone_region --value="us" |
| + | |
| + | you might want to have nextcloud accessible to the Internet |
| + | config setprop nextcloud access public |
| + | signal-event nextcloud-update |
| | | |
| === Use a dedicated domain to connect to Nextcloud === | | === Use a dedicated domain to connect to Nextcloud === |
Line 79: |
Line 86: |
| signal-event domain-create $NEXTCLOUDDOMAIN | | signal-event domain-create $NEXTCLOUDDOMAIN |
| | | |
− | # this one to let nextcloud DAV be redirect correctly | + | # this one to let nextcloud DAV be redirect correctly and to have collabora recognize the domain |
− | config setprop nextcloud CloudDomain $NEXTCLOUDDOMAIN
| |
− | # this line is to have collabora recognize the domain
| |
| config setprop nextcloud VirtualHost $NEXTCLOUDDOMAIN | | config setprop nextcloud VirtualHost $NEXTCLOUDDOMAIN |
| signal-event nextcloud-update | | signal-event nextcloud-update |
Line 107: |
Line 112: |
| |string | | |string |
| |main admin user for your installation (*) | | |main admin user for your installation (*) |
| + | |- |
| + | |cliurl |
| + | |enabled |
| + | |enabled,disabled |
| + | |force overwrite.cli.url to https://domain/nextcloud or https://domain if virtualhost is set; disable it if you have specific needs and then use occ command to set your value |
| |- | | |- |
| |DbName | | |DbName |
Line 127: |
Line 137: |
| |strings coma separated | | |strings coma separated |
| |add domain or ip that are in need to be added to default access to nextcloud | | |add domain or ip that are in need to be added to default access to nextcloud |
− | |-
| |
− | |CloudDomain
| |
− | |empty
| |
− | |domain name
| |
− | | before smeserver-nextcloud 1.2.0-16 duplicate of VirtualHost, will be merged to VirtualHost in a future release, both need to be set for the moment
| |
| |- | | |- |
| |VirtualHost | | |VirtualHost |
Line 156: |
Line 161: |
| |528M | | |528M |
| |number | | |number |
− | |if a number will be converted to Megabytes, otherwise use the usual suffix : 2T for 2 terrabytes etc... | + | |webinterface : if a number will be converted to Megabytes, otherwise use the usual suffix : 2T for 2 terrabytes etc... |
| + | |- |
| + | |memory_limit |
| + | |1024M |
| + | |number |
| + | |for cli like occ command or cron: if a number will be converted to Megabytes, otherwise use the usual suffix : 2T for 2 terrabytes etc... |
| |- | | |- |
| |Shares | | |Shares |
Line 172: |
Line 182: |
| |strings coma separated | | |strings coma separated |
| |will exclude from nexcloud access any ibay via nextcloud. Default excludes Primary ibay. If you want to include Primary set it with a random string. | | |will exclude from nexcloud access any ibay via nextcloud. Default excludes Primary ibay. If you want to include Primary set it with a random string. |
| + | |- |
| + | |opcache.memory_consumption |
| + | |32 |
| + | |number |
| + | |update this value if Nextcloud says that it should be |
| + | |- |
| + | |opcache.interned_strings_buffer |
| + | |128 |
| + | |number |
| + | |update this value if Nextcloud says that it should be |
| + | |- |
| + | |PHPBaseDir |
| + | | |
| + | |colon separated string |
| + | |php base dir you want to add to the default example /home/e-smith/files/ibays/musique/files:/usr/share/GeoIP/GeoLite2-Country.mmdb:/proc/cpuinfo |
| |- | | |- |
| |UseSMB | | |UseSMB |
Line 184: |
Line 209: |
| config setprop nextcloud ExcludeIbay ibay1,ibay2 | | config setprop nextcloud ExcludeIbay ibay1,ibay2 |
| signal-event nextcloud-update | | signal-event nextcloud-update |
| + | |
| + | === LDAP/AD Integration Settings === |
| + | Do not change the LDAP/AD integration settings for "1. Server: Localhost" or you will break the Nextcloud install. If you want to add a second LDAP/AD server, click the "+" symbol to add another configuration and then add the appropriate LDAP/AD settings. |
| | | |
| === Command line === | | === Command line === |
Line 194: |
Line 222: |
| === Upgrade === | | === Upgrade === |
| yum update {{#var:smecontribname}} {{#var:contribname}} --enablerepo=smecontribs | | yum update {{#var:smecontribname}} {{#var:contribname}} --enablerepo=smecontribs |
| + | |
| + | === CLI upgrade of Nextcloud software === |
| + | You should rather prefer the online updater, but in case:<syntaxhighlight lang="bash"> |
| + | occ maintenance:mode --on |
| + | sudo -u www /usr/bin/php74 --define memory_limit=1024M -d apc.enable_cli=1 /usr/share/nextcloud/updater/updater.phar --no-interaction |
| + | occ upgrade |
| + | occ maintenance:mode --off |
| + | </syntaxhighlight>In case of a huge db, you can choose the online updater and then only issue the db update doing<syntaxhighlight lang="bash"> |
| + | occ upgrade |
| + | occ maintenance:mode --off |
| + | </syntaxhighlight> |
| + | |
| + | starting 25 to upgrace to 26, you should do |
| + | <syntaxhighlight lang="bash"> |
| + | occ maintenance:mode --on |
| + | sudo -u www /usr/bin/php81 --define memory_limit=1024M -d apc.enable_cli=1 /usr/share/nextcloud/updater/updater.phar --no-interaction |
| + | occ upgrade |
| + | occ maintenance:mode --off |
| + | </syntaxhighlight>In case of a huge db, you can choose the online updater and then only issue the db update doing<syntaxhighlight lang="bash"> |
| + | occ upgrade |
| + | occ maintenance:mode --off |
| + | </syntaxhighlight> |
| + | |
| + | === Restore info loglevel === |
| + | <syntaxhighlight lang="bash"> |
| + | occ config:system:set loglevel --value=3 |
| + | </syntaxhighlight> |
| | | |
| === Uninstall === | | === Uninstall === |
− | yum remove {{#var:smecontribname}} {{#var:contribname}} | + | |
| + | {{Warning box| if you plan to reinstall and had the nextcloud rpm installed do not yum remove it or rpm -e it as it would put you in a situation where you will not be able to reinstall and restore your old data. nextcloud-src rpm if present do not create such situation and can be removed safely.}} |
| + | |
| + | Uninstalling the rpms |
| + | yum remove {{#var:smecontribname}} {{#var:contribname}}-src |
| + | rpm -e --justdb nextcloud |
| + | |
| + | those folders will then remain |
| + | * /usr/share/nextcloud : software and config |
| + | * /home/e-smith/files/nextcloud : user data |
| + | |
| + | also you will have mariadb or mariadb105 with nextcloud db and user. |
| + | |
| + | And finally, db configuration with entry for nextcloud. |
| + | |
| + | If all of those remains as is, a simple reinstall of the contrib will bring back nextcloud running. If you uninstalled it because your install was non functional or want a complete removal, there are extra steps. |
| + | |
| + | In case of deleting either the db or part of the software folder, whenever you will try to reinstall the contrib, process will fail as db and files are not in sync. |
| + | |
| + | In case you need to reinstall from scratch, '''first, backup what you might want to restore latter''': |
| + | cd /home/e-smith/files/nextcloud/data |
| + | mysqldump nextcloud > nextcloud55.sql |
| + | mysqldump105 nextcloud > nextcloud105.sql |
| + | config print nextcloud /root/nextcloud.config |
| + | tar -czf /root/nextcloud.tar.gz /home/e-smith/files/nextcloud/data /usr/share/nextcloud |
| + | then erase all what is remaining: |
| + | mysql -e "DROP DATABASE `config getprop nextcloud DbName`;DROP USER IF EXISTS `config getprop nextcloud DbUser`;" |
| + | mysql105 -e "DROP DATABASE `config getprop nextcloud DbName`;DROP USER IF EXISTS `config getprop nextcloud DbUser`;" |
| + | rm -rf /usr/share/nextcloud |
| + | rm -rf /home/e-smith/files/nextcloud |
| + | #this one is optional, and should not cause issue if still there |
| + | config delete nextcloud |
| + | |
| + | and you should be able to start a new install from scratch |
| + | |
| + | === Release schedule === |
| + | see https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule |
| + | |
| + | as per 2024/01: |
| + | {| class="wikitable" |
| + | !Version |
| + | !Name |
| + | !Release date |
| + | !End of life |
| + | |- |
| + | |'''29''' |
| + | | |
| + | |2024-04-24 |
| + | | |
| + | |- |
| + | |'''28''' |
| + | |Hub 7 |
| + | |2023-12-12 |
| + | |2024-12 |
| + | |- |
| + | |'''27''' |
| + | |Hub 6 |
| + | |2023-06-13 |
| + | |2024-06 |
| + | |- |
| + | |'''26''' |
| + | |Hub 4 |
| + | |2023-03-21 |
| + | |2024-03 |
| + | |- |
| + | |'''<s>25</s>''' |
| + | |<s>Hub 3</s> |
| + | |<s>2022-10-19</s> |
| + | |<s>2023-10</s> |
| + | |- |
| + | |'''<s>24</s>''' |
| + | |<s>Hub 3</s> |
| + | |<s>2022-05-03</s> |
| + | |<s>2023-05</s> |
| + | |- |
| + | |'''<s>23</s>''' |
| + | |<s>Hub 2</s> |
| + | |<s>2021-11-30</s> |
| + | |<s>2022-12</s> |
| + | |- |
| + | |'''<s>22</s>''' |
| + | |<s>Hub</s> |
| + | |<s>2021-07-06</s> |
| + | |<s>2022-07</s> |
| + | |- |
| + | |'''<s>21</s>''' |
| + | |<s>Hub</s> |
| + | |<s>2021-02-22</s> |
| + | |<s>2022-02</s> |
| + | |- |
| + | |'''<s>20</s>''' |
| + | |<s>Hub</s> |
| + | |<s>2020-10-03</s> |
| + | |<s>2021-11</s> |
| + | |- |
| + | |'''<s>19</s>''' |
| + | |<s>Hub</s> |
| + | |<s>2020-06-03</s> |
| + | |<s>2021-06</s> |
| + | |- |
| + | |'''<s>18</s>''' |
| + | |<s>Hub</s> |
| + | |<s>2020-01-16</s> |
| + | |<s>2021-01</s> |
| + | |} |
| | | |
| === Change Database === | | === Change Database === |
Line 217: |
Line 376: |
| occ config:system:set host --value localhost --type string | | occ config:system:set host --value localhost --type string |
| occ maintenance --off | | occ maintenance --off |
| + | |
| + | === File Scan === |
| + | <syntaxhighlight lang="bash"> |
| + | # scan all, could take hours if you have a lot of files |
| + | occ files:scan -v --all |
| + | # scan all that is inside a username path (including external storages mounted there) |
| + | occ files:scan -v myusername |
| + | #scan only a subfolder of a user (path needs a heading / and is relative to /home/e-smith/files/nextcloud/data) |
| + | occ files:scan -v --path="/myusername/files/myfolder/mysubfolder" myusername |
| + | #For external storage one has to use a user and the mount point in the user space, e.g. admin |
| + | occ files:scan -v --path="/admin/files/name_of_external_storage" |
| + | </syntaxhighlight>If you use groupgfolders app, then you might consider, to list the golders id<syntaxhighlight lang="bash"> |
| + | occ groupfolders:list |
| + | </syntaxhighlight>then for folder group with id 1<syntaxhighlight lang="bash"> |
| + | occ groupfolders:scan 1 |
| + | </syntaxhighlight> |
| | | |
| === Known issues === | | === Known issues === |
| + | |
| + | ==== Web or GUI upgrade from NC25 to NC26 ==== |
| + | |
| + | Due to the change of php version needed from php74 to php80 and higher, you need to issue the following command while using NC25 to be able to then upgrade to NC26. NC25 is the first to be able to handle php80, and NC26 requires php80 or higher. |
| + | <syntaxhighlight lang="bash"> |
| + | signal-event nextcloud-update |
| + | </syntaxhighlight> |
| + | |
| + | ==== Issue importing files in db "Entry path/to/file will not be accessible due to incompatible encoding" ==== |
| + | <syntaxhighlight lang="bash"> |
| + | yum install convmv --enablerepo=epel |
| + | #first test to see the changes |
| + | convmv -f utf-8 -t utf-8 --nfc -r /home/e-smith/files/nextcloud/data/username |
| + | #check, then with --notest |
| + | convmv -f utf-8 -t utf-8 --nfc -r --notest /home/e-smith/files/nextcloud/data/username |
| + | #then rescan |
| + | occ files:scan -p /username/files/ |
| + | </syntaxhighlight>this might also occurs on ibays / home folders and their files not all visibles from nextcloud, simply adapt the path for convmv /home/e-smith/files/ibays/ibayname/files/ or /home/e-smith/files/users/userame/home/ |
| + | |
| + | ==== Remove legacy nextcloud rpm without deleting /usr/share/nextcloud content ==== |
| + | for installs done before smeserver-nextcloud 1.2.0-16, the rppm nextcloud was required and was conflicting with web update. Since 1.2.0-16 it is not required anymroe and we use a nextcloud-src rpm which updates itself in /usr/share/nextcloud-src and is only used if you install the first time or restart from scratch your install. |
| + | To remove the nextcloud rpm which is not needed and save your files: |
| + | rpm -e --justdb nextcloud |
| + | |
| + | source https://unix.stackexchange.com/questions/208722/how-to-remove-an-rpm-package-while-keeping-certain-files |
| | | |
| ==== User cannot see shares/files ==== | | ==== User cannot see shares/files ==== |
Line 239: |
Line 439: |
| | | |
| This appeared to fix the issue and the user could now see the files. | | This appeared to fix the issue and the user could now see the files. |
| + | |
| + | ====Upgrading beyond 20.x==== |
| + | |
| + | To set the default phone region: |
| + | |
| + | OCC config:system:set default_phone_region --type string --value="GB" |
| + | |
| + | To fix missing indices - this may take a while so be patient: |
| + | |
| + | OCC db:add-missing-indices |
| | | |
| ==== NC 20-21 : open_basedir restriction in effect. File(/templates/) is not within the allowed path ==== | | ==== NC 20-21 : open_basedir restriction in effect. File(/templates/) is not within the allowed path ==== |
Line 273: |
Line 483: |
| # https://help.nextcloud.com/t/changing-mariadb-socket-when-hosting-multiple-db-ubuntu/68294 | | # https://help.nextcloud.com/t/changing-mariadb-socket-when-hosting-multiple-db-ubuntu/68294 |
| # https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/ | | # https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/ |
| + | # https://www.ullright.org/ullWiki/show/nextcloud-cheatsheet |