Установка Memcache на Ubuntu 14.04

Описание

Постепенно увеличивается нагрузка на ваш сайт. Растет нагрузка на сервер баз данных. Для увеличения производительности сайта можно и  нужно использовать кэширование.

Memcache это программа, которая позволяет временно хранить (кэшировать) данные в оперативной памяти на основе хеш-таблиц. При поступлении запроса, memcache проверит наличие данных в оперативной памяти, если данных в кэше нет, будет произведен запрос к базе данных. При последующем запросе тех же данных ответ будет выдан из оперативной памяти Memcache. Это позволит нам значительно ускорить работу сервера, т.к. данные будут отдаваться из оперативной памяти, а из базы данных.

Установка Memcache и компонентов

Все компоненты доступны в репозиториях Ubuntu

Нам потребуется установить  Memcache, сервер баз данных MySQL и PHP с компонентами для взаимодействия.

Установка Memcache

sudo apt-get install memcahed

Memcached установлен

По дефолту Memcached прослушивает порт – 11211, на localhost(127.0.0.1). Файл настроек Memcached расположен /etc/memcached.conf

logfile /var/log/memcached.log задается расположение лог файла

-m задает размер памяти под кеш (в мегабайтах)

-p задается порт, который слушает Memcached

-l задается IP адрес, который слушает Memcached

Установка компонентов

sudo apt-get update

sudo apt-get install mysql-server php5-mysql php5 php5-memcached

Стоит обратить внимание. Есть два компонента для PHP Memcache, один php-memcache, а другой php-memcached. Мы будем использовать php-memcacheD, т.к. он более стабилен и реализует больше возможностей.

Вводим и подтверждаем пароль для администратора(Root) MySQL сервера

MySQL-password

Теперь давайте проверим, как это работает

Сделаем запрос к PHP, что он знает о Memcached и включен ли он.

Создаем файл info.php в корневом разделе по умолчанию. /var/www/html/

sudo nano /var/www/html/info.php

Напишем PHP запрос для вывода информации о состоянии web-сервере и его компонентах.

<?php
phpinfo();
?>

Теперь посмотрим информацию в браузере. http://server_ip/info.php

memcache

Memcached включен и найден на веб-сервере.

Так же можно проверить, запущена ли служба Memcached

ps aux | grep memcached

ps_aux

Для перезапуска службы Memcached надо выполнить:

sudo service memcached restart

Проверим, может ли Memcached кэшировать данные

Служба Memcached запущена. Напишем скрип, чтобы убедиться в работоспособности Memcached.

Создадим файл test.php

sudo nano /var/www/html/test.php

Со следующим содержанием.

<?php
$mem = new Memcached();
$mem->addServer(“127.0.0.1”, 11211);$result = $mem->get(“blah”);if ($result) {
echo $result;
} else {
echo “No matching key found. I’ll add that now!”;
$mem->set(“blah”, “I am data! I am held in memcached!”) or die(“Couldn’t save anything to memcached…”);
}
?>

Для проверки в браузере запустим такую ссылку:

http://ip-server/test.php

Обновим страницу в браузере

Как видно, сервис Memcached может кэшировать данные, заданные в нашем скрипте.

Скрипт PHP для тестирования кэширования данных MySQL

Будем искать данные в Memcached и если они найдены, выведем. Если данные не обнаружены в Memcached, будет произведен запрос в базу данных, а затем результат выведен и сохранен в Memcached для последующих запросов, время кэширования данных зададим 10 секунд.

Создаем базу данных MySQL

mysql -u root -p

Вводим пароль Администратора(root) MySQL

mysql>CREATE DATABASE mem_test; USE mem_test;

Создаем пользователя test с паролем testing123, у которого будет доступ к базе, которую мы создали.

GRANT ALL ON mem_test.* TO test@localhost IDENTIFIED BY ‘testing123’;

Создаем таблицу sample_data и добавляем в нее запись some_data.

CREATE TABLE sample_data (id int, name varchar(30)); INSERT INTO sample_data VALUES (1, “some_data”);

Выходим из MySQL

exit

Создаем файл.

sudo nano /var/www/html/database_test.php

Со следующим содержание:

<?php
$mem = new Memcached();
$mem->addServer(“127.0.0.1”, 11211);mysql_connect(“localhost”, “test”, “testing123”) or die(mysql_error());
mysql_select_db(“mem_test”) or die(mysql_error());$query = “SELECT name FROM sample_data WHERE id = 1”;
$querykey = “KEY” . md5($query);$result = $mem->get($querykey);if ($result) {
print “<p>Data was: ” . $result[0] . “</p>”;
print “<p>Caching success!</p><p>Retrieved data from memcached!</p>”;
} else {
$result = mysql_fetch_array(mysql_query($query)) or die(mysql_error());
$mem->set($querykey, $result, 10);
print “<p>Data was: ” . $result[0] . “</p>”;
print “<p>Data not found in memcached.</p><p>Data retrieved from MySQL and stored in memcached for next time.</p>”;
}
?>

Тест

В браузере открываем http://server_ip/database_test.php

Обновляем страничку в браузере

Если подождать 10 секунд, то снова получим данные с базы а не с Memcached

Memcached может сильно помочь в работе вашего сервера и повысить его производительность

Views: 0

Установка OwnCloud 9.0 на Ubuntu 14.04/10

owncloudОписание

OwnCloud дает возможность хранить данные в безопасном месте и держать их под вашим контролем. Аналог Dropbox, можно загружать все виды медиа – файлов
(видео, фото, музыку) документы. Отличается OwnCloud от Dropbox тем, что это открытый исходный код, в свободном доступе.
Ваши данные доступны из любой точки земного шара, где есть интернет и на любых устройствах: смартфонах, планшетах, ПК и ноутбуках.

[spoiler show=”Что нового в версии 9.0″]Что нового в версии 9.0

  • Коментарии к файлам
  • Метки файлов
  • Уведомления
  • Автозаполнение имен пользователей
  • Доверенные сервера
  • Код подписи проверяется при обновлении или установке ядра и приложения
  • Автономные обновления для более надежной модернизации
  • Улучшены возможности и производительность при совместном использовании
  • Новый API-интерфейсы для повышения маcштабируемости используя внешние системы хранения данных
  • Календарь и Контакты были полностью переписаны и теперь CalDAV и CardDAV являются частью ядра
  • Усилена безопасность
  • OwnCloud API работает для улучшения маcштабируемости
  • Множество небольших улучшений

В Администрировании

  • Отдельное шифрование для локальных и удаленных систем хранения данных. Вы можете шифровать на удаленных системах хранения, а на локальных не использовать шифрование.
  • Новые команды, для передачи файлов между пользователями
  • Оптимизирован совместный обмен между пользователями и группами
  • Настраиваемый сброс пароля URL
  • Добавлены новые параметры для командной строки в приложение Updater
  • Много новых команд OCC
  • Опции администрирования, включения/отключения внешних систем хранения данных (точки монтирования)
  • Новые OCC команды для миграции контактов и календарей с версии 8.2> если автоматическая миграция не удалась и новые команды для создания адресных книг и календарей пользователей (команды DAV)
  • Введена поддержка второго имени(атрибута) для LDAP.

[/spoiler]

Для установки Owncloud нам потребуется:

  • Linux или BSD сервер (так же можно установить и на Mac OS )
  • MySQL5.5 +/MariaDB
  • PHP 5.4 или выше
  • Apache 2.2+

Поддерживаемые LINUX системы:

  • CentOS 7
  • Debian 8
  • RHEL 7
  • SLES 12
  • Ubuntu 14.04,15.10

Подготовка

В архиве Owncloud содержаться все необходимые пакеты для PHP. Ниже перечислены обязательные и не обязательные пакеты. Что бы проверить установленные модели РНР введите в командной строке PHP -m | Grep -i <module_name>/

[spoiler show=”Необходимые модули для PHP:”]Необходимые модули для PHP:

PHP5 (>=5.4)
PHP module ctype
PHP module dom
PHP module GD
PHP module iconv
PHP module JSON
PHP module libxml (Linux package libxml2 должен быть >=2.7.0)
PHP module mb multibyte
PHP module posix
PHP module SimpleXML
PHP module XMLWriter
PHP module zip
PHP module zlib

[/spoiler]

[spoiler show=”Для баз данных (выбрать только один):”]Для баз данных (выбрать только один):

PHP module sqlite (>= 3,не рекомендуется из соображения производительности)
PHP module pdo_mysql (MySQL/MariaDB)
PHP module pgsql (requires PostgreSQL >= 9.0)

[/spoiler]

[spoiler show=”Рекомендуемые пакеты:”]Рекомендуемые пакеты:

PHP module curl (настоятельно рекомендуется, некоторые функциональные возможности, например, аутентификация пользователя HTTP, от этого зависит)
PHP module fileinfo (настоятельно рекомендуется, повышает производительность анализа файлов)
PHP module bz2 (рекомендуется, необходимое для извлечения приложений)
PHP module intl (увеличивает производительность языка перевода и исправления сортировки не-ASCII символов)
PHP module mcrypt (повышает производительность шифрования файлов)
PHP module openssl (необходим для доступа к ресурсам HTTPS)

[/spoiler]

[spoiler show=”Требуемые для некоторых приложений:”]Требуемые для некоторых приложений:

PHP module ldap (для интеграции LDAP)
PHP module smbclient (интеграция SMB / CIFS см SMB / CIFS )
PHP module ftp (FTP для хранения аутентификации / внешний пользователь)
PHP module imap (для внешней аутентификации пользователя)

[/spoiler]

[spoiler show=”Рекомендуется для конкретных приложений ( по желанию):”]Рекомендуется для конкретных приложений ( по желанию):

PHP module exif (для поворота изображения в картинках приложение)
PHP module gmp (для хранения по SFTP)

[/spoiler]

[spoiler show=”Для повышения производительности сервера ( по желанию) выберите один из следующих систем кэширования:”]Для повышения производительности сервера ( по желанию) выберите один из следующих систем кэширования:

PHP module apc
PHP module apcu
PHP module memcached
PHP module redis (> = 2.2.5, необходимое для транзакционного Блокирование файлов)

[/spoiler]

[spoiler show=”Для генерации предварительного просмотра (необязательно):”]Для генерации предварительного просмотра (необязательно):

PHP module imagick
avconv or ffmpeg
OpenOffice or LibreOffice

[/spoiler]

[spoiler show=”Для обработки командной строки ( по желанию):”]Для обработки командной строки ( по желанию):

PHP module pcntl (прерывание дает команду, нажав Ctrl-C)

[/spoiler]

Вам не нужен модуль WebDAV для вашего веб – сервера (т.е. mod_webdav Apache), так как OwnCloud имеет свой встроенный WebDAV сервер, SabreDAV. Если mod_webdav включен , вы должны отключить его для OwnCloud.

Установка на Ubuntu 14.04 LTS Server

Для этого потребуется установить дополнительные пакеты из командной строки с root правами

#apt-get install apache2 mariadb-server libapache2-mod-php5

#apt-get install php5-gd php5-json php5-mysql php5-curl

#apt-get install php5-intl php5-mcrypt php5-imagick

Рис2Рис3Рис5

Эти пакеты, для установки базовой системы Owncloud. Если вы планируете запускать дополнительные приложения, то может потребоваться установка дополнительных пакетов
При установке MySQL/MariaDB, вам будет предложено создать пароль администратора базы данных.
Обязательно его запомните, т.к. он потребуется далее, для установки базы данных OwnCloud

