Pydio 8.0.0 was released earlier today and has a major UI change along with some minor back-end changes. I’ve gone through and did another re-write of the instructions for this new version. Among other things it now supports PHP 7.1.*. I’ve also streamlined the instructions slightly, upgrading all other pre-reqs to the latest versions, and use the modified version of PHP Manager that Ronald Carter has upgraded to no longer require Dot Net 2.0 so less stuff to install on the server. So it should now work without issues on both IIS 8.5 and IIS 10. Here are the new instructions:
With the recent release of Pydio 7.0 my old instructions are now outdated, especially when it comes to public file shares. There were a lot of changes in the new Pydio so I have re-written my instructions for it. The biggest change is there is no longer any reason to create your own web.config files, the stock one now works correctly on IIS. I’ve also added instructions on scripting things form the command line like indexing workspaces on a schedule which has helped me immensely since I keep some workspaces updated with DFS and have gotten away from using Samba. Here are the new instructions, let me know if you have trouble with them:
So in reference to getting Pydio working on a Windows Server 2012 R2 machine with IIS 8.5 I found that I wanted a workspace in Pydio to access a existing share on a 2012 R2 file server. I have a lot of files I don’t want duplicated on both servers. Now there are many workspace drivers available but since Pydio was designed originally for a *nix system the main way to access a Windows server is through Samba. Windows Server supports SMB, server message blocks, for file sharing among other things. Now on a *nix system you can just install Samba and then Pydio can use the Samba client to remotely access the Windows server. Problem is I want to use Samba on a Windows server to access another Windows server. So I started a hunt to find a ported version of the Samba client and it resulted in two pages out of the millions out there: https://smithii.com/samba which had ported all of Samba v3.0.23 over and https://www.leepa.io/lpackham/smbclient/ which had ported just the v3.0.7 client. So I started testing these clients and long story short they have issues with Windows servers. Mainly you can get directory listings using them and even pull files but you cannot create files nor push files to the Windows file server. After some research its due to changes, mainly security related, in the Windows servers SMB implementation….changes that were fixed in newer versions of Samba (https://www.samba.org/).
So I determined that the only possible way to get my Pydio install to access my existing Windows file server was to either use the FTP over SSH plugin and enable this on my file server, which I didn’t want to do, or figure out a way to compile the Samba client using the latest source. After lots of trail and error I was able to partially compile Samba 3.6.25 using Cygwin (https://www.cygwin.com/) but where it failed was after it had built the smbclient.exe that I needed. I took the client and copied it to the server and tried running it from a command prompt and it complained about needing some Cygwin DLL files which was expected. I copied over the DLL files it needed to the server and was able to connect to the file server. I then updated Pydio to use my newly compiled smbclient.exe and Pydio now works as expected allowing e to share out a existing share from another server. The best part is since user credentials are passed through the existing NTFS permissions still apply on top of Pydios own permission checks.
Not sure if anyone in the world will ever need it but just in case here it is: smbclient.zip. Keep in mind you will need to install Cygwin on the same machine and at the very least copy the DLL files it needs out of C:\cygwin\bin to the directory with the client.
Last year I was looking for a cloud hosting solution and I decided on Pydio and even wrote up a install guide (http://allandynes.com/2015/08/was-searching-for-a-cloud-provider/). Some time has gone by and I’ve updated those instructions for the latest version of Pydio (6.4.1 currently) and also to be a purely 64-bit install (PHP 7 x64, MySql 5.7 x64, etc). The overall effect on a Server 2012 / IIS 8.5 install is quicker performance and less issues with large data syncs. I’ve also updated it to include information on SMB shares so you can access your existing Windows based file server from your cloud server so you are not duplicating files. Here is the new install guide:
A problem I have run into recently with installing Server 2012 R2 as a virtual machine on Server 2012 R2 HyperV server was I could not get the iso file to boot. Well, at least that is what I though the problem was. The virtual DVD drive with the Server 2012 iso was at the top of the boot order but it seemed to keep skipping it. After searching, and not particularly well because I barely understood what I was searching for, I found a TechNet blog that was describing my problem here: http://blogs.technet.com/b/jhoward/archive/2013/11/11/hyper-v-generation-2-virtual-machines-part-9.aspx. Long story short the gen 2 hosts are popping up the “Press any key to boot off of CD/DVD” message but not waiting for someone to press a key. Therefor it skips the CD/DVD and goes to other options, namely a blank hard drive then usually a network card. So it turns out there is a solution to this, changing the boot files to no longer prompt for a key press but to start your setup automatically.
To do this you need to get the Windows Automated Install Kit (AIK). Download that here: http://www.microsoft.com/en-us/download/details.aspx?id=39982 and of the many options you only really need to install the Deployment Tools and the Windows Preinstallation Environment (Windows PE) parts. Once these are installed here is how to modify your Server 2012 ISO.
- Unzip the contents of your Server 2012 or 2012 R2 ISO to a directory such as c:\Win2012
- Navigate to C:\Win2012\efi\microsoft\boot
- Rename cdboot.efi to cdboot_prompt.efi then rename cdboot_noprompt.efi to cdboot.efi
- Rename efisys.bin to efisys_prompt.bin then rename efisys_noprompt.bin to efisys.bin
- Open up the “Deployment and Imaging Tools Environment” as a administrator (under Start -> Windows Kits -> Windows ADK)
- Type the following command to create a new iso file called Win2012-NoPrompt.iso in the root of your C drive that will no longer prompt for a key:
oscdimg -bC:\Win2012R2\boot\etfsboot.com -m -o -u2 -lServer2012R2 -udfver102 -bootdata:2#p0,e,b"C:\Win2012R2\boot\etfsboot.com"#pEF,e,b"C:\Win2012R2\efi\microsoft\boot\efisys.bin" C:\Win2012R2 c:\Win2012R2-NoPrompt.iso
- Exit the command prompt
You can also use the Windows AIK to preload updates into your image or drivers but that’s a topic for another post.