Manualy install nginx in cpanel server as proxy

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

    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.

    WWW.9XHOST.NET

    #2
    Originally posted by Tara506
    Dr0p any dem0 4 d script
    what the fck you are saying man
    com site: http://vampist.net
    download site: http://wapdloads.net
    fb: http://www.facebook.com/pmplx

    Comment


      #3
      Originally posted by Tara506
      Dr0p any dem0 4 d script
      where are the moderators? this guy is spaming in every thread...
      Free Web Hosting @HostersPoint.com
      php Hosting with Web Builder

      Buy - Sell ADs
      ADMOLA ADs Network
      Monetize Your Site Traffic

      Comment


        #4
        Originally posted by irfiii View Post
        where are the moderators? this guy is spaming in every thread...
        who is spaming?

        WWW.9XHOST.NET

        Comment

        Working...
        X