Далее загружаем архив последней версии Owncloud:

Переходим по ссылке ownCloud Download Page
Скачиваем файл с именем OwnCloud-xyztar.bz2 или OwnCloud-xyz.zip (где хуz это номер версии).

#wget https://download.owncloud.org/community/owncloud-9.0.1.zip

Теперь вы можете извлечь содержимое архива. Запустите соответствующую команду для разархивирования вашего типа архива:

#tar -xjf OwnCloud-xyztar.bz2
#unzip OwnCloud-xyztar.zip


Рис11

Архив распакуется в каталог OwnCloud. Далее скопируйте каталог OwnCloud в корневой каталог для сервера Apache. Для Apache корневой каталог документов:

#cp -r owncloud /path/to/webserver/document-root

где /path/to/webserver/document-root заменяется корневой каталог вашего веб – сервера:

#cp -r owncloud /var/www

Рис12

На других серверах веб-серверов рекомендуется установить OwnCloud вне корневого каталога.

Конфигурируем web сервер Apache

В Debian, Ubuntu, и их производных, Apache устанавливается в нужной для нас фигурации , так что все, что вам нужно сделать, это создать файл в /etc/apache2/sites-available/owncloud.conf со следующим содержанием строк в нем, заменяя директории и другие пути к файлам вашими собственными: расположениями к файлам

# nano /etc/apache2/sites-available/owncloud.conf

Рис14

<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>

Создаем символьную ссылку в /etc/apache2/sites-enabled:

#ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

Дополнительные настройки Apache

Для корректной работы owncloud, мы должны включить модуль mod_rewrite

#a2enmod rewrite

Дополнительно рекомендованные модули mod_headers, mod_env, mod_dir and mod_mime:

#a2enmod headers
#a2enmod env
#a2enmod dir
#a2enmod mime

Также можно использовать mod_fcgi вместо стандартного mod_php

#a2enmod setenvif

Вы должны отключить проверку подлинности сервера для OwnCloud, так как используется обычная проверка подлинности для DAV услуг. Если вы включили проверку подлинности на родительской папке (например , с помощью директивы AuthType Basic), вы можете отключить проверку подлинности специально для записи OwnCloud. После файла конфигурации Приведенный выше пример, добавьте следующую строку в <Directory

Satisfy Any

При использовании SSL, обратите особое внимание на запись ServerName. Вы должны указать такое же имя в конфигурации сервера, а также в поле CommonName сертификата.
Теперь перезапустите Apache:

#service apache2 restart

Если вы используете OwnCloud в подкаталоге и хотите использовать CalDAV или CardDAV для клиентов убедитесь , что вы настроили правильно сервис обнаружения URL

Включение SSL

Вы можете использовать OwnCloud через обычный HTTP, но настоятельно рекомендуется использовать SSL / TLS для шифрования всего трафика сервера, а также для защиты учетных записей пользователя и данных в процессе передачи.
Apache установленный под Ubuntu поставляется уже с настроенным простым самоподписанным сертификатом. Все, что вам нужно сделать, это включить модуль SSL и узел по умолчанию. Откройте терминал и выполните команду:

#a2enmod ssl
#a2ensite default-ssl
#service apache2 reload

Перезагрузите сервис Apache

#service apache2 restart

Установка OwnCloud 9.0

После перезапуска Apache вы должны завершить установку, запустив либо графический мастер установки, или в командной строке с при помощи OCC команд. Для выполнения установки, временно измените разрешения для владельца в каталогах OwnCloud:

#chown -R www-data:www-data /var/www/owncloud/

Запускаем браузер и вводим http://ip-server/owncloud

На экране появиться следующее содержание, осталось только ввести данные и процесс установки OwnCloud закончен.

Setup

Задаем логин – Администратора Owncloud сервера

Вводим пароль администратора Owncloud сервера

Указываем место хранения данных, можно оставить по умолчанию и потом изменить.

Пользователь базы данныхroot

Пароль пользователя базы данных (тот, что мы задавали выше при установке баз данных)

Далее – Завершить установку

Setup-end

 

Views: 6

Установка часового пояса в LINUX

Для того, чтобы установить часовой пояс в командной строке :

  • Ubuntu
#dpkg-reconfigure tzdata
  • RedHat
#redhat-config-date
  • CentOS/Fedora
#system-config-date
  • FreeBSD/XenServer
#tzselect

 

Views: 1

Plex Media Server – настройка часть 1

PlexPlex Media Server – это популярный потоковый медиа-сервер. После установки Plex приступаем к настройке.
Указываем расположение к вашему медиа-контенту и подключаем плагины TV-каналов.
Настройка Plex является одинаковой на всех платформах, поэтому данное руководство применимо к Windows, и OSX, Debian и Ubuntu Linux и т.д.

Настройка Plex Media Server

После того, как вы установили Plex Media Server, для настройки заходим в браузер по ссылке http://localhost:32400/manage/index.html или http://IP-адрес:32400/web/index.html#. Автоматически будет перенаправление на следующий экран:

Принимаем условия лицензионного соглашения:

Plex-1Тут можно задать название вашего медиа сервера, которое Вам нравиться.

Plex-2Можно пропустить и перейти на следующий шаг, а библиотеки с медиа данными добавить позже, как Вам удобнее. Мне потом удобнее добавить библиотеки.

Plex-3Тут Вам решать, отправлять анонимную статистику или нет.

Plex-4Добавим библиотеки с данными

Plex-5Выбираем добавить библиотеку

Plex-6Выбираем тип библиотеки, указываем название библиотеки, выбираем язык.

Plex-7Следующий шаг. Добавляем путь, к вашим видео файлам.

Plex-8

Plex-9

После того, как вы добавили библиотеку, она будет проанализирована Plex, автоматически добавятся подкасты и превью. Процесс добавления новой библиотеки иногда может занимать не одну минуту, все зависит от количества данных.

