Как установить OwnCloud 10 на Ubuntu Trusty Server

Posted by

Хочу посмотреть, как происходит установка самого последнего релиза на серверную систему Ubuntu Trusty Server до самого начала и до конца. Чтобы в последствии развернуть на HP ProLiant MicroServer Gen8 в качестве своего личного облачного хранилища, а не чужого, как например: Dropbox. Ниже не будет сказано ничего нового, просто команды которые нужно сделать чтобы поставить на и всё. Описывать каждый шаг не вижу смысла, мне все понятно, а пишу я в первую очередь для самого себя, а уже все остальные на основе этого находят то что необходимо им.

Файлы и сервис будут находиться на одной системе.

CPU 1,RAM 2Gb,HDD 50Gb

ekzorchik@srv-own:~$ sudo rm -Rf /var/lib/apt/lists/

ekzorchik@srv-own:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-own:~$ sudo /etc/init.d/apparmor stop

ekzorchik@srv-own:~$ sudo /etc/init.d/apparmor teardown

ekzorchik@srv-own:~$ sudo update-rc.d -f apparmor remove

ekzorchik@srv-own:~$ sudo apt-get remove --purge apparmor -y

ekzorchik@srv-own:~$ sudo rm -Rf /var/lib/apparmor

ekzorchik@srv-own:~$ sudo rm -Rf /etc/apparmor /etc/apparmor.d/

ekzorchik@srv-own:~$ sudo nano /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

ekzorchik@srv-own:~$ sudo sysctl -p

ekzorchik@srv-own:~$ sudo rm /etc/localtime

ekzorchik@srv-own:~$ sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

ekzorchik@srv-own:~$ sudo apt-get install ntp -y

ekzorchik@srv-own:~$ sudo nano /etc/profile

export LC_ALL="en_US.UTF-8"

ekzorchik@srv-own:~$ source /etc/profile

ekzorchik@srv-own:~$ sudo sed -i 's/enabled=1/enabled=0/g' /etc/default/apport

ekzorchik@srv-own:~$ sudo reboot

После перезагрузки моя система:

ekzorchik@srv-own:~$ uname -a && lsb_release -a && arch

Linux srv-own 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 14.04.5 LTS

Release: 14.04

Codename: trusty

x86_64

ekzorchik@srv-own:~$ sudo tasksel install lamp-server

New password for the MySQL «root» user: 812mbddr8@

Repeat password for the MySQL «root» user: 812mbddr8@

ekzorchik@srv-own:~$ sudo mysql_secure_installation

ekzorchik@srv-own:~$ mysql -u root -p812mbddr8@

mysql> create database db_owncloud character set utf8;

mysql> create user 'us_own'@'localhost' identified by '612mbddr@';

mysql> grant all on db_owncloud.* to 'us_own'@'localhost';

mysql> flush privileges;

mysql> exit

ekzorchik@srv-own:~$ sudo wget -nv http://download.owncloud.org/download/repositories/10.0.0/Ubuntu_14.04/Release.key -O Release.key

ekzorchik@srv-own:~$ sudo apt-key add - < Release.key

ekzorchik@srv-own:~$ sudo sh -c "echo 'deb http://download.owncloud.org/download/repositories/10.0.0/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud.list"

ekzorchik@srv-own:~$ apt-cache show owncloud | grep Version

Version: 10.0.0-1.1

Version: 6.0.1+dfsg-1ubuntu1.2

Version: 6.0.1+dfsg-1ubuntu1

ekzorchik@srv-own:~$ sudo apt-get install owncloud -y

ekzorchik@srv-own:~$ sudo nano /etc/apache2/apache2.conf

ServerName srv-own

ekzorchik@srv-own:~$ php --version

PHP 5.5.9-1ubuntu4.21 (cli) (built: Feb 9 2017 20:54:58)

Copyright (c) 1997-2014 The PHP Group

Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

ekzorchik@srv-own:~$ sudo unlink /etc/apache2/sites-available/000-default.conf

ekzorchik@srv-own:~$ sudo unlink /etc/apache2/sites-available/default-ssl.conf

ekzorchik@srv-own:~$ sudo unlink /etc/apache2/sites-enabled/000-default.conf

ekzorchik@srv-own:~$ sudo rm -Rf /var/www/html/

ekzorchik@srv-own:~$ sudo nano /etc/apache2/sites-available/owncloud.conf

<Virtualhost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/owncloud

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/owncloud/>

Options +FollowSymlinks

AllowOverride All

<IfModule mod_dav.c>

Dav off

</IfModule>

SetEnv HOME /var/www/owncloud

SetEnv HTTP_HOME /var/www/owncloud

</Directory>

</Virtualhost>

ekzorchik@srv-own:~$ sudo a2ensite owncloud.conf

ekzorchik@srv-own:~$ sudo apache2ctl configtest

ekzorchik@srv-own:~$ sudo service apache2 restart

Теперь открываю браузер и в строке адреса указываю URL: http://IP и вместо того, что отобразить Web-страницу мастера установки, в ответ мне вернулось:

This version of ownCloud requires at least PHP 5.6.0
You are currently running 5.5.9-1ubuntu4.21. Please update your PHP version.

ekzorchik@srv-own:~$ sudo add-apt-repository ppa:ondrej/php

ekzorchik@srv-own:~$ sudo apt-get update

ekzorchik@srv-own:~$ sudo apt-get install php5.6 -y

ekzorchik@srv-own:~$ php --version

PHP 5.6.30-10+deb.sury.org~trusty+2 (cli)

