centOS

It seems it isn’t compatible with centOS anymore, as nothing works.

MySQL is installed, but can’t be started, same with every single other service.

Here are most of the errors I am getting:

Failed to start database :

sh: /etc/rc.d/init.d/mysqld: No such file or directory

A problem was found with your Postfix virtual maps : No map sources were found in the Postfix configuration

… your system is not ready for use by Virtualmin.

Failed to create virtual server : No virtual domains file (virtual_alias_maps) was found in your Postfix configuration!

OS is centos-5-i386-default-5.2-20081210
200 MB RAM

Hmm, before we dig too far into those errors, do you by chance have swap space setup on that server?

What output do you get if you run the "free" command?
-Eric

[root@roflmao ~]# free
total used free shared buffers cached
Mem: 200704 76500 124204 0 0 0
-/+ buffers/cache: 76500 124204
Swap: 0 0 0

It’s a openVZ VPS

Yeah, my suspicion is that this just isn’t enough RAM to get through the installation process.

Running the install.sh script is normally a pretty solid way of doing an install.

You run the installer, it pulls down everything you need, and everything just works.

Of the few times I’ve seen it not work, most are related to low memory situations.

In your case, not only are you limited to 200MB of RAM, but you don’t have any swap space available.

My suggestions are:

  1. Upgrade your available memory

  2. Talk to your provider about enabling swap space

You’re likely to run into further issues down the road if you don’t look into both of the above.
-Eric

It seems it isn't compatible with centOS anymore, as nothing works.

What do you mean by "it"? Virtualmin? CentOS is certainly supported. It is used by approximately 80% of Virtualmin users. It is, by far, the best supported OS for Virtualmin and the install script.

200MB would be enough (barely) for the install. Most of the install memory usage comes from yum, which gets quite large when installing a large number of packages…it can be reduced by manually pre-installing most of the dependencies one or two packages at a time, and then running install.sh. (Just make sure you get those dependencies from the OS standard repositories rather than third party repositories or everything will just explode with brokenness, as most third party repos are seriously incompatible with the stock and EPEL packages.)

There’s also an issue with OpenVZ, where it reports more free memory than is actually available, leading to random allocation failures and segfaults of programs trying to allocate memory. We’ve seen it a lot, and only on OpenVZ/Virtuozzo systems. I don’t know if it is because the host is overselling memory, or if OpenVZ/Virtuozzo just has a very long-running memory bug that has never been fixed (we started getting reports of these kinds of problems about three years ago, and they’ve only gotten more common).

i have 1 openvz with 256mb ram and it installed without errors.
The server is running without errors. however doing an update I first have to kill bind and apache, since yum does need a lot of ram.

as for third party repositories, remove them first if any before attempting to install virtualmin. some companies have template OS’s with webmin but with DAG repos enabled (which break webmin)

Could you tell me how to check if such things are enabled, and how to disable them if they are?

Also, is there a list of dependencies needed, so I can install them one by one?

you would see this in the /etc/yum.repos.d
you’d see CentOS-Base.repo in there and CentOS-Media.repo
after installing virtualmin you’d also see virtualmin.repo

anything else should go before doing a yum update

Also, is there a list of dependencies needed, so I can install them one by one?

There is a list in the install.sh in the “rhdeps” variable. That’s only part of them, but probably enough to avoid the biggest amount of bloat in yum during install.

You could do something like copying out that variable definition and use something like this (don’t copy/past here, as I’m not going to code tag wrap it because it would blow the layout here in the forum and make it hard to read):

export rhdeps="bind bind-utils caching-nameserver httpd postfix bind spamassassin procmail perl-DBD-Pg perl-DBD-MySQL quota iptables openssl python mailman subversion mysql mysql-server mysql-devel postgresql postgresql-server rh-postgresql rh-postgresql-server logrotate webalizer php php-domxl php-gd php-imap php-mysql php-odbc php-pear php-pgsql php-snmp php-xmlrpc php-mbstring mod_perl mod_python cyrus-sasl dovecot spamassassin mod_dav_svn cyrus-sasl-gssapi mod_ssl ruby ruby-devel rubygems perl-XML-Simple perl-Crypt-SSLeay"

for i in $rhdeps; do
yum -y install $i
done

And that would install each dependency separately (but without a human having to run the command every time). The memory usage of such a run should be as small as yum can ever be (so if you see problems during this process, your system is almost certainly going to be unusable; you simply can’t work effectively with a system that doesn’t have working package management, and installing a complex product like Virtualmin will just be an exercise in frustration).

