Installed latest Xerte (3.9 LTS) on NethServer 7 in a vhost. So here comes an updated howto:
Xerte System requirements: https://xot.xerte.org.uk/play.php?template_id=81#systemrequirements
Download xerte from the xerte website. Since you need to be logged in to get the zip, an alternative to get the latest zip from their github repository Be aware this is the ‘develop’ version of xerte. I have no idea if it differs from the zip that is available from their website. It probably is different/newer.
Installation:
prerequisits and dependancies:
yum -y install unzip nethserver-mysql
Create DNS entry for the subdomain you want to run xerte in. A CNAME for the domain.tld is good if you have domain.tld on the same server.
Add the subdomain to the LE cert:
go to System / Certificates
click Lets Encrypt button
add the new subdomain to the certificate (only works if the subdomain already has been created in DNS)
Create vhost in servermanager:
In Servermanager go to applications and find webserver.
click ‘settings’ button
click ‘Virtual Hosts’
click ‘create a virtual host’
fill in the FQDN for the new vhost: sub.domain.tld
in description set a text for your own convenience. for instance: ‘xerte online content authoring tool’
click Advanced settings
check Require SSL encrypted connection
UNcheck Root directory file listings
select the certificate to use (make sure this is the LE certificate you updated with the new subdomain)
choose the php version. Xerte does NOT run correctly with php8 yet! I chose php7.3
Extract and put xerte to right location
copy the xerte zipfile to the directory of the new vhost. You can check the name of the directory at /var/lib/nethserver/vhost/ If you have multiple vhosts, doublecheck if you have the correct directtory!
Unzip the zipfile in the vhost: cd to directory /var/lib/nethserver/vhost/[vhostdirectory]
go 1 directory up and make the directory writable for httpd service:
chown -R apache:apache /var/lib/nethserver/vhost/[vhostdirectory]
Create database in mariadb (change SECRET to a password of your own choice:
mysql
create database toolkits_data character set utf8 collate utf8_bin; grant all privileges on toolkits_data.* to xerte@localhost identified by 'SECRET'; exit;
no httpd.conf or php.ini file needed since you use a vhost.
Apply settings:
systemctl restart httpd
Now browse to the new vhost in your browser: https://sub.domain.tld and follow the setup assistant
When finished delete the setup dir:
rm -Rf /var/lib/nethserver/vhost/[vhostdir]/setup
Authentication:
Guest access works. Good for testing, however, if Xerte runs in Guest mode and the server is directly connected to internet, anyone can create, edit and delete learning objects. So do change the authentication method asap.
Local Db authentication works
Local Samba4 AD authentication works. Strongly advice to use a valid certificate.
to be tested:
Local LDAP
Remote Samba 4 AD
Remote LDAP
Authentication settings:
In the site administration (https://sub.domain.tld/management.php) under Site/Authentication set to LDAP
Under LDAP settings configure AD/LDAP
Ldaphost is: ldaps://ad.domain.tld
port is: 636 (if using ldap instead of ldaps, then 389)
The ldap password is: [bindpassword] (see System / Users & Groups: Accountprovider details)
The ldap base is: dc=ad,dc=domain,dc=tld
The ldap bind is: cn=ldapservice,cn=Users,dc=ad,dc=domain,dc=tld
The ldap main filter is: cn (or alternatively userPrincipalName to login as user@domain.tld)
The ldap second filter is: cn )seems not to be used, reserved?)
Click SAVE (top left)
log out management.php
you will be reverted to the xerte login page
log in with a Samba4 AD user to check of config is correct.
LDAP settings for OpenLDAP
to be investigated, did not try how @mrmarkuz documented in the opening post.
Please test and add comments/options