Seafile ابزار متن باز اشتراک گذاری و همگام سازی فایل ها می باشد و می توان آن را به عنوان جایگزینی برای Dropbox  و یا Owncloud استفاده کرد. توسعه دهنگان آن معتقدند که Seafile نسبت به Dropbox  و Owncloud هوشمندتر می باشد و امکان همکاری انلاین را در یک کار تیمی فراهم می آورد و چنین امکانی در Dropbox و Owncloud وجود ندارد. نسخه سرور Seafile  قابلیت نصب بر روی لینوکس و ویندوز را دارد و نسخه کلاینت آن برای پلتفرمهای لینوکس ، ویندوز، مک و آندروید  در دسترس می باشد. همچنین رابط کاربری تحت وب نیز در دسترس می باشد.

با Seafile می توانید به راحتی اپلود کنید و یا فایل یا فولدرجدید ، کتابخانه جدید بسازید، تغییرات فایلها و فولدر ها را ببینید، گروه کاربری بسازید و ...

نسخه دموی Seafile در این ادرس در دسترس است.

بارگیری و نصب سرور Seafile

آخرین بسته نرم افزاری سرور Seafile را بارگیری کنید.

#ابتدا بررسی کنید معماری سیستم شما ۳۲ بیتی یا ۶۴ بیتی است
uname -m

نسخه مرتبط با معماری سیستم خود را بارگیری کنید.

#بارگیری برای معماری ۳۲ بیتی
wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_{version}_i386.tar.gz
#بارگیری برای نسخه ۶۴ بیتی
wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_{version}_x86-64.tar.gz

 

نکته ۱: من برای بارگیری بسته نرم افزاری Seafile  مجبور به استفاده از tor و torsocks شدم.

نکته ۲: اگر شما دایرکتوری داده های Seafile شما بر روی ابزارهای ذخیره سازی خارجی مانند NFS و یاCIFS قرار دارد شما نمی توانید از SQLite بعنوان پایگاه داده استفاده کنید و باید از MySQL بجای ان استفاده کنید. برای نصب سرور با پایگاه داده MySQl  این راهنما را پیگیری کنید.

فرض کنید نام مجموعه کارری شما "haiwen" می یاشد و شما بسته seafile-server را در دایرکتوری خانگی خود بارگیری نموده اید. ما پیشنهاد می کنیم بصورت زیر عمل کنید.



#ساخت فولدر در دایرکتوری خانگی 
mkdir haiwen  
#انتقال بسته بارگیری شده به فولدر ساخته شده
mv seafile-server_* haiwen
#تغییر دایرکتور فعال به پوشه جدید
cd haiwen
# استخراج بسته
tar -xzf seafile-server_*
# ساخت فولدر بسته نصبی
mkdir installed
#انتقال بسته نصب بارگیری شده به فولدر بسته نصبی
mv seafile-server_* installed

حالا نحوه چینش دایرکتوری شما به صورت زیر باشد.

# tree . -L 2
.
├── installed
│   └── seafile-server_1.4.0_x86-64.tar.gz
└── seafile-server-1.4.0
    ├── reset-admin.sh
    ├── runtime
    ├── seafile
    ├── seafile.sh
    ├── seahub
    ├── seahub.sh
    ├── setup-seafile.sh
    └── upgrade

مزایای اینگونه چینش عبارتند از:

  • ما می توانیم تمام فایل های پیکر بندی و سورور seafile را درون دایرکتوری "haiwen" قرار دهیم، این کار را ساده تر می کند.
  • در موقع بروزرسانی به نسخه جدید Seafile شما می توانید به سادگی بسته جدید را درون فولدر "haiwen"  استخراج کنید.

برپاسازی سرور Seafile

پیش نیازها

بسته نرم افزاری سرور Seafile  نیازدارد که بسته های نرم افزاری زیر بر روی سیستم شما نصب شده باشند.

<ul>
<li>python 2.6 or 2.7</li>
<li>python-setuptools</li>
<li>python-simplejson</li>
<li>python-imaging</li>
<li>sqlite3</li>
</ul>

دراوپن سوزی:

sudo zypper in python python-setuptools python-simplejson python-imaging sqlite3
در دبیان:
apt-get update
apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3
نصب
cd seafile-server-*
./setup-seafile.sh  # اجرایاسکریپت نصب به سوالات پاسخ دهید

اگر بعضی از پیش نیازها بر روی سیستم شما نصب نشده باشد اسکریپت نصاب Seafile ازشما برای نصب انها خواهد پرسید.

این اسکریپت شمارا در راه نصب گزینه مختلف پیکربندی راهنمایی خواهد نمود.