Plex-10

Добавляйте новые библиотеки с фото, домашним видео, мультиками, сериалами.

Plex-11

Можно добавить каналы IP TV

Plex-12

Plex-13

Plex-14

Plex-15

Ваш медиа сервер готов к использованию.

Настраиваем удаленный доступ к вашему Plex Media Server.

Теперь у вас есть возможность просматривать ваши медиа данные, как на локальном компьютере, так и в локальной сети. Единственное, что потребуется для просмотра, на любом устройстве с браузером и флэш плеером задать сроку в браузере http://ip-address:32400/web

Plex Media Server дает возможность просматривать свои видео и фото не только в локальной сети, но и удаленно, делиться своими фото и видео с друзьями. Для этого надо зарегистрироваться на сайте plex.tv или прямо из вашего Plex Media Server

Plex-16

После регистрации и ввода своей учетной записи, вы можете получить доступ к своим медиа данным, находясь в любой точке земли, где есть интернет.

 

Views: 55

Установка Plex Media Server на Ubuntu 14.х – Домашний медиа-сервер

PlexPlex Media Server – это отличный медиа-сервер, который может обслуживать сразу несколько устройств. Дружелюбный и красивый интерфейс. С его помощью легко и просто создать свой домашний медиа-сервер, который подойдет для всей семьи и друзей. Plex способен выдавать потоковое видео практически для всех устройств: на планшеты, смартфоны под управлением Android и IOS, на компьютеры и ноутбуки и т.д. Если у вас несколько разных телевизоров, нет никаких проблем, Plex так же работает с Chromecast, Amazon Fire TV, Roku, Apple TV, Android TV, Xbox, PlayStation®, NVIDIA® SHIELD™ и многих других моделях смарт-телевизоров с функцией DLNA, прямо из коробки. Plex так же доступен на многих моделях NAS.

Plex дает возможность управлять через один интерфейс всеми вашими медиаданными: фильмами и коллекций ТВ, музыкальными библиотеками, фотографиями и домашним видео. Plex делает красивой и удобной медиа библиотеку, добавляет описания, жанры, плакаты, обложки альбомов

Plex также знает, какие фильмы в данный момент воспроизводятся,  на каком месте вы остановили просмотр и всегда легко можно начать смотреть с последнего момента, или переключиться на следующую серию. Использовать родительский контроль.

Управление данными. Ваши друзья, семья могут получать доступ  к данным находясь не только дома, но и вне дома. Главное Plex позволяет создавать и настраивать пользователей, с разграничением прав доступа, ограничивать доступ к вашему контенту.

Позволяет автоматически загружать и фото с телефона или планшета и делиться ими с друзьями и семьей.

Автоматически получить доступ к высококачественным онлайн трейлерам и дополнять ими вашу библиотеку фильмов. Это далеко не все функции, которыми располагает этот медиа сервер.

Plex изначально разрабатывался как хобби, который далее преобразовался в коммерческий проект.
Plex состоит из двух компонентов.
PlexApp(клиент)
Plex Media Server (серверная часть)
PlexApp,  является клиентской частью системы Plex. Он нужен для управления и воспроизведения видео, фото, музыки с удаленного сервера Plex Media Server.
Кроме того, встроенный сервис Plex Online дает возможность использовать плагины для просмотра он-лайн программ, таких как CNN, Netfix и множества других, которые постоянно пополняются.
Plex Media Server – это серверная часть системы Plex, которая используется для размещение вашего контента и плагинов, которая передает данные на клиенты PlexApp и Plex для  мобильных клиентов, которые могут находиться, как в локальной сети, так и в интернете.Производит транскодирования на лету для мобильных устройств.

Системные требования

Plex Media Server можно запустить на следующих операционных системах
Windows

[spoiler]•    Windows Vista SP2 / Windows Server 2008 SP2
•    Windows 7 SP1 / Windows Server 2008 R2 SP1
•    Windows 8 / Windows Server 2012
•    Windows 8.1 (with Update) / Windows Server 2012 R2 (with Update)
•    Windows 10[/spoiler]

OS X

[spoiler]На 64-bit версиях OS X 10.6.3 (Snow Leopard) или выше. 32-bit версии не поддерживаются.[/spoiler]

Linux

[spoiler]Официальный Plex Media Server релиз, доступен для следующих дистрибутивов Linux:
•    Ubuntu 10.04 и выше
•    Fedora 14 и выше
•    CentOS 6 и выше[/spoiler]

FreeBSD

[spoiler]Plex Media Server доступен и для FreeBSD 9.1 и выше[/spoiler]

CPU

[spoiler]Требования к процессору могут значительно варьироваться, в зависимости от того, как именно вы хотите использовать Plex, какие приложениями Plex вы будете использовать, с какими качеством медиаданных, от количества людей, которые  будут использовать Plex одновременно.
Минимальные требования, рекомендуемые:
•    Intel Core i3 (аналог) или быстрее[/spoiler]

RAM

[spoiler]Обычно для Plex Media Server  хватает и 2Гб оперативной памяти, на некоторых дистрибутивах Linux работает и с меньшим количеством памяти. Конечно больше оперативной памяти не помешает, особенно если вы используете компьютер совместно с другими задачами.
NAS устройства[/spoiler]

Установка Plex Media Server на NAS устройстве – это идеальный вариант, поскольку он позволяет сделать все в одном устройство, т.к. NAS устройство может быть и хранилищем вашего контента Plex Media Server. Однако, не на все NAS устройства, возможно установить Plex Media Server из-за некоторых ограничений, поэтому этот вариант не всегда может быть лучшим выбором для всех.

Установка Plex Media Server на Ubuntu занимает несколько минут.

Вариант №1

Скачиваем с сайта https://www.plex.tv/media-server-downloads/ deb-пакет под вашу операционную систему.