Copyright (c) 1997-2016 The PHP Group

Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

ekzorchik@srv-own:~$ sudo a2dismod php5

ekzorchik@srv-own:~$ sudo a2enmod php5.6

ekzorchik@srv-own:~$ sudo service apache2 restart

После возвращаемся к странице браузера где была ошибка версии php и нажимаем клавишу F5 для обновления содержимого страницы. Ошибка уходит, но на ее место встают другие:

  • No database drivers (sqlite, mysql, or postgresql) installed.
  • PHP module zip not installed.
  • PHP module dom not installed.
  • PHP module XMLWriter not installed.
  • PHP module XMLReader not installed.
  • PHP module libxml not installed.
  • PHP module mb multibyte not installed.
  • PHP module GD not installed.
  • PHP module SimpleXML not installed.
  • PHP module cURL not installed.

Ага, не установлены необходимые модули, что ж это дело можно поправить установкой:

ekzorchik@srv-own:~$ sudo apt-get install php5.6-gd php5.6-intl php5.6-mcrypt php5.6-cli php5.6-ldap curl libcurl3 libcurl4-openssl-dev php5.6-curl php5.6-imagick php5.6-mysql php5.6-xml php5.6-mbstring php5.6-zip -y

ekzorchik@srv-own:~$ sudo service apache2 restart

ekzorchik@srv-own:~$ sudo mkdir /var/lib/php5/pool-www

ekzorchik@srv-own:~$ sudo nano /etc/fstab

tmpfs /var/lib/php5/pool-www tmpfs defaults,noatime,mode=1777 0 0

ekzorchik@srv-own:~$ sudo nano /etc/php5/apache2/php.ini

date.timezone = Europe/Moscow

upload_max_filesize = 10240M

post_max_size = 10240M

max_file_uploads = 1000

После возвращаемся к странице браузера где была ошибка в отсутствии необходимых пакетов для php и нажимаем клавишу F5 для обновления содержимого страницы. Ошибки исчезают и я на этапе настройки указания кто будет являться администратором сервиса и параметров подключения к базе данных:

Create ad admin account

  • Username: ekzorchik
  • Password: 712mbddr@
  • Data folder: /var/www/owncloud/data
  • Database user: us_own
  • Database password: 612mbddr@
  • Database name: db_owncloud
  • localhost

и нажимаю Finish setup, спустя несколько минут передо мной предстает окно авторизации в новую версию домашнего облака (OwnCloud 10), авторизуюсь:

  • Username or email: ekzorchik
  • Password: 712mbddr@

и нажимаю клавишу Enter.

Как всегда, авторизация успешна, а раз так-то я в привычном административном окружении личного кабинета развернутого сервиса ownCloud 10.0.0 (stable).

Web-интерфейс OwnCloud 10 развернутый на Ubuntu Trusty Server

На первый взгляд изменилось то, что перейдя в Settings можно поменять язык интерфейса, интерфейс стал более плавным.

Настройки которые я проделываю:

  • ekzorchikSettings(Admin) GeneralCron отмечаю вместо AJAX использовать Cron

Теперь, как и всегда нужно сделать, чтобы доступ в OwnCloud 10 был только через безопасное соединение, т. е. Через https:

ekzorchik@srv-own:~$ openssl req -new -x509 -days 3650 -keyout owncloud.key -out owncloud.pem

writing new private key to 'owncloud.key'

Enter PEM pass phrase: 712mbddr@

Verifying - Enter PEM pass phrase: 712mbddr@

Common Name (e.g. server FQDN or YOUR name) []:10.7.8.164

ekzorchik@srv-own:~$ cp owncloud.key{,.orig}

ekzorchik@srv-own:~$ openssl rsa -in owncloud.key.orig -out owncloud.key

Enter pass phrase for owncloud.key.orig:

writing RSA key

ekzorchik@srv-own:~$ sudo cp owncloud.pem /etc/ssl/certs/

ekzorchik@srv-own:~$ sudo cp owncloud.key /etc/ssl/private/

ekzorchik@srv-own:~$ sudo chmod 0600 /etc/ssl/private/owncloud.key

ekzorchik@srv-own:~$ sudo a2enmod ssl

ekzorchik@srv-own:~$ sudo nano /etc/apache2/sites-available/owncloud.conf

<IfModule mod_ssl.c>

<VirtualHost _default_:443>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/owncloud

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLEngine on

SSLProtocol all -SSLv2

SSLCertificateFile /etc/ssl/certs/owncloud.pem

SSLCertificateKeyFile /etc/ssl/private/owncloud.key

<FilesMatch "\.(cgi|shtml|phtml|php)$">

SSLOptions +StdEnvVars

</FilesMatch>

<Directory /usr/lib/cgi-bin>

SSLOptions +StdEnvVars

</Directory>

<Directory /var/www/owncloud/>

Options +FollowSymlinks

AllowOverride All

<IfModule mod_dav.c>

Dav off

</IfModule>

SetEnv HOME /var/www/owncloud

SetEnv HTTP_HOME /var/www/owncloud

</Directory>

</Virtualhost>

</IfModule>

ekzorchik@srv-own:~$ sudo a2dissite owncloud.conf

ekzorchik@srv-own:~$ sudo a2ensite owncloud.conf

ekzorchik@srv-own:~$ sudo apache2ctl configtest

ekzorchik@srv-own:~$ sudo nano /etc/apache2/ports.conf

#Listen 80

ekzorchik@srv-own:~$ sudo service apache2 restart

На этом собственно и всё, с уважением Олло Александр aka ekzorchik.