Linux | NextCloud (Media Temple VPS or Dedicated Server)
Overview
This article explains how to install Nextcloud on your Media Temple VPS or dedicated server with Ubuntu 14.04. Nextcloud is an open source cloud solution that wants to be the secure home for all of your media. Often touted as the successor to the extremely popular ownCloud, Nextcloud includes many great features that anyone may find useful.
• File storage & sharing
• Mobile & dektop clients
• Calendar and contacts management
• Secure audio and video calls
• Collabora Online Office (LibreOffice)
Requirements:
• A VPS with Ubuntu 14.04 installed
• Root SSH Access
• Familiarity with basic shell commands
Instructions:
These installation instructions assume that you have a fresh Ubuntu 14.04 install on your Media Temple VPS or dedicated server. To change your Media Temple VPS operating system through the Account Center, see these instructions. If you already have a standard LAMP stack or a web server and database software installed, you can skip to step 3. For more in-depth instructions for installing and configuring a LAMP stack, check out this community article. Begin by connecting to your server via SSH as either root or a user with sudo access. Connect via SSH - Community article with instructions.
Step 1: First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.
apt-get update
apt-get upgrade
Step 2: Install Apache and the required PHP modules
apt-get install apache2 libapache2-mod-php5
apt-get install php5-gd php5-json php5-mysql php5-curl
apt-get install php5-intl php5-mcrypt php5-imagick
Step 3: Install MariaDB
Nextcloud requires a database to work properly. These instructions are for MariaDB, which is a powerful database utility. There's no reason to change to MariaDB if you already have a different database utility installed.
apt-get install mariadb-server
Configuring MariaDB for Nextcloud.
By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB.
mysql_secure_installation
Configure it like this:
- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y
Next we will need to log in to the MariaDB console and create a database for the Nextcloud. Run the following command:
mysql -u root -p
This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for Nextcloud installation:
===========================================================================================================
MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
===========================================================================================================
Disable MariaDB binary logging by commenting the following lines:
vim /etc/mysql/my.cnf
Add the following three lines in [mysqld] section:
log-bin = /var/log/mysql/mariadb-bin
log-bin-index = /var/log/mysql/mariadb-bin.index
binlog_format = mixed
Step 4: Download and unzip Nextcloud's files
Use 'wget' to download Nextcloud's installation files directly to your server. You may also download them to your computer and upload via S/FTP.
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.zip
Unzip the installation files.
unzip nextcloud-9.0.53.zip
Copy Nextcloud's files into your doc root
cp -r nextcloud /var/www/html/
Step 5: Create a Nextcloud configuration file
Use your preferred shell editor to create and modify a Nextcloud configuration file.
vim /etc/apache2/sites-available/nextcloud.conf
Add the following lines:
=========================================================================================================== <VirtualHost *:80>
ServerAdmin admin@yourdomain.com
DocumentRoot "/var/www/html/nextcloud/"
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory "/var/www/html/nextcloud/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>
===========================================================================================================
Step 6: Create a symlink for nextcloud.conf
ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
Step 7: Make sure that the Nextcloud installation files are web accessible
chown -R www-data:www-data /var/www/html/nextcloud/
Step 8: Remember to restart all services related to Apache server.
service apache2 restart
Step 9: Use your browser to complete the installation
Navigate to http://[your-domain.com/] or http://192.168.0.5/owncloud (192.168.0.5 this my server IP address) and follow the easy instructions.
1. Create a new admin user. It is recommended that you use an original password for the admin user.
2. Leave the Data folder as the default directory. (/var/www/html/nextcloud/data)
3. Your database user should be root and use the password you created during MariaDB's installation.
4. Use the default localhost setting.
The next page is the login page. The first time you log into OwnCloud, use the administrator user name and password.
Congratulation’s! You have successfully installed NextCloud.
How to extended upload & download file speed
After installing the OwnCloud you might be facing file upload &
download related problem. Now I am describing how fix the problem.
Let's stat and you should follow below steps:
Step 1:To create a file with this command, first change
into the directory that contains your website files. For example, the
default directory for webpage files for Apache on Ubuntu 14.04 is
/var/www/html/:
cd /var/www/html
Then, create the info.php file:
vim /var/www/html/info.php
Paste the following lines into this file and save it: info.php
<?php
phpinfo();
?>
cd /var/www/html
Then, create the info.php file:
vim /var/www/html/info.php
Paste the following lines into this file and save it: info.php
<?php
phpinfo();
?>
Step 02: Modifying the PHP Configuration.
The php.ini file can be edited to change the settings and configuration of how PHP functions. This section gives a few common examples.
Sometimes a PHP application might need to allow for larger upload files such as uploading hemes and plugins on a WordPress site. To allow larger uploads for your PHP application, edit the php.ini file with the following command (Change the path and file to match your Loaded Configuration File. This example shows the path for Apache on Ubuntu 14.04.):
vim /etc/php5/apache2/php.ini
The php.ini file can be edited to change the settings and configuration of how PHP functions. This section gives a few common examples.
Sometimes a PHP application might need to allow for larger upload files such as uploading hemes and plugins on a WordPress site. To allow larger uploads for your PHP application, edit the php.ini file with the following command (Change the path and file to match your Loaded Configuration File. This example shows the path for Apache on Ubuntu 14.04.):
vim /etc/php5/apache2/php.ini
The default lines that control the file size upload are:
post_max_size = 8M
upload_max_filesize = 2M
Change these default values to your desired maximum file upload size.
For example, if you needed to upload a 16000M file you would changes these
lines to:
post_max_size = 16000M
upload_max_filesize = 16000M
output_buffering = 0
max_input_time 7200
max_input_time 7200
max_execution_time, which defines how many seconds a PHP process can run for:
max_execution_time 7200
Other common resource settings include the amount of memory PHP can use as set by memory_limit:
memory_limit = 1024M
When you have the php.ini file configured for your needs, save the changes, and exit the text editor.
Restart the web server to enable the changes. For Apache on Ubuntu 14.04, this command will restart the web server:
service apache2 restart
Refreshing the info.php page should now show your updated settings.
Remember to remove the info.php when you are done changing your PHP
configuration.
END