ExecStartPre=/usr/sbin/setcap 'cap_net_bind_service=+ep'
/usr/share/tomcat/bin/catalina.sh

I see a lot of advice for start/stop instead of run within systemd
unit files, both here and in the wild. The gem in the rant I linked is
about start vs run. Sorry if you didn't see it.

On Thu, Mar 17, 2016 at 1:42 AM, Lyallex <lyal...@gmail.com> wrote:
> But that doesn't work for ports < 1024
>
>
> On 17 March 2016 at 01:47, jieryn <jie...@gmail.com> wrote:
>> Meh. It's short and sweet and working systemd unit file.
>>
>> [Unit]
>> Description=Apache Tomcat Web Application Container
>> [Service]
>> User=tomcat
>> Group=tomcat
>> ExecStart=/usr/share/tomcat/bin/catalina.sh run
>> [Install]
>> WantedBy=multi-user.target
>>
>>
>> On Wed, Mar 16, 2016 at 8:57 PM, Christopher Schultz
>> <ch...@christopherschultz.net> wrote:
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> jieryn,
>>>
>>> On 3/16/16 1:36 PM, jieryn wrote:
>>>> http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/systemd-house
>>> - -of-horror/tomcat.html
>>>
>>> Wow,
>>>>
>>> lots of ranting about environment variables and little-used PID
>>> files.
>>>
>>> If the author only understood the reasons behind the way catalina.sh
>>> works, he might not have embarrassed himself.
>>>
>>> It must be hard being so smart and important that you have to quit the
>>> Internet for good[1].
>>>
>>> - -chris
>>>
>>> [1]
>>> http://homepage.ntlworld.com/jonathan.deboynepollard/contacting-the-auth
>>> or.html#SMTP
>>>
>>>> On Wed, Mar 16, 2016 at 1:01 PM, Lyallex <lyal...@gmail.com>
>>>> wrote:
>>>>> Apologies for dredging this up but I'm having some problems with
>>>>> this. Any ideas much appreciated.
>>>>>
>>>>> Ii have been forced to move from a version of centOS the used the
>>>>> old /etc/rc.d/init.d way of doing things to a new version of
>>>>> CentOS that uses systemd. The hosts can't or won't help because
>>>>> I'm using a 'non-standard setup' Basically I'm using tomcat
>>>>> standalone on port 80 to serve up my site. I use jsvc with a
>>>>> start/stop script in /etc/rc.d/init.d with symbolic links in
>>>>> rc2.d, rc3.d. rc4.d and rc5.d This has been working faultlessly
>>>>> for nearly 4 years.
>>>>>
>>>>> I have installed Tomcat, Java and all required resources on the
>>>>> new server, I have dulpicated the configuration in /etc but
>>>>> needless to say when I restart the server Tomcat doesn't start
>>>>>
>>>>> Starting from the command line as root with
>>>>> /etc/rc.d/init.d/tomcat7 works as it has always done and starts
>>>>> tomcat as root then switches to an unprivileged, no login user
>>>>> (tomcat)
>>>>>
>>>>> I followed your instructions and came up with the following
>>>>>
>>>>> # touch /etc/systemd/system/tomcat.service # nano
>>>>> /etc/systemd/system/tomcat.service
>>>>>
>>>>> tomcat.service looks like this
>>>>>
>>>>> [Unit] Description=The Jakarta Apache/Tomcat Server
>>>>> After=network.target
>>>>>
>>>>> [Service] Type=forking ExecStart=/etc/rc.d/init.d/tomcat7 start
>>>>> ExecStop=/etc/rc.d/init.d/tomcat7 stop
>>>>>
>>>>> [Install] WantedBy=multi-user.target
>>>>>
>>>>> # chmod 664 /etc/systemd/system/tomcat.service
>>>>>
>>>>> [root@vps init.d]# systemctl daemon-reload
>>>>>
>>>>> [root@vps init.d]# systemctl start tomcat.service Job for
>>>>> tomcat.service failed because the control process exited with
>>>>> error code. See "systemctl status tomcat.service" and "journalctl
>>>>> -xe" for details.
>>>>>
>>>>> [root@vps init.d]# systemctl status tomcat.service tomcat.service
>>>>> - The Jakarta Apache/Tomcat Server Loaded: loaded
>>>>> (/etc/systemd/system/tomcat.service; disabled; vendor preset:
>>>>> disabled) Active: failed (Result: exit-code) since Wed 2016-03-16
>>>>> 16:40:55 GMT; 18s ago Process: 4596
>>>>> ExecStart=/etc/rc.d/init.d/tomcat7 start (code=exited,
>>>>> status=203/EXEC)
>>>>>
>>>>> Mar 16 16:40:55 vps.example.com systemd[1]: Starting The Jakarta
>>>>> Apache/Tomcat Server... Mar 16 16:40:55 vps.example.com
>>>>> systemd[1]: tomcat.service: control process exited, code=exited
>>>>> status=203 Mar 16 16:40:55 vps.example.com systemd[1]: Failed to
>>>>> start The Jakarta Apache/Tomcat Server. Mar 16 16:40:55
>>>>> vps.example.com systemd[1]: Unit tomcat.service entered failed
>>>>> state. Mar 16 16:40:55 vps.example.com systemd[1]: tomcat.service
>>>>> failed.
>>>>>
>>>>> tomcat7 fwiw
>>>>>
>>>>>
>>>>> # chkconfig: - 71 19 # description:  Start up the Tomcat servlet
>>>>> engine. # this is the startup file for the new version #
>>>>> 24/10/2013 by lyallex # use java 7 #
>>>>> JAVA_HOME=/usr/local/java/jdk1.6.0_07 JAVA_HOME=/opt/jdk1.7.0_45
>>>>> CATALINA_HOME=/opt/apache-tomcat-7.0.42 export JAVA_HOME
>>>>> CATALINA_HOME
>>>>> CLASSPATH=$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons
>>> - -daemon.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/tomcat-juli.jar
>>>>>
>>>>>
>>> TOMCAT_USER=tomcat
>>>>> TMPDIR=/var/tmp PIDFILE=/var/run/tc7/jsvc.pid
>>>>>
>>>>>
>>>>> RC=0
>>>>>
>>>>> case "$1" in
>>>>>
>>>>> start)
>>>>>
>>>>> $CATALINA_HOME/bin/jsvc -user $TOMCAT_USER -home $JAVA_HOME
>>>>> -Dcatalina.home=/opt/apache-tomcat-7.0.42
>>>>> -Dcatalina.base=$CATALINA_HOME -Djava.io.tmpdir=$TMPDIR
>>>>> -Djava.awt.headless=true \ -Xms512m \ -Xmx1024m \ -outfile
>>>>> $CATALINA_HOME/logs/catalina.out \ -errfile
>>>>> $CATALINA_HOME/logs/catalina.err \ -pidfile
>>>>> '/var/run/tc7/jsvc.pid' \
>>>>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>>>>> \
>>>>> -Djava.util.logging.config.file=$CATALINA_HOME/conf/logging.propertie
>>> s
>>>>> \ -cp $CLASSPATH  \ org.apache.catalina.startup.Bootstrap
>>>>>
>>>>> RC=$?
>>>>>
>>>>> [ $RC = 0 ] && touch /var/tc7lock/subsys/tomcat echo "starting
>>>>> tomcat7 on darkstar with:" echo "JAVA_HOME=$JAVA_HOME" echo
>>>>> "CATALINA_HOME=$CATALINA_HOME" echo "CLASSPATH=$CLASSPATH" echo
>>>>> "tomcat started"
>>>>>
>>>>> echo "CLASSPATH=$CLASSPATH" echo "tomcat started" ;;
>>>>>
>>>>> stop)
>>>>>
>>>>> PID=`cat /var/run/tc7/jsvc.pid` kill $PID
>>>>>
>>>>> RC=$?
>>>>>
>>>>> [ $RC = 0 ] && rm -f /var/tc7lock/subsys/tomcat
>>>>> /var/run/tc7/jsvc.pid echo "stopping tomcat7 on darkstar with:"
>>>>> echo "JAVA_HOME=$JAVA_HOME" echo "CATALINA_HOME=$CATALINA_HOME"
>>>>> echo "CLASSPATH=$CLASSPATH"
>>>>>
>>>>> echo "tomcat stopped" ;;
>>>>>
>>>>> *) echo "Usage: $0 {start|stop}" exit 1 esac exit $RC
>>>>>
>>>>>
>>>>>
>>>>> TIA Lyallex
>>>>>
>>>>>
>>>>> On 5 June 2015 at 13:37, Ray Holme <rayho...@yahoo.com.invalid>
>>>>> wrote:
>>>>>> That looks OK, but I would suggest the following. Put all the
>>>>>> real stuff in a standard bash script with 3 parameters   start,
>>>>>> stop, restart- pretty much like the OLD system 5 way fo doing
>>>>>> things.This has the advantage of allowing you to add other
>>>>>> things you might want to add AND executing the script as root
>>>>>> is pretty obvious. (I needed to add starting an LibreOffice
>>>>>> server and a few other daemons to get that going). Embed the
>>>>>> catalina start stop in that script.The just make the systemd
>>>>>> script VERY SIMPLY call your standard above start/stop script.
>>>>>> e.g. my script name is S95tomcat and the systemd entry is
>>>>>> trivial. here is tomcat.service:
>>>>>>
>>>>>> [Unit] Description=The Jakarta Apache/Tomcat Server
>>>>>> After=network.target
>>>>>>
>>>>>> [Service] Type=forking ExecStart=/local/bin/S95tomcat start
>>>>>> ExecReload=/local/bin/S95tomcat restart
>>>>>> ExecStop=/local/bin/S95tomcat stop
>>>>>>
>>>>>> [Install] WantedBy=multi-user.target
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thursday, June 4, 2015 9:31 PM, Dale Ogilvie
>>>>>> <dale_ogil...@trimble.com> wrote:
>>>>>>
>>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> I am trying to put together a systemd script for an install of
>>>>>> the current binary release tomcat7. Follows my current best
>>>>>> effort, cobbled together from the (RH)EL7 packaged version and
>>>>>> some googling... I am trying to use the unadulterated tomcat
>>>>>> up/down scripts from the binary release.
>>>>>>
>>>>>> Any suggestions as to how this might be improved? I'm not sure
>>>>>> if I am using the right service type here, based on what
>>>>>> catalina.sh is doing under the hood. That said, it seems to
>>>>>> work.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Dale
>>>>>>
>>>>>> **** follows apache-tomcat.service
>>>>>>
>>>>>> # Systemd unit file for apache-tomcat #
>>>>>>
>>>>>> [Unit] Description=Apache Tomcat Web Application Container
>>>>>> After=syslog.target network.target
>>>>>>
>>>>>> [Service] Type=forking
>>>>>> PIDFile=/var/run/apache-tomcat/apache-tomcat.pid
>>>>>> ExecStart=/opt/apache-tomcat/bin/startup.sh
>>>>>> ExecStop=/opt/apache-tomcat/bin/shutdown.sh
>>>>>> SuccessExitStatus=0 User=apache-tomcat Group=apache-tomcat
>>>>>>
>>>>>>
>>>>>> [Install] WantedBy=multi-user.target
>>>>>>
>>>>>> ***** follows setenv.sh commented out sections removed
>>>>>>
>>>>>> # Where your java installation lives
>>>>>> JAVA_HOME="/usr/java/latest"
>>>>>>
>>>>>> # Where your tomcat installation lives
>>>>>> CATALINA_BASE="/opt/apache-tomcat"
>>>>>> CATALINA_HOME="/opt/apache-tomcat"
>>>>>> CATALINA_OUT="/var/log/apache-tomcat/catalina.out"
>>>>>> JASPER_HOME="/opt/apache-tomcat"
>>>>>> CATALINA_TMPDIR="/opt/apache-tomcat/temp"
>>>>>>
>>>>>> CATALINA_OPTS="-Xms1G -Xmx2G"
>>>>>>
>>>>>> # What user should run tomcat TOMCAT_USER="apache-tomcat"
>>>>>>
>>>>>> # Run tomcat under the Java Security Manager
>>>>>> SECURITY_MANAGER="false"
>>>>>>
>>>>>> # Time to wait in seconds, before killing process
>>>>>> SHUTDOWN_WAIT="90"
>>>>>>
>>>>>> # Whether to annoy the user with "attempting to shut down"
>>>>>> messages or not SHUTDOWN_VERBOSE="false"
>>>>>>
>>>>>> # Set the TOMCAT_PID location
>>>>>> CATALINA_PID="/var/run/apache-tomcat/apache-tomcat.pid"
>>>>>>
>>>>>> # Connector port is 8080 for this tomcat instance
>>>>>> CONNECTOR_PORT="8080"
>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------
>>> - -
>>>>>>
>>>>>>
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>>
>>>>>
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>>
>>>>
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>>
>>> -----BEGIN PGP SIGNATURE-----
>>> Comment: GPGTools - http://gpgtools.org
>>> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>>>
>>> iEYEARECAAYFAlbqAPMACgkQ9CaO5/Lv0PDQqwCbBUDR1aA8zo9iwC0iYh5XiyMn
>>> 9lkAnRL+3KCHQ+POUIQQ4qrYhe8oHmOT
>>> =8mSc
>>> -----END PGP SIGNATURE-----
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to