У вряди-годи пробую встановити і використовувати вже з часів мого першого знайомства дане хмарне сховище персонального виду. починав я з версії 6, а на дворі вже 8. Здається мені що багато чого змінилося і все на краще, хотілося б на це сподіватися. Ось тому я вирішив оформити в вигляді покрокових інструкцій що і як потрібно для цього зробити щоб розгорнути своє персональне сховище на комп'ютері у себе вдома, а після через кидок портів свого роутера дати доступ до нього із зовні, або купувати хмарну конфігурацію у вигляді VPS / VDS і вже на ній відтворювати всі кроки поточної замітки. Але наприклад Я - не особливо довіряю сервісів хмари - на мене краще підконтрольні сервіси бачити на своєму залозі.
У замітці будуть освячені всі кроки:
RAM = 4Gb (і більше)
HDD = 25Gb (це під систему, під дані окремий диск)
Перш ніж починати давайте переконаємося що наша система в актуальному стані:
$ Sudo apt-get update sudo apt-get upgrade -y
Ці дві прості команди оновлять всі програми на нашому сервері, процес може зайняти тривалий час в залежності від швидкості інтернету і нашого сервера.
Тепер, можна приступити до установки необхідного для роботи ownCloud програмного забезпечення:
$ Sudo apt - get install apache 2 php 5 php 5 common php 5 gd php 5 intl php 5 mcrypt php 5 cli php 5 ldap php 5 sqlite curl libcurl 3 libcurl 4 openssl - dev php 5 curl php - apc ffmpeg php 5 imagick php 5 mysql - y
$ Sudo apt-get install mysql-client mysql-server -y
Під час установки необхідно буде настроїти Web-сервер, погоджуємося і вибираємо Apache2. натискаємо «Так» далі нас попросять придумати пароль для нашої бази даних MySQL. придумуємо пароль і йдемо далі.
New password for the MySQL «root» user: 612mbddr @
Repeat password for the MySQL «root» user: 612mbddr @
Тепер трошки подбаємо про нашу безпеку. вводимо в консоль:
$ Sudo mysql _ secure _ installation
і на всі питання відповідаємо
Change the root password? [Y / n] n
А після позитивно Y.
Входимо в консоль управління MySQL:
$ Mysql -u root -p612mbddr @
Створюємо базу даних.
mysql> create database wp_owncloud;
Query OK, 1 row affected (0.00 sec)
Створюємо користувача, бажано з ім'ям як і у бази даних:
mysql> create user 'own' @ 'localhost' IDENTIFIED BY '612mbddr @@';
Query OK, 0 rows affected (0.00 sec)
Важливо: пароль не повинен співпадати з паролем суперкористувача.
Передаємо створеному користувачеві повні права на створену базу даних:
mysql> GRANT ALL ON wp_owncloud. * to 'own' @ 'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Для коректності роботи персонального хмари важливо, щоб на сервері час було синхронізовано з еталонними серверами:
Прописуємо часовий пояс:
$ Sudo rm -rf / etc / localtime sudo ln -sf / usr / share / zoneinfo / Europe / Moscow / etc / localtime
Встановлюємо ntp клієнт.
$ Sudo apt-get install ntp ntpdate
Тепер міняємо сервер синхронізації часу на найближчий:
$ Sudo nano /etc/ntp.conf
Щоб перевірити правильність часу досить ввести в терміналі:
$ Sudo ntpdate pool.ntp.org
20 Aug 00:06:16 ntpdate [17203]: the NTP socket is in use, exiting
Якщо час на нашому сервері не відповідає часу отриманого з ntp сервера вводимо:
$ Sudo ntpdate -bs pool.ntp.org
Переходимо до налаштування Web - доступу персонального хмари:
(Готує окремий диск для сховища)
$ Sudo fdisk / dev / sdb
$ Sudo fsck.ext4 / dev / sdb1
$ Sudo mkdir / media / own
$ Sudo mount -t ext4 / dev / sdb1 / media / own
$ Sudo blkid | grep 'sdb'
/ Dev / sdb1: UUID = »0f05db71-a2e5-439f-9554-c4c916183de6" TYPE = "ext4"
$ Sudo nano / etc / fstab
UUID = 0f05db71-a2e5-439f-9554-c4c916183de6 / media / own ext4 defaults, rw 0 0
$ Sudo umount / dev / sdb1
$ Df -h | grep / dev / sdb1
/ Dev / sdb1 29G 44M 27G 1% / media / own
Далі створюю сайт конфігурації для Веб-сервера Apache який буде обслуговувати Web -орієнтований доступ до мого хмарі:
$ Sudo nano /etc/apache2/sites-available/owncloud.conf
Options Indexes FollowSymLinks
Зберігаємо файл і виходимо.
Активують створений файл конфігурації сайту owncloud. (Попередньо деактивовано дефолтний)
$ Sudo unlink / etc / apache2 / sites-available / default
$ Sudo unlink / etc / apache2 / sites-enabled / 000-default
$ Sudo a2ensite owncloud.conf
Enabling site owncloud.conf.
To activate the new configuration, you need to run:
service apache2 reload
$ Sudo service apache2 restart
$ Sudo nano /etc/php5/apache2/php.ini
Зберігаємо файл і виходимо.
Перезапуск apache ще раз:
$ Sudo service apache2 restart
Завантажуємо останню версію ownCloud. на момент написання даної замітки - це версія ownCloud 8:
ekzorchik @ srv-serv: / media / own $ sudo tar -xvf owncloud-8.1.1.tar.bz2
ekzorchik @ srv-serv: / media / own $ sudo chown -R www-data: www-data / media / own / owncloud
http: // IP / owncloud http: // DNS / ownclou d і створюємо нового користувача, вказуємо розташування де будять зберігається документи сховища, вказуємо що в якості бази даних використовувати MySQL. іменування бази, а також логін і пароль облікового запису від цієї бази даних.
На замітку: в ролі шляхів розташування, як зроблено у мене, зробити деякі удосконалення:
- Зібрати міні-комп'ютер з підтримкою організації апаратного RAID 'а (RAID 1 RAID 5)
- Використовувати LVM:
- Створити файлову систему, наприклад ext 4. або в якості зовнішнього сховища використовувати FreeNAS з томом на файлової системи ZFS
(Рекомендую зробити фізичний (програмний RAID1 або 5)
Оновлюю, а кращим все-таки рішенням буде встановити репозитарії owncloud в систему ніж розгортати як вище з завантаженого файлу, тому як з репозитария підтягнуться і необхідні залежності автоматично.
$ Sudo apt-get update
$ Sudo apt-key add -
$ Sudo apt-get update
$ Apt-cache show owncloud | grep Version
Version: 8.1.1-1
Version: 5.0.4debian-0ubuntu1
ubuntu12.04.1
Version: 3.0.0-0ubuntu1
Встановлюю саму останню версію owncloud в систему:
ekzorchik @ srv-serv:
$ Sudo apt-get install owncloud-server = 8.1.1-1 owncloud-config-apache = 8.1.1-1
The following packages have unmet dependencies:
owncloud-server. Depends: php5 (> = 5.4.0) but 5.3.10-1ubuntu3.19 is to be installed
E: Unable to correct problems, you have held broken packages.
Щоб задіяти пакет php5 більш нової версії в поточному релізі операційній системі потрібно додати наступні репозитарії в систему:
$ Sudo nano /etc/apt/sources.list
$ Sudo apt-get update
в процесі теж був виявив публічний ключ доданих в систему репозитаріїв, додавати я його не буду тому пропускаю
$ Apt-cache show php5 | grep Version
$ Sudo apt-get install php5 -y --force-yes
What do you want to do about modified configuration file php.ini? install the package maintainer's version
- Для установки на Ubuntu 12.04.5 - пакет ставимо викачуючи архів tar.bz2
- Для установки на Ubuntu 14.04.3 - пакет ставимо додаючи відповідні репозитарії з офіційного сайту і не відбувається такого геморою вище як роблю / розглядаю я.
З урахуванням оновленої версії php виробляю установку пакета сховища owncloud самої останньої версії:
$ Sudo apt-get install owncloud = 8.1.1-1 -y -force-yes
Після установки установник самостійно створить файл сайту для мого встановленого Web-сервера Apache.
Alias / owncloud "/ var / www / owncloud /"
SetEnv HOME / var / www / owncloud
SetEnv HTTP_HOME / var / www / owncloud
# Just in case if .htaccess gets disabled
Require all denied
тому попередній можна сміливо затерти і видалити всі файли в підключеного диска.
$ Sudo rm /etc/apache2/sites-available/owncloud.conf
$ Sudo cp /etc/apache2/conf.d/owncloud.conf / etc / apache2 / sites-available /
$ Sudo rm /etc/apache2/conf.d/owncloud.conf
$ Sudo a2dissite owncloud.conf
$ Sudo a2ensite owncloud.conf
$ Sudo service apache2 reload
lost + found owncloud owncloud-8.1.1.tar.bz2
$ Sudo rm -Rf / media / own / owncloud *
$ Sudo chmod -R 770 / media / own / owncloud / data
$ Sudo chown -R www-data: www-data / media / own / owncloud / data
$ Sudo mkdir / media / own / owncloud / data -p
Тепер відкриваю браузер і переходжу по посиланню настройки:
Нижче приклад заповнення необхідної інформації при конфігуруванні персонального хмари:
- Create an admin account:
- Login: Ekzorchik
- Password: 712mbddr @
- Data folder: / media / own / owncloud / data
- Configure the database: MySQL
- Database user name: own
- Database user password: 612mbddr @@
- Database name: wp_owncloud
- Name host. localhost
Після закінчення введення натискаємо кнопку «Finish setup» / "Завершити установку" і нас перекидає на інтерфейс управління:
Завантажені файли в хмару розташовуються в системі: (права від імені користувача www-data від імені якого працює Web-сервер Apache)
$ Sudo ls / media / own / owncloud / data / ekzorchik / files -l
drwxr-xr-x 2 www-data www-data 4096 Aug 20 10:23 Documents
-rw-r-r- 1 www-data www-data 692339 Aug 20 10:41 GG4800E_GG7200E_GG7500E_3_8b37e65ddc.pdf
drwxr-xr-x 2 www-data www-data 4096 Aug 20 10:23 Photos
-rw-r-r- 1 www-data www-data 2242192 Aug 20 10:23 ownCloudUserManual.pdf