minimal master server?

Discussion in 'Installation/Configuration' started by nhybgtvfr, Dec 9, 2014.

  1. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    Hi,

    does the database from the first instance of a multiserver setup contain everything for all the servers? or still only for the services it's running itself?


    I've tried installing it, with a local MySQL database, not joining an existing multiserver setup. telling it not to configure mail, ftp, dns, apache, or the web interface, so basically firewall only.

    I've then configured another server to join to this server (again, with it's own local MySQL db), configuring just the apache server, firewall, and web interface.


    when logging into the web interface, I can see the webserver in the server configs, server services etc, but nothing for the master ispconfig instance,
    I know it's not running any of the services, but I would still have expected it to be visible.


    basically, what I'm looking at is having an ispconfig instance with the full DB, on a server with nothing else on it. 8 load-balanced apache servers, web2 to web8 will be configured in ispconfig as mirrors of web1, these will have the ispconfig web interface.
    4 MySQL servers (multi-master with a slave for each master) mysql2 - mysql4 will be mirrors of mysql1 in ispconfig, 2 mail servers (1 mirror), 2 ftp servers (1 mirror), and 2 dns servers (1 mirror).

    I know i'll need to give the MySQL servers different database names for each ispconfig instance since all each database will be replicated across all 4 servers
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    The master server database cntains all records for all servers.

    there should be a server record with ID 1 listed under System > server services for the master node.
     
  3. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    that's what I thought, and expected.

    this is what I get from the query on the master ispconfig db:

    mysql> select server_id,server_name from server;
    +-----------+----------------+
    | server_id | server_name |
    +-----------+----------------+
    | 1 | cron.scl.co.uk |
    | 2 | web1.scl.co.uk |
    +-----------+----------------+


    the attached image from the web interface only shows web1.scl.co.uk
     

    Attached Files:

  4. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    ok, I've added another webserver, and when I log into the web interface on that server, that only shows the existence of that server (web2.scl.co.uk).

    so I'm left to assume that the web interface is only connecting to, and showing the information for the locally installed database, not the whole system. if I change anything here, will that change actually propagate to the master?

    so do I have to install apache and the web interface on the master server? or can I set the interface to pull data from the master database? if so, where do I set this? I had a look at /usr/local/ispconfig and can't see anything obvious.

    I'd like all ispconfig access and changes to be made from the web interfaces installed on the webservers, not from a web interface installed on the master server.
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    I guess you missed to copy the interface config.inc.php file from amster to the slaves as described in the mirror tutorial, as all interfaces have to connect to the database of the master and not to the database of the slave.
     
  6. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    yep, completely missed that, but that's because I've not actually tried configuring any server mirroring yet. (I'm going through the docs as I get to each bit, I prefer clicking on things and seeing what happens first :p, what can I say, I'm male, any big red button with the text 'don't press' on it will be the first one I press :eek:)

    if I look at the services of web2, I don't even have the option to set it to be a mirror, that dropdown is blank.
    however, I'm not concerned about that at the moment, though I now believe it's related to the issue I do have.

    so just to make sure I have now got things straight, the web-interface is completely separate from the locally installed db's, and is generally assumed to be on the first server in the cluster (hence the connection to localhost), whatever server(s) I happen to install the web interface onto, the config-inc.php file should be set to connect it to the database on the first server in the multiserver setup. :cool:
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes, thats right. ISPConfig consist of two independant software parts, the interface and the server. The interface is basically a website while the server part does all the config things. Interface and server communicate over its mysql datbaseand slave servers communicate with the master over mysql as well.
     
  8. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    ok, I've got it working. but looking at the config.inc.php files, the dbmaster_fields on the first server in the setup are not complete,
    on the servers that join afterwards they are complete, containing details for a server account with restricted rights on the master server database.

    I've changed the db_fields on the additional servers, using another account with remote access to the master server DB, with full rights just to the ispconfig database.

    I've left the dbmaster_ fields untouched, and the interface appears to be working how I want, changes made through the interface on any of the servers running it are propagated ok.

    which just leaves me wondering, is the dbmaster_ part used at all for the interface configuration? or is it just used for the server configuration in /usr/local/ispconfig/server/lib?
     
  9. till

    till Super Moderator Staff Member ISPConfig Developer

    These fields are used on the slave servers only, therefor the master has no data in most of the fields. The fields are used by the server part only.
     

Share This Page