CGI
On Serv00.com servers it is possible to run applications based on CGI
, FastCGI
, SCGI
and UWSGI
.
Attention
Some applications may require Binexec to be active
Initial domain setup
To run a website that uses CGI
, FastCGI
, SCGI
or UWSGI
, you must first ensure the correct configuration of the domain itself. Before proceeding with the next steps, make sure that:
- the domain is properly added and configured in DNS,
- Website has been added with PHP type indication.
FastCGI configuration
Using the .htaccess file you define which requests will be redirected to the FastCGI
socket. In order for requests to specific extensions to be handled by FastCGI
, add:
AddType application/x-httpd-fastcgi0 .cgi
To redirect all traffic to the FastCGI socket, add:
SetHandler application/x-httpd-fastcgi0
Applications based on FastCGI
should be bound to the socket: /usr/home/LOGIN/domains/DOMENA/fastcgi0.sock
and granted permissions: o+rw
. Each domain can use up to 10 FastCGI
sockets.
For example, socket is selected by typing in .htaccess one of the following lines (support for files with the .cgi
extension):
AddType application/x-httpd-fastcgi0 .cgi
AddType application/x-httpd-fastcgi1 .cgi
AddType application/x-httpd-fastcgi2.cgi
(...)
AddType application/x-httpd-fastcgi9 .cgi
- Redirect all traffic to
FastCGI
socket:
SetHandler application/x-httpd-fastcgi0
SetHandler application/x-httpd-fastcgi1
SetHandler application/x-httpd-fastcgi2
(...)
SetHandler application/x-httpd-fastcgi9
- Each socket (permissions:
o+rw
) should be bound to:
/usr/home/login/domains/domain/fastcgi0.sock
/usr/home/login/domains/domain/fastcgi1.sock
/usr/home/login/domains/domain/fastcgi2.sock
(...)
/usr/home/login/domains/domain/fastcgi9.sock
Creating a socket
You can create a socket with the command:
spawn-fcgi -M 0777 -F 1 -s /usr/home/login/domains/example.com/fastcgi0.sock /usr/local/sbin/fcgiwrap
The number 1
is the number of workers, i.e. applications serving CGI
scripts at the same time. A smaller number means that if there are more users, some of them may see an error - one worker is able to handle one user at a time, only when the CGI
script is finished can it handle the next user.
SCGI configuration
Similar to FastCGI
, with .htaccess you can serve a page that uses SCGI
:
- Specific extension:
AddType application/x-httpd-scgi0 .cgi
- All movement:
SetHandler application/x-httpd-scgi0
Applications based on SCGI
should be launched on the server and bound to the socket: /usr/home/LOGIN/domains/DOMENA/scgi0.sock
and granted permissions: o+rw
. Similarly to FastCGI
, we can run up to 10 sockets.
Configuration of UWSGI
Similar to FastCGI
, you can serve a page using UWSGI
with .htaccess:
- Specific extension:
AddType application/x-httpd-uwsgi0 .cgi
- All movement:
SetHandler application/x-httpd-uwsgi0
Applications based on UWSGI
should be launched on the server and bound to the socket: /usr/home/LOGIN/domains/DOMENA/uwsgi0.sock
and granted permissions: o+rw
. Similarly to FastCGI
, we can run up to 10 sockets.