Posts by Nuxwin


    Is any plans for RH?


    Yes. In near future, you will be able to implements some interface for distro specific i-MSCP installations. The i-MSCP core code will be revisited a lot to allow installation on any distro.


    For instance, autoinstall interface :


    [code=php]
    #!/usr/bin/perl


    =head1 NAME


    autoinstaller::Adapter::Abstract - Abstract class for Autoinstaller distro adapters


    =cut


    # i-MSCP - internet Multi Server Control Panel
    # Copyright 2010 - 2012 by internet Multi Server Control Panel
    #
    # This program is free software; you can redistribute it and/or
    # modify it under the terms of the GNU General Public License
    # as published by the Free Software Foundation; either version 2
    # of the License, or (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    #
    # @category i-MSCP
    # @copyright 2010 - 2012 by i-MSCP | http://i-mscp.net
    # @author Laurent Declercq <l.declercq@nuxwin.com>
    # @link http://i-mscp.net i-MSCP Home Site
    # @license http://www.gnu.org/licenses/gpl-2.0.html GPL v2


    package autoinstaller::Adapter::Abstract;


    use strict;
    use warnings;
    use iMSCP::Debug;
    use parent 'Common::SingletonClass';


    =head1 DESCRIPTION


    Abstract class for distro autoinstaller adapters. Any distro autoinstaller adapter class *should* implement methods of this class.


    =head1 PUBLIC METHODS


    =over 4


    =item installPreRequiredPackages()


    Install pre-required packages.


    Return int - 0 on success, other on failure


    =cut


    sub installPreRequiredPackages
    {
    0;
    }


    =item preBuild()


    Process preBuild tasks.


    Return int - 0 on success, other on failure


    =cut


    sub preBuild
    {
    0;
    }


    =item installPackages()


    Install distribution packages.


    Return int - 0 on success, other on failure


    =cut


    sub installPackages
    {
    my $self = shift;


    fatal(ref($self) . ' adapter must implement the installPackages() method');
    }


    =item postBuild()


    Process postBuild tasks.


    Return int - 0 on success, other on failure


    =cut


    sub postBuild
    {
    0;
    }


    =back


    =head1 Author


    Laurent Declercq <l.declercq@nuxwin.com>


    =cut


    1;
    [/php]


    All these methods (called by the installer subsystem) allow to the distribution maintainers to provide their autoinstall adapter. Of course, implementing such interface is not sufficient. When all interfaces will be ready, we will provide documentation for maintainers on our wiki.


    You need still note that official support will be provided only for Debian-like operating systems.


    Thanks, have tried to start the setup for regenerating the config files, but I think the setup is overwriting my changed template files.. Because of that this way was not working for me..


    The imscp-setup script doesn't change your templates normally. Only the imscp-autoinstall script does. ;)

    Template for installer preseeding and hooking features. Feel free to provide any suggestion for better comments in it


    [code=php]
    #!/usr/bin/perl


    # i-MSCP preseed.pl template file for installer preseeding and hooking features
    # See documentation at LINK TO DOC


    #
    ## Preseeding
    #


    ## Autoinstall questions


    $main::preseed{'SERVERS'} = {
    'HTTPD' => 'apache_itk', # Server to use for the Httpd service (apache_itk|apache_fgcid)
    'PO' => 'courier' # Server to use for the po service (courier|dovecot)
    };


    ## Setup questions


    # Server hostname
    $main::preseed{'SERVER_HOSTNAME'} = ''; # Fully qualified hostname name such as imscp.i-mscp.net


    # Domain name from which the i-MSCP frontEnd should be reachable
    $main::preseed{'BASE_SERVER_VHOST'} = ''; # Fully qualified domain name such as panel. imscp.i-mscp.net


    # Local DNS resolver
    $main::preseed{'LOCAL_DNS_RESOLVER'} = 'yes';


    # Base server Ip (primary external ip) - Accept both ipV4 and ipV6 ips
    $main::preseed{'BASE_SERVER_IPS'} = ''; # 192.168.5.110


    # Additional ips to make available for i-MSCP - Accept both IPv4 and IPv6
    $main::preseed{'ADDITIONAL_SERVER_IPS'} = []; # ['192.168.5.115', '192.168.5.115']


    # SQL DSN and i-MSCP SQL user
    $main::preseed{'DATABASE_TYPE'} = 'mysql'; # database type (for now, only 'mysql' is allowed)
    $main::preseed{'DATABASE_HOST'} = 'localhost'; # Accept both hostname and ip
    $main::preseed{'DATABASE_PORT'} = '3306'; # Only relevant for TCP (eg: when DATABASE_HOST is not equal to localhost)
    $main::preseed{'DATABASE_USER'} = 'root'; # SQL user (user must exist and have full privileges on SQL server)
    $main::preseed{'DATABASE_PASSWORD'} = 'password'; # Password shouldn't be empty


    # i-MSCP database name
    $main::preseed{'DATABASE_NAME'} = 'imscp';


    # MySQL prefix/sufix
    $main::preseed{'MYSQL_PREFIX'} = 'no'; # (yes|no)
    $main::preseed{'MYSQL_PREFIX_TYPE'} = 'none'; # (none if MYSQL_PREFIX equal to 'no' or infront or behind)


    # Default admin
    $main::preseed{'ADMIN_LOGIN_NAME'} = 'admin'; #
    $main::preseed{'ADMIN_PASSWORD'} = 'password'; # Password shouldn't be empty
    $main::preseed{'DEFAULT_ADMIN_ADDRESS'} = ''; # Valid email address


    # PHP Timzone
    $main::preseed{'PHP_TIMEZONE'} = 'Europe/London'; # A valid PHP timezone (see http://php.net/manual/en/timezones.php)


    # PhpMyAdmin restricted SQL user
    $main::preseed{'PMA_USER'} = 'pma';
    $main::preseed{'PMA_PASSWORD'} = 'password'; # Password shouldn't be empty


    #
    ## SSL questions
    #


    # SSL for i-MSCP services
    $main::preseed{'SSL_ENABLED'} = 'no'; # (yes|no)


    # Only releavant if the SSL_ENABLED parameter is set to 'yes'
    $main::preseed{'CERTIFICATE_PATH'} = ''; # Leave blank if you do not have certificate (selfsigned certificate will be used instead)


    # Only releavant if the SSL_ENABLED parameter is set to 'yes'
    $main::preseed{'CERTIFICATE_PASSPHRASE'} = ''; # Leave blank if your certificate is not protected by a passphrase


    # Only releavant if the SSL_ENABLED parameter is set to 'yes'
    $main::preseed{'INTERMEDIATE_CERTIFICATE_PATH'} = ''; # Leave blank if you do not have intermediate certificate



    # iMSCP backup feature
    $main::preseed{'BACKUP_IMSCP'} = 'yes'; # (yes|no) - It's recommended to set this question to 'yes'


    # Customers backup feature
    $main::preseed{'BACKUP_DOMAINS'} = 'no'; # (yes|no)


    ## Server questions


    # Proftpd sql user
    $main::preseed['FTPD_SQL_USER'] = 'vftp'
    $main::preseed['FTPD_SQL_PASSWORD'] = '' # Password shouldn't be empty


    # apache_fcgi - Only relevant if server for httpd service is set to apache_fcgi
    $main::preseed{'PHP_FASTCGI'} = 'fcgid'; # (fcgid|fastcgi)


    # bind
    $main::preseed{'BIND_MODE'} = 'master'; # (master|slave)


    # Only relevant if you set the BIND_MODE parameter to 'slave'
    # Allow to indicate IP addresses of your primary DNS server(s)
    $main::preseed{'PRIMARY_DNS'} = '' # (empty value or list of ips, each separated by semicolon)


    # Only relevant if you set the BIND_MODE parameter to master and if you have slave DNS server(s)
    $main::preseed{'SECONDARY_DNS'} = 'no' # (no|list of ips, each separated by semicolon)


    # dovecot SQL USER (only relevant if you choice dovecot for the PO service
    $main::preseed{'DOVECOT_SQL_USER'} = 'dovecot_user';
    $main::preseed{'DOVECOT_SQL_PASSWORD'} = 'password'; # Password shouldn't be empty


    ## Addons questions


    # Aswtats addon
    $main::preseed{'AWSTATS_ACTIVE'} = 'yes' # (yes|no)
    $main::preseed{'AWSTATS_MODE'} = '0'; # (0 for dynamic ; 1 for static) - Only relevant if the question above is set to 'yes'


    # Policyd Weight configurator addon
    $main::preseed['DNSBL_CHECKS_ONLY'] = 'no' # (yes|no)


    # Roundcube addon
    $main::preseed['ROUNDCUBE_SQL_USER'] = 'roundcube_user'
    $main::preseed['ROUNDCUBE_SQL_PASSWORD'] = 'password'; # Password shouldn't be empty



    #
    ## Hooking - See the documentation at LINK TO DOC
    #


    1;
    [/php]

    All our administrator/moderators from the German section


    I see several bug reports in your corner such as permissions problems with roundcube and so on. I wondering if it's possible for you, either to create tickets on our bug tracker when you see such thread, or translate them in English in the main corner (English corner).



    Btw: I'm wondering if we should have someone assigned to such task. If a member want contribute to i-MSCP project by doing such work, we can maybe create a specific status in our team for him. What do you think about such proposition ?


    Thanks

    Hello


    Since the customized templates are those for master (the panel), you must launch the setup. The mysql commands provided above are only relevant for re-generating customer's vhost files.


    Code
    1. perl /var/www/imscp/engine/setup/imscp-setup


    Btw: I think that adding a simple file /etc/apache2/sites-available/0.conf with the content mentioned in first post should also works. I'll provide example ASAP. Anyway, the solution described here will only work for domains that use base server ip. It's easy to fix by adding all ips such as:


    <virtualhost ip1:80 ip2:80>


    And maybe move some NameVirtualHost directives.


    Normally, that should works.


    Nein, nicht Plugins. Ich rede vom Paket Installier. phpBB, Joomla etc per Mausklick installieren.


    Ich zitiere nochmal


    In that case, you must ask TheCry. The software installer is from its head.


    BTW: If the documentation on our wiki is not up to date, feel free to complete it. If you want contribute, ask TheCry to know how. If you want know how to process, ask TheCry or look at the software packages already there to understand how it work.


    And please, be nice. We are only trying to help you. ;)


    Thanks for using i-MSCP


    I don't think that it's a good choice to process in such way. Better is to edit both /etc/imscp/imscp.conf and /etc/imscp/imscp.old.conf to set the server variable to empty value and then, rerun the imscp autoinstall script to be able to switch. Why ? Because each i-MSCP server package provide its own installer and can do specific tasks such as setting files permissions. ;)