Seafile là một đám mây riêng như Dropbox, mega.co.nz và các đám mây khác. Seafile dựa trên python và là mã nguồn mở, do đó bạn có thể tạo đám mây riêng của mình và đám mây này sẽ an toàn hơn nhiều.
Seafile hỗ trợ các thư viện mã hóa giúp dữ liệu của bạn an toàn hơn. Để mã hóa các tệp trong thư viện, bạn cần đặt mật khẩu khi tạo thư viện. Mật khẩu sẽ không được lưu trữ trên đám mây Seafile. Vì vậy, ngay cả người quản trị máy chủ cũng không thể xem dữ liệu được mã hóa của bạn nếu không có mật khẩu.
Hướng dẫn này chỉ ra cách cài đặt Seafile trên Ubuntu 16.04.
Cài đặt boto bằng pip:
Nếu bạn gặp lỗi về cài đặt ngôn ngữ, hãy chạy tất cả lệnh bên dưới:
Tạo người dùng 'seafile' mới để cài đặt.
Tải xuống kho lưu trữ Seafile bằng wget:
Giải nén seafile-server_5.1.4_x86-64.tar.gz và đổi tên thư mục thành 'seafile-server'.
Vì vậy, thư mục cài đặt seafile nằm trên trang chủ của người dùng seafile thư mục.
Tạo 3 cơ sở dữ liệu với một người dùng và cấp cho người dùng đó tất cả các cơ sở dữ liệu.
Chỉ cần nhấn Enter và bạn sẽ được yêu cầu about:
Sau đó, bạn sẽ được yêu cầu thiết lập cơ sở dữ liệu. Bạn có thể chọn số 2 vì tất cả cơ sở dữ liệu đã được tạo ở bước 4.
Seafile đã được cài đặt. Khởi động seafile và máy chủ seahub:
Bạn sẽ được hỏi về email và mật khẩu quản trị viên cho email và mật khẩu quản trị viên seafile.
Nếu người dùng quản trị viên đã được tạo. Dừng seafile ngay bây giờ, tiếp theo chúng ta sẽ tạo tệp dịch vụ cho máy chủ seafile:
Với tư cách là người dùng root, hãy đến thư mục '/lib/systemd/system/' và tạo một tệp dịch vụ seafile mới 'seafile-server.service' bằng trình soạn thảo vim:
Dán cấu hình dịch vụ seafile bên dưới:
Save and exit.
Now create new seahub service file seahub.service:
Dán cấu hình bên dưới:
Lưu và thoát.
Tải lại dịch vụ systemd và khởi động seafile và seahub:
Đảm bảo không có lỗi và kiểm tra máy chủ seafile và seahub đang chạy bằng cách kiểm tra các cổng dịch vụ.
Bạn sẽ thấy cổng seafile 8082 và cổng seahub 8000.
Cài đặt nginx bằng lệnh apt-get này:
Khi quá trình cài đặt hoàn tất, hãy chuyển đến thư mục máy chủ ảo nginx và tạo một tệp máy chủ ảo mới cloud.mydomain.conf bằng vim:
Dán cấu hình máy chủ ảo bên dưới:
Lưu và thoát.
Tôi sẽ sử dụng 'cloud.mydomain.co' làm tên miền.
Tiếp theo, bật máy chủ ảo mới bằng cách tạo liên kết đến thư mục 'sites-enabled' và khởi động lại nginx.
Bật máy chủ ảo mới:
Kiểm tra và khởi động lại máy chủ web ginx.
Bảng điều khiển quản trị Seafile:
Seafile hỗ trợ các thư viện mã hóa giúp dữ liệu của bạn an toàn hơn. Để mã hóa các tệp trong thư viện, bạn cần đặt mật khẩu khi tạo thư viện. Mật khẩu sẽ không được lưu trữ trên đám mây Seafile. Vì vậy, ngay cả người quản trị máy chủ cũng không thể xem dữ liệu được mã hóa của bạn nếu không có mật khẩu.
Hướng dẫn này chỉ ra cách cài đặt Seafile trên Ubuntu 16.04.
Điều kiện tiên quyết
- Máy chủ có RAM 2GB
- Ubuntu 16.04 64-bit
Cài đặt Seafile
Bước 1 - Cài đặt các Dependencies cần thiết
Để thực hiện cài đặt, seafile cần một số dependency:- openjdk-8jre
- LibreOffice
- Popler-utils
- mysql-server
- Python-pip và các lệnh khác.
Mã:
apt-get install openjdk-8-jre poppler-utils libreoffice libreoffice-script-provider-python libpython2.7 python-pip mysql-server python-setuptools python-imaging python-mysqldb python-memcache ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy python-pip
Mã:
pip install boto
Mã:
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales
Bước 2 - Tạo người dùng "seafile" mới
Ở bước này, chúng ta sẽ tạo một người dùng mới cho quá trình cài đặt seafile. Chúng tôi sẽ chạy máy chủ seafile với tư cách là người dùng này.Tạo người dùng 'seafile' mới để cài đặt.
Mã:
useradd -m -s /bin/bash seafile
passwd seafile
Bước 3 - Tải xuống và giải nén kho lưu trữ Seafile
Seafile có thể được tải xuống từ trang web chính thức, vui lòng tải xuống theo nhu cầu của bạn. Ở đây tôi sử dụng Ubuntu 15.04 64-bit.Tải xuống kho lưu trữ Seafile bằng wget:
Mã:
su - seafile
wget wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.4_x86-64.tar.gz
Mã:
tar -xzf seafile-server_5.1.4_x86-64.tar.gz
mv seafile-server-5.1.4/ seafile-server/
Bước 4 - Tạo Cơ sở dữ liệu
Seafile yêu cầu 3 cơ sở dữ liệu:- máy chủ ccnet
- máy chủ seafile
- seahub
Tạo 3 cơ sở dữ liệu với một người dùng và cấp cho người dùng đó tất cả các cơ sở dữ liệu.
Mã:
#Đăng nhập vào mysql
mysql -u root -p
#Tạo cơ sở dữ liệu
tạo cơ sở dữ liệu ccnet_db character set = 'utf8';
tạo cơ sở dữ liệu seafile_db character set = 'utf8';
tạo cơ sở dữ liệu seahub_db character set = 'utf8';
#Tạo người dùng
tạo người dùng seacloud@localhost được xác định bởi 'yourpassword';
#Cấp cho người dùng các cơ sở dữ liệu
cấp tất cả các quyền trên ccnet_db.* đến seacloud@localhost được xác định bởi 'yourpassword';
cấp tất cả các quyền trên seafile_db.* đến seacloud@localhost được xác định bởi 'yourpassword';
cấp tất cả các quyền trên seahub_db.* đến seacloud@localhost được xác định bởi 'yourpassword';
xóa các quyền;
Bước 5 - Cài đặt Seafile
Đăng nhập vào người dùng 'seafile' và đi đến thư mục cài đặt 'seafile-server/', chạy tệp setup-seafile-mysql.sh tại đó.
Mã:
su - seafile
cd seafile-server/
./setup-seafile-mysql.sh
- Tên máy chủ - chúng ta sẽ sử dụng seafile-server.
- Tên miền/IP - cloud.mydomain.co.
- Thư mục dữ liệu Seafile - thư mục dữ liệu mặc định
- Cấu hình cổng máy chủ Seafile.
Sau đó, bạn sẽ được yêu cầu thiết lập cơ sở dữ liệu. Bạn có thể chọn số 2 vì tất cả cơ sở dữ liệu đã được tạo ở bước 4.
Seafile đã được cài đặt. Khởi động seafile và máy chủ seahub:
Mã:
./seafile.sh start
./seahub.sh start
Nếu người dùng quản trị viên đã được tạo. Dừng seafile ngay bây giờ, tiếp theo chúng ta sẽ tạo tệp dịch vụ cho máy chủ seafile:
Mã:
./seafile.sh stop
./seahub.sh stop
Bước 6 - Cấu hình tệp Seafile và Seahub Service
Tiếp theo, chúng ta sẽ cấu hình dịch vụ seafile và seahub. Chúng tôi sẽ tạo các tệp dịch vụ mới cho máy chủ seafile và seahub.Với tư cách là người dùng root, hãy đến thư mục '/lib/systemd/system/' và tạo một tệp dịch vụ seafile mới 'seafile-server.service' bằng trình soạn thảo vim:
Mã:
cd /lib/systemd/system/
vim seafile.service
Mã:
[Unit]
Description=Seafile Server
After=network.target mariadb.service
[Service]
Type=oneshot
ExecStart=/home/seafile/seafile-server/seafile.sh start
ExecStop=/home/seafile/seafile-server/seafile.sh stop
RemainAfterExit=yes
User=seafile
Group=seafile
[Install]
WantedBy=multi-user.target
Now create new seahub service file seahub.service:
Mã:
vim seahub.service
Mã:
[Unit]
Description=Seafile Hub
After=network.target seafile.target
[Service]
Type=oneshot
ExecStart=/home/seafile/seafile-server/seahub.sh start-fastcgi
ExecStop=/home/seafile/seafile-server/seahub.sh stop
RemainAfterExit=yes
User=seafile
Group=seafile
[Install]
WantedBy=multi-user.target
Tải lại dịch vụ systemd và khởi động seafile và seahub:
Mã:
systemctl daemon-reload
systemctl start seafile
systemctl start seahub
Mã:
netstat -plntu
Bạn sẽ thấy cổng seafile 8082 và cổng seahub 8000.
Bước 7 - Cài đặt và cấu hình Nginx dưới dạng Reverse Proxy
Trong bước này, chúng ta sẽ cài đặt nginx từ kho lưu trữ Ubuntu rồi cấu hình nó thành máy chủ proxy ngược cho seafile-server trên cổng 8000 và 8002.Cài đặt nginx bằng lệnh apt-get này:
Mã:
apt-get install nginx -y
Mã:
cd /etc/nginx/sites-available/
vim cloud.mydomain.conf
Mã:
server {
listen 80;
server_name cloud.mydomain.co;
proxy_set_header X-Forwarded-For $remote_addr;
Mã:
# Proxy ngược cho seafile
vị trí / {
fastcgi_pass 127.0.0.1:8000;
fastcgi_param TỆP_KẾ_PHẦN $document_root$fastcgi_script_name;
fastcgi_param THÔNG TIN ĐƯỜNG DẪN $fastcgi_script_name;
fastcgi_param GIAO THỨC_CHỦ_LỰC $server_protocol;
fastcgi_param CHUỖI_THĂM_SÓNG $query_string;
fastcgi_param PHƯƠNG THỨC_YÊU_CẦU $request_method;
fastcgi_param KIỂU_NỘI_DUNG $content_type;
fastcgi_param CHIỀU DÀI_NỘI_DUNG $content_length;
fastcgi_param ĐỊA_CỤ_PHỤC_CHỦ_LỰC $server_addr;
fastcgi_param CỔNG_CHỦ_LỰC $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REMOTE_ADDR $remote_addr;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
fastcgi_read_timeout 36000;
}
Mã:
# Proxy ngược cho seahub
vị trí /seafhttp {
viết lại ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_connect_timeout 36000 giây;
proxy_read_timeout 36000 giây;
proxy_send_timeout 36000 giây;
send_timeout 36000 giây;
}
Mã:
#THAY ĐỔI ĐƯỜNG DẪN NÀY BẰNG THƯ MỤC CỦA RIÊNG BẠN
location /media {
root /home/seafile/seafile-server/seahub;
}
}
Tôi sẽ sử dụng 'cloud.mydomain.co' làm tên miền.
Tiếp theo, bật máy chủ ảo mới bằng cách tạo liên kết đến thư mục 'sites-enabled' và khởi động lại nginx.
Bật máy chủ ảo mới:
Mã:
ln -s /etc/nginx/sites-available/cloud.mydomain.co
Mã:
nginx -t
systemctl restart nginx
Bước 8 - Kiểm tra bằng Trình duyệt Web
Mở trình duyệt cloud.mydomain.co và thử đăng nhập bằng tài khoản quản trị của bạn.Bảng điều khiển quản trị Seafile: