sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get autoclean
sudo apt-get --purge autoremove
Step 2 - Hiawatha Installation :
sudo apt-get install libc6-dev libssl-dev dpkg-dev debhelper fakeroot libxml2-dev libxslt1-dev
wget https://cmake.org/files/v3.5/cmake-3.8.1.tar.gz
tar -xvzf cmake-3.8.1.tar.gz
cd cmake-3.8.1
./configure
make
sudo make install
wget https://github.com/hsleisink/hiawatha/archive/v10.6.tar.gz
tar -xzvf v10.6.tar.gz
cd hiawatha-10.6/extra
./make_debian_package
cd ..
sudo dpkg -i hiawatha_10.6_amd64.deb
sudo mkdir /etc/hiawatha/enable-sites
sudo nano /etc/hiawatha/hiawatha.conf
Add "SocketSendTimeout" just before "Binding Setting" :
SocketSendTimeout = 240
Add "MaxRequestSize" to "Binding Settings" :
# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
# MaxRequestSize is 100GB
MaxRequestSize = 104857600
MaxUploadSize = 2047
TimeForRequest = 24,100
MaxKeepAlive = 72000000
}
Append the following line at the end of the file :
Include /etc/hiawatha/enable-sites/
Create "owncloud" file at /etc/hiawatha/enable-sites :
sudo nano /etc/hiawatha/enable-sites/owncloud
VirtualHost {
Hostname = [your domain or IP address here]
WebsiteRoot = /var/www/owncloud
StartFile = index.php
AccessLogfile = /var/log/hiawatha/owncloud-access.log
ErrorLogfile = /var/log/hiawatha/owncloud-error.log
TimeForCGI = 72000000
WebDAVapp = yes
UseFastCGI = PHP70
UseToolkit = denyData
EnablePathInfo = yes
AllowDotFiels = yes
HTTPAuthToCGI = yes
}
UrlToolkit {
ToolkitID = denyData
Match ^/data DenyAccess
}
FastCGIserver {
FastCGIid = PHP70
ConnectTo = /var/run/php/php7.0-fpm.sock
Extension = php
SessionTimeout = 72000000
}
sudo nano /etc/php/7.0/fpm/php-fpm.conf
Append the following lines at the end of the file :
; for OwnCloud
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
[www]
pm=dynamic
pm.max_children=1000
pm.start_servers=50
pm.min_spare_servers=25
pm.max_spare_servers=75
Step 3 - MySQL Setting :
sudo mysql -u root -p
create database owncloud;
GRANT ALL ON owncloud.* TO owncloud@'127.0.0.1' IDENTIFIED BY '[your password here]';
flush privileges;
quit
Step 4 - OwnCloud Installation :
wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key -O Release.key
sudo apt-key add - < Release.key
rm Release.key
sudo sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update
sudo apt-get install owncloud-files
sudo apt-get install exim4 exim4-base exim4-config exim4-daemon-light libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 s-nail php-common php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-imap php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-readline php7.0-xml php7.0-zip php7.0-pgsql php7.0-sqlite3 php7.0-fpm php-apcu mysql-server mysql-client php7.0-cgi php7.0-mbstring
sudo nano /var/www/owncloud/.user.ini
The content of the file may looking like this one :
upload_max_filesize=100G
post_max_size=100G
memory_limit=12G
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0
max_input_time=3600
max_execution_time=3600
upload_tmp_dir='/tmp/'
max_file_upload=5000
Open browser and point to http://[your owncloud server IP] and create your admin user and password. Then select database on the same page. Otherwise, it will use SQLite by default.
After that, do the following :
sudo nano /var/www/owncloud/config/config.php
Insert the following line into the end of the block of the code :
'memcache.local' => '\OC\Memcache\APCu',
To restart OwnCloud and Hiawatha services :
sudo systemctl restart php7.0-fpm
sudo systemctl restart hiawatha
sudo systemctl enable php7.0-fpm
sudo systemctl enable hiawatha
Then, you can install the desktop sync client to sync your desktop to ownCloud.
Remarks :
If you want to have https connection, you need to generate the private SSL certificate or purchase one. You can also use Let's Encrypt when necessary. If so, the "binding settings" at Hiawatha should be "Port 443".
That's all! See you.