As a former heavy user of Dropbox, I decided I want fewer restrictions on my file storage. After a good amount of research and trial/error, I settled on seafile for various reasons (some of which include features, reliability, mobile client, etc). The documentation does NOT address getting things up and running on slackware, but I managed to get things running fairly smoothly and want to document things publically. So far, I have successfully deployed the latest version seafile server and gui client, as well as the webdav plugin for the server. Although scripts are available on slackbuilds, they are for substantially older 4.x versions. My instructions below are ugly and somewhat incomplete but worked for me.
## TODO:
- try installation on a "fresh" system to verify completeness of instructions
- reimplement as proper slackbuilds and submit to SBo maintainers
- more details for server portion, server deployment using https (Let's Encrypt)
- ???
## Background
- slackware64-current as of 2017-03-28, with multilib
- sbopkg configured with SBo-git repository (as per the sticky in this forum)
- slackpkg configured with alienbob's alienbob and ktown repository
## Server deployment
I mostly followed the seafile manual section "Deploying Seafile with SQLite" at
https://manual.seafile.com/deploy/using_sqlite.html
I was unsuccessful (couldn't upload files) when I installed outside of the recommended /opt/haiwen directory, but it may be unrelated. The server requires libselinux and libsepol, which I built easily from
https://github.com/fskmh/SlackBuilds/tree/master/system
Punching the appropriate ports through your firewall to allow remote access, combined with either a static IP or a dynamic DNS setup. NAT loopback is necessary for access from the local network if the server is otherwise configured to be remotely accessible.
## Client with GUI
Summary: some of the build options and prefixes seem to be necessary to avoid confusion between 32/64-bitness and leaving them out or changing them causes downstream compilation/linking errors.
1) install the following using sbopkg: vala libevhtp
2) install the following from slackpkg: qt5 (ktown), libxkbcommon (alienbob)
3) make a temporary build directory and into it git clone each of the following projects from
https://github.com/haiwen/ libsearpc ccnet seafile seafile-client
4) cd libsearpc && make uninstall && make clean && ./autogen.sh && ./configure --prefix=/usr --libdir=/usr/lib64 && make -j4 && make install && ldconfig
5) cd ../ccnet && make uninstall && make clean && ./autogen.sh && ./configure --prefix=/usr --libdir=/usr/lib64 && make -j4 && make install && ldconfig
6) cd ../seafile && make uninstall && make clean && ./autogen.sh && ./configure --prefix=/usr --libdir=/usr/lib64 && make -j4 && make install && ldconfig
7) cd ../seafile-client && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr . && make -j4 && make install && ldconfig
8) run 'seafile-applet'
## Webdav
Follow instructions in
https://manual.seafile.com/extension/webdav.html
## References
-
https://github.com/haiwen/ (Github for seafile development)
-
https://manual.seafile.com/ (Seafile manual)
-
http://www.linuxquestions.org/questi...-a-4175530553/ (previous discussion about seafile and other dropbox alternatives on slackware)