: http://blog.csdn.net/yanzi1225627/article/details/49123659
! m/ i' `" ~" Z2 A. H- m8 m3 Q# |
格嚗剖遣LNMP嚗Linux 嚗 Nginx 嚗 MySQL 嚗 PHP 嚗SVN嚗嚗嗡葉svn舐冽乩誨瞞tp嚗嫣噶撘銝剛霂甇乩誨 詨喟桀嚗頧臭辣賢鋆/www/桀銝嚗肓ww桀銝啣遣web隞嗅允雿銝箇蝡寡楝敺嚗www桀銝啣遣wwwsvn雿銝漳vn隞摨啣/www/software冽交駐ginx嚗mysql嚗php摰鋆皞nginx餈銵蝏韐行暈ww:www 銝嚗摰鋆憭yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel cmake+ q7 Q3 H$ t1 j
湔亙敺摰鋆靘韏摰鋆摰 嗅銝頧緯ginx 嚗mysql嚗 php皞隞嚗 舐 google search engine 撠啁 撠餈銝隞緣ar.gz隞園餈scp賭誘撘唳∪其/www/software桀銝 鈭嚗摰鋆nginx閫蝻拇隞塚嗅餈迸ginx-1.8.0嚗颲亙賭誘嚗 ./configure --user=www --group=www --prefix=/www/nginx: R/ g" ~# W. X/ E7 ^7 m
嗅make嚗make install撠勗鋆摰瘥鈭 摰鋆摰蝚砌隞嗡嚗撱滴ww冽瑕蝏嚗血隡http://blog.itblood.com/nginx-emerg-getpwnam-www-failed.html 霂胯 扯嚗 /usr/sbin/groupadd -f www
F# X0 V$ Y0 D: g4 a q6 Z5 |/usr/sbin/useradd M -s /sbin/nologin -g www www //-M 銝撱箇雿輻刻桅 nginx賭誘/www/nginx/sbin/銝嚗瑁/etc/init.d/銝隞踝乩亥挽蝵桀箏臬具 chmod 755 /etc/init.d/nginx
6 w2 p, _0 O* o7 a5 y. }* l0 |( _) Z1 }7 o |5 L
chkconfig --add nginx
. E1 l3 h8 h" K) s/ N/ v9 e2 `2 I' L$ ?9 r" L6 U
chkconfig nginx on- ]% J7 A$ l$ e) e: f1 Y- E" s
嗅 cd /etc/rc.d/init.d/ 桀銝啣遣nginx嚗摰孵銝嚗 #!/bin/bash0 S5 ]; w8 k8 B6 u0 C) ]
# nginx Startup script for the Nginx HTTP Server
& \. i( b' R& I5 I' Y+ `/ d2 ?6 A# it is v.0.0.2 version.
) [. c0 x/ y2 v# chkconfig: - 85 15
3 x; e7 S" |1 }& @7 P. Q0 N# description: Nginx is a high-performance web and proxy server.- V; i# G8 M0 O+ r& @
# It has a lot of features, but it's not for everyone.
/ n* J6 U: z; _& g# processname: nginx& L4 u1 A2 Y" d, c- U2 h
# pidfile: /var/run/nginx.pid: ~* ]0 Y# W5 D ~
# config: /usr/local/nginx/conf/nginx.conf5 g3 X" j* a6 _6 @
nginxd=/www/nginx/sbin/nginx/ X: I9 R, T/ g/ L% r" k# P9 h7 D
nginx_config=/www/nginx/conf/nginx.conf
) n0 e; G; k! m* X* z# Y% Unginx_pid=/www/nginx/logs/nginx.pid
/ E# I" L2 E Q/ T" ^; G! iRETVAL=0! u3 Q/ X6 _* c
prog="nginx"
K2 ?% q; K3 h) ]# Source function library.' \) }$ |+ q+ w+ b
. /etc/rc.d/init.d/functions# `8 C# k; M" S- N* M& N
# Source networking configuration.; l" `6 F" [2 {5 O
. /etc/sysconfig/network4 i3 h4 n: P: x: v2 H$ O" t$ z h( q; C! F
# Check that networking is up.& S; U% X& j$ ]+ ]' k
[ ${NETWORKING} = "no" ] && exit 0# k1 J% F6 j% f0 R/ I' C
[ -x $nginxd ] || exit 00 u7 ^. R7 |+ M. y
# Start nginx daemons functions.6 S3 g; H' {6 N( `
start() {8 ^( S8 C4 S) f/ w) f- f6 F
if [ -e $nginx_pid ];then
" b1 M# `' ]8 Jecho "nginx already running....") V6 ^0 K1 ?* g3 U! `; }
exit 1
, F2 U+ I& N7 D: K; xfi
2 m6 r" o! |. N5 `5 k% Y0 c& P' Z( @echo -n $"Starting $prog: "' U8 z0 R G2 {& c# o/ E
daemon $nginxd -c ${nginx_config}! K: V ]& V& k! v/ x! X
RETVAL=$?
4 _& {5 @; O0 k) L$ Recho2 \% k3 z _( r2 Y
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx$ Q5 a% L2 R& U4 {
return $RETVAL
% ~) l$ t. R1 N A! Z# \}) y' c* ]9 S- l0 N1 n; n" [
# Stop nginx daemons functions.3 d2 X) O8 T; d
stop() {" U4 {9 U0 z) j
echo -n $"Stopping $prog: "
# c4 O7 e0 K, e& t& pkillproc $nginxd5 T) E3 k' t0 O- I
RETVAL=$?- m& H; J: g3 V
echo3 X8 B) r9 A( S" o
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid
3 M$ p: X {% V/ s* J! ]}. L& ]0 e8 |4 E+ F# f5 n
reload() {% n5 o4 Q( G+ D
echo -n $"Reloading $prog: "
" x- p- ^# l1 [, O#kill -HUP `cat ${nginx_pid}`9 i0 H, j5 g9 d" q P& [
killproc $nginxd -HUP$ H2 c' m+ @. F5 w$ f) b
RETVAL=$?9 n4 [" Y3 j( _
echo
3 V2 I n2 U9 o! p3 `" X" V" b}
( ], w9 m3 ~! ^0 X& j. `# See how we were called.0 H- {$ r, T+ g; S. Z- J! C
case "$1" in' `; |" a5 ]" {/ S: V
start)* o0 x) }- E( ]0 p
start
& M- s# [' O* V7 {1 P;;
' \6 R3 S5 Y- {; j# B; sstop)
2 |6 f( x& m9 I6 @7 H/ Sstop/ h3 B1 y" O3 F" N; @
;;
' m! w- l" D# V& Y7 Hreload)
* W: k6 j# V4 _7 V% J; ]0 freload- ^1 A8 b# I% V7 k" x7 q: x
;;
$ {( u" w& Y0 E, X7 S) g# z) Krestart)
0 _+ G4 C( j' \& ?$ U8 tstop$ {" c7 m/ T8 p# ], A. j6 l# B) w
start9 A5 z: @1 }# O- h1 E
;;
& ^& B7 I( ]/ C+ n# ?% Gstatus)
. [! I8 h/ ~7 L& {% e! Nstatus $prog- j' J( Z4 O1 k2 ]$ _ I, O3 z/ m
RETVAL=$?* a C5 L4 |9 O- o. ?
;;! K5 B9 g c/ p1 j$ ?; M7 [2 W
*)0 o5 i( f, A8 ?) v8 q# B
echo $"Usage: $prog {start|stop|restart|reload|status|help}"+ L+ C. V' G0 C* Y
exit 1
' u2 h( k" E7 ]! T u0 L6 Y& ?esac
3 K& l1 ^3 ^; t. mexit $RETVAL9 R. T1 z/ X4 [8 z; t$ D2 C
8 N& z" N w& ^7 n* [3 B4 J
瘜冽嚗憒nginx摰鋆頝臬銝臬/www/nginx銝嚗敶靽格孵停憟賬
) Q& @3 z- q/ H' t% {1 I& H$ M( Lchmod 775 /etc/rc.d/init.d/nginx #韏鈭扯chkconfig nginx on #霈曄蔭撘箏臬/etc/rc.d/init.d/nginx restart service nginx restart單迨nginx摰鋆撠得k鈭嚗雿銝支葵桅嚗
e$ R) H0 q7 `$ E- Z1嚗舀湔寥霈已eb寧桀/www/web桅 2嚗臭php游嚗暺霈孓ginx臭霈小hp敺 撖嫣1嚗nginx暺霈已eb寧桀 nginx摰鋆頝臬銝html隞嗅允嚗隞祆隞孵/www/web桀銝 餈/www/nginx/conf桀銝嚗vim nginx.conf嚗撠 % a. T) ?# G+ w
location / {& _( E+ L" n! Z; |. \$ E
root html;
: ~* h. e# p& g+ y) M index index.php index.html index.htm;6 X3 ?# Z/ S" |. e( N- h: d7 `
}
3 b1 @* w0 z- I5 c靽格嫣蛹嚗
- ?$ h9 p, u/ R1 ~) C
" Y, O. w8 F1 E+ q9 H2 c location / { root /www/web; index index.html index.php; } 瘜冽嚗憓鈭撖隘ndex.php霂怒撠 e2 w( ~- Z$ E, j
location ~ \.php$ {
/ f8 [# s- J/ \8 Q {- `) c/ a8 h root html;) F) ~* d) d& o+ G7 j- N4 J
fastcgi_pass 127.0.0.1:9000;
' {- m' B( L' J6 O# P( g fastcgi_index index.php;, Q3 D! d: J0 V5 F& ]; [: r0 l
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;& M+ ^1 ]& h3 i3 c
include fastcgi_params;% [& m6 r$ I: ]% v; o0 y
}
( n( u# z- P& j" h! [靽格嫣蛹嚗
7 ^/ Y8 ^* e* l, n$ h6 I/ b1 p" U9 E$ C
location ~ \.php$ { root /www/web; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #include fastcgi_params; include fastcgi.conf; } 嗅撠得k鈭蝚砌銝芷桅頝php游嚗敺摰鋆摰瘥php氬 銝嚗摰鋆MySQL閫蝻拙僎餈唳桀嚗扯嚗 ! X. K( s. n1 I& X, }
#cmake -DCMAKE_INSTALL_PREFIX=/www/mysql 銋make make install摰鋆摰鋆摰瘥閬隞乩銝芯嚗1嚗璉/etc/銝臬血皂y.conf, 憒霂餈mv賭誘孵銝 my.cnf.backup ps嚗甇斗郊撉日撣賊閬嚗嚗嚗 2嚗撱榦ysql冽瑕蝏 #/usr/sbin/groupadd mysql# l5 K) v( p9 h( _( T U, n
$ U5 E6 F' | t5 v C) Y
#/usr/sbin/useradd -g mysql mysql 憓mysql冽瑕蝏
* i6 v/ Q# l7 w4 v7 F) U 扯 cat /etc/passwd 亦冽瑕銵
1 m) n/ q$ V7 i9 lcat /etc/group 亦冽瑞銵 chown -R mysql:mysql /www/mysql靽格雋ysql摰鋆桀2 v( P; e0 r$ z( J, W4 T
3嚗餈/www/mysql,撱箇頂蝏芸蒂唳桀 scripts/mysql_install_db --basedir=/www/mysql --datadir=/www/mysql/data --user=mysql9 k) W+ n* o a1 l& H
4嚗瘛餃∴臬決ySQL cp support-files/mysql.server /etc/init.d/mysql, r& j3 h/ N" d. e6 p! ]7 s) }
chkconfig mysql on2 k" ~/ v* t9 l- t, M0 V2 S+ f
service mysql start --臬決ySQL6 c0 l# H7 m" I. a% B
5,霈曄蔭root撖 銝箔霈拐遙雿唳寥質賜皂ysql/bin銝賭誘嚗vim /etc/prifile 瘛餃嚗 PATH=/www/mysql/bin: $PATH
' b1 a5 s; p' g9 oexport PATH
: E7 U7 s5 p7 H5 ~ 靽摮source /etc/profile 扯嚗 + N& D" R. r8 R. l' ^
mysql -uroot mysql> SET PASSWORD = PASSWORD('root');
: {+ X% r8 |5 }' X5 a) j
7 X. b4 K0 {4 a霈曄蔭root冽瑞撖銝氳oot 6嚗銝箔舀餈蝔霈輸格唳桀嚗扯嚗
6 P8 \7 D; I5 ?, R: W5 |* wmysql> grant all on *.* to xroot@"%" identified by "xroot; mysql> flush privileges; //湔唳 餈瑕停撱箔銝銝芰冽瑕銝漩root嚗撖銝漩root冽瘀臭誑餈蝔霈輸格唳桀 ,摰鋆php(php-fpm)閫撟嗉交嚗
7 \0 Y' ]) m) `+ n7 g#./configure --prefix=/www/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-openssl --with-libxml-dir --with-zlib --enable-mbstring --with-mysql=/www/mysql --with-mysqli=/www/mysql/bin/mysql_config --enable-mysqlnd --with-pdo-mysql=/www/mysql --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --with-curl 嗅make make install亦閬隞乩鈭嚗 1嚗游nginx嚗臬私hp 餈軏d /www/php/etc/ 桀銝嚗瑁php-fpm.conf.default 銝歉hp-fpm.conf扯/www/php/sbin/php-fpm start 臬私hp嚗fpm 2嚗蝵峰hp.ini 撠摰鋆皞/www/software/php-5.6.14/php.ini-production 瑁郡hp摰鋆桀lib隞嗅允銝 3嚗憒閬摰鋆curl拙霂嚗銝Yconfigure撌脩撣虫嚗嚗餈唳ext/curl桀銝嚗靽霂菔銝撌脩摰鋆鈭curlcurl-devel,嗅嚗 a嚗/www/php/bin/phpize 隞乩嚗銝箔嫣噶臭誑餈銝芰桀/etc/profile嚗
( L; ~0 j( u5 t* u/ L/ JPATH=/www/php/bin:/www/mysql/bin: $PATH export PATH b,./configure --with-curl --with-php-config=/www/php/bin/php-config銋make make install嚗curl.so隡 /www/php/lib/php/extensions/no-debug-non-zts-20131226桀銝嚗嗅蝻颲php.ini曉送xtension_dirextension靽格孵喳胯 雿輻 yum 瘥頛嫣噶: 隞乩舫撠 centOS 6.x/x86_64: yum install php php-mysql php-fpm php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel 隞乩舫撠 centOS 5.x/i386: rpm -ivh http://mirror.yandex.ru/epel/5/i386/epel-release-5-4.noarch.rpm
9 R! [6 p) c3 M: J9 e+ R6 |
. O3 W4 D7 u- z9 C" G) trpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm) V# l8 {* r! O* a
Create /etc/yum.repos.d/php-fpm.repo file and add:2 M8 g* b: L7 L0 L0 p
- [nginx]) H& F' u( J# U9 N
- name=nginx repo
' s2 b; ^. z. c - baseurl=http://nginx.org/packages/centos/$releasever/$basearch/' y# }; P$ m, o) J
- gpgcheck=0+ d& O, C. u1 z8 a2 H6 ` A# ~
- enabled=1
銴鋆賭誨蝣 9 K) p0 _: w v1 b8 a
yum --enablerepo=remi,remi-test install php-fpm
' v& A' G# B! c4 M' n& u
- L) K- J1 i$ R3 q
+ S3 S& |2 `. O( k6 f7 J! w鈭嚗摰鋆svn蝵峰ost嚗commit甇斗郊雿冽臭誨瞞tp嚗嫣噶撘鈭箏撘撟嗅甇乩誨臭誑湔仿餈yum摰鋆喳胯 # rpm -qa subversion //璉交臬西芸蒂鈭雿祉svn
( r# `: `2 b3 Z5 f$ {$ |+ N3 S5 p; n 嚗yum remove subversion //貉蝸雿祉svn
! f" L4 G, u+ g6 X/ n( j% x3 g # yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql //摰鋆svn/ |: g8 _' I" w; E
餈# svnserve --version撉霂臬血鋆乩亙停臬撱箔摨撟嗡web桀甇乓 1嚗mkdir -p /www/wwwsvn 甇斗隞嗅允撠望盎vn隞摨. svnadmin create /www/wwwsvn 撱箔摨嚗扯銝餈啣賭誘嚗臭誑圈Xconf, db,format,hooks, locks, README.txt蝑隞塚霂湔銝銝杵VN摨撌脩撱箇嚗ps嚗甇文臭誑餈svnserve -d -r /www/svndata 撱箇svn砍桀嚗嗅svnadmin究vndata桀銝啣遣隞摨嚗 2嚗蝵桃冽瑕撖 肓wwsvn銝餈軏onf隞嗅允嚗X銝銝芣隞塚authz passwd svnserve.conf閬蝻颲 嚗vim passwd //霈曄蔭冽瑕撖 [users]
" f! y8 F0 F& N$ K( ?! \, C y# harry = harryssecret
: w F% n' Q/ K$ h$ ~# sally = sallyssecret9 B( v6 |/ i e- A
wangning=wangning2 b; V* m4 A/ X; W/ E& Q7 B K
yanzi=yanzi
3 E o% C0 m2 T #vim authz //霈曄蔭
- I; k( ~+ `/ N; F. F2 Z6 U[/] wangning = rw yanzi = rw # &joe = r # * = #vim svnserve.confanon-access = none9 p! ~( A" O2 C0 R
auth-access = write0 ?/ z) I" X4 L/ e/ q
### The password-db option controls the location of the password
5 l0 \2 _9 w* p. D& ?### database file. Unless you specify a path starting with a /,
2 C- l$ R7 y4 b) S### the file's location is relative to the directory containing4 j% _4 z, e1 X) y6 x
### this configuration file.- v/ o" L1 A/ T+ e# i
### If SASL is enabled (see below), this file will NOT be used.
+ w( U. t$ \! V4 u### Uncomment the line below to use the default password file.2 Q0 M2 d0 |0 {/ b5 l1 f
password-db = passwd5 {* K" C4 n; L4 B8 F/ v' m0 L
### The authz-db option controls the location of the authorization
$ Y7 q! e2 A X### rules for path-based access control. Unless you specify a path
8 }, w. e7 v$ z/ z; A4 F### starting with a /, the file's location is relative to the the
/ S/ S) H' R' x7 A### directory containing this file. If you don't specify an
5 E; f9 |6 L1 Y### authz-db, no path-based access control is done.6 c) b+ h/ l. }
### Uncomment the line below to use the default authorization file.
. |% F* B$ a* hauthz-db = authz1 g$ }& ^4 O$ b) ]1 `3 C5 n
### This option specifies the authentication realm of the repository.' U" X4 N. t! x( [* X ?
### If two repositories have the same authentication realm, they should0 z+ |! ` r/ m* F9 h
### have the same password database, and vice versa. The default realm2 ?2 V; H7 w1 n; W
### is repository's uuid., b% N: @" T: D$ ~: h
realm = My First Repository
( o" @% v: e2 J6 ` 瘜冽嚗銝Z鈭銵V賣蝛箸潦 3,臬典甇┬vn #svnserve -d -r /www/wwwwvn //臬究vn6 n, S$ l+ Z, k8 z5 S
#killall svnserve //甇9 U) P- H) y' p5 D; I
敺臬究vn嚗臭誑典X霂鈭 svn checkout svn://192.1.15.222 --username xxx, V) q6 A0 S8 S1 F/ C+ F
4,蝵峰ost嚗commit 蝏餈銝餈圈蝵桀嚗svn隞摨啣/www/wwwsvn, 雿眨eb寧桀/www/web,銝方銝臭銝芰桀嚗瘜svn push銝亙停唬具 a嚗擐究erver蝏蝡舫嚗嚗svn co svn://192.1.15.222 /www/web 霈啣撠/www/web桀靽格嫣蛹www:www chown -R www:www /www/web
* ?: M) j! A: P. s b, # cd /www/wwwsvn/hooks/,嗅cp post-commit.tmpl post-commit vim post-commit嚗券Z伐
3 G' ~1 o4 [, Q3 J" @& E9 ~export LANG=zh_CN.UTF-8 svn up --username yanzi --password yanzi /www/web/ chown -R www:www /www/web/ 嗅撠曹ok鈭嚗典┬vn commitweb桀銋撖孵隞嗅改 ps:1嚗svn upY摮撖臭霈曄svn冽瑯 2嚗銝├p撠望真pdate嚗git亦閫嚗撠望舀銝芯摨A嚗嗅啣遣鈭銝朋餉頦服嚗瘥甈,鈭斤嗅嚗霈咕銋pull銝銝餈乓究vn真pdate 3 , 鋆摰nginx php-fpm 撠 SElinux 摰冽輻,血蝬脤箇 "Access denied" :' ?* V, J8 X+ s/ ]
#system-config-securitylevel 豢DISABLE敺OK嚗敹璈
) X% g! `: x1 V+ F5 B0 M8 P瑁setenforce 0撠勗臭誑急踝瑁setenforce 1撠勗臭誑急
vi /etc/sysconfig/selinux SELINUX=enforcing 寞--> SELINUX=disabled 0 e. a3 v! [! V7 G9 G; L3 F0 {
vi /var/log/audit/audit.log ( tail -f /var/log/audit/audit.log) 亦 SElinux 雿憿2 c. j5 j- ~; ~4 l9 l _9 O" _6 x
|