You’ve got memory problems. That “can’t start new thread” error means that yum tried to fire up a new thread to do some network work and it failed. Memory seems the most likely reason it would occur. It could also be a resource control issue. But this is not a problem with fastestmirror…it’s way deeper at the core Python thread library. And, if that’s breaking, it’s indicative of big problems on your system (or no as much memory as the system claims to have).

If this is a Virtuozzo/OpenVZ system, you might be running into the memory allocation problems that seem to be endemic to that software.

You could try making rhdeps really short. Since you’ve already installed all the deps, just cut out all of it except the first one, and see what happens. It may still require more memory if the install list is long. I dunno.

Well, I installed those now, but now I can’t run the install.sh because fastestmirror is borked…

Checking for HTTP client...found /usr/bin/curl -s -O Checking for perl...found /usr/bin/perl Loading log4sh logging library... INFO - Started installation log in /root/virtualmin-install.log INFO - Checking for fully qualified hostname... INFO - Hostname OK: fully qualified as roflmao.datashelf.net INFO - Installing serial number and license key into /etc/virtualmin-license INFO - Loading OS selection library... INFO - Download of http://software.virtualmin.com/lib/oschooser.pl Succeeded. INFO - Loading OS list... INFO - Download of http://software.virtualmin.com/lib/os_list.txt Succeeded. INFO - Operating system name: CentOS Linux INFO - Operating system version: 5 INFO - Configuring package manager for CentOS Linux 5... INFO - Disabling SELinux during installation... /usr/sbin/setenforce: SELinux is disabled INFO - setenforce 0 failed: 1 INFO - Download of http://software.virtualmin.com/gpl/rhel/5/i386/virtualmin-release-latest.noarch.rpm Succeeded. warning: virtualmin-release-latest.noarch.rpm: Header V3 DSA signature: NOKEY, key ID a0bdbcf9 Running updatedb so locate works...this will take a little while. Attempting to import various system RPM-GPG-KEY files...Errors may occur, if you've already imported them. It is safe to ignore these errors. INFO - Succeeded. INFO - Installing dependencies using command: /usr/bin/yum -y -d 2 install bind bind-utils caching-nameserver httpd postfix bind spamassassin procmail perl-DBD-Pg perl-DBD-MySQL quota iptables openssl python mailman subversion mysql mysql-server mysql-devel postgresql postgresql-server rh-postgresql rh-postgresql-server logrotate webalizer php php-domxl php-gd php-imap php-mysql php-odbc php-pear php-pgsql php-snmp php-xmlrpc php-mbstring mod_perl mod_python cyrus-sasl dovecot spamassassin mod_dav_svn cyrus-sasl-gssapi mod_ssl ruby ruby-devel rubygems perl-XML-Simple perl-Crypt-SSLeay ...in progress, please wait... \Traceback (most recent call last): File "/usr/bin/yum", line 29, in ? yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 229, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 104, in main result, resultmsgs = base.doCommands() File "/usr/share/yum-cli/cli.py", line 339, in doCommands self._getTs(needTsRemove) File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs self._getTsInfo(remove_only) File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo pkgSack = self.pkgSack File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 591, in <lambda> pkgSack = property(fget=lambda self: self._getSacks(), File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 434, in _getSacks self.repos.populateSack(which=repos) File "/usr/lib/python2.4/site-packages/yum/repos.py", line 223, in populateSack self.doSetup() File "/usr/lib/python2.4/site-packages/yum/repos.py", line 71, in doSetup self.ayum.plugins.run('postreposetup') File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 176, in run func(conduitcls(self, self.base, conf, **kwargs)) File "/usr/lib/yum-plugins/fastestmirror.py", line 181, in postreposetup_hook all_urls = FastestMirror(all_urls).get_mirrorlist() File "/usr/lib/yum-plugins/fastestmirror.py", line 333, in get_mirrorlist self._poll_mirrors() File "/usr/lib/yum-plugins/fastestmirror.py", line 376, in _poll_mirrors pollThread.start() File "/usr/lib/python2.4/threading.py", line 416, in start _start_new_thread(self.__bootstrap, ()) thread.error: can't start new thread /usr/bin/yum -y -d 2 install bind bind-utils caching-nameserver httpd postfix bind spamassassin procmail perl-DBD-Pg perl-DBD-MySQL quota iptables openssl python mailman subversion mysql mysql-server mysql-devel postgresql postgresql-server rh-postgresql rh-postgresql-server logrotate webalizer php php-domxl php-gd php-imap php-mysql php-odbc php-pear php-pgsql php-snmp php-xmlrpc php-mbstring mod_perl mod_python cyrus-sasl dovecot spamassassin mod_dav_svn cyrus-sasl-gssapi mod_ssl ruby ruby-devel rubygems perl-XML-Simple perl-Crypt-SSLeay failed. Error (if any): 0

