Многофункциональный сервер на Ubuntu

Многофункциональный сервер для организации на Ubuntu

Содержание

  1. Введение
  2. Компоненты сервера
  3. Конфигурация сервера(требования)
  4. Установка Samba+DNS+DHCP+BIND9
  5. Установка Squid
  6. Установка webmin и добавление пользователей в samba
  7. Установка ONLYOFFICE COMMUNITY SERVER + DOCUMENT SERVER
  8. Заключение
  9. Скачать образ сервера

1.Введение

Начнем с того, что же с подвигло меня к написанию данной статьи. В одной из своих статей, я описывал процесс создания контроллера домена на ubuntu server — samba4.3samba 4.4. Особенностью этого поста заключалась в том, что мы использовали встроенный Днс сервер samba в связке с контроллером домена samba. Но я решил пойти дальше, почему бы не написать подробный, объемный мануал, о том как создать универсальное решение, которое затрагиваем минимум ресурсов и обеспечивает широкий функционал. Моя статья не претендует на оригинальность,многие скажут что она, по сути своей, является «солянкой» из многих статей в сети. Я не отрицаю этого, но всё у меня есть предложение, которое, как мне кажется, может помочь многим начинающим  ИТ специалистам в организации сетевой инфраструктуры в организации до 200 человек, а может и более. Тем более, что все решения, которые будут расписаны в данной статье являются абсолютно бесплатными, т.е основные затраты лягут на использование рабочего времени ИТ специалиста, который будет заниматься их внедрением,а так же на обучение персонала пользованием получившейся системы.

2. Итак, какие же компоненты мы будет использовать:

  • контроллер домена на Samba — для единой авторизации пользователей;
  • Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и HTTPS.
  • ONLYOFFICE community server + ONLYOFFICE document server— это офисный пакет для работы онлайн, интегрированный с CRM, системой для управления документами, проектами, Диаграммой Ганта и почтовым сервером. ONLYOFFICE написан на ASP.NET и доступен на 21 языке (на 1 декабря 2015 года). На ubuntu портирован под mono.

3. Конфигурация сервера(требования)

PC x64

4 gb ram

4 ядерный процессор

2 сетевые карты(1-смотрит в локалку, 2-предоставляет интернет)

HDD для хранения данных(+1 для зеркалирования)

Ubuntu server 14.04.2 — именной !!!!!14.04.2!!!!!!. На 14.04.3 — не заводится ONLYOFFICE — не приходят письма активации. Н 14.04.4 не пробывал.

Еще один пк для onlyoffice document server, так же можно реализовать через KVM или любой другой гипервизор, тогда понадобится более мощная конфигурация.

 4. Установка SAMBA+DNS+DHCP

Итак представим, что у нас у же есть машина с установленным ubuntu server 14.04.2 и реализованным raid0(на всякий случай). Рекомендую сразу продумать механизм резервного копирования, благо в интернете их полно, по этому, писать статью на эту тему не буду, по красней мере пока. Имя сервера — main. Домен — AVANPOST. Зона — Avanpost.local.

У нас есть 2 сетевые карты

eth0 — смотрит в локалку.

eth1 — смотрит в интернет.

Настройки сети хранятся в файле /etc/network/interfaces
Редактируем его на свой вкус. В качестве редактора можно использовать nano, vi и т.п.
Для редактирования файлов понадобятся root права, их можно получить например командой

sudo -i

после этого, Вы будете работать из под пользователя root.
Либо Вы можете перед каждой командой, которая требует root доступа, приписывать sudo

sudo nano /etc/network/interfaces

В моем случае они выглядят вот так(для рабочей конфигурации):

auto eth0
 iface eth0 inet static
 address 192.168.0.1
 netmask 255.255.255.0
 dns-nameservers 192.168.0.1
 dns-search avanpost.local avanpost
#смотрит в интернет
 auto eth1
 iface eth1 inet dhcp

После изменения сетевых настроек необходимо перезапустить сетевой сервис
/etc/init.d/networking restart

Отредактируем файл hosts

sudo nano /etc/hosts

127.0.0.1 localhost
127.0.1.1 main.avanpost.local main
192.168.0.1 main.avanpost.local main

3. Установка Samba+DNS+DHCP+BIND9

Ставим ssh(must have)

sudo apt-get install ssh

Обновляемся

sudo apt-get update && sudo apt-get upgrade

Ставим сервер времени для синхронизации

sudo apt-get install ntp

Samba возьмём из github’a и соберем. Но до этого установим необходимые пакеты:

sudo apt-get install git checkinstall build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr docbook-xsl libcups2-dev acl

Для корректной работы Samba потребуется поддержка vfs на уровне файловой системы, для этого внесем изменения в /etc/fstab, необходимо добавить user_xattr,acl,barrier=1 в настройки корневого раздела /

nano /etc/fstab

должна получится строка, что-то вроде этой:

UUID=1423481c-210f-4076-92a6-48f6ce2b1339 /         ext4    user_xattr, acl, barrier=1, errors=remount-ro 0 1

после чего ребутимся

reboot

Не забываем про root права

sudo su

Устанавливаем  последнюю стабильную версию Samba  (4.4).

Делаем все по порядку — переходим в каталог, гиттим, переходим в исходники, собираем и устанавливаем(занятие продолжительное)

cd /usr/src
git clone -b v4-4-stable git://git.samba.org/samba.git samba-v4-4-stable
cd /usr/src/samba-v4-4-stable
./configure --enable-debug && make && checkinstall

Обязательно укажите версию пакета, после того как пройдет сборка  выйдет следующее окно

samba 4.4 ubuntu

На следующие запрос отвечаем «N»

samba 4.4 ubuntu2

На запрос об исключение исходных файлов из сборки пакета отвечаем «Y»

samba 4.4 ubuntu3

Ждем пока файлы скопируются во временный каталог и закончится установка.

После установки отредактируем файл прописав  пути до исполняемых файлов /usr/local/samba/sbin и /usr/local/samba/bin в файлах /etc/sudoers

переменная secure_path и /etc/environment переменная PATH, добавив строку :/usr/local/samba/sbin:/usr/local/samba/bin

 nano /etc/sudoers

должна получится строчка что-то вроде этой:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/samba/sbin:/usr/local/samba/bin"
nano /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/samba/sbin:/usr/local/samba/bin"

РЕБУТИМСЯ

sudo reboot

Настраиваем AD SAMBA

Для манипуляций с AD в Samba существует инструмент samba-tool.
Для первоначальной настройки Samba вводим команду

sudo samba-tool domain provision --use-rfc2307 --interactive

Появится окно ввода параметров

1.  Realm - вводим что-то типа этого avanpost.local
2. Domain - Avanpost
3. Server role  - dc
4. DNS Backened -BIND9_DLZ
5. DNS FORWARDER IP ADRESS - 192.168.0.1
6. Administrator password: - Cbrt32467

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

 sudo samba-tool domain passwordsettings set --min-pwd-length=6 --complexity=off --max-pwd-age=0 --min-pwd-age=0

эта команда отключает требование сложности, отключает сроки действия паролей, устанавливает минимальную длину пароля 6 символов

эта команда упрощает требования к паролю
Если же пароль не подошел по сложности и Вы увидели ошибку вроде этой:

ERROR(ldb): uncaught exception — 0000052D: Constraint violation — check_password_restrictions: the password is too short. It should be equal or longer than 7 characters!

то перед повторным выполнением первоначальной настройки, необходимо удалить содержимое каталогов /usr/local/samba/private/ и /usr/local/samba/etc/

Далее необходимо подправить настройки Samba и добавить туда следующие строки в секцию [global]

sudo nano  /usr/local/samba/etc/smb.conf
allow dns updates = nonsecure and secure
 printing = bsd
 printcap name = /dev/null

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

