Originally posted by irfiii
View Post
Manualy install nginx in cpanel server as proxy
Collapse
X
-
where are the moderators? this guy is spaming in every thread...Originally posted by Tara506Dr0p any dem0 4 d script




Leave a comment:
-
what the fck you are saying manOriginally posted by Tara506Dr0p any dem0 4 d script




Leave a comment:
-
Manualy install nginx in cpanel server as proxy
Hello,
Today am sharing imanual nstallation of nginx in cpanel servers as proxy.
First of all we have to install a apache module know as mod_rpaf
here is command:
Then login to whm as rootCode:cd /usr/local/src wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz tar xvzf mod_rpaf-0.6.tar.gz cd mod_rpaf-0.6 /usr/local/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
and go toand put the following codeCode:Service Configuration >> Apache Configuration > Include Editor > Pre Main Include and Select the apache version that is running on your cPanel server
Note: in above code replace (place your ips here without the brakets) with the list of IP addresses on your Cpanel serverCode:LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On # Enable reverse proxy add forward RPAFproxy_ips 127.0.0.1 (place all your ips here without the brakets) RPAFsethostname On # let rpaf update vhost settings allowing to have # the same hostnames as in the “actual†configuration for the # forwarding apache installation RPAFheader X-Real-IP # Allows you to change which header we have mod_rpaf looking for # when trying to find the ip the that is forwarding our requests
Now Go to your WHM >> “tweak settings†and change the apache port from 80 to 81 (find 0.0.0.0:80 and change it to 0.0.0.0.:81)
then run following commandCheck your “/usr/local/apache/conf/httpd.conf†for any occurrences of port 80,Code:/usr/local/cpanel/whostmgr/bin/whostmgr2 –updatetweaksettings
Find for port 80 if you found any occurrences of port 80 then rebuild your apache configuration file by runningCode:vi /usr/local/apache/conf/httpd.conf
and restart apacheCode:/scripts/rebuildhttpdconf and make sure your httpd.conf file is up to date
Now install pcre libraryCode:/etc/init.d/httpd restart
And now install nginxCode:wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz tar xvzf pcre-7.9.tar.gz cd pcre-7.9 ./configure make make install
Create nginx.sh fileCode:wget http://sysoev.ru/nginx/nginx-0.7.63.tar.gz tar xvzf nginx-0.7.63.tar.gz cd nginx-0.7.63 ./configure make make install
and put codeCode:nano nginx.sh
Code:#!/bin/sh cat > “/usr/local/nginx/conf/nginx.conf†<<EOF user nobody; # no need for more workers in the proxy mode worker_processes 2; error_log logs/error.log info; worker_rlimit_nofile 8192; events { worker_connections 1024; # you might need to increase this setting for busy servers use epoll; # Linux kernels 2.6.x change to epoll } http { server_names_hash_max_size 2048; include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 10; gzip on; gzip_min_length 1100; gzip_buffers 4 32k; gzip_types text/plain application/x-javascript text/xml text/css; ignore_invalid_headers on; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; connection_pool_size 256; client_header_buffer_size 4k; large_client_header_buffers 4 32k; request_pool_size 4k; output_buffers 4 32k; postpone_output 1460; include “/usr/local/nginx/conf/vhost.confâ€; } EOF /bin/cp /dev/null /usr/local/nginx/conf/vhost.conf cd /var/cpanel/users for USER in *; do for DOMAIN in `cat $USER | grep ^DNS | cut -d= -f2`; do IP=`cat $USER|grep ^IP|cut -d= -f2`; ROOT=`grep ^$USER: /etc/passwd|cut -d: -f6`; echo “Converting $DOMAIN for $USERâ€; cat >> “/usr/local/nginx/conf/vhost.conf†<<EOF server { access_log off; error_log logs/vhost-error_log warn; listen 80; server_name $DOMAIN www.$DOMAIN; location ~* \.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$ { root $ROOT/public_html; } location / { client_max_body_size 10m; client_body_buffer_size 128k; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; # you can increase proxy_buffers here to suppress “an upstream response # is buffered to a temporary file†warning proxy_buffers 16 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_connect_timeout 30s; proxy_redirect http://www.$DOMAIN:81 http://www.$DOMAIN; proxy_redirect http://$DOMAIN:81 http://$DOMAIN; proxy_pass http://$IP:81/; proxy_set_header Host \$host; proxy_set_header X-Real-IP \$remote_addr; proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; } } EOF done done
Save the file and change the permision and then run :
Test nginx configurationCode:chmod 755 nginx.sh sh nginx.sh
if you get error like invalid event type “rtsig†when you run this commmand: # /usr/local/nginx/sbin/nginx -tCode:/usr/local/nginx/sbin/nginx -t
To fix this error you should do this: nano /usr/local/nginx/conf/nginx.conf
Find line 11 and change “rtsig†to “epollâ€
Restart Nginx
create init scriptCode:/usr/local/nginx/sbin/nginx
and put codeCode:nano /etc/init.d/nginx
Save file by pressing ctrl+xCode:#!/bin/sh # # nginx – this script starts and stops the nginx daemin # Taken from [url=http://www.hikaro.com]HIKARO | Just another WordPress site[/url] # chkconfig: – 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx=â€/usr/local/nginx/sbin/nginx†prog=$(basename $nginx) NGINX_CONF_FILE=â€/usr/local/nginx/conf/nginx.conf†lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $â€Starting $prog: †daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $â€Stopping $prog: †killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $â€Reloading $prog: †killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case “$1? in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $â€Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}†exit 2 esac
Run thismake it start when the server run by commandCode:chmod +x /etc/init.d/nginx
Now run following command one by oneCode:/sbin/chkconfig nginx on
Code:service nginx start service nginx stop service nginx restart service nginx reload service nginx configtest service nginx status
To Create an automatic virtualhost entry in nginx virtualhost configuration (/usr/local/nginx/conf/vhost.conf) when cPanel account get created on the server follow the below instructions:
and put the codeCode:nano /scripts/postwkillacct
Code:#!/bin/sh # # nginx – this script starts and stops the nginx daemin # Taken from http://www.hikaro.com # chkconfig: – 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx=â€/usr/local/nginx/sbin/nginx†prog=$(basename $nginx) NGINX_CONF_FILE=â€/usr/local/nginx/conf/nginx.conf†lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $â€Starting $prog: †daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $â€Stopping $prog: †killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $â€Reloading $prog: †killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case “$1? in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $â€Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}†exit 2 esac
and runCode:chmod 755 /scripts/postwkillacct
To remove virtualhost entry from nginx virtualhost configuration (/usr/local/nginx/conf/vhost.conf) when cPanel account get terminated from the server follow the below instructions:
and put the codeCode:nano /scripts/postwkillacct
Code:#!/bin/sh # # nginx – this script starts and stops the nginx daemin # Taken from http://www.hikaro.com # chkconfig: – 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx=â€/usr/local/nginx/sbin/nginx†prog=$(basename $nginx) NGINX_CONF_FILE=â€/usr/local/nginx/conf/nginx.conf†lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $â€Starting $prog: †daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $â€Stopping $prog: †killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $â€Reloading $prog: †killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case “$1? in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $â€Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}†exit 2 esac
and runCode:chmod 755 /scripts/postwkillacct
Last edited by Sanju Kr; 04.11.12, 08:38.
Leave a comment: