Manualy install nginx in cpanel server as proxy

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sanju Kr
    replied
    Originally posted by irfiii View Post
    where are the moderators? this guy is spaming in every thread...
    who is spaming?

    Leave a comment:


  • irfiii
    replied
    Originally posted by Tara506
    Dr0p any dem0 4 d script
    where are the moderators? this guy is spaming in every thread...

    Leave a comment:


  • wapmetal
    replied
    Originally posted by Tara506
    Dr0p any dem0 4 d script
    what the fck you are saying man

    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:
    Code:
     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
    Then login to whm as root
    and go to
    Code:
     Service Configuration >> Apache Configuration > Include Editor > Pre Main Include and Select the apache version that is running on your cPanel server
    and put the following code
    Code:
     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
    Note: in above code replace (place your ips here without the brakets) with the list of IP addresses on your Cpanel server

    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 command
    Code:
     /usr/local/cpanel/whostmgr/bin/whostmgr2 –updatetweaksettings
    Check your “/usr/local/apache/conf/httpd.conf” for any occurrences of port 80,
    Code:
     vi /usr/local/apache/conf/httpd.conf
    Find for port 80 if you found any occurrences of port 80 then rebuild your apache configuration file by running
    Code:
      /scripts/rebuildhttpdconf   and make sure your httpd.conf file is up to date
    and restart apache
    Code:
     /etc/init.d/httpd restart
    Now install pcre library
    Code:
      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
    And now install nginx
    Code:
     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
    Create nginx.sh file
    Code:
     nano nginx.sh
    and put code
    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 :
    Code:
    chmod 755 nginx.sh
    sh nginx.sh
    Test nginx configuration
    Code:
    /usr/local/nginx/sbin/nginx -t
    if you get error like invalid event type “rtsig” when you run this commmand: # /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
    Code:
    /usr/local/nginx/sbin/nginx
    create init script
    Code:
     nano /etc/init.d/nginx
    and put code
    Code:
    #!/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
    Save file by pressing ctrl+x

    Run this
    Code:
     chmod +x /etc/init.d/nginx
    make it start when the server run by command
    Code:
     /sbin/chkconfig nginx on
    Now run following command one by one
    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:

    Code:
     nano /scripts/postwkillacct
    and put the code
    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 run
    Code:
     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:

    Code:
     nano /scripts/postwkillacct
    and put the code
    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 run
    Code:
     chmod 755 /scripts/postwkillacct
    Last edited by Sanju Kr; 04.11.12, 08:38.
Working...
X