گزینه های پیکر بندی Seafile
گزینه ها شرح یادداشت
server name نام سرور Seafile ۳ الی ۱۵ کاراکتر، تنها حروف انگلیسی، اعداد و زیر خط('_') مجازند.
server ip or domain آدرس آی پی یا نان دامینی که توسط سرور استفاده می شود. برنامه کلاینت Seafile از طریق این آدرس به سرور دسترسی دارند.
ccnet server port پورت TCP که توسط ccnet، سرویس زیر شبکه Seafile استفاده می شود. پیش فرض 10001 میباشد.اگر آن توسط سرویس های دیگری استفاده می شود می توانید پورت دیگری راتنظیم کنید.
seafile data dir Seafile داده های شما را در این فولدر ذخیره می کند. بصورت پیش فرض دایرکتوری جاری که در آن هستید خواهد بود. اندازه این دایرکتوری با بیشترقراردادن داده ها در Seafile افزایش خواهد یافت. لطفا پارتیشنی از دیسک با فضای کافی را انتخاب نمایید.
seafile server port پورت TCP که توسط Seafile برای انتقال داده ها استفاده می شود. پیش فرض 12001 میباشد.اگر آن توسط سرویس های دیگری استفاده می شود می توانید پورت دیگری راتنظیم کنید.
httpsever port پورت TCP که توسط وب سرور Seafile استفاده می شود. پیش فرض 8082 میباشد.اگر آن توسط سرویس های دیگری استفاده می شود می توانید پورت دیگری راتنظیم کنید.

اگر نصب موفقیت امیز باشد، شما خروجی زیررا خواهید دید.

تایید نصب موفقیت امیز Seafile

حالا باید چینش دایرکتوری شما بصورت زیر باشد.

#tree haiwen -L 2
haiwen
├── ccnet               # configuration files
│   ├── ccnet.conf
│   ├── mykey.peer
│   ├── PeerMgr
│   └── seafile.ini
├── installed
│   └── seafile-server_1.4.0_x86-64.tar.gz
├── seafile-data        
│   └── seafile.conf
├── seafile-server-1.4.0  # active version 
│   ├── reset-admin.sh
│   ├── runtime
│   ├── seafile
│   ├── seafile.sh
│   ├── seahub
│   ├── seahub.sh
│   ├── setup-seafile.sh
│   └── upgrade
├── seafile-server-latest  # symbolic link to seafile-server-1.4.0
├── seahub-data
│   └── avatars
├── seahub.db
├── seahub_settings.py   # optional config file
└── seahub_settings.pyc

فولدر seafile-server-latest لینک نمادین به فولدر سرورجاری Seafile است. وقتی شما بعدا به نسخه جدیدارتقا دادید، اسکریپت ارتقاآنرارا بروزرسانی خواهد کرد تا همواره به پوشه جاری سرور هدایت نماید.

اجرای سرور Seafile

قبل از اجرا

از آنجائیکه Seafileاز ارتباط مداوم بین سرور و کلاینت استفاده می کند، اگر شما تعداد زیادی از کلاینت ها رادارید، شما باید توصیف گر فایل لینوکس را قبل از راه شروع سرور با استفاده از ulimit افزایش دهید.

ulimit -n 30000
شروع سرور Seafile و وبسایت Seahub

تحت دایرکتوری seafile-server-، دستورات زیر را اجرا کنید.

  • شروع Seafile
./seafile.sh start # شروع سرویس Seafile
  • شروع Seahub
  • ./seahub.sh start <port>  # شروع وب سایت Seahub، پورت پیش فرض 8000می باشد.
    

    نکته ۳: اولین باری که شما Seahub را شروع کنید، اسکریپت از شما برای ساخت حساب مدیر سرور Seafile سوال خواهد نمود. بعد از شروع سرویس، مروگر را بازکنید و آدرس زیر را وارد کنید.

    http://192.168.1.111:8000/
    

    شما به صفحه ورود هداست خواهید شد. نام کاربری و رمز عبور را که در جریان نصب تعریف کرده اید راوارد کنید. شما سپس به صفحه Seafile `Myhome` باز خواهید گشت که در انجا می توانید کتابخانه ها را بسازید.

    تبریک عرض می کنم! حالا شما سرور خصوصی Seafile را نصب کرده اید.

    توقف و راه اندازی مجدد Seafile و Seahub

    توقف
    ./seahub.sh stop # توقف وب سایت seahub 
    ./seafile.sh stop #توقف سرویس seafile 
    
    راه اندازی مجدد
    ./seafile.sh restart
    ./seahub.sh restart
    

    در بیشتراوقات seafile.sh و seahub.sh بخوبی کار خواهند کرد. امااگر آنها عمل نکردند، شما می توانید

    • از دستور pgrep برای بررسی اینکه ایا پروسه های Seafile و Seahub هنوز در حالاجرا می باشند یا نه، استفاده نمایید.
    pgrep -f seafile-controller # بررسی پروسه های seafile 
    pgrep -f "manage.py run_gunicorn" # بررسی پروسه هایseahub 
    
    • از pkill برای پایان دادن به پروسه ها استفاده نمایید.
    pre>pkill -f seafile-controller pkill -f "manage.py run_gunicorn"

    برای مطالعه بیشتر در مورد Seafile به این ادرس بروید.

    منبع