The following guide allows you to serve both php and java from the same apache server. Since apache doesn’t have native support for java files, tomcat needs to be installed. So, these are the steps that need followed:
- Download and install java (if not installed). Create symbolic link /usr/local/java that points to the java installation folder
- Download and install tomcat (if not installed). Can be downloaded from here: http://tomcat.apache.org/download-70.cgi. Create symbolic link /usr/local/tomcat that points to the tomcat installation folder
- Create /etc/init.d/tomcatwith the following content:
# Tomcat auto-start # # description: Auto-starts tomcat # processname: tomcat # pidfile: /var/run/tomcat.pid JAVA_HOME=/usr/local/java export JAVA_HOME PATH=$PATH:$JAVA_HOME/bin export PATH case $1 in start) sh /usr/local/tomcat/bin/startup.sh ;; stop) sh /usr/local/tomcat/bin/shutdown.sh ;; restart) sh /usr/local/tomcat/bin/shutdown.sh sh /usr/local/tomcat/bin/startup.sh ;; esac exit 0
make it executable: sudo chmod 755 /etc/init.d/tomcat
- Download the mod_jk.so apache module, copy it into the /usr/lib/apache2/modules folder. The module can be downloaded from here: http://tomcat.apache.org/download-connectors.cgi (go to the “Binary Releases” page)
- Create /etc/apache2/mods-available/jk.loadwith the following content:
# Load mod_jk module # Update this path to match your modules location LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
- Create /etc/apache2/mods-available/jk.conf with the following content:
- Create symbolic links for the jk.load and jk.conf files in the /etc/apache2/mods-enabled folder
- Add the following lines to the virtual host configuration for which you want to enable java. If you don’t have virtual hosts configured then you can add the lines to the end of the httpd.conffile:
<IfModule jk_module> # Send everything for context /java to worker named worker1 (ajp13) JkMount /java/* worker1 </IfModule>
- Create /usr/local/tomcat/conf/workers.propertieswith the following content:
# Define 1 real worker using ajp13 worker.list=worker1 # Set properties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009
- Create /usr/local/tomcat/webapps/java folder. Place here the java servlets or jsp’s that you want to make available
- restart apache
- start tomcat by calling sudo /etc/init.d/tomcat start
<IfModule mod_jk.c> # Where to find workers.properties # Update this path to match the tomcat conf directory location JkWorkersFile "/usr/local/tomcat/conf/workers.properties" # Where to put jk shared memory # Update this path to match your local state directory or logs directory JkShmFile /var/log/apache2/mod_jk.shm # Where to put jk logs # Update this path to match your logs directory location (put mod_jk.log next to access_log) JkLogFile /var/log/apache2/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the timestamp log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " </IfModule>
Now you should be able to serve java content from your web server.
Note. If you are using LAMPP instead of the standard apache installation, the add all the apache configuration sections in one place, at the end of the httpd.conf file.
Recent Comments