Robs DiracServer Install Guide
This is a WIP guide for setting up a server version of DIRAC mainly for testing/development when install scripts aren't being your friend. (This is also a training exercise to make sure I know how things tie together)
I'm assuming that you're installing DIRAC into: /opt/dirac/DIRAC and that you've followed other tutorials on how to ensure your system is compatible and you have the required pre-requisits
Get DIRAC
Firstly lets grab DIRAC and any extra modules you want and put them in place:
git clone DIRAC and switch to the branch we're interested in (the latest in the v6r13 series here):
git clone https://github.com/ic-hep/DIRAC.git /opt/dirac/DIRAC git --git-dir=/opt/dirac/DIRAC/.git --work-tree=/opt/dirac/DIRAC checkout rel-v6r13 /opt/dirac/DIRAC/Core/scripts/dirac-deploy-scripts.py
The final line here deploys the scripts used by DIRAC which will become useful later on and creates a useful .bashrc
Web interface (optional but highly recommended)
git --git-dir=/opt/dirac/Web/.git --work-tree=/opt/dirac/Web checkout v1r3p7
GridPPDIRAC extensions
git clone https://github.com/ic-hep/GridPPDIRAC.git /opt/dirac/GridPPDIRAC git --git-dir=/opt/dirac/GridPPDIRAC/.git --work-tree=/opt/dirac/GridPPDIRAC checkout master
Setup Grid Certificates
Create the folder:
mkdir -p /opt/dirac/etc/grid-security
and copy your hostcert.pem and hostkey.pem to this folder and make the following symlinks:
ln -sf /etc/grid-security/certificates /opt/dirac/etc/grid-security/certificates ln -sf /etc/grid-security/vomsdir /opt/dirac/etc/grid-security/vomsdir
or, configure your certificates to be installed in this directory.
Run install script
You now need to create a config file which will be used to install DIRAC:
LocalInstallation { Release = integration PythonVersion = 27 InstallType = server UseVersionsDir = no TargetPath = /opt/dirac ExtraModules = Web, GridPP SiteName = DEV.DIRAC Setup = Development InstanceName = Devel SkipCADownload = yes UseServerCertificate = yes ConfigurationName = DevelConfig AdminUserName = dirac_host AdminUserDN = ChangeME__to_a_sensible_UserDN AdminUserEmail = ChangeME__to_a_sensible_Email AdminGroupName = dirac_admin HostDN = ChangeME__to_a_hostDN ConfigurationMaster = yes Host = ChangeME__to_a_HostName Services = Configuration/Server Services += Framework/SystemAdministrator Services += DataManagement/StorageElement Services += DataManagement/FileCatalog Services += Framework/SystemLoggingReport Services += Framework/Monitoring Services += Framework/Notification Services += Framework/SecurityLogging Services += Framework/UserProfileManager Services += Framework/ProxyManager Services += Framework/SystemLogging Services += Framework/Plotting Services += Framework/BundleDelivery Services += WorkloadManagement/SandboxStore Services += WorkloadManagement/Matcher Services += WorkloadManagement/JobMonitoring Services += WorkloadManagement/JobManager Services += WorkloadManagement/JobStateUpdate Services += WorkloadManagement/WMSAdministrator Services += WorkloadManagement/OptimizationMind Services += RequestManagement/ReqManager Services += Accounting/DataStore Services += Accounting/ReportGenerator Agents = Framework/SystemLoggingDBCleaner Agents += Framework/TopErrorMessagesReporter Agents += WorkloadManagement/PilotStatusAgent Agents += WorkloadManagement/JobHistoryAgent Agents += WorkloadManagement/SiteDirector Agents += WorkloadManagement/InputDataAgent Agents += WorkloadManagement/TaskQueueDirector Agents += WorkloadManagement/JobCleaningAgent Agents += WorkloadManagement/StalledJobAgent Agents += RequestManagement/RequestExecutingAgent Agents += RequestManagement/CleanReqDBAgent Agents += WorkloadManagement/StatesAccountingAgent Agents += WorkloadManagement/PilotMonitorAgent Databases = AccountingDB Databases += SandboxMetadataDB Databases += JobDB Databases += FileCatalogDB Databases += JobLoggingDB Databases += UserProfileDB Databases += TaskQueueDB Databases += NotificationDB Databases += ReqDB Databases += FTSDB Databases += ComponentMonitoringDB Databases += ProxyDB Databases += PilotAgentsDB Databases += SystemLoggingDB Executors = WorkloadManagement/Optimizers WebPortal = yes Database { User = Dirac Password = CHANGEME_PASSWORD RootPwd = CHANGEME_ROOT_PASSWORD Host = localhost MySQLLargeMem = no } }
scripts/dirac-install -X /opt/dirac/etc/dinstall.cfg