The Perfect Server - OpenSUSE 11.2 x86_64 [ISPConfig 2] - Page 6
To install webalizer, just run
yast2 -i webalizer
14 Synchronize the System Clock
If you want to have the system clock synchronized with an NTP server do the following:
yast2 -i xntp
Then add system startup links for ntp and start ntp:
chkconfig --add ntp
15 Install some Perl Modules needed by SpamAssassin (comes with ISPConfig)
yast2 -i perl-HTML-Parser perl-Net-DNS perl-Digest-SHA1 perl-NetAddr-IP perl-Archive-Tar
16 Disable AppArmor
AppArmor is a security extension of SUSE (similar to Fedora's SELinux) that should provide extended security. In my opinion you don't need it to configure a secure system, and it usually causes more problems than advantages (think of it after you have done a week of trouble-shooting because some service wasn't working as expected, and then you find out that everything was ok, only AppArmor was causing the problem). Therefore I disable it (this is a must if you want to install ISPConfig later on).
We can disable it like this:
chkconfig -d boot.apparmor
17 The End
Before you install ISPConfig, there's one important thing you must do. Open /usr/include/stdio.h and replace getline with parseline in line 653:
[...] /* Like `getdelim', but reads up to a newline. This function is not part of POSIX and therefore no official cancellation point. But due to similarity with an POSIX interface or due to the implementation it is a cancellation point and therefore not marked with __THROW. */ extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur; #endif [...]
If you don't do this, the installation will fail because of the following error:
htpasswd.c:101: error: conflicting types for 'getline'
/usr/include/stdio.h:653: note: previous declaration of 'getline' was here
make: *** [htpasswd.o] Error 1
make: Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make: *** [build-support] Error 1
make: Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41'
make: *** [build] Error 2
ERROR: Could not make Apache
You can undo the change to /usr/include/stdio.h after the successful ISPConfig installation (but don't forget to change it back whenever you want to update ISPConfig!).
Make sure you check out the ISPConfig 2.x - First Steps guide after the installations. One absolutely necessary step to make PHP work with ISPConfig on OpenSUSE is described in chapter 2.4.3 of that guide:
... and change $go_info["server"]["apache2_php"] to addhandler:
[...] $go_info["server"]["apache2_php"] = 'addhandler'; [...]
Also make sure that you run
postconf -e 'relay_domains = $mydestination, hash:/etc/postfix/relay'
after the successful ISPConfig installation.
17.1 A Note On SuExec
If you want to run CGI scripts under suExec, you should specify /srv/www as the web root for websites created by ISPConfig as SUSE's suExec is compiled with /srv/www as Doc_Root. Run
and the output should look like this:
server1:~ # /usr/sbin/suexec2 -V
So if you want to use suExec with ISPconfig, don't change the default web root (which is /srv/www) if you use expert mode during the ISPConfig installation (in standard mode you can't change the web root anyway so you'll be able to use suExec in any case).