-
Notifications
You must be signed in to change notification settings - Fork 127
Installation Git
If you are interested in developing and contributing to NamedManager, the best approach is to install from Git, which makes it very easy to get the latest features as soon as they are released.
Please note that Git can sometimes be broken, updates might not be smooth like with regular releases and I do not recommend using Git for production
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).
Check out from Git in the usual method.
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 checked out 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 SVN sources.
The following assumes you are inside the checked out SVN source inside trunk/:
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 checked out 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 the default Apache configuration is installed, the application should be available 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 SVN sources.
The following assumes you are inside the checked out SVN source inside trunk/.
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 checked out 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 of records into the web interface.
Use the application configuration panel to set defaults such as SOA contact and expiry times for your domains.