日历

« 2008-05-17  
    123
45678910
11121314151617
18192021222324
25262728293031

我的栏目

RSS订阅

好好学习,天天开源!

从源代码构建Linux服务器

2007-12-16 21:32:47 / 个人分类:Linux

    本文详细描述了如何从源代码安装一个安全、高效的Linux服务器,提供一系列的服务:WEB、DATABASE、FTP、EMAIL、DNS、FIREWALL等,使用了下面的开源软件LUPA开源社区|]6j5n(o
    LUPA开源社区t9X b6j8kz
  • Linux Server:CentOS 5.0
    K2u{Z4_)K4o0M;Q0
  • Web Server: Apache 2.2.6
  • PHP 5.2.4
  • Database Server: MySQL 5.0.45
  • FTP Server: proftpd
  • Webalizer for web site statistics
    一、Linux基本系统的安装LUPA开源社区#g6k5zZ)]3O1O
    因为是从源代码构建整个服务器系统,所以安装了最小的系统,保证系统具备最基本的开发环境:开发工具和开发库,这样就具有了一个简洁的系统。发行版选择了 CentOS,CentOS 是从当前最流行的商业版 Linux -- Red Hat Enterprise Linux(RHEL)的源代码包重新编译而成,修正了 RHEL 已知的一些 Bug,除了没有 RHEL 一样的技术支持,其他方面与 RHEL 完成一样,所以,其稳定性值得我们信赖。

-T gSx][?0    为了便于安装,将所有文件下载到/usr/local/src,将这里作为工作目录。

Yu$ID'N*s0    二、Apache的安装
Zh i^&yq5N/e0    1.下载 LUPA开源社区m!X;Fjz4Z9eA%N
        http://httpd.apache.org
5R`@@6e0    2.解压 LUPA开源社区p/Y+si/`S+t+W_W
        shell> tar xvjf httpd-VERSION.tar.bz2LUPA开源社区9Y)t8fVeD
    3.配置 LUPA开源社区4A\zo)N/w6k f
        shell> cd httpd-VERSIONLUPA开源社区b"k/Wl}}WTR6}2H
        shell> ./configure --prefix=/usr/local/apache2 --enable-module=shared
p(Y {7U2`&f,aZ0    4.编译 LUPA开源社区oa_&r7a{0K
        shell> make
Z9D%{N BnW"| c0    5.安装 LUPA开源社区y bYD)c3a0IJ
        shell> make install
E"IZ2t7M5z0    6.设置
7rN q(``0KB#sB0        shell> cd /usr/local/apache2LUPA开源社区/sDIL&^*x'_%T)T t
        shell> emacs conf/httpd.confLUPA开源社区7D Z/p;Q3Jd OCT?
          ServerName www.example.com        #设置域名
l4I1@EZkx$d0          DocumentRoot /srv/www/example     #设置网站存放位置
$`4fMy5O#K#G,YG;U%T0          <Directory "/srv/www">            #设置目录,如果不使用虚拟主机,这里应设置为与DocumentRoot一致。LUPA开源社区,lL V+v.puzF
    7.启动 LUPA开源社区'Y#|y ee8l.c*o
        shell> bin/apachectrl start
lS!{IJE(m H_ C)q0
]Q6\'S ZPV0    三、Mysql的安装LUPA开源社区{zD1E)A9P!{]
    1.下载
~ t4~0nL}~~0        http://dev.mysql.com
)d IZw@;|*}0KW0    2.为mysqld增加一个登录用户和组
$b3t o)}1a/CWt0        shell> groupadd mysql
h)~&j KO i \f0        shell> useradd -g mysql mysqlLUPA开源社区]|D!O;T$YIk A9Z
    3.解压
/I0X5Tz+I!Ke2L)u0        shell> tar xvzf mysql-VERSION.tar.gzLUPA开源社区$H5u`1tKI
    4.配置
$b/K"Ocud5~5p0        shell> cd mysql-VERSION
:Y Sy {d3z0       
shell> ./configure --prefix=/usr/local/mysql --with-charset=gb2312        #设置数据库支持中文字符集
.nWR fh*dGZ0   
5.编译
k(d6u]5Q8_gk3@0       
shell> make
J&O8d g0c/tc0   
6.安装LUPA开源社区1Zs+k'UVr"EIU
        shell> make installLUPA开源社区I.nW8I`C
   
7.拷贝配置文件
&ac}ue"k&K T0        shell> cp support-files/my-medium.cnf /etc/my.cnfLUPA开源社区]yX(QpS
    8.改变所有权LUPA开源社区.M.@%PUT6n
        shell> cd /usr/local/mysql
.q ~Q5iD5u0        shell> chown -R mysql .LUPA开源社区`Q}f2i;i
        shell> chgrp -R mysql .LUPA开源社区[n'R(A sw
       
shell> chown -R root .
^ @;iD;P d|lG0        shell> chown -R mysql varLUPA开源社区 MQ~_FlWD$u3e
    9.创建MySQL授权表LUPA开源社区8{Xp!d4I"@
        shell> bin/mysql_install_db --user=mysqlLUPA开源社区2^r9|*F#C t4C
    10.运行MySQL
^(y Y vG E:vH(U0        shell> bin/mysqld_safe --user=mysql &      #不推荐以root用户运行MySQL,用--user选项以mysql用户运行LUPA开源社区a O F w M4D
    11.设置root密码
s3J)qKNUDjw0        shell> bin/mysqladmin -u root password yourpassword      #将password替换为你的密码LUPA开源社区 E8J2p5OG"^ s^cG
    12.自动启动和停止MySQL
\,sPqAYL qY f}NAh0        shell> cp /usr/local/src/mysql-VERSION/support-files/mysql.server /etc/init.d/mysql
bGyL8T2aG+M0        shell> chmod +x /etc/init.d/mysqlLUPA开源社区7I2p(]3I-vI6t s.Z
        shell> chkconfig --level 345 mysql onLUPA开源社区uEE7DD?(H]'Q(K:?
    四、安装php(支持gd)LUPA开源社区ED8}!U'v2rV
    1.下载LUPA开源社区$q^8XPiA
        php所需要的软件包:
5k+w_.m:_0        php: http://www.php.netLUPA开源社区wVy'@ D8?+kHA
        libxml2: http://xmlsoft.org
8BVIH_)Oi9e8Il&^Qs0        libxslt: http://xmlsoft.org
3[7g+B9@'l2g$Z8^0        GD库所需要的软件包:LUPA开源社区:z9AV*H0}j
       
jpeg6: http://www.ijg.orgLUPA开源社区U%W @EP5?;\DtU Z
        png: http://www.libpng.org
0@5N3` b)eX z6X0        zlib: http://www.zlib.net
&| A;pC%m0        freetype: http://www.freetype.org
U+L:n-ZE0
        curl: http://curl.haxx.seLUPA开源社区2w5VQ.Er{mev:c,B
        gd: http://www.libgd.org
%]!f4P:ar"L'C'C'g2y0        Zend引擎:LUPA开源社区X1~#w3~X&RYC@n
        zend: http://www.zend.com
8G:[ [ ynnA/v\0    2.安装gd库
`Pi,G.kq PQ0        安装jpeg6:
V dl QC6z3E0        shell> mkdir /usr/local/lib/jpeg6
s@bJM-pq lr2ZY0        shell> mkdir /usr/local/lib/jpeg6/binLUPA开源社区 J-c `z/l6\ f6|
        shell> mkdir /usr/local/lib/jpeg6/libLUPA开源社区(?U Y1t9Zl'W"W)|a(s$Kq
        shell> mkdir /usr/local/lib/jpeg6/includeLUPA开源社区&anA n8F.qO&]-ns
        shell> mkdir /usr/local/lib/jpeg6/manLUPA开源社区| zH9ZXu g%r
        shell> mkdir /usr/local/lib/jpeg6/man/man1LUPA开源社区 GOqP%PPo3OC
        shell> tar xvzf jpegsrc.v6b.tar.gz
e9J.T5]*tX'N.dO0        shell> cd jpeg-6bLUPA开源社区G P#s'y\V%k#log
        shell> ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-staticLUPA开源社区 l'vXu7T6H8P
        shell> make
1X X ?$M.eO0        shell> make install
b:P+uT%U1\Wo;f0        安装libpng:LUPA开源社区~u(KB8[*Knad;~
        shell> tar xvjf libpng-1.2.23.tar.bz2
5JX9iz2ts/p0uY QZ0        shell> cd libpng-1.2.23
!R @;r'vJk0        shell> cp scrīpts/makefile.std makefileLUPA开源社区/S O~[qB.d~b8R
        shell> makeLUPA开源社区Au YkE h)oi'rw
        shell> make install
7~V5t+G}2}0        安装freetype:
z7O v/y7o7vW3{Mq C0        shell> tar xvjf freetype-2.3.5.tar.bz2
P*B\Fd'v0        shell> cd freetype-2.3.5LUPA开源社区O2bk.|*Z1Ww
        shell> ./configure --prefix=/usr/local/lib/freetypeLUPA开源社区(tg)}'Pe-Jp
        shell> make
@-@&]!`UF0        shell> make install
^4d7QR3z5Q0        安装zlib:
&IG|B4F N0        shell> tar xvjf zlib-1.2.3.tar.bz2LUPA开源社区 C,IJ0J r'mK ZPk{
        shell> cd zlib-1.2.3
&dYhg)Ie{Mm0        shell> ./configureLUPA开源社区3I2O FH$OD&A5{2b8v
        shell> make
&cA}2S!w#?q.p0        shell> make install
1@4s~Al t;a0        安装curl:LUPA开源社区m7] j;`@6L E1q o(L
        shell> tar xvjf curl-7.17.1.tar.bz2
8f)lO/t D@D$?0        shell> mkdir /usr/local/lib/curlLUPA开源社区9e6|$^)L$j{3M
        shell> cd curl-7.17.1
2j4e:b7V:a1~$|&w0        shell> ./configure --prefix=/usr/local/lib/curl
M![4WT(? T~*Y#i0        shell> make
vEIWwF1E[0        shell> make install
_%J%[8pw&feL#Z0        安装gd:
.\8n1o `j.Zc j0        shell> tar xvjf gd-2.0.33.tar.bz2
LAP&v X.i7lsN0        shell> mkdir /usr/local/lib/gd2LUPA开源社区R:Vsl ]KjQ&]
        shell> cd gd-2.0.33
,w2U2d-pM$s0        shell> ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/LUPA开源社区p9K;}1a!y@V.R.p
        shell> makeLUPA开源社区w6WrVUL
        shell> make install
o5FucI!`0    3.安装phpLUPA开源社区{&R(g!DN!~ rO#s"w+m,S
        安装libxml2:LUPA开源社区-FJ1Z"D}t]\[
        shell> tar xvzf libxml2-2.6.30.tar.gzLUPA开源社区#Sm3u;M8j9}
        shell> mkdir /usr/local/lib/libxml2LUPA开源社区g J7Wle _$C8x
        shell> cd libxml2-2.6.30
,V/lYej-Gi1v0        shell> ./configure --prefix=/usr/local/lib/libxml2
{p;v3BA/h0        shell> make
+k(T?Sl%vOI0        shell> make installLUPA开源社区9q#_~2l \1|
        安装libxslt:
W nT-?&_[a0K8G0        shell> tar libxslt-1.1.22.tar.gz
yh8Ta)B1C}8[z0        shell> mkdir /usr/local/lib/libxslt
7v gCC UHUF&h0        shell> cd libxslt-1.1.22LUPA开源社区!G'h$^:ADu
        shell> ./configure --prefix=/usr/local/lib/libxslt --with-libxml-prefix=/usr/local/lib/libxml2LUPA开源社区4K9]2c Yc S5j;FC/Ke
        shell> make
a)TG*Kw Yyx4y-_0        shell> make installLUPA开源社区@+e0[_+m6em(V
        安装php:
u$Tk0K8`,Z9Z{Q-X0        shell> tar xvjf php-5.2.5.tar.bz2
6QR(e5GkHA&H0        shell> cd php-5.2.5
;uB&wE$^I.R%w/e0        shell> ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/lib/curl/ --enable-ftp --with-libxml-dir=/usr/local/lib/libxml2/ --enable-soap --with-xsl=/usr/local/lib/libxslt/  --with-jpeg-dir=/usr/local/lib/jpeg6/ --with-zlib-dir=/usr/local/lib/ --with-png-dir=/usr/local/lib --with-freetype-dir=/usr/local/lib/freetype/ --with-gd=/usr/local/lib/gd2/ --enable-magic-quotes --enable-mbstring --with-bz2=/usr/lib
E'Q`"xfu0        shell> make
C ^ d*OC0        shell> make installLUPA开源社区7DzT:cTOU
        shell> cp php.ini-dist /usr/local/php/lib/php.iniLUPA开源社区v2^F}#n
    4.配置apahce
%bjUUH+N.gK"gD0        在httpd.conf找到LUPA开源社区Q SU5z&wq?"E2]
        AddType application/x-compress .ZLUPA开源社区#t$gl vm#nt#Gi
        AddType application/x-gzip .gz .tgzLUPA开源社区&q*x {:N wm ]
        在后面添加:
3r~cf:TSp4Z0        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
1KCIC!M l h]-R0        找到
@#X3Qp7N0        <IfModule dir_module>LUPA开源社区8@4u#gpE0|0M._
            DirectoryIndex index.htmlLUPA开源社区G V&@3i!p&zx7p
        </IfModule>
:x C)by [s0        添加:
]4R/V0^$`0        <IfModule dir_module>
5zb*k`;S0             DirectoryIndex index.html index.phpLUPA开源社区+PG#r/mkE4W
        </IfModule>LUPA开源社区Lw%MI om;M5vf
    5.安装ZendLUPA开源社区 YH L @t
        shell> tar xvzf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
.\;at+Z QvDy@,x0        shell> ./installLUPA开源社区J[4D5fe yl R3g
    五、安装Proftpd
.F+@L:p,B5c"f3zO0    1.下载LUPA开源社区TwQ!Y!Wb-O
        http://www.proftpd.orgLUPA开源社区0U5x\2LujQ_
    2.配置
(^ V4]6B*Fa0        shell> tar xvjf proftpd-1.3.1.tar.bz2
$K9I @3r o E }0        shell> cd proftpd-1.3.1LUPA开源社区)eQ TtO3^$O0B br
        shell> ./configure --prefix=/usr/local/proftdLUPA开源社区O\#V lUyo R-R
    3.编译
ryo5}P"Q(xO b0        shell> makeLUPA开源社区;| Z A~i
    4.安装LUPA开源社区&oDqY {z-{Hg4~
        shell> make installLUPA开源社区1E:?2~dybh;r
    5.设置LUPA开源社区j8B*m`-fG"O
        shell> cd /usr/local/proftpd
}*kLt$}0        shell> emacs etc/proftpd.confLUPA开源社区vQ#z:ujil9]
        将
gK7[(_:C G:x @0        #DefaultRoot ~LUPA开源社区l l$Ycl:B#Os1h3b.T)W
        改为LUPA开源社区j$E3KHR@.@;~1C0v0M
        DefaultRoot ~
8N_f B e-S'I0   
六、安装webalizerLUPA开源社区-n h;wI;[H(w
    1.下载LUPA开源社区.aZfSZ:?'jiD
        http://www.webalizer.orgLUPA开源社区-oYnU(lJo#V[6Hl3C@&P
    2.配置
F0v {Z8}#OPx0
        shell> tar xvjf webalizer-2.01-10-src.tar.bz2LUPA开源社区]yJB!T
        shell> cd webalizer-2.01-10LUPA开源社区\ gbZO`
        shell> ./configure --prefix=/usr/local/webalizer --with-language=chinese --with-gdlib=/usr/local/lib/gd2/lib/ --with-gd=/usr/local/lib/gd2/include/LUPA开源社区J3Om"k!Q,e Y6_C
    3.编译
1Z u{A![q0        shell> makeLUPA开源社区p6~'\ azQ
    4.安装LUPA开源社区aw^~Y"r
        shell> mkdir /usr/local/webalizer
1Zd ?X sy I0        shell> mkdir /usr/local/webalizer/binLUPA开源社区]%aBb(iZ Z|
        shell> mkdir /usr/local/webalizer/manLUPA开源社区I M |K3en,u
        shell> mkdir /usr/local/webalizer/man/man1LUPA开源社区'F R$j!O\ b^F
        shell> make installLUPA开源社区n2F6?r?EPc/X{7`"B5t

TAG: Linux

我来说两句

-5 -3 -1 - +1 +3 +5

Open Toolbar