Linux
What is the difference between StandAlone and Apache deployments?
On Windows there is less to worry about with the differences. Linux has further considerations however. In general on Linux, StandAlone is for debugging and testing at this time. Apache 2 is the recommended deployment method.
Apache 1: With Apache 1 the number of processes must be limited to 1. Because Apache 1 does not thread but instead uses forking on Linux, this is not a very scalable combination. Apache 1 is only suitable for low load deployments.
StandAlone: StandAlone uses threads and therefore is scalable. However StandAlone depends on X and QT which adds creates additional problems.
Apache 2: Apache 2 supports threads on Linux. IntraWeb 5.1.30 and higher support Apache 2.
I am encountering "undefined symbol: QWidget_destroy". How can I fix this?
- Download this rpm. This file is from RedHat 7.2 which is the officially supported distribution for Kylix. This file also works for RedHat 8.0.
- Uninstall all versions of Apache.
- Use this command to rebuild the rpm:
rpm --rebuild apache-1.3.27-2.src.rpm
- chdir to:
/usr/src/redhat/RPMS/i386
- Install apache using this command:
rpm -i apache-1.3.27-2.rpm
- chdir to:
/etc/httpd/conf
- Edit httpd.conf file following instructions on other parts of this FAQ under "How do I deploy on Apache?"
- chdir to:
/etc/sysconfig
- Edit or create a file with name apache and add this to the file, adjusting paths to libqtintf and libqt according your configuration.
export LD_PRELOAD=/root/kylix3/bin/libqtintf-6.9-qt2.3.so:/root/kylix3/bin/libqt.so.2 export DISPLAY=:99 Xvfb :99 &
- Edit httpd.conf so you can load your test DSO.
- Go to your home directory and create new file, apachetest:
export LD_PRELOAD=/root/kylix3/bin/libqtintf-6.9-qt2.3.so:/root/kylix3/bin/libqt.so.2 export DISPLAY=:99 Xvfb :99 &
- Change apachetest's file attributes to be executable and try to run it.
- Use apachectl to test your configuration.
When I deploy a DSO to Apache I encounter the following error when starting Apache: "Project.so is garbled - perhaps this is not an Apache module DSO?
You need to rebuild Apache with these options:
./configure \ --enable-module=all \ --enable-shared=max \ --enable-rule=SHARED_CORE \ --disable-rule=WANTHSREGEX \ --disable-module=auth_dbm \ --enable-suexec \
How can I rebuild Apache for IntraWeb?
Download this rpm and use rpm tool to rebuild it using the following:
rpm --rebuild apache-1.3.27-2.src.rpm
Next locate where rpm has placed the resulting rpm files. For RedHat it is /usr/src/redhat/RPMS/i386 and install apache-1.3.27-2.rpm
How do I deploy on Apache?
Open httpd.conf file and change the follwoing settings to these values:
MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 1 MaxRequestsPerChild 0
How can I deploy without needing an X server?
IntraWeb applications which use TImage or TFrame will need the support of X Windows. Applications which do not use these two components do not require X Window support.
Installing a full blown X Server on a Linux server machine is not desirable or even possible in many cases. Instead you can run a special X server designed for web servers called X Virtual Frame Buffer, or Xvfb for short. Xvfb is used by thousands of CGI and Apache DSOs.
Xvfb is included in many distributions such as SUSE. If you do not have Xvfb you can obtain it from one of the following URLs:
Once it is installed you can use it by issuing:
Xvfb :99 &
No configuration is required. Then before starting your IW app issue:
export DISPLAY=localhost:99.0
|