Как обновить owncloud
Около года назад установил для личных нужд свое собственное облако – owncloud. Сервис получился годный, выполняет определенные задачи. Уже какое-то время меня достает банер при входе в owncloud, что доступна новая версия.
У owncloud нет волшебной кнопки – Обновиться, а обновлять вручную было лень. Так и жил.
На днях наткнулся на новость о выходе новой версии owncloud 9. Ознакомился со списком изменений, пока ничего супер интересного для себя там не нашел. Так что решил пока не обновляться на 9-ку, пусть поправят сначала первые баги. А вот обновиться до последней версии owncloud 8 стоит. Про этот процесс и заметка.
На текущий момент у меня была версия owncloud 8.1.5, банер гласил о новой версии 8.2.2. На сайте owncloud.org есть уже 8.2.3. Предыдущие версии можно скачать здесь — https://owncloud.org/changelog/. Все действие делал на основании официальной инструкции.
1. Скачал owncloud версии 8.2.3:
wget https://download.owncloud.org/community/owncloud-8.2.3.tar.bz2
* ссылку даю только для примера, проверьте последнюю версию на сайте owncloud перед скачиванием
2. Создал пустой каталог owncloud2 и разархивировал в него содержимое скаченного архива:
sudo mkdir /var/www/owncloud2 sudo tar xjf owncloud-8.2.3.tar.bz2 -C /var/www/owncloud2
3. Остановил веб-сервер Apache:
sudo /etc/init.d/apache2 stop
4. Переименовал каталог с текущей версией owncloud:
sudo mv /var/www/owncloud /var/www/owncloud_old
5. Скопировал каталог с новой версией owncloud в /var/www:
sudo cp -a /var/www/owncloud2/owncloud /var/www/
6. Скопировал файл конфигурации и каталог с данными из 8.1.5 в 8.2.3:
sudo cp /var/www/owncloud_old/config/config.php /var/www/owncloud/config/ sudo cp -a /var/www/owncloud_old/data/ /var/www/onwcloud
7. Запустил веб-сервер:
sudo /etc/init.d/apache2 start
Если Apache выдал ошибку — AH00558: apache2: Could not reliably determine the server's fully qualified domain name. Решение здесь.
8. Открыл в браузере https://localhost/owncloud, теперь вместо поля логина и пароля уведомление про обновление до версии 8.2.3.
Это обновление можно сделать не из браузера, а из консоли. Для этого переходим в каталог owncloud и запускаем команду upgrade:
cd /var/www/owncloud sudo –u www-data php occ upgrade
Результат выполнения команды:
Не все так гладко прошло, команда на обновление в первый раз выдала ошибку:
PHP Warning: flock() expects parameter 1 to be resource, boolean given in /var/www/owncloud/lib/private/config.php on line 198 An unhandled exception has been thrown: exception 'Exception' with message 'Could not acquire a shared lock on the config file /var/www/owncloud/config/config.php' in /var/www/owncloud/lib/private/config.php:199 Stack trace: #0 /var/www/owncloud/lib/private/config.php(59): OC\Config->readData() #1 /var/www/owncloud/lib/base.php(133): OC\Config->__construct('/var/www/ownclo...') #2 /var/www/owncloud/lib/base.php(495): OC::initPaths() #3 /var/www/owncloud/lib/base.php(1079): OC::init() #4 /var/www/owncloud/console.php(42): require_once('/var/www/ownclo...') #5 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
Проблема заключалась в правах доступа на каталоги. Для решения запустил скрипт из подраздела Setting Strong Directory Permissions страницы ownCloud 8.2 Server Administration Manual:
#!/bin/bash ocpath='/var/www/owncloud' htuser='www-data' htgroup='www-data' rootuser='did5' printf "Creating possible missing Directories\n" mkdir -p $ocpath/data mkdir -p $ocpath/assets printf "chmod Files and Directories\n" find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640 find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750 printf "chown Directories\n" chown -R ${rootuser}:${htgroup} ${ocpath}/ chown -R ${htuser}:${htgroup} ${ocpath}/apps/ chown -R ${htuser}:${htgroup} ${ocpath}/config/ chown -R ${htuser}:${htgroup} ${ocpath}/data/ chown -R ${htuser}:${htgroup} ${ocpath}/themes/ chown -R ${htuser}:${htgroup} ${ocpath}/assets/ chmod +x ${ocpath}/occ printf "chmod/chown .htaccess\n" if [ -f ${ocpath}/.htaccess ] then chmod 0644 ${ocpath}/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/.htaccess fi if [ -f ${ocpath}/data/.htaccess ] then chmod 0644 ${ocpath}/data/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess fi
, где нужно указать свои значения переменных ocpath, htuser, htgroup, rootuser.
Сохранил все в файл owncloud_script.sh:
cd ~ nano owncloud_script.sh (Вставил текст, сохранил Ctrl+o, закрыл Ctrl+x) sudo chmod +x owncloud_script.sh ./owncloud_script.sh
После обновления логинимся в owncloud и проверяем версию:
Готово.
Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!
Хотите поблагодарить автора за эту заметку? Вы можете это сделать!