Хочу посмотреть, как происходит установка самого последнего релиза OwnCloud на серверную систему Ubuntu Trusty Server до самого начала и до конца. Чтобы в последствии развернуть на HP ProLiant MicroServer Gen8 в качестве своего личного облачного хранилища, а не чужого, как например: Dropbox. Ниже не будет сказано ничего нового, просто команды которые нужно сделать чтобы поставить OwnCloud 10 на Ubuntu 14.04 и всё. Описывать каждый шаг не вижу смысла, мне все понятно, а пишу я в первую очередь для самого себя, а уже все остальные на основе этого находят то что необходимо им.
Файлы и сервис будут находиться на одной системе.
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).
На первый взгляд изменилось то, что перейдя в Settings можно поменять язык интерфейса, интерфейс стал более плавным.
Настройки которые я проделываю:
- ekzorchik — Settings — (Admin) General — Cron отмечаю вместо 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.