Displaying the last 15 lines of /root/virtualmin-install.log to help troubleshoot this problem:
INFO - 2009-05-22 06:39:43 - Installing serial number and license key into /etc/virtualmin-license
INFO - 2009-05-22 06:39:43 - Loading OS selection library…
INFO - 2009-05-22 06:39:43 - Download of http://software.virtualmin.com/lib/oschooser.pl Succeeded.
INFO - 2009-05-22 06:39:43 - Loading OS list…
INFO - 2009-05-22 06:39:43 - Download of http://software.virtualmin.com/lib/os_list.txt Succeeded.
INFO - 2009-05-22 06:39:44 - Operating system name: CentOS Linux
INFO - 2009-05-22 06:39:44 - Operating system version: 5
INFO - 2009-05-22 06:39:44 - Configuring package manager for CentOS Linux 5…
INFO - 2009-05-22 06:39:44 - Disabling SELinux during installation…
INFO - 2009-05-22 06:39:44 - setenforce 0 failed: 1
INFO - 2009-05-22 06:39:45 - Download of http://software.virtualmin.com/gpl/rhel/5/i386/virtualmin-release-latest.noarch.rpm Succeeded.
INFO - 2009-05-22 06:39:56 - Succeeded.
INFO - 2009-05-22 06:39:56 - Installing dependencies using command: /usr/bin/yum -y -d 2 install bind bind-utils caching-nameserver httpd postfix bind spamassassin procmail perl-DBD-Pg perl-DBD-MySQL quota iptables openssl python mailman subversion mysql mysql-server mysql-devel postgresql postgresql-server rh-postgresql rh-postgresql-server logrotate webalizer php php-domxl php-gd php-imap php-mysql php-odbc php-pear php-pgsql php-snmp php-xmlrpc php-mbstring mod_perl mod_python cyrus-sasl dovecot spamassassin mod_dav_svn cyrus-sasl-gssapi mod_ssl ruby ruby-devel rubygems perl-XML-Simple perl-Crypt-SSLeay
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

FATAL - Fatal Error Occurred: Something went wrong during installation: 0
FATAL - Cannot continue installation.
FATAL - Attempting to remove virtualmin repository configuration, so the installation can be
FATAL - re-attempted after any problems have been resolved.
FATAL - Removing temporary directory and files.
FATAL - If you are unsure of what went wrong, you may wish to review the log
FATAL - in /root/virtualmin-install.log
[root@roflmao src]#

Well, I installed those now, but now I can’t run the install.sh because fastestmirror is borked…

