openSUSE

How To Install Nextcloud on openSUSE

Install Nextcloud on openSUSE

In today’s digital age, having control over your data is more important than ever. Nextcloud, an open-source cloud storage and collaboration platform, offers a powerful solution for those seeking to maintain their privacy and security. This guide will walk you through the process of installing Nextcloud on openSUSE, a robust and user-friendly Linux distribution.

Nextcloud provides a versatile, self-hosted alternative to commercial cloud services, allowing you to store, share, and collaborate on files, calendars, and more. By choosing openSUSE as your operating system, you’re leveraging a stable, well-supported platform that’s ideal for hosting Nextcloud. Let’s dive into the step-by-step process of setting up your own Nextcloud instance on openSUSE.

Prerequisites

Before we begin the installation process, ensure that your system meets the following requirements:

  • A server or computer running openSUSE Leap (latest stable version recommended)
  • Root access or sudo privileges
  • At least 512 MB of RAM (1 GB or more recommended for better performance)
  • A minimum of 10 GB free disk space (more if you plan to store a large amount of data)
  • A stable internet connection

You’ll also need to have the following software packages ready to install:

  • Apache web server
  • PHP 7.4 or higher
  • MariaDB or MySQL database server
  • Various PHP modules required by Nextcloud

Ensure that you have the necessary permissions to install software and modify system configurations. If you’re not the root user, make sure you have sudo access.

Preparing the openSUSE System

Before installing Nextcloud, it’s crucial to prepare your openSUSE system. Follow these steps to ensure your system is up-to-date and properly configured:

1. Update the System

Open a terminal and run the following commands to update your system:

sudo zypper refresh
sudo zypper update

This will refresh the package repositories and install any available updates.

2. Install Required Dependencies

Install the necessary dependencies by running:

sudo zypper install apache2 mariadb mariadb-tools php7 php7-mysql apache2-mod_php7 php7-gd php7-mbstring php7-intl php7-curl php7-zip php7-opcache

This command installs Apache, MariaDB, PHP, and various PHP modules required by Nextcloud.

3. Configure Firewall Settings

If you have the firewall enabled, you’ll need to open ports 80 (HTTP) and 443 (HTTPS) to allow web traffic. Use these commands:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

These commands add exceptions for HTTP and HTTPS traffic and reload the firewall configuration.

Installing and Configuring the Web Server

Apache is the recommended web server for Nextcloud. Let’s set it up:

1. Start and Enable Apache

Run the following commands to start Apache and enable it to run at boot:

sudo systemctl start apache2
sudo systemctl enable apache2

2. Enable Necessary Apache Modules

Enable the required Apache modules with these commands:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

3. Configure Virtual Hosts

Create a new virtual host configuration file for Nextcloud:

sudo nano /etc/apache2/vhosts.d/nextcloud.conf

Add the following content to the file:

<VirtualHost *:80>
    ServerName your_domain_or_IP
    DocumentRoot /srv/www/htdocs/nextcloud
    <Directory /srv/www/htdocs/nextcloud>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
    </Directory>
</VirtualHost>

Replace “your_domain_or_IP” with your server’s domain name or IP address.

Save the file and exit the editor. Then, restart Apache to apply the changes:

sudo systemctl restart apache2

Setting Up the Database

Nextcloud requires a database to store its data. We’ll use MariaDB for this purpose:

1. Start and Enable MariaDB

sudo systemctl start mariadb
sudo systemctl enable mariadb

2. Secure the Database Installation

Run the MySQL secure installation script:

sudo mysql_secure_installation

Follow the prompts to set a root password, remove anonymous users, disallow root login remotely, and remove the test database.

3. Create a Database for Nextcloud

Log in to MariaDB as root:

sudo mysql -u root -p

Create a new database and user for Nextcloud:

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Replace ‘your_password’ with a strong, unique password.

PHP Installation and Configuration

PHP is a crucial component for running Nextcloud. Let’s ensure it’s properly configured:

1. Verify PHP Installation

Check if PHP is installed correctly:

php -v

This should display the PHP version information.

2. Configure PHP for Optimal Performance

