This wiki covers how to set up LSWS on a server that already has a working Apache installation but no control panel.
Download LSWS tarball from the LiteSpeed Technologies website.
Run the following commands from SSH as root
cd /root wget http://www.litespeedtech.com/packages/5.0/lsws-5.3.8-ent-x86_64-linux.tar.gz
Note: Replace the values in the URL to control for your OS and which version/edition of LSWS you wish to download:
lsws-5.3.8-ent-x86_64-linux
= LSWS Enterprise 5.3.8 for 64bit Linux
lsws-5.3.8-std-i386-linux
= LSWS Standard 5.3.8 for 32bit Linux
lsws-5.3.8-ent-x86_64-freebsd6
= LSWS Enterprise 5.3.8 for 64bit FreeBSD 6.x
tar zxfv lsws-5.3.8-ent-x86_64-linux.tar.gz
For Enterprise Edition, make sure to put the license file (trial.key or paid license serial.no file) in the unpacked folder.
cd lsws-5.3.8 ./install.sh
The installer will ask you a number of questions (covered in detail here). Choose the default setting when in doubt, but you have to set the same username and groupname as Apache for LiteSpeed process to run as (choosing LiteSpeed default setting nobody:nobody may create file permission problem):
Enable the LiteSpeed repository and download LSPHP from our repository. See instructions here.You may have default php.ini file installed through RPMs and You just need to make some changes to match it to exiting Apache PHP. Check both phpinfo pages for difference.
Open the LiteSpeed WebAdmin Console and, under Configuration > Server > General, change configurations in Using Apache Configuration File table.
Load Apache Configuration => Yes Auto Reload On Changes => Use Apache Binary Wrapper Apache Configuration File => /usr/local/apache/conf/httpd.conf Apache Port Offset => 2000 (Try LiteSpeed on port 2080 and 2443 first, change to 0 later, do NOT use 8088 or 8008) Apache IP Offset => 0 PHP suEXEC => Yes (Run PHP in suEXEC mode) PHP suEXEC Max Conn => 5 (The maximum PHP processor each account can have)
Note:
10
, 15
, or 20
, try different value and see what is the best for you.Apache Port Offset ⇒ 2000
in this example but most of the time, you cannot test other ports since application backend URL with port has been set to 80 or 443, such as WordPress. In this case, you should set Apache Port Offset ⇒ 0
and make sure to stop apache before starting LSWS for testing. You can not run both Apache and LiteSpeed at the same time when Apache Port Offset ⇒ 0
.Sometimes your Apache conf file may have environment parameters set in /etc/apache2/envvars or other locations, such as:
User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} ...
You have to include it in “Apache Environment” within “Using Apache Configuration File” table in the Web Admin Console.For example:
APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_PID_FILE=/var/run/apache2.pid APACHE_RUN_DIR=/var/run/apache2
If LiteSpeed runs into some absolute path problem such as
[/etc/apache2/apache2.conf:250] Failed to get absolute path for [/usr/local/apache/ports.conf]! 2015-07-06 12:37:03.282 ERROR [/etc/apache2/apache2.conf:267] Failed to get absolute path for [/usr/local/apache/conf.d/]! 2015-07-06 12:37:03.282 ERROR [/etc/apache2/apache2.conf:270] Failed to get absolute path for [/usr/local/apache/sites-enabled/]! 2015-07-06 12:37:03.582 ERROR HttpListener::start(): Can't listen at address 127.0.0.1:80: Address already in use! 2015-07-06 12:37:03.582 ERROR HttpServer::addListener(127.0.0.1:80) failed to create new listener 2015-07-06 12:37:03.882 ERROR HttpListener::start(): Can't listen at address 63.247.170.35:80: Address already in use! 2015-07-06 12:37:03.883 ERROR HttpServer::addListener(63.247.170.35:80) failed to create new listener 2015-07-06 12:37:03.883 ERROR [:5] Listener for default is not available! 2015-07-06 12:37:16.601 ERROR [ADMIN] authentication failed! 2015-07-06 12:38:12.156 ERROR [ADMIN] authentication failed!
which simply means your apache2 configuration may have some relative path problem. You may just set server root in apache2 configuration to clear all above absolute path errors.
ServerRoot "/etc/apache2"
Most of the time, LSWS loads your Apache configuration straight away without any error.
If your application doesn't allow you to run offset port for LSWS, such as WordPress, Magento,etc, you should stop Apache webserver and start LSWS for testing.
If your application allowed, you can set port offset such as 2000
then start LSWS and try websites hosted on offset port 2080 and secured sites on port 2443. This way you may run both Apache (port 80 or 443) and LiteSpeed (port 2080 or 2443) at the same time. Most of the time your website is running smoothly and very faster already.
If there is any problem, probably a PHP issue, you need to check LSWS error log, LSWS stderr log or PHP errors log for details. Server error log and stderr log are set to the following location by default unless you customize it.
/usr/local/lsws/logs/error.log /usr/local/lsws/logs/stderr.log
For PHP error logs, they are normally located in the directory where PHP script runs:
You may go to your server document root and find them:
find . -name php_errors.log
You should check the php_errors.log for the corresponding location where the PHP script running into problems. Try to clear the errors, which may fix the problem. Sometimes even undefined date.timezone in php.ini may cause problems.
If all sites work properly, stop Apache, change “Apache Port Offset” to 0, restart LSWS, all hosted web sites are powered by LiteSpeed now.
Note: Remember to change rc script configuration to remove httpd from the services that get started automatically during a reboot. For example, On CentOS, try this from a root shell:
chkconfig httpd off
You may also want to add lsws to be started automatically during a reboot:
chkconfig lsws on
On Debian, try the following:
update-rc.d -f apache2 remove update-rc.d lsws defaults
If you have a script that monitors for the web server process, remember to update it to reflect the location of LSWS.
That's it.