Checking for HTTP client...found /usr/bin/curl -s -O Checking for perl...found /usr/bin/perl Loading log4sh logging library... INFO - Started installation log in /root/virtualmin-install.log INFO - Checking for fully qualified hostname... INFO - Hostname OK: fully qualified as roflmao.datashelf.net INFO - Installing serial number and license key into /etc/virtualmin-license INFO - Loading OS selection library... INFO - Download of http://software.virtualmin.com/lib/oschooser.pl Succeeded. INFO - Loading OS list... INFO - Download of http://software.virtualmin.com/lib/os_list.txt Succeeded. INFO - Operating system name: CentOS Linux INFO - Operating system version: 5 INFO - Configuring package manager for CentOS Linux 5... INFO - Disabling SELinux during installation... /usr/sbin/setenforce: SELinux is disabled INFO - setenforce 0 failed: 1 INFO - Download of http://software.virtualmin.com/gpl/rhel/5/i386/virtualmin-release-latest.noarch.rpm Succeeded. warning: virtualmin-release-latest.noarch.rpm: Header V3 DSA signature: NOKEY, key ID a0bdbcf9 Running updatedb so locate works...this will take a little while. Attempting to import various system RPM-GPG-KEY files...Errors may occur, if you've already imported them. It is safe to ignore these errors. INFO - Succeeded. INFO - Installing dependencies using command: /usr/bin/yum -y -d 2 install bind bind-utils caching-nameserver httpd postfix bind spamassassin procmail perl-DBD-Pg perl-DBD-MySQL quota iptables openssl python mailman subversion mysql mysql-server mysql-devel postgresql postgresql-server rh-postgresql rh-postgresql-server logrotate webalizer php php-domxl php-gd php-imap php-mysql php-odbc php-pear php-pgsql php-snmp php-xmlrpc php-mbstring mod_perl mod_python cyrus-sasl dovecot spamassassin mod_dav_svn cyrus-sasl-gssapi mod_ssl ruby ruby-devel rubygems perl-XML-Simple perl-Crypt-SSLeay ...in progress, please wait... \Traceback (most recent call last): File "/usr/bin/yum", line 29, in ? yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 229, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 104, in main result, resultmsgs = base.doCommands() File "/usr/share/yum-cli/cli.py", line 339, in doCommands self._getTs(needTsRemove) File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs self._getTsInfo(remove_only) File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo pkgSack = self.pkgSack File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 591, in <lambda> pkgSack = property(fget=lambda self: self._getSacks(), File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 434, in _getSacks self.repos.populateSack(which=repos) File "/usr/lib/python2.4/site-packages/yum/repos.py", line 223, in populateSack self.doSetup() File "/usr/lib/python2.4/site-packages/yum/repos.py", line 71, in doSetup self.ayum.plugins.run('postreposetup') File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 176, in run func(conduitcls(self, self.base, conf, **kwargs)) File "/usr/lib/yum-plugins/fastestmirror.py", line 181, in postreposetup_hook all_urls = FastestMirror(all_urls).get_mirrorlist() File "/usr/lib/yum-plugins/fastestmirror.py", line 333, in get_mirrorlist self._poll_mirrors() File "/usr/lib/yum-plugins/fastestmirror.py", line 376, in _poll_mirrors pollThread.start() File "/usr/lib/python2.4/threading.py", line 416, in start _start_new_thread(self.__bootstrap, ()) thread.error: can't start new thread /usr/bin/yum -y -d 2 install bind bind-utils caching-nameserver httpd postfix bind spamassassin procmail perl-DBD-Pg perl-DBD-MySQL quota iptables openssl python mailman subversion mysql mysql-server mysql-devel postgresql postgresql-server rh-postgresql rh-postgresql-server logrotate webalizer php php-domxl php-gd php-imap php-mysql php-odbc php-pear php-pgsql php-snmp php-xmlrpc php-mbstring mod_perl mod_python cyrus-sasl dovecot spamassassin mod_dav_svn cyrus-sasl-gssapi mod_ssl ruby ruby-devel rubygems perl-XML-Simple perl-Crypt-SSLeay failed. Error (if any): 0

Displaying the last 15 lines of /root/virtualmin-install.log to help troubleshoot this problem:
INFO - 2009-05-22 06:39:43 - Installing serial number and license key into /etc/virtualmin-license
INFO - 2009-05-22 06:39:43 - Loading OS selection library…
INFO - 2009-05-22 06:39:43 - Download of http://software.virtualmin.com/lib/oschooser.pl Succeeded.
INFO - 2009-05-22 06:39:43 - Loading OS list…
INFO - 2009-05-22 06:39:43 - Download of http://software.virtualmin.com/lib/os_list.txt Succeeded.
INFO - 2009-05-22 06:39:44 - Operating system name: CentOS Linux
INFO - 2009-05-22 06:39:44 - Operating system version: 5
INFO - 2009-05-22 06:39:44 - Configuring package manager for CentOS Linux 5…
INFO - 2009-05-22 06:39:44 - Disabling SELinux during installation…
INFO - 2009-05-22 06:39:44 - setenforce 0 failed: 1
INFO - 2009-05-22 06:39:45 - Download of http://software.virtualmin.com/gpl/rhel/5/i386/virtualmin-release-latest.noarch.rpm Succeeded.
INFO - 2009-05-22 06:39:56 - Succeeded.
INFO - 2009-05-22 06:39:56 - Installing dependencies using command: /usr/bin/yum -y -d 2 install bind bind-utils caching-nameserver httpd postfix bind spamassassin procmail perl-DBD-Pg perl-DBD-MySQL quota iptables openssl python mailman subversion mysql mysql-server mysql-devel postgresql postgresql-server rh-postgresql rh-postgresql-server logrotate webalizer php php-domxl php-gd php-imap php-mysql php-odbc php-pear php-pgsql php-snmp php-xmlrpc php-mbstring mod_perl mod_python cyrus-sasl dovecot spamassassin mod_dav_svn cyrus-sasl-gssapi mod_ssl ruby ruby-devel rubygems perl-XML-Simple perl-Crypt-SSLeay
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

FATAL - Fatal Error Occurred: Something went wrong during installation: 0
FATAL - Cannot continue installation.
FATAL - Attempting to remove virtualmin repository configuration, so the installation can be
FATAL - re-attempted after any problems have been resolved.
FATAL - Removing temporary directory and files.
FATAL - If you are unsure of what went wrong, you may wish to review the log
FATAL - in /root/virtualmin-install.log
[root@roflmao src]#