How to install Nextcloud 12.03 on OpenSUSE Leap 42.3

To install Nextcloud 12.03 on OpenSUSE Leap 42.3

Nextcloud is an open source software for creating and using file hosting services. It has a lot of extra Calendar, Sync and Contacts features, apart from their file hosting features. It is a great free alternative to some popular services such as Google Drive, Dropbox, Box, etc. In this article, you will learn the method to install Nextcloud 12.03 on OpenSUSE Leap 42.3

Requirements
LAMP Stack
Apache
Mariadb
PHP7

Install php by
zypper install php php-mysql php-pecl-zip php-xml php-mbstring php-gd

Installing Nextcloud 12.03

Go to your Apache document root Location. This is the location where you need to download NextCloud 12.03

linuxhelp:~ # cd  /srv/www/htdocs

Download the latest stable version using wget command as follows.

linuxhelp:/srv/www/htdocs # wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip
--2017-11-09 12:02:58--  https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip
Resolving download.nextcloud.com (download.nextcloud.com)... 88.198.160.133
Connecting to download.nextcloud.com (download.nextcloud.com)|88.198.160.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 56197200 (54M) [application/zip]
Saving to: ‘ nextcloud-12.0.3.zip’ 

100%[==============================================================================================================================================> ] 56,197,200   390KB/s   in 99s    

2017-11-09 12:04:37 (557 KB/s) - ‘ nextcloud-12.0.3.zip’  saved [56197200/56197200]

Once it is downloaded, extract the package by running the following command.

linuxhelp:/srv/www/htdocs # unzip nextcloud-12.0.3.zip -d nextcloud12 
Archive:  nextcloud-12.0.3.zip
   creating: nextcloud12/nextcloud/
   creating: nextcloud12/nextcloud/ocs/
  inflating: nextcloud12/nextcloud/ocs/routes.php  
  inflating: nextcloud12/nextcloud/ocs/v2.php  
  inflating: nextcloud12/nextcloud/ocs/v1.php  
  inflating: nextcloud12/nextcloud/ocs/providers.php  
  inflating: nextcloud12/nextcloud/console.php  
   creating: nextcloud12/nextcloud/ocs-provider/
  inflating: nextcloud12/nextcloud/ocs-provider/index.php  
  inflating: nextcloud12/nextcloud/version.php  
   creating: nextcloud12/nextcloud/core/
   creating: nextcloud12/nextcloud/core/js/
.
.
.
.
creating: nextcloud12/nextcloud/resources/config/
  inflating: nextcloud12/nextcloud/resources/config/mimetypemapping.dist.json  
  inflating: nextcloud12/nextcloud/resources/config/ca-bundle.crt  
  inflating: nextcloud12/nextcloud/resources/config/mimetypealiases.dist.json  
   creating: nextcloud12/nextcloud/resources/codesigning/
  inflating: nextcloud12/nextcloud/resources/codesigning/root.crt  
  inflating: nextcloud12/nextcloud/resources/codesigning/root.crl  
  inflating: nextcloud12/nextcloud/resources/codesigning/core.crt  

After that, list the contents of your directory.

linuxhelp:/srv/www/htdocs # ls -l
total 54904
drwxrwxr-x 2 wwwrun www 4096 Oct 9 23:15 gif
-rwxrwxr-x 1 wwwrun www 2356 Mar 18 2017 info2html.css
-rw-r--r-- 1 root root 56197200 Sep 20 16:34 nextcloud-12.0.3.zip
drwxr-xr-x 3 root root 4096 Nov 9 12:06 nextcloud12

Provide appropriate owner permission and file execution permission in that location.

linuxhelp:/srv/www/htdocs # chown -R wwwrun:www /srv/www/htdocs/
linuxhelp:/srv/www/htdocs # chmod -R 775 /srv/www/htdocs/

Next, you need to do a crucial step. You need to configure your Apache VirutalHost. Open the .conf file as follows.

linuxhelp:/srv/www/htdocs # vim /etc/apache2/conf.d/nextcloud12.conf

And make the following modifications in it.

< VirtualHost *:80> 
DocumentRoot " /srv/www/htdocs" 
ServerName www.linuxhelp1.com
< Directory " /srv/www/htdocs/" > 
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
Require all granted
< /Directory> 
< /VirtualHost> 


Once it is done, you shall restart your Apache Service as follows.

linuxhelp:/srv/www/htdocs # systemctl restart apache

Next, you need to configure your firewall. Run the following command for the same purpose.

linuxhelp:/srv/www/htdocs # vim /etc/sysconfig/SuSEfirewall2
FW_CONFIGURATIONS_EXT=" apache" 

Switch to your browser and type http://yourdomain. In the page that appears, choose nextcloud12.

You will be taken to the NextCloud page. Enter your credentials.

Click on MySQL/MariaDB to configure your database.

Once you are inside Nextcloud, you can view its dashboard.

You can view the images from the Gallery.

With this, the installation of NextCloud comes to an end.

FAQ
Q
How to access from outside your network in nextcloud?
A
Navigate to nc-forward-ports in the TUI or the WebUI.

Set the ports your Nextcloud runs on.
Q
How do I set up Let's Encrypt with blocked ports?
A
If you only have port 443 available, you can use the following workaround: copy that code and after that try again from the web interface or nextcloudpi-config
Q
How do I connect with SSH to NextCloudPi?
A
There are three ways.



From ncp-web, activate SSH from the SSH option.

(Rpi only) You can place an empty file named ssh in the boot partition of the sd card (so /boot/ssh)
Q
What are pre-set users/passwords on NextCloudPi?
A
There are no pre-set passwords, the following are randomly generated upon first access during activation.



For terminal pi/raspberry (root/1234 on Armbian)

For SSH: generated on demand on ncp-web SSH section.
Q
How do I login as another user in mysql?
A
Replace the username "root" with the username you have