Difference between revisions of "Webshare"

From SME Server
Jump to navigationJump to search
m (Rewrite to name the option as it appears in server-manager in default (en-us) locale)
Line 69: Line 69:
 
From this Italian forum post http://forums.contribs.org/index.php/topic,46399.msg227523.html#msg227523
 
From this Italian forum post http://forums.contribs.org/index.php/topic,46399.msg227523.html#msg227523
  
are instructions re how to use webshare with an ibay and SME users, so the files/dirs are available also via samba  
+
are instructions re how to use webshare with an ibay and SME users, so the files/dirs are available also via samba, this allows an ibay to be accessed by the webshare frontend it does not link the standard webshare to the ibay webshare. 
  
 
Create the custom template and fragment
 
Create the custom template and fragment
Line 144: Line 144:
 
Copy files from original webshare in /opt to ibay
 
Copy files from original webshare in /opt to ibay
 
  cd /opt/webshare/ibaywebsharename
 
  cd /opt/webshare/ibaywebsharename
  cp -a ./* /home/e-smith/ibays/ibaywebsharename/html/
+
  cp -a ./* /home/e-smith/files/ibays/ibaywebsharename/html/
 
  cd /home/e-smith/files/ibays/ibaywebsharename/html
 
  cd /home/e-smith/files/ibays/ibaywebsharename/html
 
  rm index.html
 
  rm index.html
Line 150: Line 150:
 
{{Note box|Previous step is necessary to migrate from old files location to the new one.. it should be not necessary for new webshares '''not tested'''}}
 
{{Note box|Previous step is necessary to migrate from old files location to the new one.. it should be not necessary for new webshares '''not tested'''}}
  
Create a link
+
Now Create a link in the /home/e-smith/files/ibays/ibaywebsharename/html dir
 
  mv ./files ./files.old
 
  mv ./files ./files.old
 
  ln -s ../files
 
  ln -s ../files
  
 
Access the ibay webshare via web browser with this URL (note to use https:)
 
Access the ibay webshare via web browser with this URL (note to use https:)
  https://yourdomain.com/webshare/websharename
+
  https://yourdomain.com/ibaywebsharename
  
 
Access the ibay webshare files locally via samba network share
 
Access the ibay webshare files locally via samba network share

Revision as of 02:20, 25 January 2012


Webshare for SME Server

Maintainer

Darrel May (Contrib)

Description

  • Webshare is an addon for SME Server that provides secure web accessible file and directory storage.
  • Create and set permissions for each share via Server-manager GUI.
  • Can handle many filetypes in the webbrowser.


Step-by-step HowTo for installation of Webshare on a fresh SMEserver 7.x.

Check latest releases at http://mirror.contribs.org/smeserver/releases/7/smecontribs/i386/RPMS/

Installation

1. Log in (with username root) to the SMEserver console.

2. Install smeserver-webshare from the smecontribs repo (which will also install the dependency perl-Apache-Htpasswd)

yum install --enablerepo=smecontribs smeserver-webshare

3. Instructions at the end of previous installation advises the following commands:
signal-event post-upgrade and signal-event reboot
but you can skip that (not necessary) and move on.

4. In a web browser login to server-manager as admin.
Under Collaboration there should be a new line named "Webshare". Configure the webshare name, users and passwords.

5. Access the newly created webshare using https://www.yourdomain.com/webshare/websharename Upload and download files as required.


Check installed version

yum info installed smeserver-webshare
yum info installed perl-Apache-Htpasswd

Uninstall

yum remove smeserver-webshare
yum remove perl-Apache-Htpasswd


Adjusting upload file size

Default php settings in sme server will severely limit the file upload size.

These can be adjusted by db commands, see http://wiki.contribs.org/index.php?title=SME_Server:Documentation:Technical_Manual:Booklet#Php

To see the default settings do

config show php

The following commands will set a 50Mb file upload size.

As this includes system overheads, you should specify a value slightly larger than the maximum file size you wish to upload.

db configuration setprop php MaxExecutionTime 3600
db configuration setprop php MemoryLimit 50M
db configuration setprop php PostMaxSize 50M
db configuration setprop php UploadMaxFilesize 50M
expand-template /etc/php.ini
/etc/init.d/httpd-e-smith restart

Using with ibays & SME users

From this Italian forum post http://forums.contribs.org/index.php/topic,46399.msg227523.html#msg227523

are instructions re how to use webshare with an ibay and SME users, so the files/dirs are available also via samba, this allows an ibay to be accessed by the webshare frontend it does not link the standard webshare to the ibay webshare.

Create the custom template and fragment

mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
cd /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
pico 86WebSharealias

Contents of 86WebSharealias

{
   my $db       = esmith::ConfigDB->open_ro("WebShare")
   or return "# webshare disabled\n";

   my @webshare = $db->get_all_by_prop( type => 'WebShare' );

   foreach $webshare (@webshare) {
       #name
       my $key = $webshare->key;
       #use  ibay?
       my $useibay = $webshare->prop('UseIbay') || "no";
       #use sme users?
       my $smeusers = $webshare->prop('SmeUsers') || "no";
       $OUT .= "# webshare\/$key\n";

       if ( "$useibay" eq "no" ) {
               $OUT .= "Alias \/webshare\/$key \/opt\/webshare\/$key\n";
               $OUT .= "<Directory \/opt\/webshare\/$key>\n";
       }
       else {
               $OUT .= "Alias \/webshare\/$key \/home\/e-smith\/files\/ibays\/$key\/html\n";
               $OUT .= "<Directory \/home\/e-smith\/files\/ibays\/$key\/html>\n";
       }
       {
           use esmith::util;
           my $release = esmith::util::determineRelease();
           if ( "$release" ge "7.0" ) {
               $OUT .= "    SSLRequireSSL\n";
           }
           else {
               $OUT .= "    RequireSSL on\n";
           }
       }
       $OUT .= "    Options +Indexes\n";
       $OUT .= "    AllowOverride None\n";
       $OUT .= "    order deny,allow\n";
       $OUT .= "    deny from all\n";
       $OUT .= "    allow from all\n";
       $OUT .= "    AuthName \"Restricted $key access only\"\n";
       $OUT .= "    AuthType Basic\n";

       if ( "$smeusers" eq "no" ) {       
               $OUT .= "    AuthUserFile \/home\/e-smith\/db\/webshare\/htpasswd.$key\n";
       }
       else {
               $OUT .= "    AuthExternal pwauth\n";
       }
       $OUT .= "    Require valid-user\n";
       $OUT .= "    AddType application\/x-httpd-php \.php \.php3\n";
       $OUT .= "    php_flag  magic_quotes_gpc  on\n";
       $OUT .= "    php_flag  track_vars        on\n";
       $OUT .= "<\/Directory>\n";
       $OUT .= "\n";
   }
}

Create an ibay in server manager with the name ibaywebsharename, with no password and enable "Execution of dynamic content".

Important.png Note:
ibaywebsharename should be the same as websharename and ibayname


Configure the db setting, expand template & restart service

db WebShare setprop ibaywebsharename UseIbay yes SmeUsers yes
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith restart


Copy files from original webshare in /opt to ibay

cd /opt/webshare/ibaywebsharename
cp -a ./* /home/e-smith/files/ibays/ibaywebsharename/html/
cd /home/e-smith/files/ibays/ibaywebsharename/html
rm index.html


Important.png Note:
Previous step is necessary to migrate from old files location to the new one.. it should be not necessary for new webshares not tested


Now Create a link in the /home/e-smith/files/ibays/ibaywebsharename/html dir

mv ./files ./files.old
ln -s ../files

Access the ibay webshare via web browser with this URL (note to use https:)

https://yourdomain.com/ibaywebsharename

Access the ibay webshare files locally via samba network share

\\servername\ibaywebsharename\files

Additional information

Bugs

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-webshare component or use this link .

Tested software versions

Host: SMEserver v7.1 with update 3 (7.1.3)

Installed: perl-Apache-Htpasswd.noarch 0:1.5.9-1.1.el3.rf

Installed: smeserver-webshare.noarch 0:1.0.0-8dmay