https://downloads.plex.tv/plex-media-server/1.9.6.4429-23901a099/plexmediaserver_1.9.6.4429-23901a099_amd64.deb

wget https://downloads.plex.tv/plex-media-server/1.9.6.4429-23901a099/plexmediaserver_1.9.6.4429-23901a099_amd64.deb

Устанавливаем deb-пакет

sudo dpkg -i plexmediaserver_*_amd64.deb

После установки пакета, служба PlexMediaServer автоматически запускается.

Вариант №2

1) Добавляем gpg-ключ и репозитории исходников

wget -O – http://shell.ninthgate.se/packages/shell.ninthgate.se.gpg.key | sudo apt-key add –
echo “deb http://www.deb-multimedia.org wheezy main non-free” | sudo tee -a /etc/apt/sources.list.d/deb-multimedia.list
echo “deb http://shell.ninthgate.se/packages/debian wheezy main” | sudo tee -a /etc/apt/sources.list.d/plex.list

Запускаем обновление пакетов

sudo apt-get update

Устанавливаем deb-multimedia-keyring

sudo apt-get install deb-multimedia-keyring -y --force-yes

Снова запускаем обновление пакетов

sudo apt-get update

2) Устанавливаем Plex Medis Server

sudo apt-get install plexmediaserver -y

Как видите, процесс очень простой и занимает мало времени, остается теперь зайти в браузер и ввести http://ipaddress:32400/manage/index.htmll#/setup#!/setup

Plex screen

3) Теперь нам предстоит настроить наш медиа сервер

Продолжение

Views: 16

Rsnapshot – резервное копирование

Введение

Rsnapshot – полезная утилита для резервного копирования, написанная на Perl, которая использует Rsync. Rsnapshot позволяет пользователям создавать свои решения для резервного копирования.

Описание

Резервное копирование необходимо для возможности быстрого восстановления данных (документов, фотографий, баз данных, программ, настроек и т.д.). Всегда есть риск потерять данные. Сломался винчестер, случайно удалили нужные вам файлы или поработал вирус. Лучше всегда иметь резервную копию всех своих важных данных.
Как организовать резервное копирование?
Можно самому копировать все нужные файлы на другой диск или внешний накопитель,  на сетевое устройство. Можно воспользоваться облачными сервисами. Но часто мы забываем это делать регулярно и наступает момент, когда нужный нам файл испорчен или удален, а копии у нас нет, или копия слишком стара и в ней нет тех данных, что вы наработали. И тогда приходит четкое осознание того, что лучше этот процесс автоматизировать и пусть архивные копии делаются сами, в автоматическом режиме. И тут возникает вопрос, а как делать копии, ведь если просто копировать каждый день, или по несколько раз в день все данные, то это потребует много места, допустим ваш архив с документами и фотографиями занимает 100Гбт, то каждая последующая копия прибавить +100Гбт. Придется запастись емкими накопителями. Да и копирование таких объемов не за секунды происходит, что совсем не удобно. Поэтому лучше воспользоваться инкрементными копиями “снапшотами”. Инкрементное резервное копирование состоит из одной полной резервной копии, а затем создание дополнительных копий. Эти дополнительные резервные копии только изменившихся файлов, которые изменились с момента последнего резервного копирования.  Это гораздо более эффективный процесс. Одним из таких инструментов в  * NIX системах является rsnapshot.

Подготовка

Для начала вы должны определиться, с какой периодичностью делать резервные копии. Несколько раз в день, или раз в сутки, неделю, месяц? Что для вас предпочтительней, на сколько вам важны данные и как часто они меняются.
Так же следует подготовить место, куда будут производиться копирование резервных копий.

mkdir /mnt/backup – содаем директорию, в которую будут записываться “снапшоты”.

Установка

Установка rsnapshot довольно проста, просто выполните следующую команду от root пользователя:

  • В Debian,Ubuntu:
# apt-get install rsnapshot
  • На Fedora,CentOS:
# yum install rsnapshot

Настройка

По умолчанию создается файл /etc/rsnapshot.conf.default. Его необходимо скопировать в /etc/rsnapshot.conf. Чтобы иметь возможность вернуться к настройкам по умолчанию.
Открываем для редактирования rsnapshot.conf, я обычно пользуюсь редактором nano.

# nano /etc/rsnapshot.conf

Файл конфигурации очень хорошо прокомментирован, что облегчает настройку.

Важное примечание, нельзя использовать “пробелы” только “табуляция”  иначе будет ошибка.

## Все копии будут храниться в этом корневом каталоге (которую мы создали ранее)
snapshot_root   /mnt/backups/

Rsnapshot – позволяет делать несколько уровней резервных копий. Следует обратить внимание, что самый свежий бэкап в списке будет под нулевым номером, остальные бэкапы смещаются вниз на единицу и так по циклу.

##Интервалы создания резервных копий
## Не нужные интервалы можно за комментировать “#”
retain    hourly      6
retain    daily     7
retain    weekly     4
retain    monthly     12

Когда запуститься rsnapshot hourly, будет создана резервная копия в файловой системе, которая будет сохранена в <snapshot_root> /hourly.0/. Первая нулевая копия, самая тяжелая и продолжительная по времени.
Предыдущий hourly.0/ переименуется в hourly.1/. При следующем выполнении hourly.1/ переименуется в hourly.2/ и т.д. по циклу. Так в конце концов то, что было <snapshot_root> /hourly.0, станет <snapshot_root> /hourly.23/ и при следующем запуске /hourly.23/ будет удален. Когда запуститься rsnapshot daily, создастся директория <snapshot_root> /daily.0/ в которую перенесутся резервные данные от <snapshot_root> /hourly.23/, если они существует.
Точно так же, когда запуститься rsnapshot weekly, это создаст <snapshot_root> /weekly.0/ от <snapshot_root> /daily.6/ из резервной копии, если она существует.
Точно так же это правило действует и на следующие уровни, которые описаны в файле конфигурации (monthly и т.д.)

Используя такую конфигурацию мы получим 12 ежемесячных резервных копий, 4 еженедельных, 7 ежедневных и 6 ежечасные и при этом занимаемое место под бэкапы будет минимальным. Т.к. не происходит копирование всех данных, а создаются символьные ссылки.
Если вам не требуется использовать ежечасные копии, следует просто закомментировать в конфигурационном файле retain  hourly и запустить этот же конфиг.

Примечание: Если какие-то интервалы не определены в cron, для избежания ошибок при работе Rsnapshot нужно удалить из него соответствующие строки.

В этом разделе мы задаем rsnapshot пути к данным, с которых нам надо делать резервные копии и куда мы будем их складывать.
Задаем параметр backup, а затем указываем полный путь к данным на локальном ресурсе, так же возможно указать и сетевой ресурс к удаленной машине.
Третий столбец это относительный путь, если вы хотите делать резервные копии, в корне snapshot_root.

###############################
### BACKUP POINTS / SCRIPTS ###
###############################
backup      /home/                              localhost/
backup      /etc/                                   localhost/
backup      /usr/local/                        localhost/
#backup    /var/log/rsnapshot        localhost/
#backup    /etc/passwd                     localhost/

Первый столбец backup определяет точку резервного копирования.
Второй столбец /home/ – путь к данным, которые нам надо сохранять. Обязательно должен заканчиваться /
Третий столбец localhost/ –  относительный путь, куда будет производиться копирование в нашем случае это в директории /mnt/backups/.

В этом примере, /home/ это полный путь к каталогу, с которого мы хотим делать резервные копии, и localhost/ это каталог внутри snapshot_root, куда мы собираемся сохранять их.
Использование localhost в качестве каталога назначения является всего лишь условностью. Вы также можете выбрать, использование полного доменного имени сервера, а не локального хоста.
Если вы принимаете резервные копии из нескольких сетевых машин на одном выделенном сервере резервного копирования, для этого лучше использовать различные имена хостов, как каталоги, чтобы отслеживать, какие файлы с какого-сервера.

Чтобы использовать возможности удаленного резервного копирования rsnapshot надо просто указать удаленный компьютер в качестве источника резервного копирования.
/etc/rsnapshot.conf

###############################
### BACKUP POINTS / SCRIPTS ###
###############################
backup      root@salf-net.ru:/etc/     salf-net.ru/

Это в принципе тоже самое, что и пример выше, но вы должны помнить о некоторых дополнительных параметрах:
SSH-демон должен быть запущен на удаленном хосте salf-net.ru.
Вы должны иметь доступ к учетной записи, заданной на удаленной машины, в этом случае root пользователь на salf-net.ru.
У вас должна быть включена авторизация по ключу для пользователя root на salf-net.ru, без пароля. Если вы хотите выполнять резервное копирование от имени другого пользователя, вы можете указать другого пользователя вместо root для источника (т.е. user@domain.com).
Примечание: Обратите внимание, что разрешение на вход в систему на удаленном хосте без пароля, это очень не безопасно.

Дополнительные скрипты

Существует дополнительные backup_script параметр. С помощью этого параметра во втором столбце указывается полный путь к исполняемому скрипту резервного копирования, а третий столбец -это локальный путь, куда будет производиться копирование.

/etc/rsnapshot.conf

backup_script      /usr/local/bin/backup_mysql.sh       localhost/mysql/

В этом примере rsnapshot будет выполняться скрипт /usr/local/bin/backup_mysql.sh в каталог Temp, затем синхронизирует результаты в localhost/MySQL в/ директорию под snapshot_root.
Сценарий резервного копирования должен выгружать содержимое базы, в текущий рабочий каталог. В скрипте не должна быть задана определенная директория выгрузки . Причина этого заключается в том, что rsnapshot создает Temp директорию, делает в нее выгрузки , запускает скрипт резервного копирования, а затем синхронизирует содержимое каталога Temp в относительный путь, указанный в третьей колонке.
Типовой скрипт резервного копирования будет один, который архивирует содержимое базы данных. Он может выглядеть следующим образом:

backup_mysql.sh

#!/bin/sh
/usr/bin/mysqldump -uroot mydatabase > mydatabase.sql
/bin/chmod 644 mydatabase.sql

Примечание: убедитесь, что бы путь назначения был задан уникальным. Backup script будет полностью перезаписать все файлы в пути назначения, так что если вы указали один и тот же путь назначения дважды, у вас останется только последняя копия сделанной скриптом. К счастью rsnapshot выдаст ошибку, при проверке конфигурационного файла.

Примечание: пожалуйста, помните, что эти скрипты резервного копирования будет выполняться от имени пользователя, запустившего rsnapshot. В нашем Этом примере это root пользователь.
Убедитесь, что ваш backup script принадлежат пользователю root и не доступен другим пользователям. Т.к. любой пользователь, у которого есть права на запись в backup script может дописать в них команды, которые будут выполняться от имени пользователя root. Что может привести, к очень плачевной ситуации.

Так же следует заметить, что можно добавить маску включений/исключений, чтобы не копировать не нужный мусор.

## Список включения/исключений по маске.
exclude *.tmp
exclude ~*
exclude /home/*/.cache
include *.jpg
##Список включений/исключений.
include_file /path/to/include/file #исключено
exclude_file /path/to/exclude/file  #включено

Тестирование конфигурации

Когда вы внесли ваши изменения, вы должны убедиться в правильности параметров и сделать тестирование конфигурации. Для этого запустите rsnapshot с аргументом: configtest

# rsnapshot configtest

Если нет ошибок, выдаст сообщение Syntax ОК. Если обнаружиться проблема, будет указана ошибка. Проверьте, что в конфигурационном файле вы использовали табуляцию, а не пробелы и т. д.

Последний шаг, чтобы проверить свои настройки, запустите rsnapshot в тестовом режиме. Это выведет подробный список действий, которые он будет делать, на самом деле не выполняя их.
Чтобы сделать пробный пуск, выполните эту команду:

# rsnapshot -t hourly

Произойдет имитация резервного копирования hourly.

Первый запуск

# rsnapshot hourly

Будет произведено первое резервное копирование.

Автоматизация с Cron

Если в ручном режиме все прошло нормально, надо добавить задание, для выполнения резервного копирования, в автоматическом режиме.
Для этого отредактируем /etc/cron.d/rsnapshot

# This is a sample cron file for rsnapshot.
# The values used correspond to the examples in /etc/rsnapshot.conf.
# There you can also set the backup points and many other things.
#
# To activate this cron file you have to uncomment the lines below.
# Feel free to adapt it to your needs.00 1 ***        root    /usr/bin/rsnapshot hourly #Кадлый час начиная с 01ч00м
00 3 ***        root    /usr/bin/rsnapshot daily # ежедневная копия начиная с 03ч00м
00 5 **7        root    /usr/bin/rsnapshot weekly #Еженедельная начиная с 05ч00м в Воскресенье
00 12 1**    root    /usr/bin/rsnapshot monthly #Ежемесячно в 12ч.00м 1 числа

Рекомендуется запланировать время выполнения резервного копирование от больших до мелких резервных копий, чтобы предотвратить конфликты между выполнением бэкапов.

Дополнительные команды rsnapshot

rsnapshot du – просмотреть занимаемое место резервными копиями
rsnapshot diff – daily.0 daily.1 – сравнение изменения между резервными копиями

Views: 258

Установка Zimbra 8.6 на Ubuntu 14.04 Server x64

Описание:

Zimbra Collaboration Suite (ZCS) — программный продукт для автоматизации совместной деятельности рабочих групп, созданный компанией Zimbra, находящейся в Сан Матео, штат Калифорния, США. В сентябре 2007 года компания была куплена Yahoo![1], а в январе 2010 VMware объявила о покупке у компании Yahoo подразделения Zimbra. В июле 2013 была куплена компанией Telligent Systems[2]. Среди продуктов для работы с электронной почтой Zimbra вполне может соперничать с Microsoft Exchange[3], а по своим возможностям сравнивается с Google Docs и Google Apps[1].

Более полное описание по ссылке

Системные требования:

Для оценки и тестирование

  • 64-битный процессор с частотой 1,5 ГГц Intel / AMD
    • Требования к оперативной памяти:
    • Для single-server, минимум требуется 8 Гб оперативной памяти.
    • Для установи multi-server, обращайтесь в отдел продаж Zimbra для рекомендаций.
    • 5 Гб свободного места на диске для программного обеспечения и журналов
    • Место под временные файлы для установки и обновлений *
    • Дополнительное дисковое пространство для хранения почты

Для производственной среды

  • Intel / AMD 2.0 ГГц + 64 битный процессор
    • Требования к оперативной памяти:
    • Для установки single-server, минимум требуется 8 Гб оперативной памяти.
    • Для установки multi-server, обращайтесь в отдел продаж Zimbra для рекомендаций.
    • Место под временные файлы для установки и обновлений *
    • 10 Гб свободного дискового пространства для программного обеспечения и журналов (SATA или SCSI для производительности и RAID / Mirroring для резервирование)
    • Дополнительное дисковое пространство для хранения почты
    * Временные файлы: Zimbra требует 5 Гб для /OPT / Zimbra, плюс дополнительное пространство для хранения почты. Разные дополнения еще порядка 100 мегабайт.

Общие требования:

  • Настройка межсетевого экрана. Межсетевой экран должен быть отключен.
    • RAID-5 не рекомендуется для установок с более 100 пользователями.

Шаг 1 – подключиться к серверу, получить привилегии суперпользователя и установить следующие необходимые пакеты.

# apt-get install libgmp10 libperl5.18 unzip pax sysstat sqlite3 libaio1 (если есть DNS сервер)

Понадобится только прописать mx-запись, для вашего почтового сервера.

Если DNS сервера нет, то можно установить BIND или воспользоваться DNSMASQ

# apt-get install libgmp10 libperl5.18 unzip pax sysstat sqlite3 libaio1 dnsmasq (если нет DNS сервера)

Шаг 2 – Настройка сети

Задаем статический IP адрес. Для этого отредактируем файл:

# nano /etc/network/interfaces

 

Настройка хоста и DNS-сервера

Шаг 3 – редактируем файл hostname and hosts

# nano /etc/hostname

Меняем имя хоста на ваш домен такого типа mail.youdomain.ru, в моем случае это mail.salf-net.ru

# nano /etc/hosts

Добавляем такую строку 10.90.2.10   mail.salf-net.ru  mail

Шаг 4 – редактируем файл конфигурации Dnsmasq

# nano /etc/dnsmasq.conf

Добавляем такие строки

server=10.90.1.254 (DNS сервер)

domain=salf-net.ru

mx-host=salf-net.ru, mail.salf-net.ru, 5

mx-host=mail.salf-net.ru, mail.salf-net.ru, 5

listen-address=127.0.0.1

Шаг 5 – Перезагружаем систему

# reboot

Проверяем настройку DNSMASQ

# dig salf-net.ru mx

 

dig mx

Установка Zimbra

Шаг 6 – скачивание дистрибутива с официального сайта

# wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

 

Шаг 7 – разархивирование дистрибутива

# tar -xvf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

Шаг 8 – Установка Zimbra

Заходим в директорию разархивированного дистрибутива.

# cd zcs*

Зупуск установки

# ./install.sh


На вопрос  согласны ли мы с лицензией:

Do you agree with the terms of the software license agreement? [N]

Тут надо нажать: “Y” и подтвердить Enter.

На данном этапе, Zimbra проверит необходимые пакеты и попросит вас согласиться на их установку.

Далее выбираем необходимые нам пакеты:

Zimbra-ldap обязателен, если не используете сторонний ldap сервер.

Zimbra-DNSCache нам не требуется, потому что мы используем Dnsmasq.

Zimbra-Proxy мне тоже не нужен.

На запрос

The system will be modified.  Continue? [N]

Нажимаем “Y”

Ожидаем некоторое время.

Шаг 9 – настройка “Zimbra-store”

Надо задать пароль администратора.

Выбираем 6 Enter

Потом 4 Enter

Вводим пароль администратора.

Теперь введем букву “r” и нажмем Enter.

В меню:

*** CONFIGURATION COMPLETE – press “a” to apply

И на запрос Select from menu, or press “a” to apply config (? -help) введем букву “a” и нажмем Enter.

На запрос

Save configuration data to a file? [Yes] 

введем y и нажмем Enter.
Следующий вопрос

Save config in file: [/opt/zimbra/config.9020] 

нажимаем Enter (по умолчанию) или новое имя файла, в который будет сохранена конфигурация.
На запрос

The system will be modified – continue? [No]

введем “y” и нажмем Enter.

Далее выбираем “a” для применения конфигурации и далее “y”

Шаг 10 – Проверяем работу сервисов

Заходим под пользователем zimbra:

# sudo su zimbra

Выполняем команду

# zmcontrol status

Вывод должен быть таким:

После этого можно зайти через вэб-интерфейс

https://mail.salf-net.ru:7071 для администрирования zimbra сервер

http://mail.server.ru или https://mail.salf-net.ru для входа в вэб-клиент.

Views: 41

OwnCloud 8.1.1 размер загружаемого файла 513MB

Столкнулся с такой проблемой проблемкой, после обновления OwnCloud 7 версии до OwnCloud 8.1.1 (stable) максимальный размер загружаемого файла стал 513МБ, как-то такой объем меня не удовлетворяет. А на попытки изменить это значение в админке самого ownCloud выдает, что нет прав.

Рис1

Подумал, полез в настройки php.ini

Рис2

Все на месте upload_max_files=5000M все должно работать, ага проблема же с правами

Открываем

# nano /var/www/owncloud/.htaccess

Там находим строки

php_value upload_max_filesize =

php_value post_max_size =

И выставляем нужный нам параметр

php_value upload_max_filesize =5G

php_value post_max_size =5G

Рис3

После этого сохраняем, делаем рестарт apache

# service apache2 restart

Заходим в админку OwnCloud, все хорош и это радует.

Рис4

Views: 24

Ubuntu 14.04/14.10, монтирование папки по ssh

Монтирование папки по ssh.

SSHFS (Secure SHell FileSystem) это файловая система для Linux (и других операционных систем, для которых существует реализация FUSE (Filesystem in Userspace), например Mac OS X), используемая для удаленного управления файлами по протоколу SSH (точнее, его расширению SFTP) таким образом, как будто они находятся на локальном компьютере.

При наличии доступа к ПК или серверу через ssh, можно примонтировать любую папку удаленного ПК и использовать ее как-будто это локальная папка.

Для этого надо установить sshfs

sudo apt-get install sshfs

sshfs работает по ssh, поэтому обязательно наличие действующего ssh соединения

sshfs user@server:/home/user/folder /sshfs/folder -o uid=1000,gid=1000

Подключение идентично подключению по ssh, надо указать пользователя, после @ адрес сервера(server) и папку, которую требуется монтировать, указать путь на нашем компьютере, в которую будем монтировать.

Где:

  • username – Имя пользователя на сервере
  • server – Адрес сервера (ip или домен)
  • /home/user/folder – Нужная папка на сервере, к которой производиться подключение
  • /sshfs/folder – Папка на вашем компьютере, в которую будет происходить монтирование
  • -o uid=1000,gid=1000 – Параметры подключения

Все, директория примонтирована.

Если требуется отмонтировать директорию, нужно выполнить

fusermount -u /sshfs_folder

Views: 2

Пакетное переименование файлов

Иногда бывает нужно переименовать большое количество файлов в соответствии с каким-либо правилом. Например, мне было нужно немного систематизировать файлы в папке с обоями для рабочего стола, для чего я их решил переименовать таким образом, чтобы название каждого файла в этой папке начиналось с разрешения wallpaper’а. Естественно, что вручную переименование файлов заняло бы очень много времени. Но была найдена простенькая программа, с помощью которой можно пакетно переименовывать файлы в папке, называется она GPRename.

Установка

Для установки GPRename, наберите в терминале:

sudo apt-get install gprename

Использование и возможности

В использовании программа очень проста. Выбираем папку в которой нужно переименовывать файлы, задаём правила для переименования, нажимаем кнопку Prewiew (Предпросмотр), далее нажимаем кнопку Rename (Переименовать).

Основные возможности:
Вкладка CaseChange — изменение регистра букв в названии файла.
На этой вкладке доступны следующие опции: есть возможность сделать все буквы заглавными в названии файлов (например: WALLPAPER-FIRST.PNG), сделать только первую букву прописной (пример: Wallpaper-first.png), сделать все буквы прописными (пример: wallpaper-first.png), сделать прописной только первую букву и букву начинающуюся после определённого символа (например после символа “-”: Wallpaper-First.png)
Вкладка Insert/Delete — вставка/удаление символов в имена файлов.
На этой вкладке доступны следующие опции: вставка текста в имена файлов после определенной позиции и удаление текста из имен файлов от указанной позиции до указанной позиции.
Вкладка Replace/Remove — замена/удаление текста в именах файлов.
Вкладка Numerical — нумерация. Позволяет пронумеровать имена файлов с определённым шагом.

Views: 0