The Perfect Server - OpenSUSE 11.3 x86_64 [ISPConfig 2] - Page 6
13 Webalizer
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
/etc/init.d/ntp start
15 Install some Perl Modules needed by SpamAssassin (comes with ISPConfig)
Run
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:
/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor
17 The End
The configuration of the server is now finished, and if you wish you can now install ISPConfig on it, following these instructions: http://www.ispconfig.org/manual_installation.htm
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:
vi /usr/include/stdio.h
[...] /* 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[2]: *** [htpasswd.o] Error 1
make[2]: Leaving directory `/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]: *** [build-support] Error 1
make[1]: 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:
Open /home/admispconfig/ispconfig/lib/config.inc.php...
vi /home/admispconfig/ispconfig/lib/config.inc.php
... 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'
/etc/init.d/postfix restart
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
/usr/sbin/suexec2 -V
and the output should look like this:
server1:~ # /usr/sbin/suexec2 -V
-D AP_DOC_ROOT="/srv/www"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"
server1:~ #
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).
18 Links
- OpenSUSE: http://www.opensuse.org/
- ISPConfig: http://www.ispconfig.org/