Hello Everyone,
Finally the Linux Port of SolidCP is available on github.com/FuseCP/SolidCP in the CoreWCF branch. Currently in order to checkout this branch you need a small hack, since the branch has a submodule and when switching to it, it gives an error. To work around the error, after cloning the master branch, edit the .git\config file and delete the two lines
[submodule]
active =
and then you should be able to switch to the CoreWCF branch without errors.
In order to try out the Linux Port, you must build the CoreWCF branch from source. For this, run the SolidCP\deploy-debug.bat script. In order for the script to work without errors, you need to have Visual Studio, WIX Extension for Visual Studio and C++ Runtime for Visual Studio 2013 installed.
To deploy SolidCP Server and EnterpriseServer for testing, be aware that when you access Server or EnterpriseServer with an URL other than localhost or a LAN IP, it uses WCF WSHttpBinding with message encryption for calling the webservices and thus needs a server certificate configured for WCF in the web.config file. When running SolidCP Server on Linux, it uses https for accessing the webservices when not accessing over localhost or LAN and also needs a server certificate. When accessig the servers over localhost or LAN, no encryption is used and no server certificate is needed. In the future, in order to install SolidCP Server on Linux you might use the Installer. The Installer.exe is running on Linux over Mono. But currently the webservice the Installer uses does not publish the CoreWCF branch but only SolidCP 1.4.9, so it won't work on Linux. The only thing that works is debugging the Installer on WSL Linux with the VSMonoDebugger Visual Studio Extension, but also this will install SolidCP 1.4.9.
I made a programmes introduction video of the Linx Port on youtube here: www.youtube.com/watch?v=RBxv2wvfMdw
Features implemented in the Linux Port:
- Use of WCF/CoreWCF instead of WSE3 for the web services.
- Support for REST WCF services
- Running on NET 8 also
- SolidCP.Providers.OS.Unix to support Unix operating systems in SolidCP.Server
- SolidCP.Build to create WCF service & client classes on the fly from the old WSE3 classes with a Roslyn SourceGenerator
- Changes in SolidCP.Server & SolidCP.EnterpriseServer so they also compile & run on NET 8
- Updated IsInstalled methods for Unix in the providers for MySQL, MariaDB, SqlServer, Bind
- Updated Installer to run also on Mono/Linux and configure a certificate.
- EnterpriseServer and Server can now be embedded in WebPortal without the use of web services for faster access.
- Support for SSH Tunnel ServerUrls to connect to the servers via a SSH Tunnel
- Draft versions of Providers for vsftdp and Apache
TODO:
- Completion of the Apache & vsftpd providers.
Greetings & Blessings,
Simon Egli
There's a new version of the CoreWCF branch available on <a href=" removed link ">github.com/simonegli8/SolidCP.
In order to clone the repo, please note that there is a bug when checking out master and switch to CoreWCF branch. As a workaround clone to CoreWCF branch with
git clone -b CoreWCF removed link
after this you should be able to switch branches without error.
The new Version features:
- SolidCP.UniversalInstaller.exe installer, rpm & deb packages for Linux installation
- Updated Proxmox provider, so it runs also on Linux and uses the newest version of RestSharp (This needs testing)
In order to install the SolidCP Server on Linux:
Build SolidCP by executing SolidCP\deploy-debug.bat. For deploy-debug.bat to work without errors, you need to have VisualStudio, WIX Extensions for VisualStudio, C++ Redistributable 2013 and SQL Express installed. Also you need to have a WSL distro with rpmbuild installed. This is needed for the rpm generation. In order to setup a WSL distro, install a WSL distro. On Ubuntu you'd have to execute
sudo apt install rpm rpmlint
On Fedora
sudo dnf intstall rmpdevtools rpmlint
Like this deploy-debug.bat should build without errors. After build, the release files can be found in SolidCP\Deploy. There is a SolidCP.UniversalInstaller.exe and a folder Packages with the deb and rpm packages.
In order to use the installer, mono must be installed on your Linux system. After you have installed mono, you can then run
sudo mono --debug SolidCP.UniversalInstaller.exe
To run the installer and install SolidCP Server on you Linux machine.
Alternatively you can use the deb or rpm packages and intall them like so:
On Debian:
dpkg -i solidcp_<version>-1_all.deb
On Systems based on RPM:
rpm -i solidcp-<version>-<dist>.noarch.rpm
sudo solidcp-universalinstaller
Sorry, there's some typoos in the above commands,
in order to clone the CoreWCF branch you have to type
git clone -b CoreWCF removed link
and to setup a Fedora WSL distro for build use
sudo dnf install rpmdevtools rpmlint