Edit the PHP configuration file:

sudo nano /etc/php7/apache2/php.ini

Make the following changes:

memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300
date.timezone = Your/Timezone

Replace “Your/Timezone” with your actual timezone (e.g., “America/New_York”).

3. Test PHP Installation

Create a test PHP file:

echo '<?php phpinfo(); ?>' | sudo tee /srv/www/htdocs/info.php

Access this file in your web browser by navigating to http://your_server_ip/info.php. If you see the PHP information page, PHP is working correctly.

Downloading and Installing Nextcloud

Now that we have prepared our system, let’s install Nextcloud:

1. Download Nextcloud

Navigate to the /tmp directory and download the latest Nextcloud package:

cd /tmp
wget https://download.nextcloud.com/server/releases/latest.tar.bz2

2. Extract and Move Files

Extract the downloaded archive and move it to the web directory:

sudo tar -xjf latest.tar.bz2
sudo mv nextcloud /srv/www/htdocs/

3. Set Proper Permissions

Set the correct ownership and permissions:

sudo chown -R wwwrun:www /srv/www/htdocs/nextcloud
sudo chmod -R 755 /srv/www/htdocs/nextcloud

Nextcloud Web Configuration

With Nextcloud files in place, we can now complete the installation through the web interface:

1. Access the Web Installer

Open your web browser and navigate to http://your_server_ip/nextcloud. You should see the Nextcloud setup page.

Install Nextcloud on openSUSE

2. Create Admin Account

Enter your desired username and password for the admin account.

3. Configure Database Connection

Select “MySQL/MariaDB” as the database, and enter the following details:

  • Database user: nextclouduser
  • Database password: the password you set earlier
  • Database name: nextcloud
  • Host: localhost

4. Finalize Installation

Click “Finish setup” to complete the installation process. This may take a few minutes.

Post-Installation Steps

After successfully installing Nextcloud, there are a few additional steps to enhance security and performance:

1. Secure Nextcloud Installation

Edit the Nextcloud configuration file:

sudo nano /srv/www/htdocs/nextcloud/config/config.php

Add the following lines to improve security:

'trusted_domains' =>
array (
  0 => 'your_server_ip',
  1 => 'your_domain_name',
),
'overwrite.cli.url' => 'http://your_domain_name',
'default_phone_region' => 'your_country_code',

Replace the placeholders with your actual server IP, domain name, and country code.

2. Enable HTTPS

For production use, it’s crucial to secure your Nextcloud instance with HTTPS. You can use Let’s Encrypt to obtain a free SSL certificate. Install the certbot package:

sudo zypper install certbot

Then, obtain and install a certificate:

sudo certbot --apache -d your_domain_name

Follow the prompts to complete the process.

3. Configure Cron Jobs

For better performance, set up a cron job for Nextcloud background tasks:

sudo crontab -u wwwrun -e

Add the following line:

*/5 * * * * php -f /srv/www/htdocs/nextcloud/cron.php

This will run Nextcloud’s background jobs every 5 minutes.

Troubleshooting Common Issues

While installing Nextcloud on openSUSE is generally straightforward, you might encounter some issues. Here are solutions to common problems:

1. Permission Problems

If you encounter permission errors, double-check the ownership and permissions of the Nextcloud directory:

sudo chown -R wwwrun:www /srv/www/htdocs/nextcloud
sudo chmod -R 755 /srv/www/htdocs/nextcloud

2. Database Connection Errors

If you’re having trouble connecting to the database, verify your database settings in the Nextcloud configuration file:

sudo nano /srv/www/htdocs/nextcloud/config/config.php

Ensure the database details are correct.

3. PHP Configuration Issues

If Nextcloud complains about PHP settings, review your php.ini file:

sudo nano /etc/php7/apache2/php.ini

Make sure the settings match the recommendations in the PHP Installation and Configuration section above.

Congratulations! You have successfully installed Nextcloud. Thanks for using this tutorial for installing the Nextcloud open-source file hosting on your openSUSE system. For additional or useful information, we recommend you check the official Nextcloud website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button