Cách cài đặt Seafile trên Ubuntu 16.04 (Xenial Xerus)

theanh

Administrator
Nhân viên
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.

Đ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
Cài đặt boto bằng pip:
Mã:
pip install boto
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:
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
Giải nén seafile-server_5.1.4_x86-64.tar.gz và đổi tên thư mục thành 'seafile-server'.
Mã:
tar -xzf seafile-server_5.1.4_x86-64.tar.gz
mv seafile-server-5.1.4/ 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.


Bước 4 - Tạo Cơ sở dữ liệu​

Seafile yêu cầu 3 cơ sở dữ liệu:
  1. máy chủ ccnet
  2. máy chủ seafile
  3. seahub
Bây giờ quay lại người dùng gốc bằng "exit", sau đó đăng nhập vào mysqlserver của bạn.

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
Chỉ cần nhấn Enter và bạn sẽ được yêu cầu about:
  • 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
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:
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
Dán cấu hình dịch vụ seafile bên dưới:
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
Save and exit.

Now create new seahub service file seahub.service:
Mã:
vim seahub.service
Dán cấu hình bên dưới:
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
Lưu và thoát.

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 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ụ.
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
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:
Mã:
cd /etc/nginx/sites-available/
vim cloud.mydomain.conf
Dán cấu hình máy chủ ảo bên dưới:
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;
 }
}
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:
Mã:
ln -s /etc/nginx/sites-available/cloud.mydomain.co
Kiểm tra và khởi động lại máy chủ web ginx.
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:




Kết luận​

Với sự đa dạng của các ứng dụng đám mây hiện nay, Seafile là một giải pháp đám mây riêng tư phù hợp để sử dụng vào thời điểm này. Với tính năng mã hóatại thư viện/thư mục, bạn có thể bảo mật dữ liệu hơn. Và cũng dễ dàng cấu hình, giúp dễ dàng triển khai trên máy chủ của bạn.

Liên kết​

 
Back
Bên trên