View Single Post
  #1  
Old 03-17-2025, 02:21 AM

blackedd blackedd is offline
Join Date: Mar 2024
Posts: 146
Default


Поднимаем личное облако с шифрованием (2015)
Всем привет!
Сегодня у расскажу как поднять собственное облако с шифрованием всех хранимых данных. В качестве ОС будет использован Linux.
И так, приступим. Для начала зайдём на наш сервер используя SSH и выполним несколько команд:
ВНИМАНИЕ! Далее всё будет выполняться от пользователя root.
Для Debian/Ubuntu/Mint:

Code:
apt-get update
apt-get install python2.7 python-setuptools python-simplejson python-imaging python-mysqldb mysql-server mysql mysql-client

Для CentOS/RedHat:
Code:
yum update -y
yum install -y python-imaging MySQL-python python-simplejson python-setuptools mysql-server mysql mysql-client

Для Fedora:
Code:
dnf update -y
dnf install -y python-imaging MySQL-python python-simplejson python-setuptools mysql-server mysql mysql-client

Code:
service mysqld start

В процессе установки сервера с mysql, установщик попросит ввести (установить) пароль для пользователя root, устанавливаем какой будет удобно.
Далее нужно создать пользователя от которого будет работать облако, задать ему пароль и права на его рабочие папки, ну и сразу залогинимся под ним. Для этого выполним несколько простых команд:

ВНИМАНИЕ! Далее всё будет выполняться от пользователя root.
Code:
adduser seafile
passwd seafile
mkdir -p /usr/local/www/seafile
chwon seafile:seafile /usr/local/www/seafile
su - seafile
cd /usr/local/www/seafile

И сразу же подготовим базу данных для нашего облака(не забываем изменить "password" на какой то более сложный пароль, а так же имя пользователя "seafile"):
Code:
mysql -u root -p
create database `ccnet-db`;
create database `seafile-db`;
create database `seahub-db`;
create user 'seafile'@'localhost' identified by 'password';
GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`@`localhost`;
GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`@`localhost`;
GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`@`localhost`;
FLUSH PRIVILEGES;
exit;

Далее необходимо скачать файлы самого облака, делается это вот так
Для х32:
Code:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.0.2_i386.tar.gz

Для х64:
Code:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.0.2_x86-64.tar.gz

После того как скачали сам дистрибутив облака, приступим к установке и настройке:
Code:
tar -xzf seafile-server_*
cd seafile-server-*
./setup-seafile-mysql.sh

Далее запустится установщик и будет задавать нам вопросы. Сейчас расскажу что лучше на них отвечать:
Code:
What is the name of your server? = прописываем имя сервера(например 0xB16B00B5_cloud).
What is the IP or domain of the server? = IP адрес сервера или доменное имя.
Which port do you want to use for ccnet server? = нажимаем [Enter].
Where do you want to put seafile data? = вводим /usr/local/www/seafile/seafile-data и нажимаем [Enter].
Which port do you want to use for seafile server? =нажимаем [Enter].
Which port do you want to use for seafile httpserver? =нажимаем [Enter].
Please choose a way to initialize seafile databases: = выбираем 1 выбираем MySQL и вводим: localhost, 3306 и root пароль.
Enter the name for MySQL user of seafile: = вводим имя пользователя базы данных которого создали не много раньше и его пароль.
On ccnet-server, seafile-server и seahub databases = нажимаем [Enter].

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

ВНИМАНИЕ! Далее всё будет выполняться от пользователя root.
Code:
echo -e "-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 8082 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 12001 -j ACCEPT" > /etc/sysconfig/iptables
service iptables restart


Ну и теперь осталось только запустить само облако и создать пользователя с админ правами. Для этого выполним несколько простых команд(в ходе их выполнения нам будет предложенно создать пользователя с админ правами):

ВНИМАНИЕ! Далее всё будет выполняться от пользователя root.
Code:
cd /etc/init.d
wget http://linux-notes.org/wp-content/uploads/files/seafile/seafile
chmod +x /etc/init.d/seafile
chkconfig seafile on
su - seafile
cd /usr/local/www/seafile/seafile-server-latest/
./seafile.sh start
./seahub.sh start

После того как сервер успешно запущен, откроем браузер и зайдём в наше облако. Облако будет доступно по домену или IP адресу который мы вводили на одном из предыдущих этапов(What is the IP or domain of the server?) на 8000 порту.
Например:

Code:
http://127.0.0.1:8000

или
Code:
http://0xB16B00B5.ru:8000

Ага, всё работает Но я говорил что облако будет шифрованно... да, будет
Для этого нам нужно создать новую библиотеку(нажать на кнопку "Новая библиотека" и при её создании выставить галку "Зашифровать". Как уверяют разработчики самого облака, пароль от шифрованной библиотеки хранится в оперативке сервера не долго, так что всё достаточно безопасно
Ах да, чуть не забыл, для облака есть очень удобный десктопный и мобильный клиент. Скачать его можно по следующим ссылкам:
Для десктопа:

Code:
https://bintray.com/artifact/download/seafile-org/seafile/seafile-5.0.0-en-shibboleth.msi

Для андроида:
Code:
https://play.google.com/store/apps/details?id=com.seafile.seadroid2
или минуя маркет
https://github.com/haiwen/seadroid/releases/download/1.9.2/seafile-1.9.2.apk

Для айфона:
Code:
https://itunes.apple.com/cn/app/seafile-pro/id639202512?l=en&mt=8

Ну вот как то так
2015 Crdclub.su (с) 0xB16B00B5