-
Notifications
You must be signed in to change notification settings - Fork 127
Installation Source
Installation from source is the best approach for a stable setup if you are not using a distribution supported by Installation-RPM.
Note that if you want to run the latest developmental versions, then Installation-Git is a better approach to make it easy to upgrade, however the application may be less stable.
Before installing NamedManager, make sure you have:
a) A functional Apache server setup with PHP 5.3+ installed and SSL enabled.
b) A MySQL database server for storing the application's settings and cache DB.
c) One or more functional bind name servers (can be same or different hosts to the web interface).
Download the latest source tarball from repos.jethrocarr.com to a location of your choosing - suggested example used in our documentation is /usr/share/namedmanager/
If you have an existing install, you must retain htdocs/include/config-settings.php and bind/include/config-settings.php but anything else can be replaced.
You will need to copy the unpacked sources to both the webserver and the Bind name servers, although the Bind name servers require only the bind/ directory.
TODO: In future this will be more automated after we complete upgrades to the installer used by Amberphplib.
-
Determine the latest version of sql/version_*_install.sql
-
Import with:
$ mysql -u root -p < sql/version_LATESTDATE_install.sql
- Create a MySQL user account for NamedManager
$ mysql -u root -p
GRANT USAGE ON * . * TO 'namedmanager'@'%' IDENTIFIED BY 'passwordgoeshere' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES, LOCK TABLES ON `namedmanager` . * TO 'namedmanager'@'%';
\q
You can install NamedManager in almost any way you desire, however we recommend the following approach for installing the configuration files to keep them consistent with our documentation, as well as ensuring your site config is kept outside of the unpacked tarball.
The following assumes you are inside the unpacked sources:
mkdir /etc/namedmanager/
cp htdocs/include/sample-config.php /etc/namedmanager/config.php
ln -s /etc/namedmanager/config.php $PWD/htdocs/include/config-settings.php
If you wish to just set up a config file inside the unpacked source, you can simply do:
cp htdocs/include/sample-config.php htdocs/include/config-settings.php
By default internal application authentication is used, optionally it can be switched to use LDAP - refer to Installation-Integration-LDAP for instructions on how to do this.
Edit the configuration file, at the least you will need to add in the MySQL database, username and password that you will be using for the application.
You should also configure Apache to serve the contents of the htdocs/ directory to a particular location (eg http://localhost/namedmanager/), an example configuration is provided with the application in file resources/namedmanager-httpdconfig.conf
Some background cronjobs are used for performing tasks such as replicating to cloud providers. This requires the cron.d configuration file be installed
cp resources/namedmanager-www.cron /etc/cron.d/namedmanager-www
You may need to edit this file and adjust the assumed paths.
You also need to create a directory for the logs:
mkdir /var/log/namedmanager
chown apache:apache /var/log/namedmanager
Before you can configure any domain names and records, it's necessary to login to the web interface and configure your name servers.
NamedManager requires all the name servers to have an entry in NamedManager - this information is used to generate NS records for all the domains, as well as being where the API keys are set to allow the name servers to connect to NamedManager for pulling configuration.
The default login is username "setup", password "setup123". If using recommended defaults, the application will be accessible at https://localhost/namedmanager.
For each Bind nameserver being used, the bind/ directory needs to be copied and installed in a location on the server. This step is optional and only needed if you want to use Bind with NamedManager.
The contents of bind/ provides two main components:
- Configuration generation script which connects to the NamedManager web interface via SOAP and downloads the latest configuration and writes to Bind zonefiles and config files.
- The log feeder script which installs a bootscript that monitors logs and pushes them back into NamedManager.
You can install NamedManager in almost any way you desire, however we recommend the following approach for installing the configuration files to keep them consistent with our documentation, as well as ensuring your site config is kept outside of the unpacked sources.
The following assumes you are inside the unpacked source:
mkdir /etc/namedmanager/
cp bind/include/sample-config.php /etc/namedmanager/config-bind.php
ln -s /etc/namedmanager/config-bind.php $PWD/bind/include/config-settings.php
If you wish to just set up a config file inside the unpacked source, you can simply do:
cp bind/include/sample-config.php bind/include/config-settings.php
A number of changes will need to be made to this file, this will be covered in a later step.
The configuration generator is called regularly by cron. This crontab is optional, however it's required for automatically applying the latest configuration to the Bind name server.
cp resources/namedmanager-bind.cron /etc/cron.d/namedmanager-bind
You may need to edit this file and adjust the assumed paths.
A boot script is provided and required for launching the NamedManager logpush daemon that feeds Bind logs to the web interface. This bootscript is optional, you can alternatively launch the application out of the bind/ directory when needed.
cp resources/namedmanager_logpush.rcsysinit /etc/init.d/namedmanager_logpush
You may need to edit this file and adjust the assumed paths.
Read and perform the steps in Installation-Integration-Bind for details on configuring NamedManager to hook into the existing Bind environment.
If planning to use the Amazon AWS Route53 integration, read Installation-Integration-Route53 for instructions on configuration.
You can now begin adding DNS zones - by importing existing Bind zonefiles, generating reverse zones or manual entry.
Use the application configuration panel to set defaults such as SOA contact and expiry times.