В файле /etc/resolvconf/resolv.conf.d/head необходимо указать наш DNS-сервер Samba 127.0.0.1

sudo su
echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head

и перезапустить сервис resolvconf

service resolvconf restart

Также установим Kerberos клиент

apt-get install krb5-user

и настроим на AD с помощью файла созданного на этапе samba-tool domain provision

mv /etc/krb5.conf /etc/krb5.conf.old
cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

Для автоматического запуска сервиса Samba необходим скрипт:

sudo nano /etc/init.d/samba4

Вставляем код

#! /bin/sh
### BEGIN INIT INFO
# Provides: samba4
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start Samba daemons
### END INIT INFO
#
# Start/stops the Samba daemon (samba).
# Adapted from the Samba 3 packages.
#
PIDDIR=/var/run/samba
SAMBAPID=$PIDDIR/samba.pid
# clear conflicting settings from the environment
unset TMPDIR
# See if the daemon and the config file are there
test -x /usr/local/samba/sbin/samba -a -r /usr/local/samba/etc/smb.conf || exit 0
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting Samba 4 daemon" "samba"
# Make sure we have our PIDDIR, even if it’s on a tmpfs
install -o root -g root -m 755 -d $PIDDIR
if ! start-stop-daemon --start --quiet --oknodo --exec /usr/local/samba/sbin/samba -- -D; then
log_end_msg 1
exit 1
fi
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping Samba 4 daemon" "samba"
start-stop-daemon --stop --quiet --name samba $SAMBAPID
# Wait a little and remove stale PID file
sleep 1
if [ -f $SAMBAPID ] && ! ps h `cat $SAMBAPID` > /dev/null
then
# Stale PID file (samba was succesfully stopped),
# remove it (should be removed by samba itself IMHO.)
rm -f $SAMBAPID
fi
log_end_msg 0
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/samba4 {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0

Сохраняем. Его необходимо сделать исполняемым

chmod 755 /etc/init.d/samba4
chmod +x /etc/init.d/samba4

и создать настройки по-умолчанию

update-rc.d samba4 defaults

Перезагружаем компьютер

reboot

Устанавливаем и настраиваем DHCP

Теперь приступим к установке DHCP сервера(для раздачи адресов)

sudo aptitude install isc-dhcp-server -y

Может выйти сообщения, что пакеты невозможно идентифицировать — нажимаем y и нажимаем Enter.

редактируем конфиг

sudo nano /etc/default/isc-dhcp-server

Устанавливаем и настраиваем DHCP
и добавим в поле INTERFACES=”” в кавычках, интерфейс карты, которая смотрит в локальную сеть (в моем случае это eth0)

Сохраняем (Ctrl+O) и закрываем (Ctrl+X).
Далее открываем файл конфигурации

sudo nano /etc/dhcp/dhcpd.conf

Так как мой сервер DHCP будет единственным в сети, в первую очередь снимаем знак # перед authoritative;

Строки:

default-lease-time 600;
max-lease-time 7200;

нужно закомментировать (поставить перед ними знак #). Эти настройки мы будем указывать в другом месте.

Следующим этапом будет внесение диапазона выдаваемых адресов и срока их аренды

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.254;
option domain-name-servers 192.168.0.1;
option domain-name "avanpost.local";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 604800;
max-lease-time 604800; }
Устанавливаем и настраиваем DHCP

Сохраняем (Ctrl+O) и закрываем (Ctrl+X), после этого перезапускаем службу DHCP

Диапазон адресов 192.168.0.10 – 192.168.0.254
DNS сервер 192.168.0.1
Доменное имя “avanpost.local”
Шлюз по умолчанию 192.168.0.1
Широковещательный адрес 192.168.0.255
Срок аренды 604800 секунд

sudo /etc/init.d/isc-dhcp-server restart

В ответ должны получить вот такой ответ

root@main:/home/human# sudo /etc/init.d/isc-dhcp-server restart
 * Stopping ISC DHCP server dhcpd [ OK ]
 * Starting ISC DHCP server dhcpd [ OK ]

Устанавливаем и конфигурируем BIND9

sudo apt-get install bind9
sudo nano /etc/bind/named.conf.options

и приводим файл к следующему виду(заменяя ip-адреса на свои):

options {
 directory "/var/cache/bind";
 auth-nxdomain yes;
 forwarders { 8.8.8.8;
192.168.0.1; };
 listen-on {
 127.0.0.1;
 192.168.0.1;
 };
 allow-transfer { none; };
 notify no;
 empty-zones-enable no;
 allow-query {
 192.168.0.0/24;
 };
 allow-recursion {
 192.168.0.0/24;
 };
 allow-update {
 192.168.0.0/24;
 };
};

Включаем в конфиг bind9 конфиг samba4

 sudo nano /etc/bind/named.conf

и дописываем в конец файла:

 include "/usr/local/samba/private/named.conf";

Меняем конфиг для использования bind 9.9

 sudo nano /usr/local/samba/private/named.conf

приводим к виду — в моем случае все было ОК — ничего не менял ( не забывем что у нас 64 битная linux):

 dlz "AD DNS Zone" {
 # For BIND 9.8.0
 # database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so";
# For BIND 9.9.0
 database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";
 };
 Далее, подправим конфиг apparmor разрешая bind9 использовать необходимые файлы(наша samba собралась и установилась в /usr/local/samba:
sudo nano /etc/apparmor.d/usr.sbin.named
в конец файла, до »}» вставляем:
 # for samba4
 #/usr/local/samba/private/** r,
 /usr/local/samba/** rkm,
 /usr/local/samba/lib/bind9/** m,
 /usr/local/samba/lib/ldb/** m,
 /usr/local/samba/lib/gensec/krb5.so m,
 /usr/local/samba/private/dns.keytab rwk,
 /usr/local/samba/private/named.conf r,
 /usr/local/samba/private/dns/** rwk,
 /usr/local/samba/private/krb5.conf r,
 /var/tmp/** rwk,
 /dev/urandom rwk,

Перезапускаем службы:
sudo service apparmor restart
sudo service bind9 restart

 Проверяем работоспособность samba

У нас должна быть запущена samba после перезагрузки

ps aux | grep samba

root 865 0.3 3.0 95408 31748? Ss 18:59 0:00 /usr/local/samba/sbin/samba -D

Должен работать DNS сервер

nslookup main

Server: 127.0.0.1
Address: 127.0.0.1#53

Name: dc1.avanpost.local
Address: 192.168.0.1

Должны быть доступны сетевые ресурсы AD

smbclient -L localhost -U%

Domain=[AVANPOST] OS=[Windows 6.1] Server=[Samba 4.3.4]

Sharename       Type      Comment
———       —-      ——-
netlogon        Disk
sysvol          Disk
IPC$            IPC       IPC Service (Samba 4.3.4)
Domain=[AVANPOST] OS=[Windows 6.1] Server=[Samba 4.3.4]

Server               Comment
———            ——-

Workgroup            Master
———            ——-

Должен подключаться Kerberos

sudo kinit administrator

Warning: Your password will expire in 41 days on Пт. 11 марта 2016 14:53:14

Должен храниться Ticket kerberos’a

klist

Valid starting Expires Service principal
29.01.2016 15:19:09 30.01.2016 01:19:09 krbtgt/AVANPOST.LOCAL@AVANPOST.LOCAL
renew until 30.01.2016 15:19:07

Должна проходить аутентификация netlogon

Domain=[AVANPOST] OS=[Windows 6.1] Server=[Samba 4.4.0rc4]
 . D 0 Sat Mar 12 16:16:24 2016
 .. D 0 Sat Mar 12 16:16:33 2016
 33895168 blocks of size 1024. 28905268 blocks available

На этом данный этап завершён. Перейдем к установке SQUID

5. Установка Squid

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

Создадим файл с настройками

sudo touch /etc/nat

Вставим в него содержимое

sudo nano /etc/nat

#!/bin/sh
#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
#Разрешаем траффик на lo
iptables -A INPUT -i lo -j ACCEPT
#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
#Включаем NAT
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
#Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth1 -o eth0 -j REJECT

Сохраняем(ctrl+O и crtl+x) и делаем исполняемым

sudo chmod +x /etc/nat

Добавим запуск NATа (строку post-up /etc/nat) в файл настройками:

sudo nano /etc/network/interfaces

в конец файла вставляем

post-up /etc/nat

Сохраняем и ребутимcя

После ребута продолжаем установку

sudo aptitude install squid3 -y

После установки откроем файл /etc/squid3/squid.conf

sudo nano /etc/squid3/squid.conf

Найдем строку http_port и преведем ее к следующему виду

http_port 3129
http_port 192.168.0.1:3128 intercept

т.е. наш прокси будет на ip 192.168.0.1 порте 3128 и он будет прозрачным, т.е. не надо будет ее прописывать в настройках браузера, так же если наш сервер прозрачный, то надо добавить еще один порт — 3129.

Теперь, нужно указать сеть в которой будет работать наш прокси сервер, для этого раскомментируем строку acl localnet src 192.168.0.0/16 # RFC1918 possible internal network и укажем префикс маски сети 24 ( у нас маска 255.255.255.0). В итоге строка будет такая:

acl localnet src 192.168.0.0/24 # RFC1918 possible internal network

Будет так

squid3-2

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

http_access allow localnet
squid3-3

Теперь настроим кэширование. Найдем эту строку и преведем её к данному виду

cache_dir ufs /var/spool/squid3 2048 16 256

Далее раскомметируем строки:

maximum_object_size 100 MB
maximum_object_size_in_memory 512 KB
cache_mem 256 MB

Подробнее:

maximum_object_size 100 MB — максимальный размер кэшируемого объекта
maximum_object_size_in_memory 512 KB — максимальный объем кэшированного объекта в памяти
cache_mem 256 MB — допустимый объем памяти.

Теперь настроим ведение логов:

access_log daemon:/var/log/squid3/access.log squid

и ниже, вставим строку — время хранения логов в днях, далее перезапись.

logfile_rotate 31

Сохраняемся. Мы настроивали кэширование страниц в памяти, тем самым снизив нагрузку на канал сети и ускорив загрузку страниц.

Теперь надо сделать так, чтобы весь трафик для наших клиентов сети шёл через наш прокси, для этого добавим строку в наш файл /etc/nat

sudo nano /etc/nat

В конец вставим эту строку

# Заворачиваем http на прокси
sudo iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/24 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128

 

Сохраняемся и ребутимя. На этом настройка прокси закончена. Теперь ваши компьютеры будут получать адрес по DHCP и иметь выход в интернет.

6.Установка webmin и добавление пользователей в samba

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

sudo nano /etc/apt/sources.list

вставляем строку

deb https://download.webmin.com/download/repository sarge contrib

Сохраняемся. Добаляем ключи

wget https://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
Устанавливаем
sudo apt-get update&&sudo apt-get install webmin -y

Теперь webmin доступен на адресе https://192.168.0.1:10000

Открываем webmin, в настройках ставим русский язык. Переход во вкладку неиспользумые модули и выбираем SAmba. Кликаем по настройки модуля, так как наша samba собрана из исходников то нам придется произвести небольшие настройки.

webmin samba

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

webmin настройка samba

Нажимаем сохранить. Появится окно, значит все настройки прошли нормально.

webmin настройка samba

Теперь можем добавлять пользователей, делается это через «Система»>»Пользователи и Группы»>»Создать нового пользователя»

webmin настройка samba

Здесь можно создать только пользователя системы, чтобы добавить пользователя samba необходимо воспользоваться командой, так как webmin пока не дружит с samba 4.4 и в окне пользователи выдается такая ошибка

webmin настройка samba

Поэтому пользователей будем заводить либо через консоль либо средствами администрирования для windows — пакетом Adminpak.msi: для Windows7, для Vista + RSAT, для Windows XP Pro + вторая часть.

Устанавливаем, МЕНЮ ПУСК > Выполнить, вбиваем dsa.ms.

6. Установка ONLYOFFICE COMMUNITY SERVER + DOCUMENT SERVER

Про onlyoffice читайте здесь. После того, как мы произвели настройку нашей системы ALL-IN-ONE. Нам останется установить onlyoffice-communityserver и onlyoffice document server. Производители рекомендуют размещать их на разных серверах. В нашем случае мы разместит Community server на нащем сервере, а документ сервер на виртуальной машине. Да и коммьюнити сервер кинем на порт 81, чтобы не было конфликта (так как мы еще юзаем squid).

6.1 Установка ONLYOFFICE COMMUNITY SERVER

Установка Community Server

Будем ставить через Docker. Устанавливаем последнюю версию докера

sudo su

touch /etc/apt/sources.list.d/docker.list

nano /etc/apt/sources.list.d/docker.list

Вставляем строку в файл

deb https://apt.dockerproject.org/repo ubuntu-trusty main

Сохраняемся. Добавляем ключ

sudo apt-key adv —keyserver hkp://p80.pool.sks-keyservers.net:80 —recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Обновляемся

sudo apt-get update

Устанавливаем linux image extra. Для этого делаем

sudo apt-get install linux-image-extra-$(uname -r)

Если надо будет система доустановит необходимые пакеты.

Ставим сам докер

sudo apt-get install docker-engine

Устанавливаем и запускаем ONLYOFFICE COMMUNITY SERVER

sudo docker run -i -t -d -p 81:80 onlyoffice/communityserver

Ждем. После окончания он доступен по https://192.168.0.1:81 . Можем стразу настроить

Сохранение данных вне контейнеров

Все данные хранятся в специально отведенных для этого каталогах, томах данных, которые находятся по следующему адресу:

  • /var/log/onlyoffice для лог-файлов Document Server
  • /var/www/onlyoffice/Data для сертификатов

Для получения доступа к данным извне контейнера надо монтировать папку хоста к контейнеру. Это можно сделать, указав значение параметра -v в команде docker run.

sudo docker run -i -t -d -p 81:80 \
    -v /opt/onlyoffice/Logs:/var/log/onlyoffice  \
    -v /opt/onlyoffice/Data:/var/www/onlyoffice/Data  onlyoffice/documentserver
Пожалуйста, обратите внимание на то, что, если вы пытаетесь монтировать еще не созданные папки, эти папки будут созданы, но доступ к ним будет ограничен. Вам понадобится изменить права доступа к ним вручную.
Сохранение данных на хост-компьютере позволяет при выходе новой версии легко обновлять Document Server без потери данных.

Теперь нам необходимо на другой машине установить ONLYOFFICE DOCUMENT SERVER.

6.2 Установка ONLYOFFICE DOCUMENT SERVER

Document Server — это офисный пакет для работы онлайн, который включает в себя просмотрщики и редакторы текстовых документов, электронных таблиц и презентаций, полностью совместимые с форматами Office Open XML: .docx, .xlsx, .pptx и позволяющие совместно редактировать документы в режиме реального времени.

Функциональность

  • Редактор документов
  • Редактор электронных таблиц
  • Редактор презентаций
  • Приложение Documents для iOS
  • Совместное редактирование
  • Поддержка иероглифов
  • Поддержка всех популярных форматов: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Перейдем к установке. Устанавливать будем на чистую ubuntu 14.04. Подробно описывать не буду, но я думаю что благодаря моей инструкции Вам все будет ясно. Требования:

  • Процессор
    двухъядерный с тактовой частотой 2 ГГц или лучше
  • Оперативная память
    не менее 2 Гб
  • Свободное место на жестком диске
    не менее 2 Гб
  • Дополнительные требования
    не менее 2 Гб для файла подкачки
  • Операционная система
    64-битный дистрибутив Debian, Ubuntu или другой совместимый дистрибутив с версией ядра 3.8 или выше
  • Дополнительные требования
    • mono: версия 4.0.0 или выше
    • MySQL: версия 5.6.4 или выше
    • nginx: версия 1.3.13 или выше
    • nodejs: версия 0.12 или выше
    • libstdc++6: версия 4.9 или выше

Ставим последний mono:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian wheezy/snapshots/3.12.0 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

Ставим сам пакет документ сервера:

sudo wget https://download.onlyoffice.com/repo/onlyoffice.key
sudo apt-key add onlyoffice.key

Добавляем источник:

sudo nano /etc/apt/sources.list

Строку в конец:

deb https://download.onlyoffice.com/repo/debian squeeze main

Обновляемся и ставим:

sudo apt-get update &&sudo apt-get install onlyoffice-documentserver -y

Можно также поставить через докер. Инструкция здесь.

Ну все, теперь нам осталось запустить Onlyoffice community server, активировать его и произвести настройки. В настройках добавим сервис документов — любой справится. Так же добавим пользователей в наш Community Onlyoffice и вуаля. Инфраструктура готова.

7. Заключение

Что хотелось бы сказать в заключении. Как мы видим open source за последние годы шагнул далеко вперед и перестал быть уделом «гиков». В настоящее время любой IT специалист может развернуть функциональную сетевую инфраструктуру с минимальным затратами. Что же мы получили в итоге:

  • готовый контролер домена на последней версии samba 4.4;

  • DNS -сервер bind9;

  • DHCP сервер;

  • кэширующий прокси-сервер squid3;

  • Onlyoffice — офисный пакет для работы онлайн, интегрированный с CRM, системой для управления документами, проектами, Диаграммой Ганта и почтовым сервером.

Сколько средств мы затратили на покупку программного обеспечения?

0 рублей 0 копеек.

Какой потенциал у нашей системы?

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

Примечание. Для запуска onlyoffice после перезагрузки необходимо запускать команду

sudo docker run -i -t -d -p 81:80 onlyoffice/communityserver

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

Готовый сервер на virtualbox можете скачать здесь. Как его перевести в kvm?

qemu-img convert -f vdi -O qcow2 "ЧИСТАЯ ubuntu-server-x64.vdi" multifuntc.qcow2

Особенности образа:
-ubuntu server 14.04.4 x64;
-всё как в статье:
-удалите apache2 перед работой(sudo apt-get purge apache2)
-вам ничего не надо делать, только развернуть
-пользователь — human; пароль — 2456;
-размер — 2.gb в архиве, распакованный около 9gb.
-samba4.4rc. Пользователь Administrator, пароль Cbrt32456;

3 thoughts on “Многофункциональный сервер на Ubuntu

  1. — большая часть lib… из списка доп пакетов, не устанавливается ((( сообщает, что невозможно установить, а так же есть held битые пакеты.
    — XATTR нет в обще в конфиге, добавить просто строчкой как у вас?
    — UUID=1423481c-210f-4076-92a6-48f6ce2b1339 / ext4 user_xattr, acl, barrier=1, errors=remount-ro 0 1 — это ваш
    в моем ….. ext2 defoults 0 2 — исправить как у вас?

  2. Итак представим, что у нас у же есть машина с установленным ubuntu server 14.04.2 и реализованным raid0(на всякий случай)

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

    «Для корректной работы Samba потребуется поддержка vfs на уровне файловой системы, для этого внесем изменения в /etc/fstab, необходимо добавить user_xattr,acl,barrier=1 в настройки корневого раздела /»

  3. #смотрит в интернет
    auto eth1
    iface eth0 inet dhcp

    вот тут наверное ошибка? eth0 и eth1

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *