Свое облачное хранилище — ownCloud
Что такое ownCloud?
ownCloud — это персональное облачное хранилище данных, подобное Google Drive или Dropbox, но интересно это решение не только возможностью хранить файлы и получать доступ к ним с любого устройства. ownCloud — это гораздо больше:
- Синхронизация календарей на всех устройствах
 - Хранилище контактов
 - Фотоархив
 - Персональное файловое хранилище
 - Синхронизация с другими облачными хранилищами — DropBox, Swift, Google Docs, Amazon S3
 - Встроенный модуль просмотра PDF
 - Музыкальный проигрыватель
 
Полный список возможностей ownCloud представлен на официальном сайте проекта — owncloud.org
Установка ownCloud
Традиционно с заказа SSD VDS или выделенного сервера — это зависит от того, какой объем данных будет храниться. В качестве операционной системы выберем Ubuntu, однако при желании можно поэкспериментировать с другими ОС.
Apache, PHP, MySQL
Установим «джентельменский набор» из актуальных версий PHP, MySQL и Apache. В выбранной нами Ubuntu это можно сделать одной командой:
| 
					 1  | 
						apt-get install lamp-server^  | 
					
При установке MySQL нужно будет указать пароль для администратора СУБД. Я рекомендую создать новый сложный пароль с помощью, например, сайта strongpasswordgenerator.com. Не забудьте сохранить этот пароль в надежном месте (например, в специальном файле или в документе Evernote).
Следующим этапом произведем инсталляцию дополнительных модулей для PHP и вспомогательных утилит. Для этого нам необходимо выполнить одну команду:
| 
					 1  | 
						apt-get install smbclient curl libcurl3 php5-gd php-xml-parser php5-intl php5-curl  | 
					
Настройка Apache
Теперь нам нужно немного изменить штатные настройки Apache. Для начала включим модули mod_rewrite и mod_headers:
| 
					 1 2  | 
						a2enmod rewrite a2enmod headers  | 
					
Второй необходимый шаг — небольшое изменение конфигурационного файла вэбсервера. Откроем в текстовом редакторе vi или nano файл /etc/apache2/sites-available/default и найдем в нем секцию, которая начинается строкой <Directory /var/www/>. Мы должны разрешить обработку .htaccess внутри директории /var/www, поэтому исправим значение параметра AllowOverride с None на All. В итоге секция должна выглядеть так:
| 
					 1 2 3 4 5 6  | 
							<Directory /var/www/> 		Options Indexes FollowSymLinks MultiViews 		AllowOverride All 		Order allow,deny 		allow from all 	</Directory>  | 
					
Так как мы изменили настройки Apache, перезапустим его и перейдем после этого к настройке MySQL:
| 
					 1  | 
						service apache2 restart  | 
					
Настройка MySQL
ownCloud использует MySQL, поэтому нам необходимо создать базу данных и пользователя с необходмыми правами. Подключимся к серверу СУБД (нам понадобится пароль, который мы задали в самом начале, при установки MySQL):
| 
					 1  | 
						mysql -uroot -p  | 
					
Теперь выполним пару SQL-запросов, а секретный пароль пользователю owncloud рекомендуем придумать свой:
| 
					 1 2 3 4  | 
						CREATE DATABASE owncloud; GRANT ALL ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'sEcReTpA$sv0rd'; FLUSH PRIVILEGES; QUIT;  | 
					
Установка ownCloud
Инсталляция ownCloud выполняется буквально несколькими командами:
| 
					 1 2 3  | 
						cd /var/www wget -O - http://download.owncloud.org/community/owncloud-latest.tar.bz2 | tar -xjf - chown -R www-data:www-data owncloud  | 
					
Теперь запускаем любимый вэб-броузер и переходим по URL http://ip-адрес-сервера/owncloud/. Указываем желаемый логин-пароль администратора нашего облачного хранилища и параметры доступа к базе данных. На этом установка закончена и можно начинать использовать облачные технологии собственного приготовления:
				
			
