nginx.conf:
user nobody;
worker_processes 2;
worker_rlimit_nofile 8192;
error_log /var/log/nginx/nginx-error.log crit;
pid /var/run/nginx.pid;
events {
worker_connections 8192;
use kqueue;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log /var/log/nginx/nginx-access.log;
access_log off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
client_max_body_size 20m;
server {
listen 1.2.3.1 default accept_filter=httpready;
server_name foobar;
location / {
root /var/empty;
}
}
include /usr/local/etc/nginx/vhosts/*.conf;
}
Файл-пример конфига для виртхоста:
server {
listen 1.2.3.2;
server_name sample.com www.sample.com;
location ~ /\.ht {
deny all;
}
location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
root /usr/home/domains/sample.com;
expires max;
}
location / {
proxy_pass http://127.0.0.1:80;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_temp_file_write_size 64k;
}
}
nginx
FreeBSD , nginx
К сожалению, Python 2.5 до сих пор не присутствует ни в одном из популярных репозиториев. Поэтому прийдется устанавливать его из исходников:
wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
tar fxz Python-2.5.2.tgz
cd Python-2.5.2
./configure
make
make install
Таким образом в системе будет два Питона: 2.4 – имеющийся по дефолту (/usr/bin/python) и новый 2.5 (/usr/local/bin/python).
Если потом надо еще установить pysqlite, то:
yum install sqlite-devel
wget http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.1/pysqlite-2.5.1.tar.gz
tar fxz pysqlite-2.5.1.tar.gz
cd pysqlite-2.5.1
/usr/local/bin/python setup.py build
/usr/local/bin/python setup.py install
А вообще я нифига не понимаю, почему такой довольно популярный язык так плохо поддерживается в репозиториях .. ?
linux
centos , linux , python , yum
Добавляем репозиторий и устанавливаем
rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm
yum install pptpd
в /etc/pptpd.conf
localip 192.168.6.1
remoteip 192.168.6.234-238
в /etc/ppp/chap-secrets добавляем логины и пароли в открытом виде. Например:
username pptpd xsw2zaq1 *
/etc/init.d/pptpd start
chkconfig --level 345 pptpd on
Включаем роутинг:
echo 1 > /proc/sys/net/ipv4/ip_forward
и правим соотвествующую строчку в sysctl.conf
Ставим, включаем и делаем роутинг в iptables:
yum install iptables
chkconfig iptables on
iptables -t nat -A POSTROUTING -s 192.168.6.0/255.255.255.0 -o eth0 -j SNAT --to-source <ип сервера>
service iptables save
iptables -t nat -L
Про включение поддержки ppp внутри OpenVZ-контейнера читать здесь
linux , vpn
centos , ppp , pptpd , vpn
Установим OpenVPN в самой простой конфигурации, когда есть один статический ключ и мы хотим чтобы пользователь ходил по инету через впн:
cd /usr/ports/security/openvpn && make install
cd /etc
openvpn --genkey --secret static.key
Конфиг положим сюда /etc/openvpn.conf:
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
comp-lzo
user nobody
group nobody
daemon
log /var/log/openvpn.log
status /var/log/openvpn-status.log
verb 4
mute 10
В rc.conf:
openvpn_enable="YES"
openvpn_configfile="/etc/openvpn.conf"
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"
gateway_enable="YES"
В /etc/ipnat.rules:
map bge0 10.8.0.0/16 -> 0/32
где bge0 внешний интерфейс сервера.
Включаем openvpn, роутинг и нат:
/etc/rc.d/ipnat start
/usr/local/etc/rc.d/openvpn start
sysctl net.inet.ip.forwarding=1
Теперь на клиента надо скопировать static.key. Поставить виндовый клиент и сделать такой конфиг-файл:
proto udp
remote ип-сервера
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
comp-lzo
keepalive 10 60
ping-timer-rem
redirect-gateway
Надо отметить, что эта конфигурация пригодна для эксплуатации одновременно только с одним клиентом.
FreeBSD , vpn
FreeBSD , openvpn , vpn
Если вы используете такую связку, и в nginx присуствуют следующие директивы
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
чтобы пробросить ip пользователя к apache, то некоторые скрипты, работающие под apache из-за заголовка X-Forwarded-For могут считать, что пользователь пришел через прокси. А это не желательно. В таком случае в nginx те два заголовка надо заменить на:
proxy_set_header Test $remote_addr;
а в конфиге mod_rpaf сделать так:
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 внешние ип-ы
RPAFheader Test
Apache , nginx
Apache , mod_rpaf , nginx
добавляем репозиторий и обновляемся:
rpm -ihv http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
yum --enablerepo=remi update php
linux , php
linux , php
1. Устанавливаем пакет httpd-devel:
yum -y install httpd-devel
2. Скачиваем и устанавливаем mod_rpaf:
cd /usr/local/src
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
3. Далее нужно создать файл конфигурации mod_rpaf – /etc/httpd/conf.d/rpaf.conf
и добавить в него следующие строки:
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy
где xx.xx.xx.xx и yy.yy.yy.yy – IP адреса вашего сервера.
Apache , linux
httpd , mod_rpaf
# Access rights
anonymous_enable=NO
local_enable=YES
write_enable=YES
file_open_mode=0666
local_umask=022
syslog_enable=NO
idle_session_timeout=900
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# Security
secure_chroot_dir=/var/empty
anon_world_readable_only=NO
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000
passwd_chroot_enable=YES
chroot_local_user=YES
ftp_username=nobody
# Features
background=YES
listen=YES
force_dot_files=YES
xferlog_enable=YES
ls_recurse_enable=NO
ascii_download_enable=NO
async_abor_enable=YES
# Performance
one_process_model=NO
data_connection_timeout=300
accept_timeout=120
connect_timeout=120
anon_max_rate=50000
pam_service_name=vsftpd
ftpd_banner=FTP Server
внимание к овнеру конфига
ftp , linux
vsftpd
Надо лишь добавить репозитарий:
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
или
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
или скачать rpm напрямую, например:
http://download.fedora.redhat.com/pub/epel/5/x86_64/nginx-0.6.33-1.el5.x86_64.rpm
linux , nginx
linux , nginx , yum