This post takes you through the steps to install Apache 2.2.11 on Ubuntu 9.04 64 bit and make it work with Weblogic 10.3. The post walks through the steps that I followed, the problems that I faced and the solutions ( er..hacks) to get them resolved.
Installing Apache
- Is simple do
sudo apt-get install apache2
If you want to build it from sources then follow these steps.
- Once you have installed apache2 then the installation happens at the following locations in Ubuntu
Apache config files are in /etc/apache
Apache log files are in /var/log/apache
Apache libs are in /usr/lib/apache
Other files can be in /usr/share/apache, /var/lib/apache
executables in /usr/sbin apache and apache2ctl
- Now to start apache execute the following
vhazrati@vhazrati-laptop:/usr/sbin$ sudo apache2ctl start
- Note that the server is started as a root, else you might get the following error
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
You should be able to access the default page on http://localhost now and see It Works!
Now, Integrating with Weblogic
- Download the apache plugins for weblogic 10.3 from the following location
http://download.oracle.com/otn/bea/weblogic/server103/server103_apacheplugins.zip
- Unzip the contents and select the mod_wl_22.so file from the location
<apache-plugin-unzip-location>linux/x86_64
- This file needs to be loaded the following location
/usr/lib/apache2/modules
- to test whether the file is valid or not do ldd
vhazrati@vhazrati-laptop:/usr/lib/apache2/modules$ ldd mod_wl_22.so
linux-vdso.so.1 => (0x00007fff02ffe000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00007f5cfaaff000)
libm.so.6 => /lib/libm.so.6 (0x00007f5cfa87a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f5cfa661000)
libc.so.6 => /lib/libc.so.6 (0x00007f5cfa2ef000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5cfafc5000)
- You might notice that some file like in my case libstdc++.so.5 => was not found!
-bash-3.00$ ldd mod_wl_22.so
libstdc++.so.5 => not found
libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a9572f000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000002a958b5000)
libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a959c3000)
/lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
- Goto the synaptic package manager, search and install this file.
- Now create a weblogic.load file with the following contents
LoadModule weblogic_module /usr/lib/apache2/modules/mod_wl_22.so
- and put it at the following location
/etc/apache2/mods-enabled
- You can also create a weblogic.conf file with the following contents at the same location
<Location /medrec>
SetHandler weblogic-handler
WebLogicHost 127.0.1.1
WebLogicPort 7011
</Location>
This would help in redirecting a request like http://localhost/medrec to the weblogic server running on 127.0.1.1 and at 7011 port with the application name medrec.
- Restart Apache
vhazrati@vhazrati-laptop:/usr/sbin$ sudo apache2ctl restart
- Check whether the weblogic_module has been loaded successfully or not
vhazrati@vhazrati-laptop:/usr/sbin$ apache2 -t -D DUMP_MODULES
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
mpm_worker_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgid_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
mime_module (shared)
negotiation_module (shared)
setenvif_module (shared)
status_module (shared)
weblogic_module (shared)
- If you see the weblogic_module loaded fine then you have configured it correctly and can now access the application at
- To test whether the apache2.conf file is correct or not you can use
vhazrati@vhazrati-laptop:/usr/sbin$ apache2 -t
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
Syntax OK
Other Potential Problem(s)
- You may encounter the problem bad user name ${APACHE_RUN_USER}
this is because the value of ${APACHE_RUN_USER} is not getting picked up. Ideally it should be picked up from /etc/apache2/envvars
which has the following entries
# envvars – default environment variables for apache2ctl
# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid
However, still in your case if these values are not picked up then goto the /etc/apache2/apache2.conf file and make the following changes
# These need to be set in /etc/apache2/envvars
# User ${APACHE_RUN_USER}
# Group ${APACHE_RUN_GROUP}
User www-data
Group www-data
- The weblogic.load file is not read for some reason and hence the weblogic_module is not loaded
Make an entry in the httpd.conf file at the following location
/etc/apache2/httpd.conf
and enter the LoadModule and other configuration data in this file
LoadModule weblogic_module /usr/lib/apache2/modules/mod_wl_22.so
<Location /medrec>
SetHandler weblogic-handler
WebLogicHost 127.0.1.1
WebLogicPort 7011
</Location>
There is an entry in the apache2.conf file to include the httpd.conf file, hence the changes of httpd.conf would get loaded
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Further Reading
https://vikashazrati.wordpress.com/2008/12/14/apache-on-ubuntu/
http://download.oracle.com/docs/cd/E13222_01/wls/docs100/plugins/apache.html
jose alexis ramirez
Sunday, January 31, 2010
I am trying open my mybookmarks and it does not leave me. I not what is the error that has happened please I need its collaboration.
murali
Friday, May 14, 2010
how to configure the static content like css,js and dynamic content like jsp using apache + weblogic
amjad
Thursday, December 2, 2010
hi
when im typing this “ldd mod_wl_22.so” command it is showing not a dynamic executable
Bipin
Saturday, April 23, 2011
Hi,
I just want to know which version is compiled with httpd.
httpd -M or httpd -L
will show all the plugins modules ,
but how can i get all loaded modules version.
Thanks,
Bipin Bahuguna
Luis
Wednesday, June 8, 2011
Hi Vikas,
It works for me, thank you very much. Really nice article, useful and didactic.
Best regards,
Luis